Вивчення правил шахів


11

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

Якщо машина може переглядати стан дошки для декількох ігор у шахи (або декілька ігор у шашки) на початку та після кожного ходу, чи можна її запрограмувати, щоб вивчити правила гри?

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


3
Машина повинна мати можливість дістатись до стану, де вона може сказати "Я бачив цей крок, який виконується, тому я припускаю, що можу виконувати його за подібних обставин". Чи є це "вивченням правил" - це майже філософське питання. ;)
дель

@deceze Ну, ти не зовсім правий. Вивчивши правила, можна розуміти можливість зробити крок з огляду на макет, який ніколи раніше не траплявся з програмою. Інакше це не вивчення правил, а запам'ятовування рухів.

2
@Max Чи міг би комп'ютер правильно робити кроки, яких він ніколи не бачив? Скажімо, він багато разів бачив, як лицар рухається два вперед та один убік, але ніколи два назад, один убік. Як можна було впевнено сказати, які правила стосуються руху лицарів? Можливо, в правилах є спеціальне застереження, в якому сказано, що "лицарі не можуть рухатися назад, тільки вперед" (як пішаки). Отже, виведення правил з певністю здається неможливою справою. Це в значній мірі стосується і людей.
декабрь

8
@Max Насправді може існувати нескінченна кількість правил, які комп'ютер не може вивести . On the 8th turn the knight may not turn right. On a sunny day the pawns may jump over bishops.Комп'ютер не може сказати, чому пішак не рухався на певному повороті. Можливо, було якесь правило проти того, щоб він рухався в тій конкретній обставині. Отже, комп'ютер повинен мати можливість лише відтворювати подібні (фактично, точні) візерунки, але ніколи не мати змоги виводити правила зі 100% впевненістю.
декабрь

@deceze Так, може, якщо ти якось показав це правило. Так само, як вам потрібно навчити людину правилам (наприклад, дати йому роздрукувати правила для читання), вам потрібно якось надати ці правила машині. Найпростіший спосіб - це відтворення ВСІХ правил у деякій кількості ігор для машинного навчання. Так само і з людьми - людина не знатиме цього, On a sunny day the pawns may jump over bishops.якщо ти ніколи йому цього не показував.

Відповіді:


10

Якщо машина може переглядати стан дошки для декількох ігор у шахи (або декілька ігор у шашки) на початку та після кожного ходу, чи можна її запрограмувати, щоб вивчити правила гри?

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

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

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

Про методи, які можуть вивчити правила, ознайомтеся з індуктивним логічним програмуванням та генетичним програмуванням . Я не впевнений, чи хтось колись намагався застосувати їх до шахового навчання; Оскільки правила шахів фіксовані, набагато цікавіше (навіть для академій) будувати хороші програми шахової гри, а не ті, які повинні вивчити основні правила з нуля.


4

Правила шахів досить складні і деякі дуже рідко виконуються в грі.

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

Ще один приклад. В-квадрат може бути атакований у довгій ролі. Скільки ігор ви бачите, де це відбувається?

Іншими словами, вам потрібно буде багато, багато, багатьох ігор, щоб правильно вивести всі правила.

Але, можливо, Google знайде куточок своєї хмари для повного архіву шахових ігор «скоро» ...


"Бі-квадрат може бути атакований у довгій ролі", що це за хід? Чи можете ви пояснити це чи зв’язати це для мене?
CaffGeek

@chad, що також називається queenside castling - використовується позначення "0-0-0". Тільки три поля, яких королі "торкаються", можуть не зазнавати нападу.

2
Крім того, квадрат d не може бути атакований під час викидання на четвірку (або f-квадрат під час виходу з королівства) ; Ви також не можете замок після переміщення свого короля. Як ви повинні знати, що чогось неможливо зробити, спостерігаючи за іграми там, де цього не було зроблено? Як згадує Ларс, комп'ютер міг призначити ймовірність того, що рух є дійсним, але встановити, що конкретне правило, спостерігаючи за іграми, межує з неможливим.
BlueRaja - Danny Pflughoeft

Також були ігри, навіть гросмейстери в налаштуваннях турніру, де правила були порушені , і жоден гравець не помітив! Згідно з правилами турніру, якщо жоден гравець не помітить протягом 10 ходів, гра діє та продовжується. (Я дуже добре пам’ятаю гру, коли гросмейстер перемістив свого короля, потім перемістив його назад, а згодом відкинув. Хоча зараз не можу його знайти)
BlueRaja - Danny Pflughoeft

1
jw.org uk пасант досить рідкісний, але є деякі правила вимушеного розіграшу, які є ДАРІ рідше. Я граю вже 40 років, і ніколи не бачив гри, в якій можна було б зробити примусовий жеребкування від 50 ходів без руху пішаків і жодного захоплення. Я думаю, є ще одне таке правило, яке я навіть не згадую. На практиці гравці збираються погодитись на жеребкування, перш ніж їх викликати. (Вони існують для того, щоб ви не змогли «виграти» витягнутий позицію, перетягнувши його, поки ваш супротивник не
піде з ладу

2

Так і ні

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

Ви, звичайно, можете навчити комп’ютер правилам та деякому рівню шахів, використовуючи ці. Однак я не думаю, що ви можете навчити її вищому рівню, використовуючи його. Інформатики досі afaik не спромоглася створити машину, здатну "зрозуміти" шахи з позиційної / інтуїтивної точки зору. Усі сучасні шахові комп’ютери використовують надмірну базу даних, грубі сили розрахунків та, можливо, машинне навчання.

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


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

2

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

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


2

Якщо ви думаєте про правила шахів як фізичний двигун гри та Закони фізики як постійні і незмінні прийняті правила Всесвіту, тоді подумайте, як мало актуальних «Законів» у нашому природному Всесвіті. Надзвичайно важко, якщо не неможливо зробити важке і швидке ПРАВИЛО, але ми можемо скласти ряд перевірених і прийнятих теорій на конкретний момент часу.

МОЖЛИВИ припустити, що комп'ютер спостерігає та записує ходи, але НЕ робить тверджень про дійсні ходи безпосередньо.

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

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

Таким чином, відповідь полягає в тому, що комп’ютер міг би зробити дуже гарну здогадку, але він (редагувати: НЕ) точно знати правила.


1

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

Детальніше про це:


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

1
ANN і NN аж ніяк не близькі до складності фактичного нейрона / людського мозку;
Темна ніч

"в теорії теорія і практика однакові, але на практиці вони ніколи не бувають". Шахові програми можуть грати як гросмейстери, але я не думаю, що це через нейронні мережі або машинне навчання. Більшість хороших програм використовують великі книги, що відкриваються, таблиці ендграйдів та перший глибинний пошук ("negamax з альфа-бета-обрізкою"), і, ймовірно, дуже складну функцію оцінювання (яка, швидше за все, пишеться за допомогою гросмейстерів).
Кевін

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

2
Ха ... просування до короля робить мат чи трохи складніше!
Кевін

1

Я думаю, що він може вивчити ті рухи, які дозволено робити лише шляхом аналізу, але як би він навчився рухам, які не дозволяється робити? Наприклад, пішак ніби не рухається вперед на один квадрат, коли перед ним протилежна деталь. Як комп'ютер знає, чи це вибір за вибором гравця, чи заборонено це робити? Ви можете придумати якийсь алгоритм, який говорить, якщо 99,99% часу або більше події не відбувається, то це означає, що ви не можете це робити, але це також може бути 99,99% часу, який вважається поганий хід, але що 0,01% часу саме ця гра виграє гру. Отже, моя відповідь "ні", вона не може навчитися всім правилам просто аналізуючи ігри, але, ймовірно, може навчитися досить грати в гру.


1

Це філософське питання. Ви також можете запитати, чи може людина навчитися грати в шахи виключно, спостерігаючи за людьми, поки вони грають у шахи. Насправді це в основному такий же питання, який задає Нельсон Гудман у своїй великій книзі « Факт, вигадка» та «Прогноз» : як ми можемо перейти від вже встановленого кінцевого спостереження до прогнозування майбутніх спостережень. Вже зроблені спостереження - це спостережувані шахові рухи досі, а майбутні спостереження - це всі шахові рухи, які ще не відбулися. Питання полягає в тому, чи існує номологічний зв’язок між спостереженнями минулого та майбутніми спостереженнями (на відміну від суто причинного зв'язку між минулими подіями та майбутніми подіями)?

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

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

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

BTW: Рішення проблеми Вітгенштейна досить схоже на рішення Гудмена. Я не зіпсую сюрприз;-)

Додаток:

У часи, коли Суссман був послушником, Мінський одного разу прийшов до нього, коли він сидів, лаючись на PDP-6.

"Що ти робиш?", Запитав Мінський. "Я треную випадкову провідну нейронну мережу, щоб грати в Tic-tac-toe", - відповів Суссман. "Чому мережа проводиться випадково?", Запитав Мінський. "Я не хочу, щоб у нього були якісь попередження, як грати", - сказав Суссман.

Потім Мінський заплющив очі. "Чому ти закриваєш очі?" - спитав Суссман у свого вчителя. "Так що в кімнаті буде порожньо". У цей момент Суссман просвітився.


-4

Немає

Тому що просто навчання шаблонам (за допомогою якого колись методу) - це не те саме, що «навчитися грати в шахи оптимально».

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


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

1
Я думаю, ви неправильно зрозуміли питання ...
maple_shaft

Після роботи (магістерська робота) з AI (нейронні мережі) я цілком впевнений, що він не може. Якщо у вас немає доказів, щоб сказати інше, ви не можете просто сказати "ви цього не знаєте"
Darknight
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.