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]


WildCat
VIP


Post №: 1346
Joined: 19.10.07
Rank: 7
link post  Posted: 05.01.10 20:31. Post subject: У меня нет 6-фигурны..


У меня нет 6-фигурных баз.

Say thanks!: 0 
Profile Reply
WildCat
VIP


Post №: 1347
Joined: 19.10.07
Rank: 7
link post  Posted: 05.01.10 20:48. Post subject: И тем не менее вот п..


И тем не менее вот пример:
[chess]2r5/2P4R/3k3P/3p3r/8/8/1KR5/8 w[/chess]
Рыбка выдает чуть больше +2. Роба Робка еще чуть больше.

Say thanks!: 0 
Profile Reply
WildCat
VIP


Post №: 1362
Joined: 19.10.07
Rank: 7
link post  Posted: 07.01.10 02:58. Post subject: Вот еще одна позиция..


Вот еще одна позиция, где 6-фигурные базы не должны помогать:
[chess]1nk5/Q7/4r2p/PK6/8/8/8/8 w[/chess]

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


Post №: 3240
Joined: 06.01.08
Rank: 37

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


А можно ли объяснить шахматной программе, что когда ход единственный, то нужно его сразу делать? Сколько наблюдаю партий на плече, в своих матчах, турнирах - поголовно движки, особенно без пондера, долго раздумывают над единственными (в смысле, хорошими) ходами, например: противник взял моего ферзя своим и если мой движок не заберёт его ферзя, то, конечно, проиграет. Смысл раздумывать, когда ферзя-то надо брать Или же шах королю, три возможных поля: пойдёт на первое - мат получит, на второе - фигуру отдаст, на третье - нормальная позиция будет. Зачем думать? Или же даже когда королю шах и единственное поле отступления, так движок думает да думает, давая противнику больше время для просчитывания вариантов и теряя своё драгоценное время, особенно при игре блиц и буллет.

Say thanks!: 0 
Profile Reply
unknow



Post №: 144
Joined: 19.12.08
Rank: 1
link post  Posted: 09.01.10 19:50. Post subject: Кевин пишет: А можн..


Кевин пишет:

 quote:
А можно ли объяснить шахматной программе


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

 quote:
когда королю шах и единственное поле отступления


Это делается еще при старте поиска, типа:
 
move_gen_legal(&rtable);
if (rtable.count == 1) bestline.pv[0][0] = rtable.moves[0].move;
if (rtable.count <= 1) goto finality;


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

А тут движку уже считать нужно - где самая дальняя жопа :)

 quote:
противник взял моего ферзя своим и если мой движок не заберёт его ферзя, то, конечно, проиграет


Не знаю у кого как, сегодня как раз закончил отлаживать свою фишку:
 
// exchange booster
if (!board.props.in_check)
if (cur_depth > 3 && cur_depth < 10 && cur_score + 250 < beta)
picker.in_exchange = true;

Это кусок для cut-node, picker после этого должет выдавать только
взятия и шахи - типа сужение выхода из текущей позиции по аналогии
с поиском за горизонтом - в quies.
Этот прунинг делает бесполезным futility pruning - сейчас раздумываю что
из двух оставлять :)

Say thanks!: 0 
Profile Reply
Osipov
VIP


Post №: 27
Joined: 26.12.09
Rank: 9
link post  Posted: 09.01.10 20:09. Post subject: На самом деле, в это..


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

З.Ы. Наверно, опять неясно высказался.


Say thanks!: 1 
Profile Reply
Кузьмич



Post №: 8
Joined: 05.10.09
Rank: 0
link post  Posted: 09.01.10 21:03. Post subject: Osipov, но ведь в та..


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

Say thanks!: 0 
Profile Reply
PozitiFF_Chess
VIP


Post №: 980
Joined: 31.05.08
Rank: 7
link post  Posted: 09.01.10 21:14. Post subject: Кузьмич пишет: но в..


Кузьмич пишет:

 quote:
но ведь в таком случае возникнет и абсолютно лишний, заведомо ненужный хэш

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

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

(то есть - я тоже вероятно не понял :) )

Say thanks!: 0 
Profile Reply
дуп



Post №: 64
Joined: 18.03.08
Rank: 0
link post  Posted: 09.01.10 22:30. Post subject: // exchange boos..



 quote:
// exchange booster if (!board.props.in_check) if (cur_depth > 3 && cur_depth < 10 && cur_score + 250 < beta) picker.in_exchange = true;


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

Say thanks!: 0 
Profile Reply
Кузьмич



Post №: 9
Joined: 05.10.09
Rank: 0
link post  Posted: 09.01.10 22:47. Post subject: Но тут возникает воп..



 quote:
Но тут возникает вопрос - где мы выигрываем, если все равно хэш будет заполняться актуальной информацией на следующем ходу?



во, я именно это и имел в виду, только не совсем точно сформулировал

Say thanks!: 0 
Profile Reply
unknow



Post №: 145
Joined: 19.12.08
Rank: 1
link post  Posted: 09.01.10 23:23. Post subject: дуп пишет: Если ест..


дуп пишет:

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


Тут можно использовать exclude probe как в ипполите для увеличения глубины этого хода, по сравнению с остальными.
И получить на чуть-чуть более точную оценку, если порция времени еще не израсходована.

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


Post №: 3246
Joined: 06.01.08
Rank: 37

Awards: За отличные редкие и эксклюзивные вещи!За Рыбку!!!! СПАСИБО!За Джуню 2010
link post  Posted: 10.01.10 02:31. Post subject: 6rk/4q2n/p1p1p1pP/Pp..


[chess]6rk/4q2n/p1p1p1pP/PpPpPpP1/1P1P1P2/3N2K1/3Q4/7R b - - 0 60[/chess]
6rk/4q2n/p1p1p1pP/PpPpPpP1/1P1P1P2/3N2K1/3Q4/7R b - - 0 60

Ну вот как заставить движок не мучать мозг в такой позиции? Она получилась в партии Игоррит - Рыбка.
Может, можно как-нибудь запрограммировать в движок ничейно оценивать позиции с заблокированными пешками?

Say thanks!: 0 
Profile Reply
immortal223
administrator


Post №: 3979
Joined: 14.07.07
Rank: 68
link post  Posted: 10.01.10 02:38. Post subject: Ну если б вместо кон..


Ну если б вместо коней были б у белых чернопольный слон, а у чёрных - белопольный, то было б ещё веселее и вообще 100% ничья. А тут - играть и играть

Say thanks!: 0 
Profile Reply
unknow



Post №: 146
Joined: 19.12.08
Rank: 1
link post  Posted: 10.01.10 03:09. Post subject: Кевин пишет: Ну вот..


Кевин пишет:

 quote:
Ну вот как заставить движок не мучать мозг в такой позиции?


Написать пробник с двумя нулевыми:
- слабейшая сторона - на дельту от текущей позиции до beta, например -125 сантипешек
запускает типа dbl_null_probe - признак чего передается например рекурсивно через стек
- через полуход противника делается второй нулевой
- далее при наличии признака что уже было два своих нулевых, закрытых полуходами
противника, берем оценку
- если оценка не ухудшилась, с мелкими дельтами можно поэкспериментировать, возвращаем
-125 / 2 = -62 без дальнейшего углубления
- эти -62 возвращаются наверх туда где было -125 и здесь свои ходы можно не смотреть
вернуться еще раз наверх дав противнику его +62 понизив тем самым оценку его хода
в который он уже не полезет.

На стеке в переменной типа int поместится и признак и оценка short при старте пробника
Второй нулевой делается если предыдущий ход противника не взятие, на взятие надо
наверное сделать прерывание пробы. Вот такая типа идея. Параметры прунинга подобрать
методом тыка, соль-перец по вкусу :)

Say thanks!: 0 
Profile Reply
PozitiFF_Chess
VIP


Post №: 981
Joined: 31.05.08
Rank: 7
link post  Posted: 10.01.10 12:52. Post subject: unknow пишет: - сла..


unknow пишет:

 quote:
- слабейшая сторона - на дельту от текущей позиции до beta, например -125 сантипешек
запускает типа dbl_null_probe - признак чего передается например рекурсивно через стек
- через полуход противника делается второй нулевой
- далее при наличии признака что уже было два своих нулевых, закрытых полуходами
противника, берем оценку
- если оценка не ухудшилась, с мелкими дельтами можно поэкспериментировать, возвращаем
-125 / 2 = -62 без дальнейшего углубления
- эти -62 возвращаются наверх туда где было -125 и здесь свои ходы можно не смотреть
вернуться еще раз наверх дав противнику его +62 понизив тем самым оценку его хода
в который он уже не полезет.

Ну играют черные Кж5 и Ке4+ своими двумя нулевыми ходами... Какую дельту ставить? )

unknow пишет:

 quote:
а взятие надо
наверное сделать прерывание пробы

Можно тогда и без взятия: Кф6 и Ке4...

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


Post №: 3266
Joined: 06.01.08
Rank: 37

Awards: За отличные редкие и эксклюзивные вещи!За Рыбку!!!! СПАСИБО!За Джуню 2010
link post  Posted: 10.01.10 13:45. Post subject: 8/3bB3/p2Pk1p1/P1K2p..


[chess]8/3bB3/p2Pk1p1/P1K2p2/1P6/4P1P1/8/8 w - - 0 72[/chess]
8/3bB3/p2Pk1p1/P1K2p2/1P6/4P1P1/8/8 w - - 0 72

Вот ещё один пример мозгомучительной позиции: у белых две лишних пешки, однако слоны на доске разнопольные и чёрный король подобрался близко к проходной белых. Очевидно, что тут ничья, однако двиги продолжают одинаково оценивать позицию и затем, избегая правила 50 ходов, ьелые отдают пешку и оценка снижается у обоих движков. Не люблю, когда на том же плече возникают подобные позиции, а движок соперника на моё предложение ничьи не откликается, видя оценку далёкой от нуля.

Вот вся партия:

Hidden text. Click here


В общем, с оценкой движками ничейных позиций далеко не идеально. Примеров позиций, где оценка неправильна, уйма.

Say thanks!: 0 
Profile Reply
immortal223
administrator


Post №: 3999
Joined: 14.07.07
Rank: 69
link post  Posted: 10.01.10 13:48. Post subject: Кевин Юзай тэг - ..


Кевин

Юзай тэг [ chess] - третья кнопочка справа в нижнем ряду - устал уже за тобой исправлять, так визуально приятно и сразу видна позиция

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


Post №: 3267
Joined: 06.01.08
Rank: 37

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


immortal223 , Обычно просто для экономии трафика отключаю картинки и, конечно, не вижу доску с фигурами.

Say thanks!: 0 
Profile Reply
immortal223
administrator


Post №: 4001
Joined: 14.07.07
Rank: 69
link post  Posted: 10.01.10 13:54. Post subject: Кевин пишет: Вот ещ..


Кевин пишет:

 quote:
Вот ещё один пример мозгомучительной позиции:



[chess]8/2b3k1/6r1/5K2/2B5/2p5/2N5/8 w - - 0[/chess]

8/2b3k1/6r1/5K2/2B5/2p5/2N5/8 w - - 0 159

7-фигурка тоже бы не помешала. В этой позиции у меня жевали сопли оба движка пока я не плюнул и не присудил им ничью. А оценки были у Рыбы -3 у Игоря вообще -4

Say thanks!: 0 
Profile Reply
PozitiFF_Chess
VIP


Post №: 982
Joined: 31.05.08
Rank: 7
link post  Posted: 10.01.10 14:15. Post subject: Кевин пишет: Обычно..


Кевин пишет:

 quote:
Обычно просто для экономии трафика отключаю картинки

И почем нынче траффик в 5 килобайт в США? )))

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: 24
You can: smiles yes, images yes, types no, poll no
avatars yes, links on, premoderation on, edit new post no