AI създава алгоритми, които сортират данни по-бързо от тези, създадени от хора

Система с изкуствен интелект (AI), базирана на AlphaZero AI на Google DeepMind, създаде иновативни алгоритми. Когато се преведат на стандартния език за програмиране C++, могат да сортират данни до три пъти по-бързо от версиите, генерирани от човека.

С тях можете не само да решавате трудни математически пъзели или да играете шах, но ще бъдете улеснени и при писането на код.

Компютърни драми

В продължение на десетилетия учените оптимизират начина, по който компютрите сортират данни. С това се спестяват решаващи милисекунди при връщане на резултати от търсене или подреждане на списъци по азбучен ред. Сега DeepMind значително подобрява скоростта чрез прилагане на технологията зад AlphaZero. Това е система с изкуствен интелект за настолни игри като шах, го и др.

В началото изследователите са приложили AlphaDev към задача за сортиране на числа по размер. Стартират с малки алгоритми, които сортират само 3, 4 или 5 числа наведнъж. Те са от съществено значение, защото се използват от алгоритми, които сортират по-дълги списъци.

AlphaDev работи подобно на своя предшественик, AlphaZero. Последният съчетава компютърни версии за обмисляне и интуиция при избор на ходове в настолна игра. AlphaDev не избира ходовете. Вместо това, той избира инструкции, които да добави към процедура.

Когато използва обмисляне във всяка точка на вземане на решение, AlphaZero разглежда възможните си ходове след всеки един от тях. Така по разклонен начин, изчислява кои ходове е най-вероятно да завършат с победа. Но разглеждането на всички възможни опции може да отнеме повече време от възрастта на Вселената, така че се налага използване на нещо подобно на интуиция, за да се стесни търсенето.

На всяка стъпка компютърната програма захранва състоянието на играта в невронни мрежи. Те са сложни, регулируеми математически функции, които подчертават най-обещаващите ходове. По време на обучението непрекъснато се актуализират мрежите въз основа на резултатите от играта. Също така се изследват ходовете, като не винаги се избира този, който в момента е с най-висок рейтинг.

Ефектен стимул

AlphaDev може да предприеме един от няколко вида действия, които включват сравняване на стойности, преместване на стойности между местоположения или прескачане към различна част от програмата. След всяка стъпка програмата се опитва да сортира набор от списъци и получава награда за това, колко елемента в списъците са сортирани правилно.

Възпроизвеждането продължава, докато се сортират перфектно всички списъци или до достигане на ограничение за дължина на програмата. След този етап стартира нова програма от нулата. Невронните мрежи оценяват и възнаграждават програмите не само за коректност, но и за скорост.