Чи може бути досконалий шаховий алгоритм?


15

Поточні шахові алгоритми йдуть приблизно на 1 або, можливо, на 2 рівні вниз по дереву можливих шляхів залежно від ходу гравця та ходу опонента. Скажімо, у нас є обчислювальна сила для розробки алгоритму, який передбачає всі можливі рухи опонента в шаховій грі. Алгоритм, який має всі можливі шляхи, які опонент може пройти в будь-який момент, залежно від руху гравців. Чи може колись існувати досконалий шаховий алгоритм, який ніколи не втратить? А може, алгоритм, який завжди виграє? Я маю на увазі, що теоретично хтось, хто може передбачити всі можливі рухи, повинен вміти знайти спосіб перемогти кожен із них або просто вибрати інший шлях, якщо певний виклик буде вести його до поразки .....

редагувати-- Що таке моє запитання насправді. Скажімо, у нас є обчислювальна потужність для досконалого алгоритму, який може грати оптимально. Що відбувається, коли опонент грає з таким же оптимальним алгоритмом? Це також буде застосовано у всіх двох іграх гравців з обмеженою кількістю (дуже велика чи ні) ходи. Чи може колись існувати оптимальний алгоритм, який завжди виграє?

Особисте визначення: Оптимальний алгоритм - це ідеальний алгоритм, який завжди виграє ... (не той, який ніколи не програє, а той, який завжди виграє



Це питання грунтується на кількох помилках. По-перше, шахові комп’ютери виглядають набагато далі, ніж на один-два шари вперед: навіть п'ять років тому на звичайному ноутбуці досить звичайні шахові програми дивилися на 15-16 грам вперед, а 25+ - на критичні лінії. По-друге, визначення поняття "ідеальний" як "завжди перемагає" неможливо досягти, як показано у відповідях. По-третє, шахові двигуни не "прогнозують" ходи: вони обчислюють та грають рухи, що добре проти будь-яких можливих реакцій.
Девід Річербі

Відповіді:


13

Ваше запитання схоже на старий каштан: "Що відбувається, коли нездоланна сила зустріне нерухомий предмет?" Проблема полягає в самому питанні: два описані сутності не можуть існувати в одному логічно послідовному Всесвіті. Ваш оптимальний алгоритм, алгоритм, який завжди виграє, не може грати обома сторонами в грі, де одна сторона повинна виграти, а інша повинна за визначенням програти. Таким чином, ваш оптимальний алгоритм, визначений, не може існувати.


3
Ну, це може, наприклад, алгоритм, який дозволяє першому гравцеві виграти. Це означає, що гра в першу чергу має перевагу. Або, можливо, оптимальний алгоритм дозволяє лише другому гравцеві виграти. Це дало б перевагу другому гравцеві. Третя можливість (и) - це алгоритм, який дозволяє одному з гравців завжди примушувати нічию, хоча і не гарантує перемогу (тому що, як ОП хоче знати, це відбувається, наприклад, якщо обидва гравці грають однакову стратегію виграшу , якщо немає переваги у грі першого чи другого).
Realz Slaw

3
@Realz Ну, так, якщо ви зміните визначення "оптимального алгоритму", то ви можете довести все, що завгодно. Я використав визначення, яке запитував нас запитуючий.
Кайл Джонс

Це відповідь, яку я намагався вийти з людей. Не може бути алгоритм, який завжди виграє, тому що це гра двох гравців, тому алгоритм не може працювати, тому що обидва гравці можуть мати один і той же алгоритм, тому просто хоча б один з двох змушений не перемагати (програти чи нічия) . Я запитав те саме питання до свого вчителя, і нам знадобилося багато розмов, щоб ми дійшли до цього висновку
Джон Деметриу

3
@JohnDemetriou Проблема полягає в тому, що цей висновок неправильний . Шахи не є симетричною грою через перевагу першокласника - цілком можливо, що існує оптимальний алгоритм, який дозволяє Білим грати і перемагати, але Чорний не може використовувати цей алгоритм з тієї простої причини, що вона не Біла!
Стівен Стадницький

Можливо також зазначити, що перше перше насправді не є перевагою і що насправді існує алгоритм, який завжди дозволяє Блек перемагати проти найкращої гри Уайта - але слід відразу зрозуміти, що не існує алгоритму, який міг би завжди дозволити перемогти, будь то чорний чи білий. Ось чому люди говорять про "найкращий можливий результат", оскільки "перемогти з обох сторін" тривіально неможливо.
Стівен Стадницький

23

Перш за все, я вважаю, що шахові алгоритми виглядають більш ніж на два шари вниз, хоча вони не враховують усіх різних можливостей; обрізка дерева пошуку дуже важлива, щоб уникнути комбінаторного вибуху за кількістю можливих рухів.

У такій грі, як шахи, є три можливості щодо особи переможця: або гравець 1 має виграшну стратегію, або гравець 2 має стратегію виграшу, або обидва гравці грають при оптимальній грі. Невідомо, що стосується гри в шахи. Однак, оскільки шахи - це скінчена гра, існує комп’ютерний алгоритм, що складається з дуже великої таблиці, в яку шахи грають оптимально.

Звичайно, такий алгоритм не був би практичним. Але для деяких більш простих ігор було визначено "значення" гри (який гравець виграє, якщо такий є), і був розроблений оптимальний алгоритм. Така гра відома як вирішена гра .

Математичний предмет, який займається (називаються) комбінаторними іграми, - це комбінаторна теорія ігор . Математики розробили рекурсивний метод визначення значення гри за графіком гри, який включає всі дозволені позиції та рухи. Ви повинні мати змогу знайти опис цього алгоритму у статті Вікіпедії або будь-яких конспектах лекцій з цього питання.


так, справді, але я намагався відповісти на будь-яку відповідь іншим питанням, що відбувається, коли обидва гравці грають з оптимальним алгоритмом ???? що станеться, якщо гравець знайде спосіб перемогти оптимальний алгоритм?
Джон Деметріу

11
@JohnDemetriou Коли обидва гравці грають оптимально, ви отримаєте певний результат. Цей результат називається цінністю гри. Якщо шахи виграють білі, це означає, що нічого чорного не могло зробити, це може перемогти білого гравця, який грає оптимально. Білий фактично має величезну книгу (або здатний обчислити перехід від такої книги), яка містить ідеальний лічильник для будь-якого ходу чорного кольору, може зробити будь-яку можливу ситуацію, що розвивається з початку гри. BTW, chillax на знаках питання. Одного на речення достатньо.
rrenaud

Прошу вибачення за знаки запитання. Це якраз те, як я друкую взагалі. Що робити, якщо шахи - це найоптимальніший виграш. Якщо білі та чорні мають однакову книгу і мають однакові лічильники? Що буде тоді?
Джон Деметріу

1
@JohnDemetriou "Оптимальний" означає "найкращий можливий". Якщо математичні наслідки правил шахів полягають у тому, що найкращий чорний може зробити проти оптимального білого - це нічия (або навіть може лише затримати перемогу білих на якомога довше), то оптимальним алгоритмом для чорного є той, хто цього досягає, і здатна перемогти проти більшості неоптимальних супротивників.
Бен

1
@JohnDemetriou Можливо, існує алгоритм, який завжди перемагає як Білий ; Очевидно, що алгоритм не завжди може перемогти Чорного з причин, які вже були накреслені (бо він би грав проти себе). Можливо навіть, що виявляється, що чорні шахи «виграють» грали чудово, і що існує алгоритм, який гарантує перемогу чорним проти будь-якої опозиції. Якщо ви маєте на увазі "алгоритм, який завжди виграє з будь-якої сторони", то я пропоную використовувати цю термінологію; 'оптимальний' вже має чітко визначене значення.
Стівен Стадницький

8

Перш за все, хороші шахові алгоритми виглядають далі, ніж 1 або 2 рівні. Замість того, щоб використовувати наївний пошук дерев, вони проводять обрізку альфа-бета, щоб звузити кількість варіантів, які слід врахувати. Зауважте, що для відкритих і кінцевих ігор використовується велика база даних ходів, оскільки вона має кращу продуктивність, ніж пошук по дереву, яка використовується в середині гри.

На питання: що ви задаєте, я вважаю, що "Шахи вирішуються ?". Гіпотетично це так, хоча думки різняться в тому, чи цей результат буде досягнутим незабаром. Наприклад, шашки вирішили, наприклад, у 2007 році, але вони мають значно менше позицій (навколо квадратного кореня числа в шахах). Додаткову інформацію див. У статті Вікіпедії .

До речі, нинішні найкращі шахові гравці майже завжди перемагають чи нічия з чемпіонами світу; так що, хоча зараз не ідеально, алгоритми принаймні хороші!


6

В принципі, шахи вирішуються, як і будь-яка інша гра. Як вказували інші відповіді, однак, не очікується, що це станеться незабаром.

Редагувати: у коментарях було зазначено, що [1] - це обман, тому пропустіть решту цієї відповіді.

Зважаючи на це, в цьому напрямку відбулися деякі останні події. [1] стверджує, що показано, що шахове відкриття під назвою Гамбіт Короля вирішено : є лише один хід, який тягне за Білих, а всі інші відкривальні рухи призводять до виграшу для Блек. Зауважте, що [1] не вивчив ігрове дерево в повній глибині, але лише стверджує, що ці результати мають високу ймовірність.

[1] http://chessbase.com/newsdetail.asp?newsid=8047


1
Дуже цікава стаття!
Paresh

Тоді це не оптимальний алгоритм. Я запитую, чи може колись існувати оптимальний алгоритм (якщо у нас є обчислювальна потужність)
Джон Деметриу

1
Правильно, і враховуючи ваше визначення "оптимального алгоритму" як алгоритму, який завжди виграє, такий алгоритм не може існувати як для гравців, так і для чорно-білих. Крім більшого (але кінцевого) ігрового дерева, в цьому плані немає нічого особливого в порівнянні з іншими іграми, як, наприклад, Hex, для яких рішення вже відомо: Якщо перший гравець використовує оптимальну (відому) стратегію гри в Hex , тоді перший гравець завжди виграє, незалежно від того, який алгоритм використовується другим гравцем.
Петро

Стаття, що вирішується про Гамбіт короля, виявилася хитрою. Зауважте, що стаття починається "31 березня автор програми" Rybka ", Васик Райліч та його родина переїхали з Варшави, Польща, у новий будинок у Будапешті, Угорщина. Наступного дня, незважаючи на суєту рухомих коробок та встановлення до телефонного зв’язку та підключення до Інтернету Вас, люб’язно погодився на наступне інтерв'ю "- іншими словами, це було 1 квітня ...
Джо К

-1

Чи можна завжди вигравати гру в шахи чи ні, залежить від правил гри. Однак є техніка / алгоритм з назвою Minimax (детальніше дивіться https://en.wikipedia.org/wiki/Minimax ). Алгоритм полягає у спробі передбачити, який гравець має перевагу в різних сценаріях з рекурсивною функцією. Ось чітке пояснення, як це працює з більш простою грою: Tic-tac-toe https://www.neverstopbuilding.com/blog/2013/12/13/tic-tac-toe-understanding-the-minimax-algorithm13 .


Хоча інші відповіді прямо не посилаються на minimax, деякі посилаються на посилання, які в кінцевому підсумку призводять до них або альфа-бета обрізку, алгоритм для ефективнішої реалізації minimax. Що додає ця відповідь, про яку ще не сказано?
Дискретна ящірка

-3

додасть ще одну відповідь, яка підкреслює масивний державний простір, насправді не концептуалізований у питанні або вказаний в інших відповідях. повинен не погоджуватися з вашим приміщенням:

Скажімо, у нас є обчислювальна сила для розробки алгоритму, який передбачає всі можливі рухи опонента в шаховій грі.

див. інформацію про папір Shannons 1950, "Програмування комп’ютера для гри в шахи", де було запроваджено сферу комп'ютерної гри в шахи / алгоритми, і її аналіз в основному є незмінним і все ще звучить (навіть завдяки наступній комп'ютерній революції та закону Мураса ). він оцінює кількість ходів. його абсолютно астрономічне. в діапазоні "ніколи в межах мислимого обладнання, навіть з революційними непередбаченими досягненнями".

його документально підтверджений психологічний факт [3], ймовірно, один із багатьох психологічних ухилів [2], що люди мають проблеми з розумінням чисел такої величини. див. також контрфактичне мислення . [4] в той час як суперкомп'ютери обчислюють великі проблеми, але це безспорно не в межах будь-якого суперкомп'ютера, який наразі будується або коли-небудь може бути побудований. (і багато шахових шанувальників стверджують, що цей "комбінаторний вибух" у рухах / положенні можливостей є невід'ємним аспектом гри "аромат", який, здається, навмисно розроблений у гру тисячоліття).

тому шахи принципово відрізняються, ніж деякі ігри, які мають менші "розв'язувані" простори стану [серед яких є певне вивчення в галузі інформатики та теорії ігор тощо], і деякі ключові способи не можуть бути оцінені в цих рамках.

101234×10791081

Тепер, коли це сказано, можливо (але малоймовірно), що в грі можуть бути теоретичні уявлення, які можна було б використати для істотного обрізання пошукового простору. це трапляється з 1950 року, але насправді не будь-якими принципово проривними способами.

Дивись також

[1] у чому полягає обчислювальна складність розв’язування шахів, т.к.се

[2] упередженість людини у судженнях та прийнятті рішень

[3] Студенти-психологи публікують дослідження щодо концептуалізації чисел

[4] контрафактичне мислення


теоретично, моє запитання почалося так, як скажімо, у нас є обчислювальна потужність, ми поєднуємо половину комп'ютерів у світі, щоб працювати як кластер для білого, а іншу половину для чорного ....
Джон Деметріу

1
чувак, це справедливо, навіть якщо підключити кожен суперкомп'ютер, який зараз існує або коли-небудь існує. Ваше запитання тоді означає "теоретично, якщо теорія була помилковою ..." теорія (в т.ч. з фізики) в основному говорить, очевидно, що ви не можете обчислити (набагато) більше шляхів, ніж є атоми у Всесвіті, зараз або коли-небудь у майбутньому. .
vzn

3
правда, але питання починається з того, що МАЄМО сказати, що ми маємо обчислювальну силу, чи можна це зробити? це власне питання, якщо у нас є потужність, чи може бути алгоритм?
Джон Деметріу

+1 за твердження того, що фізично неможливо досягти обчислювальної сили, необхідної для точного вирішення шахів. Крім того, не знаю, чому всі -1 з цією відповіддю, я вважаю, що це справедливо і додає хорошого розуміння на інші відповіді.
Алехандро Піад
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.