Що стосується AlphaZero проти Stockfish матчу, це питання вже висвітлювався тут по SmallChess .
Убік AlphaZero (який використовує спеціалізовану процедуру Монте-Карло- 1 у дослідженні ігрових ліній), яка не є детермінованою за конструкцією, для звичайних шахових двигунів, заснованих на евристиці, таких як Stockfish та інших (хоча є й інші Двигуни, які мають підпрограми на основі МС , таку функцію використовував AFAIK Rybka), джерело випадковості, як правило, є лише наслідком технічних аспектів впровадження, а не навмисної випадковості, яка алгоритмічно вводиться в процес прийняття рішень двигуном. Безумовно, однією з причин цього є той факт, що двигуни не працюють в чисто послідовному порядку (виконуючи одне завдання за іншим). Натомість, щоб зробити двигуни ефективнішими, вони виконують паралельний пошук у різних галузях дерева можливих рухів. Вони роблять це через те, що називається багатопотоковою (або -обробною, але це трохи інакше). Таким чином, декілька потоків процесорів одночасновиконуючи операції з пошуку дерева (і кешування оцінок відвіданих позицій), тому уявіть, що кожному потоку присвоюється піддерево. Проблема такого способу реалізації полягає в тому, що загальне виконання потоків стає сильно залежним від різного роду умов (тривалість очікування, заміна оперативної пам’яті, ...), тому врешті-решт може бути обрана основна варіація, не допускаючи всіх інших нитки для завершення пошуку.
Це дійсно трапляється часто, тому що двигун налаштований приймати рішення за певний час, тому управління часом змінює поведінку. Ви також можете повернути це твердження, сказавши: знання алгоритму та реалізація детермінованих процедур введення ниток недостатньо для надійного прогнозування стану програми через будь-який час t. Звичайно, якщо завжди дозволяти всім потокам закінчити пошук, а під час виконання не виникало проблем з одночасністю (наприклад, нитка, що намагається отримати доступ до певного кешу, який недоступний), поведінка дійсно буде повністю відтвореною. дано все інше те саме 2 .
1 : Разом з тим, що завдяки додатковому навчанню (наприклад, самоіграванню) його нейронна мережа продовжує розвиватися (переналагоджені параметри), або, якщо ви будете, її функція оцінювання не має постійного, фіксованого визначення (на відміну від двигунів, заснованих на евристиці) ).
2 : Навіть тоді, як ви вже говорили, на початковому рівні, з відкриттям книги, іноді є умисні випадкові рішення, що приймаються двигуном щодо того, яку варіацію вибрати. Аналогічно, поза фазою відкриття можуть бути моменти, коли багато варіантів мають близькі до рівних оцінок (у межах роздільної здатності, обраної для Eval), то, виходячи з конструкції, це може в кінцевому підсумку вибрати один випадковим чином. Нарешті, на рівні налаштувань двигуна ви також повинні бути обережними, наприклад, глибина пошуку та обмірковане час, вибране для кожного двигуна (і чи можуть вони далі розраховуватись за часом роздумів один одного).