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



Post №: 71
Joined: 20.06.09
Rank: 2
link post  Posted: 19.10.09 12:18. Post subject: IPPOLIT & ROBBOLITO


Предлагаю обсудить особенности устройства Ипполита. Все-таки некаждый день появляются сильнейшие opensource программы.

Say thanks!: 1 
Profile Reply
Replys - 251 , page: 1 2 3 4 5 6 7 8 9 10 11 12 13 All [new only]


Bison



Post №: 90
Joined: 20.06.09
Rank: 3
link post  Posted: 20.10.09 19:25. Post subject: Если Ипполит имеет к..


Если Ипполит имеет какое-то отношение к Рыбке, то надо признать, что Васик очень трудолюбивый человек, потому как многие идеи Ипполита лежат вроде как на поверхности, только вот испробовать их у многих руки не доходят. Вот, например, такое продление поиска (extension)
white_pv ()

 quote:
 
if (deepness >= 16 && S->transpositional_movement && singular < 2 && white_ok (S->transpositional_movement)) {
// реальная глубина в 2 раза меньше
// white_exclustion () - функция ищет все ходы, кроме trans move
move = S->transpositional_movement;
kk = ((move) & 077);
ot = (((move) >> 6) & 077);
white_spell (move); // делаем ход
evaluation_scoring (-0x7fff0000, 0x7fff0000, move);
if (((tower_structure + 1)->white_king_check))
{
white_unspell (move);
goto zab;
}
score = -black_pv (-above, -below, deepness - 10, (((tower_structure + 1)->black_king_check)) != 0);
white_unspell (move); // отмена хода назад
if (shah) // нам шах
itog = white_exclustion_check (score - deepness / 2, deepness - (((12) <= (deepness / 2)) ? (12) : (deepness / 2)), move & 0x7fff);
else
itog = white_exclustion (score - deepness / 2, deepness - (((12) <= (deepness / 2)) ? (12) : (deepness / 2)), move & 0x7fff);
if (itog < score - deepness / 2) // все остальные ходы проигрывают нашему ходу из trans
{
singular = 1; // т.н. "единственность" (чем больше, тем хуже остальные ходы, как-то так)
if (shah)
itog = white_exclustion_check (score - deepness, deepness - (((12) <= (deepness / 2)) ? (12) : (deepness / 2)), move & 0x7fff);
else
itog = white_exclustion (score - deepness, deepness - (((12) <= (deepness / 2)) ? (12) : (deepness / 2)), move & 0x7fff);
if (itog < score - deepness)
singular = 2;
}
}


там же ниже

 quote:
 
while ((move = white_next (S))) {
...
novel_deepness = deepness - 2 + (((stretches) >= (singular)) ? (stretches) : (singular)); // новая глубина
// stretches - обычные extensions
...
}

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

Say thanks!: 0 
Profile Reply
immortal223
administrator


Post №: 2980
Joined: 14.07.07
Rank: 55
link post  Posted: 20.10.09 19:30. Post subject: Bison нам простым ..


Bison

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

Say thanks!: 0 
Profile Reply
Bison



Post №: 91
Joined: 20.06.09
Rank: 3
link post  Posted: 20.10.09 19:33. Post subject: immortal223 Все уже..


immortal223
Все уже прикручено другими. В Shredder Classic жмешь F11 во время анализа и смотришь мультик

Say thanks!: 0 
Profile Reply
immortal223
administrator


Post №: 2982
Joined: 14.07.07
Rank: 55
link post  Posted: 20.10.09 19:42. Post subject: Bison Это не мульт..


Bison

Это не мультик - это доска анализа текущего варианта
Мультик - это F6

Say thanks!: 0 
Profile Reply
Bison



Post №: 92
Joined: 20.06.09
Rank: 3
link post  Posted: 20.10.09 19:46. Post subject: immortal223 Блин, а..


immortal223
Блин, а я думаю, что за мультик А это оказывается МультиПВ. Сделать реально, скоро кто-нибудь точно присобачит, я уверен.

Say thanks!: 0 
Profile Reply
Osipov



Guest
Joined: 01.01.70
link post  Posted: 20.10.09 23:24. Post subject: Ещё раз про скорость..


Ещё раз про скорость Ипполита. Оказалось, что я неправильно сравнивал с Рыбкой. Рыбка считает узлы только в make_move, а Ипполит ещё и в нулевом ходе: nodals_nobody. Поэтому и показывает более высокую скорость. Надо будет проверить, на сколько это отличается.


Say thanks!: 0 
Reply
grifsergei



Post №: 23
Joined: 07.08.07
Rank: 0
link post  Posted: 21.10.09 00:29. Post subject: Есть ли у рыбки (Ипп..


Есть ли у рыбки (Ипполита) кардинальное отличие от других движков? если да , то в чем оно?

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1794
Joined: 15.07.07
Rank: 15

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 21.10.09 06:13. Post subject: в версии hashPV доба..


в версии hashPV добавлено:
#define hash_variated_size (0x100000)
#define hash_variated_mask ((hash_variated_size - 1) & 0xfffffffffffffffc)
type_hash_variated table_hash_variated[hash_variated_size];

в процедуре wipe_hash изменено:
memset (table_hash_variated, 0, hash_variated_size * sizeof (type_hash_variated));

в процедурах: white_pv;black_pv;white_cut_check;black_cut_check;white_cut;black_cut;white_all;black_all;white_all_check;black_all_check
добавлено:
type_hash_variated *hash_variated;
+ код:
if (deepness >= 6)
{
k = apropos_hash & hash_variated_mask;
for (i = 0; i < 4; i++)
{
hash_variated = table_hash_variated + (k + i);
if (hash_variated->hash_64bit == apropos_hash)
{
if (hash_variated->deepness >= deepness) return hash_variated->score;
}
}
}

но я заметил, что в white_pv этот код вставлен не так, как в других. у себя поправил.

Say thanks!: 0 
Profile Reply
ThinkingALot
VIP


Post №: 89
Joined: 05.09.08
Rank: 2
link post  Posted: 21.10.09 07:12. Post subject: Во всех функциях кро..


Во всех функциях кроме white_pv() и black_pv() условие deepness >= 6 нужно для того, чтобы гарантированно не было тормозов. Можно его убрать везде, скорей всего
скорость не изменится, но для эффективности поиска это ничего не даст. А вот добавлять (deepness >= 6) в white_pv() и black_pv() бессмысленно - на них приходится меньше 1% времени выполнения программы.

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1797
Joined: 15.07.07
Rank: 15

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 21.10.09 07:35. Post subject: ThinkingALot а ну да..


ThinkingALot а ну да, в этих функциях условия на глубину нет.

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1798
Joined: 15.07.07
Rank: 15

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 21.10.09 09:32. Post subject: ThinkingALot вот, пр..


ThinkingALot вот, проверь все ли так :) http://ifolder.ru/14601817
я там кое-какие переменные переименовал

Say thanks!: 0 
Profile Reply
ThinkingALot
VIP


Post №: 92
Joined: 05.09.08
Rank: 2
link post  Posted: 21.10.09 11:44. Post subject: Залил в основную вет..


Залил в основную ветку версию 0080d hpv.
Это исходники из поста выше+
1) & hash_variated_mask в pv_hashize().
2) Вызов pv_hashize из hash_exactly только если depth >= 2.
3) В cut/all функциях поиска hash_variated смотрится после основного хэша.
4) Хэширование результата перебора в корне.
5) Все настройки вынесены в .h файл в виде $define XXX. Соответсвенно комментируем/не комментируем строчки с #undef XXX.
6) Дальнейшая замена deepness, below, above на привычные аналоги.
7) Оболочке отсылается название программы, записанное в файле Ippolit.txt.

P.S. Моя компиляция скорее всего будет вылетать.

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1801
Joined: 15.07.07
Rank: 15

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 21.10.09 12:10. Post subject: ThinkingALot спасибо..


ThinkingALot спасибо! сейчас 32-шку проверил, все нормально.
это я где то не так вставил твой код видимо: смотрел прогой-сверялкой 2-х txt файлов и там смотрел разницу.

а под мультик, я так понимаю, нужен массив структур (ходы, оценка, узлы) и в корне перебора все это в нужные места рассовывать?

Say thanks!: 0 
Profile Reply
Osipov



Guest
Joined: 01.01.70
link post  Posted: 21.10.09 12:39. Post subject: Проверил ещё раз ско..


Проверил ещё раз скорость Ипполита - убрал подсчет узлов в нулевом ходе. Число узлов уменьшилось примерно на 15%. Итого, получается, что Ипполит примерно на 85% быстрее Рыбки 3.

Еще просьба - для устранения багов. Может кто-нибудь дать позиции, в которых Ипполит падает или жертвует ферзя, или показывает мат в 500 ходов? А то я прогнал на своём стандартном EPD-тесте из 800 позиций и вроде бы нормально прошло.


Say thanks!: 0 
Reply
ThinkingALot
VIP


Post №: 94
Joined: 05.09.08
Rank: 2
link post  Posted: 21.10.09 13:12. Post subject: Жертва ферзя - это б..


Жертва ферзя - это баг русской версии. Падают только мои компиляции (сейчас собрал с Multi-threaded DLL вместо Multi-threaded, вроде пока без проблем). Причем только когда ставлю играть матч - бесконечный анализ работает на ура. Поэтому воспроизвести баг не получается.

Say thanks!: 0 
Profile Reply
Otodranik
VIP


Post №: 1054
Joined: 21.09.07
Rank: 17

Awards: За лучшую дебютную книгу "Storm"
link post  Posted: 21.10.09 13:22. Post subject: Баги, мною замеченны..


Баги, мною замеченные: Время беспардонно просрочил Вообще на загрузился

Say thanks!: 0 
Profile Reply
Behovodec



Post №: 50
Joined: 26.08.09
Rank: 2
link post  Posted: 21.10.09 13:51. Post subject: У меня есть вопросы ..


У меня есть вопросы к анализу в Арене. В данном случае анализ стартовой позиции Ипполитом 0.080a w32.



Say thanks!: 0 
Profile Reply
immortal223
administrator


Post №: 2991
Joined: 14.07.07
Rank: 55
link post  Posted: 21.10.09 13:53. Post subject: Behovodec У тебя с..


Behovodec

У тебя старая версия очевидно.

Say thanks!: 1 
Profile Reply
Osipov



Guest
Joined: 01.01.70
link post  Posted: 21.10.09 18:47. Post subject: Otodranik, из картин..


Otodranik, из картинок не понятно, что там происходило и в какой момент. Если это происходило в партии, то лучше дать PGN. Но лучше - просто позиция (fen-строка), в которой происходит глюк, причём очень желательно - воспроизводимый.


Say thanks!: 0 
Reply
ms 13
moderator


Post №: 208
Joined: 04.10.08
Rank: 8

Awards: За книгу Номена!За продукты ChessOK! Ты гений!За аквариум 2010!
link post  Posted: 21.10.09 19:03. Post subject: Вот например ..


Вот например Hidden text. Click here


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