Вопрос созрел после на вид легкой победы нейронки AlphaZero над очередной самой крутой шахматной программой StockFish. Вопрос будет сформулирован достаточно неточно, надеюсь, это не скажется сильно на его смысле.
Пусть дана некая задача (например, шахматы) и 2 программы, решающих ее: нейросеть
(уже обученная) и какой-нибудь чисто детерминированный, обычный для человека, алгоритм ее решения
(ну м.б. с каким-то простым рандомным алгоритмом выбора элемента из списка). Программам дается одинаковое количество ресурсов (процессоров и памяти), предполагается, что программы способны им воспользоваться, насколько это возможно (это плохое условие конечно). Верно ли, что
будет решать эту задачу за указанное время либо быстрее, либо точнее, чем
?
Если да, то следует ли отсюда, что AlphaZero в процессе обучения научилась некоему детерминированному алгоритму игры в шахматы, который лучше существующих и неизвестен человечеству.
Если нет, то как вообще возможно, что нейросеть обыграла детерминированный алгоритм?!
(сумбурная мотивация второго вопроса)
Т.е. насколько я понимаю, нейросеть вообще по своему построению в принципе - это вложение некоторого простого, но длинного, м.б. громоздкого по структуре, алгоритма в эдакий такой большой количественный параметризатор алгоритмов, т.е. она по определению должна работать медленнее. (Когда булевы переменные заменяют целыми, прога работает медленнее. Любая нейросеть, вычисляющая XOR или любую другу функцию, которую вычисляет конечный автомат, она тоже должна выполнять бОльшее число вычислений, чем обычный алгоритм (конечно, за счет параллельности общее время работы м.б. сильно меньше, но это - другой вопрос)). (Есть еще куча других примеров: вложение логических операций в арифметические - это есть, но никто так не решает логические задачи. Есть вложение задач булева линейного программирования в ЦЛП, а последних - в ЗЛП. Это работает, но вроде как неизвестно почему. Есть арифметизация доказательств (как в теореме Геделя) - тоже так можно доказывать, но так никто не делает, ибо это неэффективно. Если я запускаю эмуляцию ОС или ЯП в другой ОС на другом ЯП, то эмуляция будет работать медленнее. И с нейросетями д.б. аналогично)