База даних кожного можливого руху в шахах


14

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

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

Тож це означає, що немає необхідності в «шаховому двигуні», оскільки всі можливі рухи вже записані.

Якщо така база даних існує, вона мала б такі переваги:

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

Або якби такої бази даних ще не було, ми могли б мати математичний розрахунок всіх можливих кроків від відкриття до кінця гри.

Чи можливо існувати така база даних?


5
Ні, це неможливо з будь-якою уявною технологією.
Тоні Енніс

Я блукаю деякий час .. І досі не створює. Ти правий. Ахаха.
Ахмад Азвар Анас

3
Удачі в створенні бази даних з більшою кількістю байтів, ніж атомів у Всесвіті
Девід

Гей, я новачок у цій спільноті і я від MathStack. Просто поділіться тим, що у Всесвіті менше атомів, ніж кількість шахових ігор, можливо в шаховому матчі. Спробуйте номер Шеннона ( youtube.com/watch?v=Km024eldY1A ).
Sujit Bhattacharyya

Відповіді:


32

Я вважаю, що ваше питання по суті зводиться до теми, чи можна повністю «розв’язати» шахи. У Вікіпедії є чудова стаття на цю тему, яка повинна дати вам хороший огляд.

Підсумовуючи, кількість можливих варіацій гри в шахи оцінюється як 10 ^ 120. Це приголомшливо величезна кількість, для порівняння врахуйте, що кількість атомів у спостережуваному Всесвіті оцінюється приблизно в 10 ^ 80 . Іншими словами, якщо ви використовували весь спостережуваний Всесвіт як свій жорсткий диск, вам все одно потрібно буде зберігати 10 ^ 40 комбінацій шахових ігор на кожному атомі , щоб просто зберегти все це. Потрібно говорити, що це набагато виходить за рамки наших сучасних і передбачуваних технологій, що більшість людей вважають це абсолютно неможливим.

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


тепер я уявляю, що існує алгоритм, який представляє
Кінцеву

3
@AhmadAzwarAnas Ну, я думаю, прості з них вже використовуються в шахових двигунах, а більш повноцінні будуть додаватися, коли це дозволяє технологія. З точки зору алгоритму, я думаю, ви могли б "стиснути" кінцеву таблицю гри, аналізуючи її для шаблонів та узагальнюючи їх у набір правил, які явно призводять до результату. Однак, напевно, цей набір правил все ще буде абсолютно масовим, оскільки крихітні варіації (наприклад, протиставлення чи ні) можуть змінити результат гри.
Даніель Б

@AhmadAzwarAnas насправді, чому б не просто алгоритм шахів? у кожній програній грі має бути крок, який є неправильним, правда? тобто крок, до якого існував шлях до того, щоб не програти незалежно від руху супротивників, але після цього це вже не відповідає дійсності. то алгоритм "все" повинен зробити це визначити ці рухи, щоб ви могли їх уникнути.
Майкл

1
@Michael це складніше, ніж це - як ти можеш знати, що існує шлях до перемоги незалежно від того, що рухає противник? в кращому випадку було б одне лише 50% часу, бо якщо одна людина перемагає, то інша змушена програвати. Насправді повертаємо його до вихідних позицій - для того, щоб існувати шлях далі в грі, в цей момент повинен існувати "абсолютний шлях виграшу" - якщо ми це зрозуміли, то чому б хтось більше грав у програв колір знаючи, що незалежно від того, що вони рухатимуться, вони втратять? чому б хто взагалі більше не грав у шахи, якщо ми могли це зробити?
користувач2813274

2
+1, але ваш аналіз неправильний. Щоб зберігати базу таблиць, потрібно зберігати лише кожну позицію, а не кожну можливу гру. За оцінками Шеннона, існує близько 10 ^ 43 позицій , що порівнює приблизно 10 ^ 50 атомів у землі . Тож ви можете вирішити шахи, перетворивши всю землю на комп’ютер .
Девід Річербі

8

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

Клод Шеннон підрахував, що існує близько 10 43 можливих посад у шахах, і у вашій базі даних потрібно буде зберігати результат усіх цих (це, по суті, 32- базова таблиця ). Однак, за підрахунками, Земля містить лише близько 10 50 атомів, тому навіть якщо ви могли б створити комірку пам'яті всього з 10 000 000 атомів, вам все одно знадобиться комп'ютер розміром із Землею просто для зберігання всіх позицій.

Але такий величезний комп’ютер приносить великі проблеми. Діаметр Землі становить близько 12 800 кілометрів, а для проходження цієї відстані світло займає близько 43 мс. Це означає, що якщо цикл годин триває довше 43 мс, у вас є не тільки жахливі перекоси годин, але різні частини вашого комп’ютера навіть не в одному тактовому циклі. Уникнення цього обмежує тактову частоту приблизно 23,5 Гц (не ГГц чи МГц; просто Гц). Навіть якщо ви могли повністю оцінити позицію за один тактовий цикл, це означає, що вашому комп'ютеру знадобиться приблизно 4,3x10 41 секунди, щоб виконати своє завдання. Це приблизно 1,4х10 34 роки. Це 14 мільйонів мільярдів мільярдів років.

Астрофізики вважають, що Всесвіт буде виглядати кардинально інакше через 1,4х10 34 роки, ніж це зараз. До того часу зірки вже давно перестануть існувати, і навіть елементи, які не мають жодного сенсу радіоактивного, зазнали великої кількості радіоактивного розпаду. Навіть протони, що утворюють атомні ядра, зазнали значного радіоактивного розпаду. Тож ваш комп'ютер розміром із землею просто більше не буде існувати.


2
Отже, ви маєте на увазі, є шанс?
bpromas

6

Я думаю, що відповідь Даніеля є відмінною (+1), але я хочу все-таки додати кілька думок.

Чи справді замінить шахові двигуни 32-х частинна таблиця? Відповідь, безумовно, ні!

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

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

Існуючі шахові двигуни значно посилюються завдяки доступу до таблиць. Але в міру зростання баз даних час доступу стане забороняючим фактором задовго до того, як використовувати кожен атом у Всесвіті для пам'яті ;-).

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


Ви неправильно зрозуміли, що міститиме база даних. Кожен можливий хід буде позначений як "Якщо я зіграю в цьому, мій опонент може примусити виграти все, що я робитиму далі", "Якщо я зіграю це, я можу примусити виграти все, що робить противник далі" або "нічия". Таким чином, ви б не грали в "не програючі рухи на кожному кроці": ви б грали примусові виграші на кожному кроці, доки такий хід існував.
Девід Річербі

1
Ну, насправді я зрозумів, що саме буде містити базу даних ... Я намагався зробити це в шахових іграх високого рівня "Немає виграшів!" у понад 90% посад. І вам потрібно набагато більше інформації, ніж "цей хід притягується, і цей хід втрачається", щоб насправді дійти до виграшної позиції проти гідного гравця.
BlindKungFuMaster

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

Ні, це неправильно. Тривіально отримати свій виграшний хід. Просто обчисліть усі можливі рухи від поточної позиції, перевірте отримані позиції в БД і виберіть той, який виграє або розіграє. За визначенням, якщо ваша поточна позиція "ви виграєте", на наступних позиціях буде принаймні одна, яка є "ви виграєте"; і якщо ваша поточна позиція "нічия", принаймні одна з наступних позицій буде "нічиєю" (і, можливо, деякою "виграєте", якщо ваш опонент не грає ідеально).
Ігнасіо Кальво

1
Справа в тому, що поточна позиція зазвичай не є "ви виграєте". Наприклад, дуже ймовірно, що у вихідній позиції немає вимушеної перемоги.
BlindKungFuMaster

3

Думаю, колись шахи вирішаться. Чому? Бо, ну, не так давно, грати в шахи проти комп’ютера було дивно і немислимо! Як ви могли навчити комп’ютер грати в шахи? Ну, вони це зробили! (Крім того, ідея комп'ютера була дивною ...) Моя думка, це може здатися дивним, оскільки ми ніколи про нього не бачили і не чули. Це не те, що ми можемо легко уявити. Але технологія розширюється експоненціально. Я не був би здивований, якби найближчим часом (10+ років) це було вирішено в тій чи іншій формі.


1
Перешкодою для вирішення шахів є буквально астрономічний обсяг даних, який вам знадобиться сортувати. Шеннон підрахував, що в шахах є приблизно 10 ^ 43 позиції, і вам потрібно буде зберегти результат для кожної з них. Щоб зробити це перспективним, земля містить близько 10 ^ 50 атомів, тож, навіть якщо ви могли побудувати комірку пам’яті з 10 000 000 атомів, вам все одно знадобиться перетворити всю землю в банк пам'яті лише для збереження результату!
Девід Річербі

1
@DavidRicherby Скажімо, шахи - це нічия з найкращою грою. Тоді для кожного білого ходу є адекватна відповідь для чорних. До наступного білого ходу чорний також має адекватну реакцію тощо. Можливо, що для побудови такого «креслярського дерева» потрібно набагато менше 10 ^ 43 позицій.
Даг Оскар Мадсен

4
@DagOskarMadsen Так, можливо, насправді для зберігання дерева буде потрібно набагато менше пам’яті (хоча все-таки астрономічна кількість). Однак нинішня техніка побудови таких дерев полягає в тому, щоб зробити ретроградний аналіз з усіх кінцевих позицій, що вимагає побудови повної бази даних, що робити в кожній позиції, як мінімум проміжного етапу.
Девід Річербі

1
Я шкодую, що повідомляю, що ви помиляєтесь! @DagOskarMadsen Але якщо ви не знаєте, як спростувати "неадекватні" відповіді, чи можете ви справді стверджувати, що ви вирішили гру?
Девід

2

Ще в коледжі на початку 1980-х років я читав у грі, що грає текст, що якщо комп'ютер міг планувати, оцінювати та виконувати хід, будь-який єдиний хід, від початку гри до всіх можливих висновків кожні 1/3 наносекунди, тобто приблизно 3 мільярди ходи в секунду, щоб зробити це для кожного можливого результату, знадобиться 10-120 століття. А кому ще так довго чекати?

Ще одна приголомшлива статистика? Ви, очевидно, чули про гугол? Не Google, а номер? Це від 10 до 100-ї потужності. 10, за яким 100 нулів. А тепер уявіть собі googolplex. Це 10 до потужності googol'th.

Я читав, що у відомому Всесвіті недостатньо нічого , навіть атомів, щоб вимагати використання googleplex. Насправді навіть гугл занадто великий, щоб щось описувати. Слід ознайомитися з деякими дивовижними дрібницями щодо цих цифр.


1

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


0

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

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


-1

Так, я думаю, це було б можливо. Але лише в тому випадку, якщо база даних більше нагадувала нейронну мережу, здійснюючи рухи, які спричиняли її втрату та видалення. Цей розрахунок ґрунтується на виявленні (нехай зі мною) всіх можливих дій у шаховій грі під час руху однієї, переїзду 100 або чогось іншого. Тим часом, якби ми позбулися повторів, ((Ke3 Ke4 Ke3 Ke4) циклічно) 10 ^ 120, можливо, може стати чимось на зразок 10 ^ 70. Це все ще смішно величезне, але якби ми якось змогли його закодувати на площині 4D (що, я вважаю, це можливо), це було б дитячою грою.


2
Ласкаво просимо в Шахи ! Будь ласка, пройдіть тур, поки ви на ньому. Ваша публікація може бути оприлюднена, оскільки це більше думки і менше відповіді, як ми очікуємо її тут; див. статтю довідкового центру Як відповісти .
Glorfindel

2
Я не шаховий хлопець, і, для запису, я не з тих, хто вас голосував, але я прочитав, що є 10 ^ 43 різних посад. Тільки тому, що у вас є метод, який дозволяє відфільтрувати деякі дані, чому ви автоматично припускаєте, що це робить можливим? Я думаю, ви недооцінюєте, наскільки точно має бути така база даних. Це так далеко виходить за межі сучасних обчислювальних технологій, що я не можу уявити, що ми на траєкторії, щоб це сталося навіть через століття. Але ласкаво просимо до SE Chess. (І ласкаво просимо, я теж думаю: P)
Джо Majewski
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.