On-line: guests 0. In total there are: 0 [information..]
AuthorTopic
PozitiFF_Chess
VIP


Post №: 893
Joined: 31.05.08
Rank: 8
link post  Posted: 24.12.09 13:34. Post subject: Что нельзя объяснить шахматной программе?


Остались ли еще какие-то чисто человеческие привилегии, которые нельзя было бы объяснить программе с помощью алгоритмов? И если да - то почему этого сделать нельзя?

Или можно поставить вопрос по-другому: какими чисто шахматными законами обычно пренебрегают разработчики с целью оптимизации своего кода и усиления игры шахматной программы?

Say thanks!: 2 
Profile Reply
Replys - 94 , page: 1 2 3 4 5 All [new only]


immortal223
administrator


Post №: 3565
Joined: 14.07.07
Rank: 65
link post  Posted: 24.12.09 13:36. Post subject: PozitiFF_Chess Мне..


PozitiFF_Chess

Мне вот самому интересно - как программе объяснить что такое «крепость» и как научить программу её избегать?

Say thanks!: 1 
Profile Reply
Кевин
Резидент


Post №: 3020
Joined: 06.01.08
Rank: 32

Awards: За отличные редкие и эксклюзивные вещи!За Рыбку!!!! СПАСИБО!За Джуню 2010
link post  Posted: 24.12.09 14:29. Post subject: immortal223 пишет: ..


immortal223 пишет:

 quote:
как программе объяснить что такое «крепость» и как научить программу её избегать?


Вот это очень хороший вопрос: на Playchess много игроков строили "крепость" и по времени обыгрывали буллет 1+0 движок Deep Fritz 11. Даже Крамник против Фрица смастерил "крепость". Пока этого программы вообще не понимают.

Say thanks!: 0 
Profile Reply
N1mTzo



Post №: 130
Joined: 01.11.07
Rank: 3
link post  Posted: 24.12.09 14:51. Post subject: В коневом эндшпиле, ..


В коневом эндшпиле, например, движки плохо рубят Сам сталкивался с этим в адвансе несколько раз Еще со стратегией у них плохо, собственно из этого 1-й пункт и вытекает, потому как ферзевые окончания движки играют очень сильно, так как там тактика на тактике.

Пешечные цепи и закрытые позиции - движки с этим тоже плохо справляются. Да много еще чего есть если бы уже сегодня движки всё это понимали, то человеческие шахматы бы умерли

Say thanks!: 0 
Profile Reply
Gata



Post №: 371
Joined: 21.02.08
Rank: -1
link post  Posted: 24.12.09 14:55. Post subject: наверное, можно объя..


наверное, можно объяснить так - же как и человеку. Но это потребует формализации понятия "крепость", огромному количеству кода, разбуханию ОФ и, в конечном итоге, падению силы игры во всех остальных позициях (за счет кода оф, обследующего участки доски на предмет "крепости")

Say thanks!: 0 
Profile Reply
дуп



Post №: 53
Joined: 18.03.08
Rank: 0
link post  Posted: 24.12.09 16:24. Post subject: PozitiFF_Chess пишет..


PozitiFF_Chess пишет:

 quote:
Остались ли еще какие-то чисто человеческие привилегии, которые нельзя было бы объяснить программе с помощью алгоритмов? И если да - то почему этого сделать нельзя?


Я думаю, что осталась всего одна "привилегия". Именно за счет ее человек все еще и может играть почти на равных с прогами. Человек может взглянуть на позицию (или мысленно представить ее) и мгновенно понять, что здесь ловить нечего. И соответственно в своем мысленном "переборе" эту "ветку" он обрезает со 100% точностью. Причем на очень маленькой глубине, большую часть уже в корне перебора Человек рассматривает на порядки меньше узлов, чем движки.
Проге же, чтобы что-то "понять" нужно сосчитать. То есть большую часть (точно трудно сказать, но большую) отведенного на поиск времени движки именно этим и занимаются - считают всякий бред. ИМХО

Say thanks!: 0 
Profile Reply
unknow



Post №: 113
Joined: 19.12.08
Rank: 0
link post  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;
}

Насчет общего случая - есть кажется двойной нулевой ход, его пока не кодил,
как оно там - врать не буду.

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 2190
Joined: 15.07.07
Rank: 25

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 24.12.09 17:34. Post subject: отличие крепости от ..


отличие крепости от других типов позиций в том, что на большом протяжении ходов оценка не меняется.
даже если она +2, т.е. некую формализацию сделать можно, но вот чтобы крепость определялась в процессе перебора... хм, тут все очень не просто.

Say thanks!: 0 
Profile Reply
WildCat
VIP


Post №: 1293
Joined: 19.10.07
Rank: 6
link post  Posted: 24.12.09 17:50. Post subject: bankuss отличие креп..


bankuss

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


Оценка еще может некоторое время меняться, хотя крепость уже построена.
С другой стороны, если оценка не меняется долгое время, то еще не факт, что это крепость.

Say thanks!: 0 
Profile Reply
unknow



Post №: 114
Joined: 19.12.08
Rank: 0
link post  Posted: 24.12.09 17:51. Post subject: bankuss пишет: тут ..


bankuss пишет:

 quote:
тут все очень не просто.


Со стороны защиты:
имею из ОФ эти -2, делаю два нулевых, промежуток между ними
по расположению звезд или еще как, материал как параметр, можно еще
проверить включенность свох пешек в цепи, по исключению.
Если хуже не стало, оценку делю на два. Это типа как при разноцветных слонах.

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 2192
Joined: 15.07.07
Rank: 25

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 24.12.09 18:11. Post subject: unknow пишет: С дру..


unknow пишет:

 quote:
С другой стороны, если оценка не меняется долгое время, то еще не факт, что это крепость.


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

Say thanks!: 0 
Profile Reply
PozitiFF_Chess
VIP


Post №: 894
Joined: 31.05.08
Rank: 8
link post  Posted: 24.12.09 21:17. Post subject: У Рыбки оценка вообщ..


У Рыбки оценка вообще в миттельшпиле редко меняется. Она там почти всегда 0.00 плюс минус эпсилон. Но о крепости говорить не приходится.

Say thanks!: 0 
Profile Reply
ChessGrand



Post №: 61
Joined: 12.11.09
Rank: 0
link post  Posted: 24.12.09 23:15. Post subject: возможно кроме таког..


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

Say thanks!: 0 
Profile Reply
Osipov
VIP


Post №: 1
Joined: 26.12.09
Rank: 0
link post  Posted: 26.12.09 21:19. Post subject: Можно пробовать испо..


Можно пробовать использовать то, что уже есть. В оценке позиций используются некоторые понятия, относящиеся к оценке открытости/закрытости позиций - открытые вертикали, пешечное прикрытие короля, пешечная цепь (когда соседние пешки не имеют разрыва по вертикали более чем на одну клетку), мобильность на территории соперника и т.д. В вычислении оценки из весов белых ВЫЧИТАЮТСЯ веса черных, поэтому в итоге можем ничего не увидеть. Но можно параллельно с вычислением обычной оценки, СКЛАДЫВАТЬ веса открытости позиции.
Тогда получим два числа - обычная оценка и оценка открытости позиции. А дальше можно экспериментировать, например, давать бонус себе за открытость позиции (т.е. из двух вариантов с близкой общей оценкой на четном уровне дерева перебора отдавать предпочтение тому варианту, который ведет к более открытой позиции). А можно наоборот - штрафовать за открытость. И дальше смотреть - в каком случае движок будет сильнее.
Можно вынести эти бонусы/штрафы в настройки движка и менять их. Тогда можно менять стиль игры.


Say thanks!: 3 
Profile Reply
Bison



Post №: 128
Joined: 20.06.09
Rank: 3
link post  Posted: 26.12.09 21:35. Post subject: Насчет крепости. Мож..


Насчет крепости. Можно попробовать делить эндшпильную оценку, если у слабейшей стороны все фигуры защищены, ни одна не атакована дважды и вражеский король не может подобраться к королю соперника для матовой атаки. Пример unknow как раз из числа таких позиций.

Say thanks!: 0 
Profile Reply
Кевин
Резидент


Post №: 3160
Joined: 06.01.08
Rank: 33

Awards: За отличные редкие и эксклюзивные вещи!За Рыбку!!!! СПАСИБО!За Джуню 2010
link post  Posted: 05.01.10 02:10. Post subject: Можно ли объяснить ш..


Можно ли объяснить шахматной программе избегать такого: в дебюте (чаще всего) и в других позициях неоднократно наблюдал картину, что движок (я наблюдал за глубоководной), например, ходит конём с f3 на h2 и оценивает как небольшой плюс (около 0.30) у белых, затем ходят чёрные и белые следующим ходом возвращают коня на ф3, давая уже более близкую к 0.00 оценку. Зачем топтаться на месте и давать противнику темп?

Say thanks!: 0 
Profile Reply
Кевин
Резидент


Post №: 3162
Joined: 06.01.08
Rank: 33

Awards: За отличные редкие и эксклюзивные вещи!За Рыбку!!!! СПАСИБО!За Джуню 2010
link post  Posted: 05.01.10 03:01. Post subject: Ещё интересно, как н..


Ещё интересно, как научить движок правильно оценивать такие ничейные позиции, когда, например, разноцвет слонов и пара лишних пешек у одной стороны (ну, вы поняли, о чём речь: пешки блокирует король, никогда им не прорваться, слон не того цвета, чтобы шахануть короля, а король-то с места не сдвинется), а движки даже с таблицами Налимова дают неправильную оценку. Или же лишняя пешка у одной из сторон в ладейном (у каждой стороны по две ладьи) окончании. Или во всё том же ладейнике сдвоенные две пешки, а Рыбка полагает, что выигрыш, и долго-долго мучает мозг, показывая одну и ту же оценку. Или же ладья за слона и пешку + другие фигуры на доске так, чтобы больше пяти фигур, однако всё равно ничья, но движки так не думают. Вообще в запертых позициях двиги часто неправильно оценивают ситуацию. Можно ли их научить давать правильную оценку?

b1R5/5pk1/2p3p1/8/r5PP/5BK1/5P2/8 w - - 0 62

Вот пример мучения: Рыбка даёт оценку 1.06, Роба 0.74. И играют, мучают свой компьютерный мозг далее ходов эдак до ста, пока не будет засчитана закономерная ничья.

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 2282
Joined: 15.07.07
Rank: 26

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 05.01.10 08:31. Post subject: Кевин пишет: Или во..


Кевин пишет:

 quote:
Или во всё том же ладейнике сдвоенные две пешки, а Рыбка полагает, что выигрыш, и долго-долго мучает мозг, показывая одну и ту же оценку.

было недавно такое в партии на ЛСС - я намеренно "соскавивал" на такой энд, зная что там ничья, соперник же видел +1 движковое и смело туда шел. после нескольких моих сообщений о том что переход в 6-ти фигурку неизбежен после размена одной пары пешек с 100% ничьей, согласился и принял эту ничью. жаль что нет 7-ми фигурок

Say thanks!: 0 
Profile Reply
WildCat
VIP


Post №: 1345
Joined: 19.10.07
Rank: 7
link post  Posted: 05.01.10 08:48. Post subject: Хорошо, когда только..


Хорошо, когда только +1. Рыбка бывает и +2 и +3 в ничейных ладейниках показывает.

Say thanks!: 0 
Profile Reply
Bison



Post №: 133
Joined: 20.06.09
Rank: 3
link post  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 посложнее, больно уж там намешано. По мне, максимум, что можно сделать, так это чуть подсократить плюс для такого типа позиций, и то не факт, что это принесет дивиденды.

Say thanks!: 0 
Profile Reply
PozitiFF_Chess
VIP


Post №: 967
Joined: 31.05.08
Rank: 7
link post  Posted: 05.01.10 19:36. Post subject: WildCat пишет: Рыбк..


WildCat пишет:

 quote:
Рыбка бывает и +2 и +3 в ничейных ладейниках показывает.

А можно примеры, когда Рыбка с включенными базами Налимова показывает +2 или +3?

Say thanks!: 0 
Profile Reply
Replys - 94 , page: 1 2 3 4 5 All [new only]
Тему читают:
- user online
- user offline
All times are GMT  2 Hours. Hits today: 23
You can: smiles yes, images yes, types no, poll no
avatars yes, links on, premoderation on, edit new post no