Author | Topic |
PozitiFF_Chess
|
| VIP
|
Post №: 893
Joined: 31.05.08
Rank:
8
|
|
Posted: 24.12.09 13:34. Post subject: Что нельзя объяснить шахматной программе?
Остались ли еще какие-то чисто человеческие привилегии, которые нельзя было бы объяснить программе с помощью алгоритмов? И если да - то почему этого сделать нельзя? Или можно поставить вопрос по-другому: какими чисто шахматными законами обычно пренебрегают разработчики с целью оптимизации своего кода и усиления игры шахматной программы?
|
|
Profile
Reply
|
Replys - 94
, page:
1
2
3
4
5
All
[new only]
|
|
immortal223
|
| administrator
|
Post №: 3565
Joined: 14.07.07
Rank:
65
|
|
Posted: 24.12.09 13:36. Post subject: PozitiFF_Chess Мне..
PozitiFF_Chess Мне вот самому интересно - как программе объяснить что такое «крепость» и как научить программу её избегать?
|
|
Profile
Reply
|
|
Posted: 24.12.09 14:29. Post subject: immortal223 пишет: ..
immortal223 пишет: quote: | как программе объяснить что такое «крепость» и как научить программу её избегать? |
| Вот это очень хороший вопрос: на Playchess много игроков строили "крепость" и по времени обыгрывали буллет 1+0 движок Deep Fritz 11. Даже Крамник против Фрица смастерил "крепость". Пока этого программы вообще не понимают.
|
|
Profile
Reply
|
N1mTzo
|
| |
Post №: 130
Joined: 01.11.07
Rank:
3
|
|
Posted: 24.12.09 14:51. Post subject: В коневом эндшпиле, ..
В коневом эндшпиле, например, движки плохо рубят Сам сталкивался с этим в адвансе несколько раз Еще со стратегией у них плохо, собственно из этого 1-й пункт и вытекает, потому как ферзевые окончания движки играют очень сильно, так как там тактика на тактике. Пешечные цепи и закрытые позиции - движки с этим тоже плохо справляются. Да много еще чего есть если бы уже сегодня движки всё это понимали, то человеческие шахматы бы умерли
|
|
Profile
Reply
|
Gata
|
| |
Post №: 371
Joined: 21.02.08
Rank:
-1
|
|
Posted: 24.12.09 14:55. Post subject: наверное, можно объя..
наверное, можно объяснить так - же как и человеку. Но это потребует формализации понятия "крепость", огромному количеству кода, разбуханию ОФ и, в конечном итоге, падению силы игры во всех остальных позициях (за счет кода оф, обследующего участки доски на предмет "крепости")
|
|
Profile
Reply
|
дуп
|
| |
Post №: 53
Joined: 18.03.08
Rank:
0
|
|
Posted: 24.12.09 16:24. Post subject: PozitiFF_Chess пишет..
PozitiFF_Chess пишет: quote: | Остались ли еще какие-то чисто человеческие привилегии, которые нельзя было бы объяснить программе с помощью алгоритмов? И если да - то почему этого сделать нельзя? |
| Я думаю, что осталась всего одна "привилегия". Именно за счет ее человек все еще и может играть почти на равных с прогами. Человек может взглянуть на позицию (или мысленно представить ее) и мгновенно понять, что здесь ловить нечего. И соответственно в своем мысленном "переборе" эту "ветку" он обрезает со 100% точностью. Причем на очень маленькой глубине, большую часть уже в корне перебора Человек рассматривает на порядки меньше узлов, чем движки. Проге же, чтобы что-то "понять" нужно сосчитать. То есть большую часть (точно трудно сказать, но большую) отведенного на поиск времени движки именно этим и занимаются - считают всякий бред. ИМХО
|
|
Profile
Reply
|
unknow
|
| |
Post №: 113
Joined: 19.12.08
Rank:
0
|
|
Posted: 24.12.09 17:10. Post subject: Эндшпильная крепость..
Эндшпильная крепость программируется типа: [chess]2k5/2p5/3r4/8/8/1Q6/8/4K3 w - - 0 1[/chess] static bool probe_KQkrp8(int *score) { int wk_sq = board.king_sq[white]; int bk_sq = board.king_sq[black]; int br_sq = rbit2sq(board.items[brook]); u64 bpawns = board.items[bpawn]; if (sq_rank(bk_sq) >= rank_7 && sq_rank(wk_sq) <= rank_5 && sq_rank(br_sq) == rank_6 && (atk_king[bk_sq] & bpawns) && (atk_fork[white][br_sq] & bpawns)) { *score = 0; return true; } return false; } Насчет общего случая - есть кажется двойной нулевой ход, его пока не кодил, как оно там - врать не буду.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 2190
Joined: 15.07.07
Rank:
25
Awards:
|
|
Posted: 24.12.09 17:34. Post subject: отличие крепости от ..
отличие крепости от других типов позиций в том, что на большом протяжении ходов оценка не меняется. даже если она +2, т.е. некую формализацию сделать можно, но вот чтобы крепость определялась в процессе перебора... хм, тут все очень не просто.
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1293
Joined: 19.10.07
Rank:
6
|
|
Posted: 24.12.09 17:50. Post subject: bankuss отличие креп..
bankuss quote: | отличие крепости от других типов позиций в том, что на большом протяжении ходов оценка не меняется. |
| Оценка еще может некоторое время меняться, хотя крепость уже построена. С другой стороны, если оценка не меняется долгое время, то еще не факт, что это крепость.
|
|
Profile
Reply
|
unknow
|
| |
Post №: 114
Joined: 19.12.08
Rank:
0
|
|
Posted: 24.12.09 17:51. Post subject: bankuss пишет: тут ..
bankuss пишет: Со стороны защиты: имею из ОФ эти -2, делаю два нулевых, промежуток между ними по расположению звезд или еще как, материал как параметр, можно еще проверить включенность свох пешек в цепи, по исключению. Если хуже не стало, оценку делю на два. Это типа как при разноцветных слонах.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 2192
Joined: 15.07.07
Rank:
25
Awards:
|
|
Posted: 24.12.09 18:11. Post subject: unknow пишет: С дру..
unknow пишет: quote: | С другой стороны, если оценка не меняется долгое время, то еще не факт, что это крепость. |
| это понятно, нужно еще проверить пешечные цепи (малоподвижность или полная замкнутость) а также что-то вроде счетчика ходов одной-двумя фигурами, если сделанные ходы принадлежат 1-2 фигурам, пешки не ходят, у соперника тоже самое - ходы одной-двумя фигурами, то итоговую оценку можно занижать. т.е. ввести какие то признаки "тупых маневров" фигурами туды-суды )))) но все это постфактум... а вот как определить переход в такую позу в процессе перебора? ибо варианты длинные, а в статике просто нереально это определить.
|
|
Profile
Reply
|
PozitiFF_Chess
|
| VIP
|
Post №: 894
Joined: 31.05.08
Rank:
8
|
|
Posted: 24.12.09 21:17. Post subject: У Рыбки оценка вообщ..
У Рыбки оценка вообще в миттельшпиле редко меняется. Она там почти всегда 0.00 плюс минус эпсилон. Но о крепости говорить не приходится.
|
|
Profile
Reply
|
|
ChessGrand
|
| |
Post №: 61
Joined: 12.11.09
Rank:
0
|
|
Posted: 24.12.09 23:15. Post subject: возможно кроме таког..
возможно кроме такого понятия как "крепость", которое прога не понимает, существуют в шахматах и другие понятия более сложного порядка, которые не понимает не только прога, но и человек и потому пока остающиеся невидимыми простым смертным....... ту би кантинуед....
|
|
Profile
Reply
|
Osipov
|
| VIP
|
Post №: 1
Joined: 26.12.09
Rank:
0
|
|
Posted: 26.12.09 21:19. Post subject: Можно пробовать испо..
Можно пробовать использовать то, что уже есть. В оценке позиций используются некоторые понятия, относящиеся к оценке открытости/закрытости позиций - открытые вертикали, пешечное прикрытие короля, пешечная цепь (когда соседние пешки не имеют разрыва по вертикали более чем на одну клетку), мобильность на территории соперника и т.д. В вычислении оценки из весов белых ВЫЧИТАЮТСЯ веса черных, поэтому в итоге можем ничего не увидеть. Но можно параллельно с вычислением обычной оценки, СКЛАДЫВАТЬ веса открытости позиции. Тогда получим два числа - обычная оценка и оценка открытости позиции. А дальше можно экспериментировать, например, давать бонус себе за открытость позиции (т.е. из двух вариантов с близкой общей оценкой на четном уровне дерева перебора отдавать предпочтение тому варианту, который ведет к более открытой позиции). А можно наоборот - штрафовать за открытость. И дальше смотреть - в каком случае движок будет сильнее. Можно вынести эти бонусы/штрафы в настройки движка и менять их. Тогда можно менять стиль игры.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 128
Joined: 20.06.09
Rank:
3
|
|
Posted: 26.12.09 21:35. Post subject: Насчет крепости. Мож..
Насчет крепости. Можно попробовать делить эндшпильную оценку, если у слабейшей стороны все фигуры защищены, ни одна не атакована дважды и вражеский король не может подобраться к королю соперника для матовой атаки. Пример unknow как раз из числа таких позиций.
|
|
Profile
Reply
|
|
Posted: 05.01.10 02:10. Post subject: Можно ли объяснить ш..
Можно ли объяснить шахматной программе избегать такого: в дебюте (чаще всего) и в других позициях неоднократно наблюдал картину, что движок (я наблюдал за глубоководной), например, ходит конём с f3 на h2 и оценивает как небольшой плюс (около 0.30) у белых, затем ходят чёрные и белые следующим ходом возвращают коня на ф3, давая уже более близкую к 0.00 оценку. Зачем топтаться на месте и давать противнику темп?
|
|
Profile
Reply
|
|
Posted: 05.01.10 03:01. Post subject: Ещё интересно, как н..
Ещё интересно, как научить движок правильно оценивать такие ничейные позиции, когда, например, разноцвет слонов и пара лишних пешек у одной стороны (ну, вы поняли, о чём речь: пешки блокирует король, никогда им не прорваться, слон не того цвета, чтобы шахануть короля, а король-то с места не сдвинется), а движки даже с таблицами Налимова дают неправильную оценку. Или же лишняя пешка у одной из сторон в ладейном (у каждой стороны по две ладьи) окончании. Или во всё том же ладейнике сдвоенные две пешки, а Рыбка полагает, что выигрыш, и долго-долго мучает мозг, показывая одну и ту же оценку. Или же ладья за слона и пешку + другие фигуры на доске так, чтобы больше пяти фигур, однако всё равно ничья, но движки так не думают. Вообще в запертых позициях двиги часто неправильно оценивают ситуацию. Можно ли их научить давать правильную оценку? b1R5/5pk1/2p3p1/8/r5PP/5BK1/5P2/8 w - - 0 62 Вот пример мучения: Рыбка даёт оценку 1.06, Роба 0.74. И играют, мучают свой компьютерный мозг далее ходов эдак до ста, пока не будет засчитана закономерная ничья.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 2282
Joined: 15.07.07
Rank:
26
Awards:
|
|
Posted: 05.01.10 08:31. Post subject: Кевин пишет: Или во..
Кевин пишет: quote: | Или во всё том же ладейнике сдвоенные две пешки, а Рыбка полагает, что выигрыш, и долго-долго мучает мозг, показывая одну и ту же оценку. |
|
было недавно такое в партии на ЛСС - я намеренно "соскавивал" на такой энд, зная что там ничья, соперник же видел +1 движковое и смело туда шел. после нескольких моих сообщений о том что переход в 6-ти фигурку неизбежен после размена одной пары пешек с 100% ничьей, согласился и принял эту ничью. жаль что нет 7-ми фигурок
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1345
Joined: 19.10.07
Rank:
7
|
|
Posted: 05.01.10 08:48. Post subject: Хорошо, когда только..
Хорошо, когда только +1. Рыбка бывает и +2 и +3 в ничейных ладейниках показывает.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 133
Joined: 20.06.09
Rank:
3
|
|
Posted: 05.01.10 18:50. Post subject: Кевин Насчет сло..
Кевин Насчет слонового разоцвета - в Bison 9.6 была спец. функция для таких случаев. Но потом я ее убрал, все равно толку от нее ноль. Насчет позиции [chess]b1R5/5pk1/2p3p1/8/r5PP/5BK1/5P2/8 w - - 0 62[/chess] b1R5/5pk1/2p3p1/8/r5PP/5BK1/5P2/8 w - - 0 62 посложнее, больно уж там намешано. По мне, максимум, что можно сделать, так это чуть подсократить плюс для такого типа позиций, и то не факт, что это принесет дивиденды.
|
|
Profile
Reply
|
PozitiFF_Chess
|
| VIP
|
Post №: 967
Joined: 31.05.08
Rank:
7
|
|
Posted: 05.01.10 19:36. Post subject: WildCat пишет: Рыбк..
WildCat пишет: quote: | Рыбка бывает и +2 и +3 в ничейных ладейниках показывает. |
|
А можно примеры, когда Рыбка с включенными базами Налимова показывает +2 или +3?
|
|
Profile
Reply
|
Replys - 94
, page:
1
2
3
4
5
All
[new only]
|
|