Чому шаховий хід може підвищити шанс на перемогу, на думку комп'ютера?


14

Переглядаючи Кубок Сінкфілд на http://grandchesstour.org/ , можна спробувати різні рухи та побачити, як комп'ютер оцінює положення після запропонованого ходу.

Тепер більшість рухів погіршать ваше становище, якщо це не вважатиметься найкращим кроком за комп’ютером. Але за деякі ходи (досить часто) ви миттєво отримуєте підвищений шанс виграти, можливо, перевагу на пів пішаків. Я цього не розумію: якщо одна хода може значно покращити позицію гравців, чи це вже не відображатиметься в поточному становищі перед ходом? На мій погляд, будь-який хід, який не вважається найкращим рухом за комп’ютером, повинен призвести до погіршення позиції, тоді як найкращий хід повинен просто у кращому випадку тримати стоячи, а не фактично покращувати позицію гравців. Тому що, якщо комп'ютер знає, що цей хід поліпшить позицію гравців, то він повинен уже на поточній позиції покращити позицію гравців, сказавши, що "при найкращій грі ви на пів-піша"?

Хм, чи, можливо, це лише результат того, як веб-сайт реалізований на grandchesstour.org?


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

Відповіді:


26

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

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

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

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

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

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


* Тут є невеликий нюанс у тому, що вам потрібно порахувати кількість рухів до виграшу, щоб уникнути повторення позицій. Наприклад, розгляньте кінцеву гру KQ проти K. Кожен крок, який не зупиняється і не здасть королеву, виграє, тому вам потрібен механізм, щоб рухатись до мат-мату, а не просто випадковим чином рухатись і казати: "О, я повністю йду щоб виграти це - майже кожен крок перемагає! "


Відмінна відповідь! Я ніколи не чув про той "ефект горизонту", має багато сенсу, дуже цікавий.
Педро А

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

4

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

Це так само, як ми граємо в шахи.


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

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