Author | Topic |
Bison
|
| |
Post №: 71
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 12:18. Post subject: IPPOLIT & ROBBOLITO
Предлагаю обсудить особенности устройства Ипполита. Все-таки некаждый день появляются сильнейшие opensource программы.
|
|
Profile
Reply
|
Replys - 251
, page:
1
2
3
4
5
6
7
8
9
10
11
12
13
All
[new only]
|
|
VP
|
| VIP
|
Post №: 688
Joined: 15.07.07
Rank:
11
|
|
Posted: 19.10.09 12:25. Post subject: Bison мы давно тебя ..
|
|
Profile
Reply
|
Bison
|
| |
Post №: 72
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 12:26. Post subject: Первое впечатление о..
Первое впечатление от кода - очень трудно его разобрать. Не совсем корректные названия типичных переменных только усиливают это впечатление: below вместо alpha, above вместо beta - мелочи по-сравнению с murderer вместо killer. Штук 10 поисковых функций тоже никак не помогают читабельности. Первое новшество, что я заметил - это IID quote: | // IID if (!transpositional_movement && deepness >= 6) { itog = below; if (deepness >= 10) { itog = white_pv (below - deepness, above + deepness, deepness - 8, shah); if (itog > below - deepness) transpositional_movement = (tower_structure + 1)->move; } if (itog > below - deepness) itog = white_pv (below - deepness, above + deepness, deepness - 4, shah); if (itog > below - deepness) transpositional_movement = (tower_structure + 1)->move; } else if (deepness >= 10 && deepness > hash_deepness + 8) { itog = white_pv (below - deepness, above + deepness, deepness - 8, shah); if (itog > below - deepness) transpositional_movement = (tower_structure + 1)->move; if (itog > below - deepness) { itog = white_pv (below - deepness, above + deepness, deepness - 4, shah); if (itog > below - deepness) transpositional_movement = (tower_structure + 1)->move; } } |
| из функции white_pv(). Окно зависит от глубины + функция охватывает очень большие глубины (deepness >= 10). Все это, очевидно, весьма кстати при нахождении тактики.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 73
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 12:29. Post subject: VP Я думаю, лучше т..
VP Я думаю, лучше там особо не флудить, больно уж тема объемная.
|
|
Profile
Reply
|
VP
|
| VIP
|
Post №: 689
Joined: 15.07.07
Rank:
11
|
|
Posted: 19.10.09 12:34. Post subject: Bison согласен ..
Bison согласен
|
|
Profile
Reply
|
Bison
|
| |
Post №: 74
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 12:36. Post subject: Немного погонял трет..
Немного погонял третью рыбу против Ипполита, пондерхит получается пока очень высокий (особенно если сравнивать со Stockfish. Rybka 3 32-bit - IPPOLIT 0.080a 20.5 - 24.5 45.56% Rybka 3 32-bit - Stockfish 1.5 JA 32.5 - 12.5 72.22% 53.0 - 37.0 58.89% Пондерхит quote: | Rybka 3 32-bit - IPPOLIT 0.080a 74.57% (827/1109) |
| Для сравнения со Stockfish 1.5 quote: | Rybka 3 32-bit - Stockfish 1.5 JA 52.56% (626/1191) |
|
|
|
Profile
Reply
|
Bison
|
| |
Post №: 75
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 12:41. Post subject: Программа для расчет..
|
|
Profile
Reply
|
Bison
|
| |
Post №: 76
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 14:28. Post subject: Для глубокого поиска..
Для глубокого поиска Ипполит имеет на мой (весьма беглый) взгляд самый лучший из opensource движков Futility Pruning. Реализуется он, как я понял, через таблицу increment_maximal[16][4095], своим устройством напоминающую History. Стоит все это дело поизучать поподробнее.
|
|
Profile
Reply
|
|
Posted: 19.10.09 14:55. Post subject: WildCat пишет: Для ..
WildCat пишет: quote: | Для разбора исходников Ипполита лучше создать отдельную ветку. |
| Так она уже создана :) В это ветке их уже разбирают.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 77
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 15:54. Post subject: Ponder-а в Ипполите ..
Ponder-а в Ипполите точно нет, иначе была бы команда "ponderhit", без нее никуда.
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 19.10.09 21:50. Post subject: Некоторые сходства с..
Некоторые сходства с Рыбкой 3: 1. Большинство основных функций – парные: для позиций с ходом белых и – зеркальные – для позиций с ходом черных. Как и в Рыбке. 2. Очень похож расчет таблицы материального дисбаланса. Правда, в Рыбке это одна функция, но это не принципиально. 3. Белопольный и чернопольный слоны имеют разный индекс в таблице материала – тоже Рыбка. 4. В оценочной функции за одну операцию складываются два числа opening и endgame, типа так: za -= (((3) << 16) + (10)). Это Рыбка. 5. Отдельный расчет оценки для пешечника. 6. Похожий принцип пересчета истории. Ипполит: int ist = ISTOR[POZ.pl[(((dv) >> 6) & 077)]][((dv) & 077)]; ISTOR[POZ.pl[(((dv) >> 6) & 077)]][((dv) & 077)] = ist + (((0xff00 - ist) * gl) >> 8); Рыбка 3: history = History[quiet_flag][piece][to]; History[quiet_flag][piece][to] = history - ((history * depth) >> 9); В целом, можно считать Ипполит производным от Рыбки 3. Но отличий очень много, и они настолько существенны, что сделать это мог только тот, кто хорошо разбирается в алгоритмах Рыбки. Я уже год изучаю исходники Рыбки, но так радикально поменять её не смог. Скорее всего, это что-то близкое к Рыбке 4 от автора, но потом кто-то поиздевался над кодом. И ещё кое-что интересное. В конце ОФ есть что-то жуткое: if ((ookDIN->FLAG & 128)) { if (za > 0) { if (POZ.dd[enBELsvet]) za -= .. а дальше – длинное многоэтажное матерное выражение из 4000 символов. Не похоже, чтобы это писала человеческая рука. Рука была явно механическая. Похоже, здесь прошёлся какой-то мощный декомпилятор. Кстати, в Рыбке 3 этой ерунды нет.
|
|
Reply
|
immortal223
|
| administrator
|
Post №: 2955
Joined: 14.07.07
Rank:
54
|
|
Posted: 19.10.09 21:58. Post subject: Osipov Юрий больша..
Osipov Юрий большая просьба - отладьте движок, а! только Вы можете это сделать Я от него в полнейшем восторге. Он ненормально силён! Особенно в эндшпиле. Мульти-ПВ привязать бы к нему для анализа это очень надо!!
|
|
Profile
Reply
|
|
Bison
|
| |
Post №: 82
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 22:22. Post subject: Osipov Юрий, поиск ..
Osipov Юрий, поиск сильно похож на тот, что в Рыбе? Там тоже гора переборных функций? Я, например, до сих пор не докопался, что такого особенного делают функции white_all (), white_exclustion() и white_slide(), что их понадобилось выносить из общего поиска.
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 19.10.09 22:30. Post subject: Immortal223. Отладк..
Immortal223. Отладка Ипполита и прикручивание Multi PV не заставят себя ждать. Есть много хороших программистов. Ещё интересное наблюдение про Ипполита. Сравнил его скорость с оригинальной Рыбкой и "своей". Мне удалось выжать только 40% прироста скорости по сравнению с оригинальной Рыбкой. Но Ипполит на 100% быстрее Рыбки 3, т.е. вдвое.
|
|
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 19.10.09 22:36. Post subject: Юрий, поиск сильно п..
quote: | Юрий, поиск сильно похож на тот, что в Рыбе? Там тоже гора переборных функций? Я, например, до сих пор не докопался, что такого особенного делают функции white_all (), white_exclustion() и white_slide(), что их понадобилось выносить из общего поиска. |
| Я пока ещё не копался в поиске Ипполита. Только посмотрел PV-поиск. Тоже сложное впечатление, как и от всего остального - много похожего на Рыбку 3, но много и отличий. Кстати, сколько функций поиска в Ипполите всего? В Рыбке их 20 - по 10 на white и black. Это не считая корня.
|
|
Reply
|
Bison
|
| |
Post №: 84
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 22:48. Post subject: Я насчитал 30 (сумма..
Я насчитал 30 (суммарно за оба цвета), это если считать с black_top () и дальше вниз. Как раз на месяц разбора, если в день по функции
|
|
Profile
Reply
|
Bison
|
| |
Post №: 85
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 22:50. Post subject: Но Ипполит на 100% б..
quote: | Но Ипполит на 100% быстрее Рыбки 3, т.е. вдвое. |
| Удвоение скорости, насколько я помню, дает ~70 пунктов Эло, так что в знаниях он не особо прибавил, правильно?
|
|
Profile
Reply
|
immortal223
|
| administrator
|
Post №: 2959
Joined: 14.07.07
Rank:
54
|
|
Posted: 19.10.09 22:51. Post subject: Osipov пишет: Отлад..
Osipov пишет: quote: | Отладка Ипполита и прикручивание Multi PV не заставят себя ждать. Есть много хороших программистов. |
| Я просто в нереальном экстазе от этого движка. Это просто сказка какая-то! не поверил бы что такое возможно. Такое потрясение испытывал только в декабре 2005 когда рыбка 1.0 Бета появилась. И немного похожее - когда Рыбка 3 вышла!
|
|
Profile
Reply
|
Знатный Читер
|
| |
Post №: 101
Joined: 18.06.08
Rank:
1
|
|
Posted: 19.10.09 22:52. Post subject: Юрий Осипов, скажите..
Юрий Осипов, скажите, пожалуйста, а что вы заканчивали? Очень хочется чувствовать себя так же свободно в программировании. В 2010 собираюсь поступить на заочку в Санкт-Петербургский Политехнический на информационные системы и технологии. На очку уже нет времени.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 86
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 23:05. Post subject: Как я и думал, Иппол..
Как я и думал, Ипполит уже все изучают (кому надо). quote: | mcostalba wrote: Today, in the main forum, there has been a marathon thread about an (almost sure) Rybka's reverse engineered engine called Ippolit. Out of curiosity I looked at the sources, well the source, it is a single, horrid to read, file. I found an idea I never saw before. When null search fails high we simply return beta, eventually after zugzwang verification search. In this case, before to return, the null value (the result of the null search) is saved in the TT table as a LOWER BOUND type node (as it should be) but with NO associated move (as normally happens only for upper bound nodes). I think the logic makes sense: null search is just a normal search but on an undefined move, on an absolutly dumb move, if we anyhow fail high it makes sense to store we are in a cut-off type node and because we don't have searched any specific move we store MOVE_NONE in the hash table. Does anyone have ever heard of such idea before ? For me it is new, but I am not in this field from a long ago |
| Марко Костальба - это тот, кто сделел Stockfish из Glaurunga
|
|
Profile
Reply
|
immortal223
|
| administrator
|
Post №: 2961
Joined: 14.07.07
Rank:
54
|
|
Posted: 19.10.09 23:15. Post subject: Bison пишет: Марко ..
Bison пишет: quote: | Марко Костальба - это тот, кто сделел Stockfish из Glaurunga |
| ждём добавления +100 от стокфиша 2
|
|
Profile
Reply
|
Bison
|
| |
Post №: 87
Joined: 20.06.09
Rank:
2
|
|
Posted: 19.10.09 23:16. Post subject: Все это с толкчесс В..
Все это с толкчесс Вообще для знающих английский веселая там темка. Одни говорят, что автора Ипполита звали Ида Про, а другие спорят о том, хорошо ли быть капиталистами. OffTopic: Капиталисты - такой мнительный народ, Везде им мерещатся заговоры и перевороты. (с)
|
|
Profile
Reply
|
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 19.10.09 23:25. Post subject: Удвоение скорости, н..
quote: | Удвоение скорости, насколько я помню, дает ~70 пунктов Эло, так что в знаниях он не особо прибавил, правильно? |
| Если бы знать, что такое знания. Если говорить об ОФ, то в Рыбке 3 она посложнее будет. Но и медленнее. Насчет удвоения скорости. В среднем - да, около 70 пунктов. Но это при игре непохожих движков. Если же наш новый движок вдвое быстрее предыдущей версии, и считает соответственно на полуход дальше, но играет по тому же алгоритму, то разница в ЭЛО получится намного больше. Просто такой новый движок всегда будет знать ответный ход соперника и будет редко ошибаться против него. А старый будет ошибаться часто.
|
|
Reply
|
|
Posted: 20.10.09 06:20. Post subject: Заметил, что Рыбка в..
Заметил, что Рыбка в отличие от Ипполита значительно чаще и охотнее жертвует качество за проходную пешку и легкую фигуру, получая значительный перевес. Ипполит эту жертву обычно не смотрит.
|
|
Profile
Reply
|
|
Posted: 20.10.09 06:35. Post subject: Еще заметил, что оце..
Еще заметил, что оценка материального дисбаланса у Ипполита с Рыбкой абсолютно разная - иногда вообще прямо противоположная. Это касается как компенсации за ферзя, так и борьбы легких фигур с пешками против тяжелых. Причем непонятно, чья оценка лучше - оба бывало ошибались. Но статистически, Ипполит ошибается реже. Так что если это и клон, то точно не Рыбки 3.
|
|
Profile
Reply
|
|
Posted: 20.10.09 06:38. Post subject: IPP_ENG*.c - достато..
IPP_ENG*.c - достаточно ли одного этого файла для компиляции? Скачал Code Blocks 8.02, попробовал скомпилировать - кучу ошибок выдала прога: то ей то не нравится, то это, файлы отсутствуют с расширением *.h и так далее. Исходник bankuss-а такие ошибки не выдаёт, но всё равно не хочет компилироваться и требует какой-то файл. Может, компилятор нужен помощнее? В программировании я не силён.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1781
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 20.10.09 06:41. Post subject: Кевин нужны 2 файла ..
Кевин нужны 2 файла - основной .с и заголовочный .h
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1782
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 20.10.09 06:42. Post subject: bankuss пишет: Исх..
я кстати правленные исходники не выкладывал
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1110
Joined: 19.10.07
Rank:
3
|
|
Posted: 20.10.09 06:51. Post subject: Osipov Не похоже, ч..
Osipov quote: | Не похоже, чтобы это писала человеческая рука. Рука была явно механическая. Похоже, здесь прошёлся какой-то мощный декомпилятор. |
| Нужно смотреть английскую версию Ипполита, т.к. она ближе к оригиналу. Русская получена путем каких-то извращений над кодом.
|
|
Profile
Reply
|
|
Posted: 20.10.09 06:54. Post subject: Кстати. В Рыбки 4 ав..
Кстати. В Рыбке 4 автор вряд ли стал бы настолько координально изменять оценку дисбаланса, ибо она была и без того хороша. Скорее мелкие доработки и усовершенствования по сравнению с Рыбкой 3. Но никак не противоположные оценки! Поэтому, следуя этой логике надо признать, что Ипполит не может быть клоном и Рыбки 4!
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1111
Joined: 19.10.07
Rank:
3
|
|
Posted: 20.10.09 07:08. Post subject: Renegat23 следуя это..
Renegat23 Сомнительная логика. Может нужно признать что и Рыбка 3 не является клоном Рыбки 2?
|
|
Profile
Reply
|
|
Posted: 20.10.09 08:06. Post subject: bankuss пишет: я кс..
bankuss пишет: quote: | я кстати правленные исходники не выкладывал |
| А, ну не помню кто, но выкладывали файл IPPOLIT 64 1Gb SOURCE, ThinkingAlot2, может, так там есть h-файл. На сайте автора Ипполита можно скачать только IPP_ENG.c и IPPOLIT.c Где же взять h-файл? Очень надо. Из IPPOLIT 64 1Gb SOURCE не подойдёт? Или самому нужно его делать?
|
|
Profile
Reply
|
|
bankuss
|
| Black King
|
Post №: 1783
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 20.10.09 08:09. Post subject: Кевин пишет: На сай..
Кевин пишет: был, я скачивал. только его переименовать надо. он как раз под 32-б заточен. сам не сделаешь, там код проги.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 88
Joined: 20.06.09
Rank:
2
|
|
Posted: 20.10.09 09:27. Post subject: Вот исходники все..
|
|
Profile
Reply
|
|
Posted: 20.10.09 10:10. Post subject: bankuss пишет: был,..
bankuss пишет: quote: | был, я скачивал. только его переименовать надо. он как раз под 32-б заточен. сам не сделаешь, там код проги. |
| Точно, это windows32.h, я его тоже скачал, но не подумал переименовать. Но Bison , всё равно спасибо.
|
|
Profile
Reply
|
md
|
| VIP
|
Post №: 153
Joined: 14.08.07
Rank:
0
|
|
Posted: 20.10.09 11:14. Post subject: Ктож первым прикрути..
Ктож первым прикрутит ипполиту многоядерность и поддержку tbs?
|
|
Profile
Reply
|
|
Posted: 20.10.09 12:05. Post subject: md пишет: Ктож перв..
md пишет: quote: | Ктож первым прикрутит ипполиту многоядерность и поддержку tbs? |
| Тому плюсы в репутацию и награду за труды Не так это просто сделать, как видимо.
|
|
Profile
Reply
|
Lancelot
|
| |
Post №: 119
Joined: 06.08.08
Rank:
3
|
|
Posted: 20.10.09 12:33. Post subject: md пишет: Ктож перв..
md пишет: quote: | Ктож первым прикрутит ипполиту многоядерность и поддержку tbs? |
| Васик Райлих. И появится Рыбка 4.
|
|
Profile
Reply
|
WinPooh
|
| |
Post №: 7
Joined: 29.01.08
Rank:
0
|
|
Posted: 20.10.09 12:55. Post subject: Ну что, господа прис..
Ну что, господа присяжные заседатели, кто-нибудь уже понял, в чём у него фишка и где у него кнопка?
|
|
Profile
Reply
|
Bison
|
| |
Post №: 89
Joined: 20.06.09
Rank:
3
|
|
Posted: 20.10.09 15:27. Post subject: WinPooh Я думаю, фи..
WinPooh Я думаю, фишка в поиске, а в чем именно надо смотреть.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 87
Joined: 05.09.08
Rank:
2
|
|
Posted: 20.10.09 16:21. Post subject: Osipov пишет: Иппол..
Osipov пишет: quote: | Ипполит на 100% быстрее Рыбки 3 |
| Может это следствие разных алгоритмов поиска? Для такой сложной оценки Ипполит показывает нереальную скорость в килонодах.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 90
Joined: 20.06.09
Rank:
3
|
|
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 редко бывает значительной.
|
|
Profile
Reply
|
|
immortal223
|
| administrator
|
Post №: 2980
Joined: 14.07.07
Rank:
55
|
|
Posted: 20.10.09 19:30. Post subject: Bison нам простым ..
Bison нам простым юзерам хочется что-нить попроще... Например для началу мультик прикрутить, для более удобного анализа это реально вообще?
|
|
Profile
Reply
|
Bison
|
| |
Post №: 91
Joined: 20.06.09
Rank:
3
|
|
Posted: 20.10.09 19:33. Post subject: immortal223 Все уже..
immortal223 Все уже прикручено другими. В Shredder Classic жмешь F11 во время анализа и смотришь мультик
|
|
Profile
Reply
|
immortal223
|
| administrator
|
Post №: 2982
Joined: 14.07.07
Rank:
55
|
|
Posted: 20.10.09 19:42. Post subject: Bison Это не мульт..
Bison Это не мультик - это доска анализа текущего варианта Мультик - это F6
|
|
Profile
Reply
|
Bison
|
| |
Post №: 92
Joined: 20.06.09
Rank:
3
|
|
Posted: 20.10.09 19:46. Post subject: immortal223 Блин, а..
immortal223 Блин, а я думаю, что за мультик А это оказывается МультиПВ. Сделать реально, скоро кто-нибудь точно присобачит, я уверен.
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 20.10.09 23:24. Post subject: Ещё раз про скорость..
Ещё раз про скорость Ипполита. Оказалось, что я неправильно сравнивал с Рыбкой. Рыбка считает узлы только в make_move, а Ипполит ещё и в нулевом ходе: nodals_nobody. Поэтому и показывает более высокую скорость. Надо будет проверить, на сколько это отличается.
|
|
Reply
|
grifsergei
|
| |
Post №: 23
Joined: 07.08.07
Rank:
0
|
|
Posted: 21.10.09 00:29. Post subject: Есть ли у рыбки (Ипп..
Есть ли у рыбки (Ипполита) кардинальное отличие от других движков? если да , то в чем оно?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1794
Joined: 15.07.07
Rank:
15
Awards:
|
|
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 этот код вставлен не так, как в других. у себя поправил.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 89
Joined: 05.09.08
Rank:
2
|
|
Posted: 21.10.09 07:12. Post subject: Во всех функциях кро..
Во всех функциях кроме white_pv() и black_pv() условие deepness >= 6 нужно для того, чтобы гарантированно не было тормозов. Можно его убрать везде, скорей всего скорость не изменится, но для эффективности поиска это ничего не даст. А вот добавлять (deepness >= 6) в white_pv() и black_pv() бессмысленно - на них приходится меньше 1% времени выполнения программы.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1797
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 21.10.09 07:35. Post subject: ThinkingALot а ну да..
ThinkingALot а ну да, в этих функциях условия на глубину нет.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1798
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 21.10.09 09:32. Post subject: ThinkingALot вот, пр..
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 92
Joined: 05.09.08
Rank:
2
|
|
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. Моя компиляция скорее всего будет вылетать.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1801
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 21.10.09 12:10. Post subject: ThinkingALot спасибо..
ThinkingALot спасибо! сейчас 32-шку проверил, все нормально. это я где то не так вставил твой код видимо: смотрел прогой-сверялкой 2-х txt файлов и там смотрел разницу. а под мультик, я так понимаю, нужен массив структур (ходы, оценка, узлы) и в корне перебора все это в нужные места рассовывать?
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 21.10.09 12:39. Post subject: Проверил ещё раз ско..
Проверил ещё раз скорость Ипполита - убрал подсчет узлов в нулевом ходе. Число узлов уменьшилось примерно на 15%. Итого, получается, что Ипполит примерно на 85% быстрее Рыбки 3. Еще просьба - для устранения багов. Может кто-нибудь дать позиции, в которых Ипполит падает или жертвует ферзя, или показывает мат в 500 ходов? А то я прогнал на своём стандартном EPD-тесте из 800 позиций и вроде бы нормально прошло.
|
|
Reply
|
ThinkingALot
|
| VIP
|
Post №: 94
Joined: 05.09.08
Rank:
2
|
|
Posted: 21.10.09 13:12. Post subject: Жертва ферзя - это б..
Жертва ферзя - это баг русской версии. Падают только мои компиляции (сейчас собрал с Multi-threaded DLL вместо Multi-threaded, вроде пока без проблем). Причем только когда ставлю играть матч - бесконечный анализ работает на ура. Поэтому воспроизвести баг не получается.
|
|
Profile
Reply
|
Otodranik
|
| VIP
|
Post №: 1054
Joined: 21.09.07
Rank:
17
Awards:
|
|
Posted: 21.10.09 13:22. Post subject: Баги, мною замеченны..
Баги, мною замеченные: Время беспардонно просрочил Вообще на загрузился
|
|
Profile
Reply
|
Behovodec
|
| |
Post №: 50
Joined: 26.08.09
Rank:
2
|
|
Posted: 21.10.09 13:51. Post subject: У меня есть вопросы ..
У меня есть вопросы к анализу в Арене. В данном случае анализ стартовой позиции Ипполитом 0.080a w32.
|
|
Profile
Reply
|
immortal223
|
| administrator
|
Post №: 2991
Joined: 14.07.07
Rank:
55
|
|
Posted: 21.10.09 13:53. Post subject: Behovodec У тебя с..
Behovodec У тебя старая версия очевидно.
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 21.10.09 18:47. Post subject: Otodranik, из картин..
Otodranik, из картинок не понятно, что там происходило и в какой момент. Если это происходило в партии, то лучше дать PGN. Но лучше - просто позиция (fen-строка), в которой происходит глюк, причём очень желательно - воспроизводимый.
|
|
Reply
|
|
Posted: 21.10.09 19:03. Post subject: Вот например ..
Вот например Hidden text. Click here [Event "1"] [Site "."] [Date "2009.10.18"] [Round "18.1"] [White "Rybka 3"] [Black "IPPOLIT 0.080a"] [Result "1-0"] [ECO "D43"] [Annotator "0.00;-0.08"] [PlyCount "197"] [EventDate "2009.10.18"] [EventType "tourn"] [TimeControl "60+1"] {AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ 2612 MHz W=13.1 plies; 82kN/s; 2 398 TBAs; My book 17.ctg B=16.3 plies; 1 047kN/s; pferdchen3.ctg} 1. d4 { B/0 0} Nf6 {B/0 0} 2. c4 {B/0 0} e6 {B/0 0} 3. Nc3 {B/0 0} d5 {B/0 0} 4. Nf3 { B/0 0} c6 {B/0 0} 5. Bg5 {B/0 0} h6 {B/0 0} 6. Bxf6 {B/0 0} Qxf6 {B/0 0} 7. e3 {B/0 0} Nd7 {B/0 0} 8. Bd3 {B/0 0} dxc4 {B/0 0} 9. Bxc4 {B/0 0} g6 {B/0 0} 10. O-O {B/0 0} Bg7 {B/0 0} 11. Rc1 {B/0 0} O-O {B/0 0} 12. b4 {B/0 0} Qe7 {B/0 0} 13. Qb3 {B/0 0} b6 {B/0 0} 14. e4 {B/0 0} Bb7 {B/0 0} 15. Rfe1 {B/0 0} Rac8 { B/0 0} 16. a4 {B/0 0} Rfd8 {-0.08/12 2} 17. h3 {0.00/11 4} a6 {(Сf8) -0.14/13 5 } 18. Rcd1 {(g3) 0.01/10 2} b5 {-0.32/14 2} 19. Bf1 {-0.19/11 2} Bf8 { -0.27/16 3} 20. Rb1 {-0.20/12 3} e5 {-0.27/16 4} 21. axb5 {-0.23/12 3} cxb5 { -0.27/16 3} 22. Nd5 {-0.21/13 3} Qd6 {-0.30/15 1} 23. dxe5 {-0.22/12 4} Nxe5 { -0.30/13 0} 24. Nxe5 {(Лed1) -0.22/13 2} Qxe5 {-0.42/15 2} 25. Qa2 {-0.20/13 3} h5 {(Лd6) -0.77/15 13} 26. Rbd1 {-0.23/10 2} h4 {-0.56/14 2} 27. Nb6 { -0.28/11 4} Bd6 {-0.56/14 1} 28. Rxd6 {-0.28/12 2} Qxd6 {-0.56/17 3} 29. Nxc8 { -0.28/11 0} Qxb4 {-0.56/17 2} 30. Rb1 {-0.31/13 4} Qxe4 {-0.56/17 1} 31. Na7 { -0.31/11 0} Ra8 {-0.54/17 1} 32. Rd1 {-0.31/13 2} Qe7 {-0.54/15 0} 33. Nxb5 { -0.27/13 4} axb5 {-0.46/17 3} 34. Qd2 {(Фb3) -0.19/13 3} Bc6 {-0.44/16 2} 35. Rc1 {(Фc3) -0.19/13 3} Ra6 {(Сe8) -0.45/15 3} 36. Qd4 {-0.17/12 1} Kh7 { -0.35/15 2} 37. Rc2 {-0.18/13 3} Bd7 {(Лa4) -0.32/16 2} 38. Rd2 {0.00/14 3} Be8 {(Сc6) -0.32/16 1} 39. Re2 {-0.06/13 2} Re6 {-0.32/14 0} 40. Rxe6 {-0.05/15 2} fxe6 {-0.32/19 1} 41. Qe5 {-0.06/15 1} b4 {-0.32/19 1} 42. Bc4 {-0.06/15 1} Bf7 {-0.25/19 3} 43. Ba2 {-0.07/15 3} Kg8 {-0.25/19 2} 44. Bb3 {-0.09/14 1} Qd8 { -0.26/18 4} 45. Bc4 {(Фf4) -0.09/14 2} Kh7 {(Фd2) -0.44/16 1} 46. Bf1 { -0.13/13 1} Qd7 {-0.58/17 3} 47. Qf6 {(Сc4) -0.41/12 2} Kg8 {-0.71/17 1} 48. Qxh4 {-0.48/12 1} Qd2 {(b3) -0.70/18 3} 49. Bc4 {(Фg3) -0.64/11 2} Qc1+ { -0.80/18 2} 50. Bf1 {-0.62/14 1} Qe1 {(Фc3) -1.11/18 7} 51. Qd8+ {-0.68/12 2} Kg7 {-1.11/16 0} 52. h4 {-0.81/13 2} Qe5 {-1.11/17 1} 53. Qd3 {-0.81/12 2} Qc3 {-1.13/17 1} 54. Qe4 {(Фe3) -0.78/13 2} e5 {(b3) -1.35/16 2} 55. h5 { (g4) -1.12/12 3} Qd4 {-1.86/16 2} 56. Qb7 {(Фf3) -1.11/13 4} gxh5 {-1.88/14 0} 57. Qe7 {(Сe2) -1.11/13 6} b3 {-1.75/18 5} 58. Qg5+ {-1.11/12 5} Kf8 { -1.89/18 3} 59. Qh6+ {-1.14/12 2} Ke8 {(Крg8) -1.89/18 1} 60. Bb5+ {-0.91/11 1} Ke7 {-1.89/16 0} 61. Qg5+ {-0.95/13 2} Kd6 {-1.85/18 5} 62. Qf6+ {-0.92/13 3} Be6 {-1.85/16 0} 63. Qf8+ {-0.92/13 1} Kd5 {-1.85/17 9} 64. Qe8 {-0.92/13 1} Qb6 {-1.89/18 3} 65. Bd3 {-0.92/13 3} b2 {-1.89/17 1} 66. Bb1 { (Ф:h5) -0.92/13 2} Kc4 {-1.81/16 2} 67. Qxh5 {(g3) -1.03/12 2} Qd4 {-1.91/16 0} 68. Qe2+ {(Фe8) -1.03/12 1} Kb4 {-1.93/15 0} 69. Qf3 {(Фe1+) -1.03/13 1} Bc4 { (Сd5) -1.99/15 1} 70. Qf8+ {(Фf5) -1.03/13 2} Kc3 {(Фc5) -2.76/13 0} 71. Qf5 { -2.14/11 2} Bd3 {(Крb4) -2.76/11 0} 72. Bxd3 {-2.07/12 1} Qxd3 {-3.06/15 0} 73. Qxe5+ {-2.07/11 0} Kb3 {-3.06/14 0} 74. Qe6+ {-2.07/13 1} Kc2 {-2.89/18 1} 75. Qc6+ {-2.07/14 1} Kd2 {-2.89/17 0} 76. Qh6+ {-2.07/14 2} Ke1 {-2.89/19 1} 77. Qe6+ {-2.07/15 1} Qe2 {-2.89/18 0} 78. Qb6 {-2.07/16 1} Qf1+ {-2.89/18 7} 79. Kh2 {-2.07/17 0} Qxf2 {-2.89/19 4} 80. Qb4+ {-2.07/17 1} Kd1 {-2.85/19 1} 81. Qa4+ {(Фg4+) -2.07/17 1} Qc2 {-2.87/17 2} 82. Qd4+ {-2.07/17 0} Ke2 { (Фd2) -2.86/18 0} 83. Qe5+ {(Фg4+) -2.07/16 1} Kd2 {(Крd3) -2.86/18 2} 84. Qd4+ {-2.07/16 1} Kc1 {(Крe1) -2.86/17 2} 85. Qg1+ {(Фf4+) -2.06/15 2} Qd1 { -2.89/15 0} 86. Qc5+ {-2.07/16 1} Kb1 {-2.86/18 1} 87. Qc4 {(Фf5+) -2.07/16 1} Qg1+ {(Фc2) -71.72/14 2} 88. Kxg1 {#11/3 0} Ka1 {#11/0 0} 89. Qa6+ {#11/0 0} Kb1 {#10/0 0} 90. Kf2 {#10/0 0} Kc1 {#9/0 0} 91. Qc4+ {#9/0 0} Kd2 {#8/0 0} 92. Qb3 {#8/0 0} b1=Q {#7/0 0} 93. Qxb1 {#7/0 0} Kc3 {#6/0 0} 94. Qe4 {#6/0 0} Kb2 {#5/0 0} 95. Ke3 {#5/0 0} Kc3 {#4/0 0} 96. Qa4 {#4/0 0} Kb2 {#3/0 0} 97. Kd2 { #3/0 0} Kb1 {#2/0 0} 98. Kc3 {#2/0 0} Kc1 {#1/0 0} 99. Qc2# {#1/0 0} 1-0
|
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 21.10.09 22:37. Post subject: Извиняюсь, PGN парти..
Извиняюсь, PGN партий пожалуй не подойдёт. Там играли на время, а это почти нереально воспроизвести. Ладно, придётся самому искать глюки. Сегодня провёл турнир под своей оболочкой между Ипполитом и "своей" версией Рыбки 3. Играли 412 партий из 206 начальных позиций, оба считали на фиксированную глубину depth=6. Начиная с 12-й партии на Ипполита напала порча - начал сливать всё подряд. Где-то между 220-й и 280-й партиями почему-то восстановился и начал выигрывать. Потом опять провалился и слил. Итог: +60 -268 =84 в пользу Рыбки. Было несколько партий, где Ипполит надолго задумывался - тратил времени раз в 10 больше, чем Рыбка. И узлов в итоге насчитал почти в 3 раза больше. Есть над чем подумать.
|
|
Reply
|
|
Posted: 22.10.09 05:15. Post subject: Osipov , bankuss и д..
Osipov , bankuss и другие программисты: какой компилятор посоветуете? Как для компиляции Ипполита, так и вообще. Хочу немного поизучать языки программирования, раз уж тут такая интересная тема - на руках есть исходникик Ипполита.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1816
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 22.10.09 05:55. Post subject: Кевин просто для изу..
Кевин просто для изучения достаточно бесплатной версии VS express (2005 или 2008). качается с мелкософта. а так, самый быстрый код выдает компилятор от intel, но он в версии для windows стоит немалых денег.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1340
Joined: 16.09.07
Rank:
5
|
|
Posted: 22.10.09 09:44. Post subject: http://software.inte..
|
|
Profile
Reply
|
kpripper
|
| Виновник торжества
|
Post №: 353
Joined: 19.10.08
Rank:
3
Reprimands:
|
|
Posted: 22.10.09 10:36. Post subject: Прикрутите кто-нибуд..
Прикрутите кто-нибудь поддержку нескольких линий в анализе или это сложно ?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1818
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 22.10.09 10:41. Post subject: kpripper было бы про..
kpripper было бы просто, давно бы сделали.
|
|
Profile
Reply
|
unknow
|
| |
Post №: 92
Joined: 19.12.08
Rank:
0
|
|
Posted: 22.10.09 12:13. Post subject: Кевин пишет: какой ..
Кевин пишет: quote: | какой компилятор посоветуете? |
| Я пользую CodeLite (это IDE - редактор и отладчик) + компиляторы MinGW. Это всё бессрочно бесплатно. Для компиляции Ипполита с помощью MinGW надо в localdefs.h заменить ассемблерный инлайн BSF/BSR на: extern int asm_rbit_pos(UINT64 val) __attribute__ ((regparm(2))); #define BSF asm_rbit_pos extern int asm_lbit_pos(UINT64 val) __attribute__ ((regparm(2))); #define BSR asm_lbit_pos и добавить в проект CodeLite исходник asm.s с текстом: ############################################################ # int asm_rbit_pos(u64 val) __attribute__ ((regparm(2))) # lo32 -> %eax # hi32 -> %edx .globl _asm_rbit_pos _asm_rbit_pos: testl %eax, %eax jz r_hi bsfl %eax, %eax jmp r_ret r_hi: bsfl %edx, %eax addl $32, %eax r_ret: ret ############################################################ # int asm_lbit_pos(u64 val) __attribute__ ((regparm(2))) # lo32 -> %eax # hi32 -> %edx .globl _asm_lbit_pos _asm_lbit_pos: testl %edx, %edx jz l_lo bsrl %edx, %eax addl $32, %eax jmp l_ret l_lo: bsrl %eax, %eax l_ret: ret Ну и еще добавлять в конец длинных 16-ричных констант суффикс ULL, чтобы warning'и не сыпались при компиляции.
|
|
Profile
Reply
|
|
Posted: 22.10.09 15:56. Post subject: Господа программисты..
Господа программисты (ThinkingALot, Bison, Osipov, NS, WildCat, WinPooh, ChessTerminator75, bankuss). Два вопроса. 1) Почему ослабела версия d по сравнению с b ? 2) Возьметься все-таки кто-нибудь приделывать движку многопоточность или так друг на друга и будем кивать?
|
|
Profile
Reply
|
immortal223
|
| administrator
|
Post №: 3004
Joined: 14.07.07
Rank:
56
|
|
Posted: 22.10.09 16:03. Post subject: Renegat23 пишет: 2)..
Renegat23 пишет: quote: | 2) Возьметься все-таки кто-нибудь приделывать движку многопоточность или так друг на друга и будем кивать? |
| Ака ты махнул с многопоточностью! Я бы просто хотел multiPV увидеить для начала, а то для анализа он очень неудобен пока что, кроме того в ИДЕЕ аквариумской он тоже не работает :( так как команду searchmoves тоже не поддерживает.. А там глядишь уже и рыбка 4 поспеет и как верно замечено было - все постепенно забудут про Ипполит, пока не выйдет Ипполит 2 основанный на коде Рыбки 5
|
|
Profile
Reply
|
|
Posted: 22.10.09 16:05. Post subject: immortal223 пишет: ..
immortal223 пишет: quote: | Я бы просто хотел multiPV увидеить для начала |
| ИМХО, многопоточность гораздо более актуальна, чем mPV. Анализировать вполне можно и по одной линии. А вот скорость...
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 96
Joined: 05.09.08
Rank:
2
|
|
Posted: 22.10.09 16:15. Post subject: Renegat23 пишет: 1)..
Renegat23 пишет: quote: | 1) Почему ослабела версия d по сравнению с b ? 2) Возьметься все-таки кто-нибудь приделывать движку многопоточность или так друг на друга и будем кивать? |
| 1) Смысл версии d исключительно в длительном хранении результатов анализа. Почему играет слабее - без понятия. Может статистическая погрешность. Разница скорее всего в пределах 20-30 пунктов. 2) Это очень долго и скучно. К примеру, просто переопределение всех структур под мультипоточность для движка по сложности сопоставимого со Стрелкой заняло у меня пол дня. Код Ипполита многократно сложнее. При этом распараллеливание a-la Фрукт может запросто вообще не сработать, а нормальный алгоритм, как в Stockfish, - это возня с каждой из множества функций поиска.
|
|
Profile
Reply
|
immortal223
|
| administrator
|
Post №: 3005
Joined: 14.07.07
Rank:
56
|
|
Posted: 22.10.09 16:16. Post subject: Renegat23 Зато при..
Renegat23 Зато приделать её в 100 раз труднее
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1821
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 22.10.09 17:24. Post subject: кстати, если компиля..
кстати, если компилять интеловским компилятором в дебаг режиме, то он при запуске ехе начинает ругаться на static __inline int BSF (UINT64 x) { int y; _BitScanForward64(&y,x); return y; } что эта функция портит стэк
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 98
Joined: 05.09.08
Rank:
2
|
|
Posted: 22.10.09 18:36. Post subject: Есть какое-нибудь ус..
Есть какое-нибудь ускорение от ICC?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1822
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 22.10.09 18:50. Post subject: ThinkingALot не изве..
ThinkingALot не известно. если release версию сделать то к 12 полуходу она вызывает ошибку и вылет в ос
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 99
Joined: 05.09.08
Rank:
2
|
|
Posted: 22.10.09 19:13. Post subject: Возмодно поможет одн..
Возмодно поможет одно из 3x: 1) Переписать BSF/BSR на ассемблере: bsf/bsr rax, x 2) Убрать опции /Qipo, /ipo - в общем отключить interprocedural optimization. 3) Попробовать Profile Guided Optimization.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 101
Joined: 05.09.08
Rank:
2
|
|
Posted: 22.10.09 19:43. Post subject: Погонял infinite ana..
Погонял infinite analysis по несколько минут версии d в сравнении с b. Создалось впечатление, что у d больше branching factor. То есть глубины 16 достигают примерно одновременно, а до 20 версия d считает в несколько раз дольше. Хотя возможно это всего лишь статистическая погрешность.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 34
Joined: 18.03.08
Rank:
-1
|
|
Posted: 22.10.09 20:19. Post subject: Может быть немного н..
Может быть немного не в тему, извиняйте. Надоело глядеть на эти дебильные имена, вручную переименовывать влом, все-таки 14,5 тысяч строк. Решил механизировать процесс. Начал писать программульку, завтра будет готова. Только писать тоже влом, может быть у кого готовое чего есть, чтобы не изобретать велосипед. Задумка такая: Создаешь папку, туда эту самую прогу и любой текстовый файл, например "IPP_ENG.c". Вводишь старое слово и новое. И все. Прога создает тут же новый файл, точно такой же и с таким же расширением. Все различия - все заданные имена поменяны на новые. Так есть у кого чего-нибудь наподобе?
|
|
Profile
Reply
|
Ramzes II
|
| VIP
|
Post №: 303
Joined: 02.10.07
Rank:
6
Awards:
|
|
Posted: 22.10.09 20:36. Post subject: А зачем изобретать в..
А зачем изобретать велосипед? Тот же Notepad++ способен заменять имена.
|
|
Profile
Reply
|
Gata
|
| |
Post №: 335
Joined: 21.02.08
Rank:
-1
|
|
Posted: 22.10.09 21:01. Post subject: Обычный блокнот тоже..
Обычный блокнот тоже справится
|
|
Profile
Reply
|
дуп
|
| |
Post №: 35
Joined: 18.03.08
Rank:
-1
|
|
Posted: 22.10.09 21:28. Post subject: Во, а я и не знал пр..
Во, а я и не знал про Блокнот Спасибо.
|
|
Profile
Reply
|
Steven Edwards
|
| |
Post №: 8
Joined: 16.05.09
Rank:
0
|
|
Posted: 22.10.09 21:28. Post subject: Is it possible to ma..
Is it possible to make MP version of Ippolite ?
|
|
Profile
Reply
|
никел
|
| VIP
|
Post №: 216
Joined: 13.03.09
Rank:
3
|
|
Posted: 22.10.09 21:51. Post subject: Yes, it will be call..
Yes, it will be called Igorrit
|
|
Profile
Reply
|
|
Posted: 22.10.09 22:44. Post subject: bankuss пишет: но о..
bankuss пишет: quote: | но он в версии для windows стоит немалых денег. |
| Так можно же с лекарством скачать Intel(R) C++ Compiler Professional Edition for Windows* Version 11.1.035 Hidden text. Click here Год выпуска: 2009 Версия: 11.1.035 Разработчик: Intel Corporation Платформа: Windows NT 4.0/XP/Server 2003 32-bit Editon Совместимость с Vista: неизвестно Системные требования: Intel C++ Compiler Professional Edition for Windows can be used on, and develop code for, Intel processors since the Intel® Pentium® 4 processor. Язык интерфейса: только английский Таблэтка: Присутствует Описание: Intel C++ Compiler Professional Editions лучшее средство для создания многопоточных приложений под Windows. В профессиональной версии реализована расширеная оптимизация, поддержка процессоров, векторизация, авто-параллелизм, OpenMP, развертка циклов вместе с высоко оптимизированными библиотеками. Содержание пакета: Intel(R) C++ Compiler Professional Edition for Windows* Version 11.1.035 Intel(R) Math Kernel Library 10.2 for Windows* Intel(R) Integrated Performance Primitives 6.1 Intel(R) Threading Building Blocks 2.1 for Windows, Update 4
| [hideguest]http://torrents.ru/forum/viewtopic.php?t=2303268[/hideguest] Вот теперь и поработаю, когда будет время.
|
|
Profile
Reply
|
atri
|
| |
Post №: 341
Joined: 27.09.07
Rank:
3
|
|
Posted: 23.10.09 02:20. Post subject: Перечитал ветку на к..
Перечитал ветку на крестбуке по поводу появления Стрелки+появление Рыбкина. Нашел там интересную фразу Юрия Осипова quote: | Версия 2.4 по алгоритму совершенно одинакова с 1.8. Изменен только расчет времени на обдумывание хода. Это попытка нащупать путь к более оптимальному распределению времени по партии. В идеале хотелось бы найти критерии для выполнения "instant move", а« также критерии для глубокого размышления в критических позициях.» |
| Оригинальный текст Вся соль в том, что наблюдая за тестами Иполита я заметил, что он часто расходует время больше обычного в критических ситуациях, и часто этим переигрывает Рыбку. ИМХО конечно, но автор похоже реально мастер
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 102
Joined: 05.09.08
Rank:
2
|
|
Posted: 23.10.09 13:26. Post subject: дуп пишет: Может бы..
дуп пишет: quote: | Может быть немного не в тему, извиняйте. Надоело глядеть на эти дебильные имена, вручную переименовывать влом, все-таки 14,5 тысяч строк. Решил механизировать процесс. Начал писать программульку, завтра будет готова. Только писать тоже влом, может быть у кого готовое чего есть, чтобы не изобретать велосипед. Задумка такая: Создаешь папку, туда эту самую прогу и любой текстовый файл, например "IPP_ENG.c". Вводишь старое слово и новое. И все. Прога создает тут же новый файл, точно такой же и с таким же расширением. Все различия - все заданные имена поменяны на новые. Так есть у кого чего-нибудь наподобе? |
| Visual Studio: Ctrl+F->Quick Replace->Replace All Есть еще полезная функция (Клик правой кнопкой мыши)->Collapse all definitions. Гораздо проще ориентироваться в коде, особенно неструктурированном, как у Ипполита.
|
|
Profile
Reply
|
immortal223
|
| administrator
|
Post №: 3020
Joined: 14.07.07
Rank:
56
|
|
Posted: 23.10.09 20:50. Post subject: ThinkingALot bankuss..
ThinkingALot bankuss А ну-ка, ребята, признавайтесь, что вы там наделали с ИППОЛИТом?? Сравним: [chess]8/5k1p/8/6b1/2P1K3/8/8/8 b - -[/chess] Engine: IPPOLIT 0.080b x64 (512 MB) Yakov Petrovich Golyadkin ... 32/47 0:13 -0.05 1...Be7 2.Kf3 h5 3.Kg2 Ke8 4.Kh1 Bc5 5.Kg2 Kf7 6.Kh1 Kg8 7.Kg2 Bd4 8.Kh1 Kf7 9.Kg2 Ke8 10.Kh1 Kd7 11.Kh2 Bc5 12.Kg2 Ke8 13.Kh1 Kf7 14.Kg2 Bd6 (41.827.137) 3018 Engine: IPPOLIT 0.080d x64 hpv (512 MB) Yakov Petrovich Golyadkin ... 28/57 0:14 -4.46 1...Kg6 2.Kf3 Kh5 3.Kg3 Bd8 4.Kg2 Kh4 5.Kh1 Kh3 6.Kg1 Kg3 7.Kh1 Bc7 8.c5 Kh3 9.Kg1 Kg3 10.Kh1 (41.725.316) 2896 Требую объяснений!!!
|
|
Profile
Reply
|
никел
|
| VIP
|
Post №: 224
Joined: 13.03.09
Rank:
3
|
|
Posted: 23.10.09 23:19. Post subject: Does this proves tha..
Does this proves that something went wrong?
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 23.10.09 23:23. Post subject: Господа! Мы как-то з..
Господа! Мы как-то зациклились на Ипполите. А ведь есть его более продвинутый аналог - Robbolito. Ипполиту уже полгода, а Robbolito более свежий. Буржуи говорят, что он более стабилен и содержит меньше ошибок. Поддерживает изменение размера хэша и выводит currmove. Я почитал его тексты - там хоть и по итальянски, но текст в целом лучше структурирован. Одна беда - он не заточен под компиляцию в Студии. Мне пришлось пару часов скрежетать напильником, чтобы откомпилировать его в VC 2008 express. Заработал, гад, сейчас запустил тестирование. После 5 партий против Рыбки 3 ведёт: +3 -0 =2. Однако, хотелось бы сделать более грамотную компиляцию. Судя по всему, этому Robbolito нужен GCC. И тут хотелось бы выяснить два вопроса: 1. Где взять этот GCC, да так чтобы скомпилировать под Windows, а не под Linux. 2. Как компилировать, имея makefile. Желательно, поподробнее. Последний вопрос, конечно, для чайников. Но я и есть чайник. P.S. Пока писал, Robbolito выиграл ещё одну партию у Рыбки. Стало +4 -0 =2.
|
|
Reply
|
никел
|
| VIP
|
Post №: 225
Joined: 13.03.09
Rank:
3
|
|
Posted: 23.10.09 23:31. Post subject: Is this what is need..
|
|
Profile
Reply
|
Iork
|
| |
Post №: 179
Joined: 17.01.09
Rank:
1
|
|
Posted: 23.10.09 23:42. Post subject: Osipov пишет: Мы как..
Osipov пишет: quote: | Мы как-то зациклились на Ипполите. А ведь есть его более продвинутый аналог - Robbolito. |
| Где же его качнуть то можно ? Может потом выложите скомпилированный ?
|
|
Profile
Reply
|
дуп
|
| |
Post №: 36
Joined: 18.03.08
Rank:
-1
|
|
Posted: 24.10.09 00:18. Post subject: Osipov пишет: 2. Ка..
Osipov пишет: quote: | 2. Как компилировать, имея makefile. Желательно, поподробнее. |
| Если без осложнений, то стандартный способ такой. Сначала посмотрите, сколько там мейкфайлов под Винду. В Крафти, например, их бывает несколько, под каждую Студию. Если он там один, то он должен называться "Makefile", без расширения. Если несколько, то выбрать нужный и запомнить название. В Студии есть спецуттилитка, называется nmake. Вот она все и делает. Из Студии, в меню найти командную строку, набрать полный путь к папке с сорсами и вызвать эту уттилиту. Я сейчас напечатаю, как это делаю я, а вы подправите по месту. Итак: cd C:\Documents and Settings\MyName\Мои документы\folder_source_name\ (здесь лучше нажать enter) nmake -f Makefile.расш. Это если несколько мейкфайлов. Если один, то команда выгляит просто nmake. // У меня этого Робболито пока нет, конкретно его я не пробовал.
|
|
Profile
Reply
|
|
Posted: 24.10.09 03:22. Post subject: Osipov пишет: 2. Ка..
Osipov пишет: quote: | 2. Как компилировать, имея makefile. Желательно, поподробнее. Последний вопрос, конечно, для чайников. Но я и есть чайник. |
| Если Вы чайник, то кто же тогда программист?
|
|
Profile
Reply
|
mmx
|
| |
Post №: 4
Joined: 27.07.08
Rank:
0
|
|
Posted: 24.10.09 07:05. Post subject: 2 Osipov Лучше взят..
2 Osipov Лучше взять Codeblocks - в нем похожая на студию оболочка и компилятор мингв.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 37
Joined: 18.03.08
Rank:
-1
|
|
Posted: 24.10.09 07:36. Post subject: Думаю, если получитс..
Думаю, если получится сделать в VS, то лучше ничего и не надо. Компилятор там отличный, в мингв будет хуже. Главное, чтобы с Мэйкфайлом было все в порядке. "Два часа напильником" - это он наверное парился с поддержкой кроссплатформенности. Намного удобнее было, если бы авторы выкладывали два отдельных комплекта с исходниками. Тогда таких проблем бы не возникало. quote: | кто же тогда программист? |
| Дядя Вася. Великий и безгрешный.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 104
Joined: 05.09.08
Rank:
2
|
|
Posted: 24.10.09 08:34. Post subject: Osipov пишет: Одна ..
Osipov пишет: quote: | Одна беда - он не заточен под компиляцию в Студии. Мне пришлось пару часов скрежетать напильником, чтобы откомпилировать его в VC 2008 express. Заработал, гад, сейчас запустил тестирование. После 5 партий против Рыбки 3 ведёт: +3 -0 =2. |
| Можешь выложить исходники? immortal223 пишет: quote: | А ну-ка, ребята, признавайтесь, что вы там наделали с ИППОЛИТом?? |
| Мда... без понятия почему так происходит...
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1830
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 24.10.09 09:44. Post subject: я тоже пробовал точи..
я тоже пробовал точить напильником но 20 ошибок так и не убрал, и не совсем понятно, что не нравится студии. так как робболито под линукс, то компилятор там GCC конечно, я на работе 084 версию компильнул с 1 раза, без ошибок и проблем. проверял в консоли - все работало. scid у меня не был установлен, поэтому на позициях проверить не смог. ну а раз Юрий уже что-то сдлелал - то можно общими усилиями доделать.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 38
Joined: 18.03.08
Rank:
-1
|
|
Posted: 24.10.09 09:44. Post subject: Да, через makefil..
Да, через makefile не получится. Тот, который там - не для VS.
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 24.10.09 09:54. Post subject: С makefile чего-то н..
С makefile чего-то не выходит, nmake ругается. Когда делал в Студии через создание проекта, то проблемы были такие: 1. Не понимала asm-вставок, пришлось брать из Стрелки. 2. Не находила стандартных h-файлов, и связанных с ними функций получения времени и stdin/stdout. Заменил время на GetTickCount, а отслеживание ввода вообще вырубил. 3. Не нашла функцию posix_memalign - заменил на malloc. Судя по названию последней функции, это заточено под Linux.
|
|
Reply
|
bankuss
|
| Black King
|
Post №: 1831
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 24.10.09 10:03. Post subject: типы данных тоже зам..
типы данных тоже заменить на: #define uint8 unsigned __int8 #define sint8 signed __int8 #define sint16 unsigned __int16 #define uint16 signed __int16 #define uint64 unsigned __int64 #define sint64 signed __int64 #define sint32 unsigned __int32 #define uint32 signed __int32
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 24.10.09 10:09. Post subject: Вот залил весь проек..
|
|
Reply
|
bankuss
|
| Black King
|
Post №: 1832
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 24.10.09 10:43. Post subject: не хочет... Ошибка ..
не хочет... Ошибка 78 error C2371: tipo_prossimo: переопределение; различные базовые типы funzione.h
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 105
Joined: 05.09.08
Rank:
2
|
|
Posted: 24.10.09 10:54. Post subject: Robbolito 0084 x64 И..
Robbolito 0084 x64 Изменение размера хэша сделано оригинально - надо открыть опции UCI и проставить там нужное значение вручную... Попробовал сначала обычным способом - Робболито завис. P.S. У меня вылетает каждый раз при попытке послать лучший ход. Матч играть невозможно.
|
|
Profile
Reply
|
pan5
|
| |
Post №: 108
Joined: 21.07.07
Rank:
0
|
|
Posted: 24.10.09 10:55. Post subject: Даже версия 0084 выг..
Даже версия 0084 от Osipov выглядит посильнее Ипполита +2=2-0 (даже работает турнирный контроль) Вся надежда на доблестных программистов форума и они доведут 0085 (а может и последующие версии) до exe под win. Если не хотите менять имя движка, то добавляйте пожалуйста к номеру версии постфикс, указывающий на то, чья версия скомпилированного exe выложена.
|
|
Profile
Reply
|
|
Posted: 24.10.09 10:59. Post subject: Робболито x86 уже си..
Робболито x86 уже сильнее Ипполита x64!
|
|
Profile
Reply
|
pan5
|
| |
Post №: 109
Joined: 21.07.07
Rank:
0
|
|
Posted: 24.10.09 11:06. Post subject: Радует, что работа а..
Радует, что работа авторов над движком вроде бы продолжается и пока нет предпосылок, что новые версии исходников не будут выкладываться на сайт. Возможно, авторы предполагали обвинения в клонировании, поэтому изначально не нацеливались на коммерческую версию. Счет уже +3=5-1 в пользу RobboLito 0084 против Ippolit 0.080b
|
|
Profile
Reply
|
|
Posted: 24.10.09 11:12. Post subject: Robbolito слил 4 пар..
Robbolito слил 4 партии подряд по времени зависая при выходе из книги. Остановил матч.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 106
Joined: 05.09.08
Rank:
2
|
|
Posted: 24.10.09 11:17. Post subject: w32 версия вроде нор..
w32 версия вроде нормально работает.
|
|
Profile
Reply
|
|
Posted: 24.10.09 11:20. Post subject: ThinkingALot пишет: ..
ThinkingALot пишет: quote: | w32 версия вроде нормально работает. |
| Я ей матч и проводил. После 15 партий начала сливать по времени, не отсылая ход оболочке.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1833
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 24.10.09 11:20. Post subject: ага, зависает. когда..
ага, зависает. когда на анализ запускаешь начинает думать, делаешь ход на доске - тишина....
|
|
Profile
Reply
|
pan5
|
| |
Post №: 110
Joined: 21.07.07
Rank:
0
|
|
Posted: 24.10.09 11:20. Post subject: WinXP Frit12 книга H..
WinXP Frit12 книга HS-7moves, 1 мин на 40 ходов IPPOLIT 0.0080b w32 - RobboLito version 0084 +2=5-6
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 24.10.09 11:31. Post subject: Там я убил приём ком..
Там я убил приём команд от оболочки во время думания. От того и виснет. Надо будет прикрутить стандартный input-available. К тому же Robbolito тоже не совсем свободен от багов Ипполита, на него тоже нападает порча после нескольких партий. Поэтому, при тестировании под Ареной я поставил птичку: перегружать движки после каждой партии.
|
|
Reply
|
onedrey
|
| |
Post №: 33
Joined: 03.01.09
Rank:
0
|
|
Posted: 24.10.09 11:38. Post subject: Robbolito 0084 x64 ..
quote: | Robbolito 0084 x64 Изменение размера хэша сделано оригинально - надо открыть опции UCI и проставить там нужное значение вручную... Попробовал сначала обычным способом - Робболито завис. P.S. У меня вылетает каждый раз при попытке послать лучший ход. Матч играть невозможно. |
| Большая просьба выложить откомпилированную 64-битную версию, если она годится хотя бы для анализа
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1834
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 24.10.09 11:38. Post subject: onedrey пишет: Боль..
onedrey пишет: quote: | Большая просьба выложить откомпилированную 64-битную версию, если она годится хотя бы для анализа |
|
под линукс х64 без проблем
|
|
Profile
Reply
|
никел
|
| VIP
|
Post №: 227
Joined: 13.03.09
Rank:
3
|
|
Posted: 24.10.09 11:48. Post subject: Bankuss, is it possi..
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1835
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 24.10.09 11:53. Post subject: никел in monday do..
никел in monday do
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1129
Joined: 19.10.07
Rank:
5
|
|
Posted: 24.10.09 11:53. Post subject: Osipov Вот залил ве..
Osipov quote: | Вот залил весь проект для VC 2008 Express, заодно и exe: |
| Вкладывать в архив RobboLito.ncb (7.7 Мб) было совершенно излишне.
|
|
Profile
Reply
|
никел
|
| VIP
|
Post №: 228
Joined: 13.03.09
Rank:
3
|
|
Posted: 24.10.09 11:55. Post subject: OK, thanks Bankuss ..
OK, thanks Bankuss
|
|
Profile
Reply
|
onedrey
|
| |
Post №: 34
Joined: 03.01.09
Rank:
0
|
|
Posted: 24.10.09 12:03. Post subject: под линукс х64 без п..
quote: | под линукс х64 без проблем |
| Ясно. Я думал, что если там файл .vcproj, то это - проект VS, а если VS, то для виндовз Тогда еще вопрос(ы). :) Чем, по-вашему, вызвано, что версии выкладываются только под Линукс? И как вообще его запускать в линуксе, под какой оболочкой? Я думал, что только под вайн запускаются виндовзкие облочки, а в них движки... По крайней мере, с рыбкой я не видел других вариантов
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1836
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 24.10.09 12:06. Post subject: onedrey то что вылож..
onedrey то что выложил Юрий - да под виндовс, но у меня его проект не компилируется. а то что под линукс - компилишь, получаешь запускаемый файл, и запускаешь его в оболочке линукса, например scid (других незнаю).
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1837
Joined: 15.07.07
Rank:
15
Awards:
|
|
Posted: 24.10.09 12:09. Post subject: onedrey пишет: Чем,..
onedrey пишет: quote: | Чем, по-вашему, вызвано, что версии выкладываются только под Линукс? |
|
бесплатность во всем! так как и сам линукс и его проги бесплатны (ну и двиг тоже) или просто авторы работают на линуксе
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1845
Joined: 15.07.07
Rank:
16
Awards:
|
|
Posted: 24.10.09 18:35. Post subject: компиляция asm коман..
компиляция asm команд в режиме х64 VS2008(2005) не разрешается! все через masm64 (ml64) но как его использовать неясно...
|
|
Profile
Reply
|
onedrey
|
| |
Post №: 35
Joined: 03.01.09
Rank:
0
|
|
Posted: 24.10.09 20:41. Post subject: или просто авторы ра..
quote: | или просто авторы работают на линуксе |
|
Это понятно. Не ясно, как он его могут тестировать, если не в партиях с рыбой? Потому что под wine будет неадекватное сравнение.. Со старыми версиями стравливают? Можно, конечно, на разных машинах запустить рыбу и ипполита...
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1858
Joined: 15.07.07
Rank:
17
Awards:
|
|
Posted: 25.10.09 11:23. Post subject: Генерацию таблиц Роб..
Генерацию таблиц Робболито сможем переделать? ТБ как бы не помешают. В линуксе он у меня все чинно сгенерил, по папкам разложил, при запуске видит.
|
|
Profile
Reply
|
IvenGO
|
| |
Post №: 55
Joined: 28.08.08
Rank:
2
|
|
Posted: 25.10.09 12:21. Post subject: Извиняюсь за неграмо..
Извиняюсь за неграмотный вопрос: вот тут все про алгоритмы да про алгоритмы, а что по оценочной функции сказать можно? Она революционно нова?
|
|
Profile
Reply
|
onedrey
|
| |
Post №: 36
Joined: 03.01.09
Rank:
0
|
|
Posted: 25.10.09 12:38. Post subject: а что по оценочной ф..
quote: | а что по оценочной функции сказать можно? |
|
Меня тоже этот вопрос больше других интересует. Не думаю, что революционно нова, но, кажется, точнее, чем рыбкина
|
|
Profile
Reply
|
unknow
|
| |
Post №: 99
Joined: 19.12.08
Rank:
0
|
|
Posted: 26.10.09 04:58. Post subject: Други! Как же легко ..
Други! Как же легко стало после Ипполита читать исходники Стрелки :) Просто образец ясного и прозрачного кода. Только сейчас оценил.
|
|
Profile
Reply
|
WinPooh
|
| |
Post №: 9
Joined: 29.01.08
Rank:
0
|
|
Posted: 26.10.09 08:29. Post subject: Это вы ещё не читали..
Это вы ещё не читали исходники шахматной программы ИТЭФ для машины М-20, в виде рукописных бланков с автокодом
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1374
Joined: 16.09.07
Rank:
5
|
|
Posted: 26.10.09 22:38. Post subject: В робболите зачем-то..
В робболите зачем-то время в миллисекундах умножается на 1000?! А вот такой код вызывает ошибки, и очень тяжело понять его поведение: void risolvere_termine (int d) { sint64 x; if (!salto_ok) return; x = orologio () - OROLOGIO; nodo_conteggio = nodo_frequenza; if (d == ABISSO) // предельная глубина cerca_alt (1); if (x - INVIO > 1000000) notizia (x); if (d >= 1 && d < 8) goto FINALE; if (x > ORA_ASSOLUTA) cerca_alt (1); if (d == 0) goto FINALE; if (!MOSSA_BRUTTA && x >= ORA_BATTAGLIA) cerca_alt (2); if (FACILE && x >= ORA_FACILE) cerca_alt (3); if (!MOSSA_BATTAGLIA && x >= ORA_ORDINARIA && !MOSSA_BRUTTA) cerca_alt (4); FINALE: while (interrogativo_ingresso ()) input_console (); } Аварийки срабатывают криво. Процедура эта запускается раз в неколько тысяч генераций ходов, а ней и аварийка по времени (при этом она не срабатывает при Depth от одного до восьми), и аварийка при достижении предельной глубины (255)
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1375
Joined: 16.09.07
Rank:
5
|
|
Posted: 26.10.09 22:45. Post subject: Чтение консоли напис..
Чтение консоли написано с ошибкой. (interrogativo_ingresso ())
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1879
Joined: 15.07.07
Rank:
18
Awards:
|
|
Posted: 27.10.09 06:14. Post subject: В версии D всего 1 и..
В версии D всего 1 изменение: файле valu.c #define bianco_minore_pietra (8<<2) #define nero_minore_pietra (16<<2) а было: #define bianco_minore_pietra 8 #define nero_minore_pietra 16
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1377
Joined: 16.09.07
Rank:
5
|
|
Posted: 27.10.09 09:58. Post subject: просрочки убрал, рас..
просрочки убрал, расход времени сделал более агрессивным - сила увеличилась.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1881
Joined: 15.07.07
Rank:
18
Awards:
|
|
Posted: 27.10.09 10:16. Post subject: NS кидай изменения, ..
NS кидай изменения, внесем в исходники
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1381
Joined: 16.09.07
Rank:
5
|
|
Posted: 27.10.09 10:27. Post subject: :) Потом. Ты силушку..
:) Потом. Ты силушку сначала проверь :) Если NPS просадил - вечером откомпилирую по человечески, и забыл пондермув добавить - но это уже вечером.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1392
Joined: 16.09.07
Rank:
5
|
|
Posted: 27.10.09 23:00. Post subject: Кроче - посмотрел на..
Кроче - посмотрел на свежую голову, ничего особо править не надо. Достаточно поставить запас времени. То есть перед расчетом времени написать if (movestogo) ORA = (ORA - 1000000 - movestogo * 200000); else ORA = (ORA - 1000000 - 40 * 200000); // в безлимитке запасаемся на 40 ходов. //Ну и в случае израсходования времени, чтоб совсем не блицевала - if (ORA < 100000) ORA = 100000; И в аварийках убрать условие на глубину // if (d >= 1 && d < 8) // goto FINALE; Либо переместить его сразу за основную аварийку if (x > ORA_ASSOLUTA) cerca_alt (1); if (d >= 0 && d < 8) // при d==0 не надо использовать методы сокращения времени, это не вызов из корня goto FINALE; А вторая причина зависаний - это останавливаются часы. Надо смотреть где с разрядностью переменных накосячено. uint64 x; x = GetTickCount() * 1000; В этом коде переполнение наверно действительно получается.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 41
Joined: 18.03.08
Rank:
-1
|
|
Posted: 28.10.09 09:49. Post subject: x = GetTickCount() ..
quote: | x = GetTickCount() * 1000; |
| Не должно переполнить. Эта функция возвращает число мс с момента старта ОС. Т.е. спустя сутки после включения компа это число всего 86 400 000. Это если я не нагнал в подсчетах
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1396
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 09:56. Post subject: Результат умножения ..
Результат умножения имеет какой тип? Результат умножения это не число мс. А 1000*Число мс.
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1148
Joined: 19.10.07
Rank:
5
|
|
Posted: 28.10.09 09:57. Post subject: Т.е. спустя сутки по..
quote: | Т.е. спустя сутки после включения компа это число всего 86 400 000 |
| Т.е. если это чилсо умножить на 1000 то unsigned __int64 будет переполнятся где-то 20 раз в сутки.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 115
Joined: 05.09.08
Rank:
2
|
|
Posted: 28.10.09 10:01. Post subject: WildCat пишет: цит..
WildCat пишет: quote: | цитата: Т.е. спустя сутки после включения компа это число всего 86 400 000 Т.е. если это чилсо умножить на 1000 то unsigned __int64 будет переполнятся где-то 20 раз в сутки. |
| . int32 будет, int64 - нет.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1397
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 10:04. Post subject: результат умножения ..
результат умножения будет иметь какой тип? int32 или uint64?
|
|
Profile
Reply
|
дуп
|
| |
Post №: 42
Joined: 18.03.08
Rank:
-1
|
|
Posted: 28.10.09 10:08. Post subject: NS пишет: результат..
NS пишет: quote: | результат умножения будет иметь какой тип? int32 или uint64? |
| uint64 В это x эти сутки влезут более 6 миллиардов раз
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1887
Joined: 15.07.07
Rank:
19
Awards:
|
|
Posted: 28.10.09 10:12. Post subject: во фрукте сделано де..
во фрукте сделано деление /1000 и числа типа double можно попробовать так же
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1398
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 10:13. Post subject: А может всё-таки рез..
А может всё-таки результат умножения будет int32? Не знаю соглашений в этом языке, а в делфи резльтат будет 100% int32, а потом уже будет преобразовываться в int64.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1399
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 10:14. Post subject: А не проще ли умножи..
А не проще ли умножить просто на константу типа uint64 равную 1000? Вместо умножения на 1000.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1888
Joined: 15.07.07
Rank:
19
Awards:
|
|
Posted: 28.10.09 10:15. Post subject: double now_real() {..
double now_real() { return double(GetTickCount()) / 1000.0; }
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1400
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 10:20. Post subject: Банкусс, ты о чем? u..
Банкусс, ты о чем? uint64 tt = 1000; x = GetTickCount() * tt; исправляет эту ошибку. больше ничего переписывать не надо.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 43
Joined: 18.03.08
Rank:
-1
|
|
Posted: 28.10.09 10:24. Post subject: Видел в файле cerca...
Видел в файле cerca.c подозрительное место: TRASMISSIONE ("info time %lld nodes %lld nps %lld %s %s depth %d seldepth %d pv %s\n", t, NODOS, nps * 1000, modificatore (BASSO, valu, ALTO, STRING3), cp_mate (valu, STRING2), radice_abisso / 2, sd, pv); } В коде считаются беззнаковые типы uint64, а здесь спецификаторы формата для nodes и nps для знаковых. Маловероятно, конечно, но лучше, думаю переправить так: ("info time %I64d nodes %I64d nps %I64d %s %s depth %d seldepth %d pv %s\n",
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1149
Joined: 19.10.07
Rank:
5
|
|
Posted: 28.10.09 10:26. Post subject: NS А может всё-таки ..
NS quote: | А может всё-таки результат умножения будет int32? Не знаю соглашений в этом языке, а в делфи резльтат будет 100% int32, а потом уже будет преобразовываться в int64. |
| Результат умножения будет 32-битный, и будет переполнятся 20 раз в сутки. Достаточно один из операндов преобразовать в 64 бита. GetTickCount() * uint64(1000)
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1401
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 10:28. Post subject: А вообще еще бы хоро..
А вообще еще бы хорошо заменить GetTickCount на timeGetTime.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1402
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 10:29. Post subject: WildCat пишет: Резу..
WildCat пишет: quote: | Результат умножения будет 32-битный, и будет переполнятся 20 раз в сутки. |
| Да знаю я. :)
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1889
Joined: 15.07.07
Rank:
19
Awards:
|
|
Posted: 28.10.09 10:30. Post subject: NS я про то, что нап..
NS я про то, что написал WildCat WildCat пишет: quote: | GetTickCount() * uint64(1000) |
| 1000 компилятор возьмет как 32-битную константу. NS пишет: а так уже возьмет правильно :)
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1890
Joined: 15.07.07
Rank:
19
Awards:
|
|
Posted: 28.10.09 10:32. Post subject: дуп да, надо поправи..
дуп да, надо поправить. хотя у меня и с lld вроде без ошибок выводит
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1150
Joined: 19.10.07
Rank:
5
|
|
Posted: 28.10.09 10:35. Post subject: bankuss, int64(1000)..
bankuss, uint64(1000) - это 64-битная константа. NS quote: | Не знаю соглашений в этом языке |
| Так знаешь или нет?
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1403
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 10:41. Post subject: Знаю. Это я издеваюс..
Знаю. Это я издеваюсь так. Я же выше написал что глюк в этом месте. Точнее - не проверял, но был практически уверен что приведение типов работает также как в делфи. bankuss пишет: quote: | дуп да, надо поправить. хотя у меня и с lld вроде без ошибок выводит |
| Нет смысла править - в этом месте всё ОК.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 44
Joined: 18.03.08
Rank:
-1
|
|
Posted: 28.10.09 10:52. Post subject: Я не знаю, чего там ..
Я не знаю, чего там у вас с WildCat- ом за левые компиляторы: //////////////////////////////////////// #define uint64 unsigned __int64 int main() { uint64 number = 86400000; uint64 big_number = number * 600; printf("res = %I64d\n", big_number); return 0; } //////////////////////////////////////////// На экране : res = 51840000000
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1151
Joined: 19.10.07
Rank:
5
|
|
Posted: 28.10.09 11:15. Post subject: дуп, попробуй так: ..
дуп, попробуй так: #define uint64 unsigned __int64 #define uint32 unsigned __int32 int main() { uint32 number = 86400000; uint64 big_number = number * 600; printf("res = %I64d\n", big_number); return 0; } Именно так в Ипполите.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 45
Joined: 18.03.08
Rank:
-1
|
|
Posted: 28.10.09 11:38. Post subject: Да, так не влезает. ..
Да, так не влезает. Никогда про такое не слышал и не читал. Так и не понял почему. Даже если он при таких дефайнах неявно приводит множитель к 4-байтному типу, при чем тут результат?
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1404
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 11:50. Post subject: Результат перемножен..
Результат перемножения четырехбайтных - четырехбайтное число. потеряли точность уже в процессе умножения. Понять вроде очень просто. Чтоб в результате умножения получить 64битное - нужно один из множителей привести к 64битному виду. Ты в своем примере умножаешь 64битное, поэтому у тебя всё ОК. А GetTickCount -32 битное.
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1152
Joined: 19.10.07
Rank:
5
|
|
Posted: 28.10.09 11:53. Post subject: Результат умножения ..
Результат умножения двух 32-битных чисел сперва записывается в 32-битный регистр, а уж затем значение из этого регистра записывается в 64-битную переменную. Естественно старшие разряды теряются.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 46
Joined: 18.03.08
Rank:
-1
|
|
Posted: 28.10.09 12:13. Post subject: NS пишет: А вторая ..
NS пишет: quote: | А вторая причина зависаний - это останавливаются часы. Надо смотреть где с разрядностью переменных накосячено. uint64 x; x = GetTickCount() * 1000; В этом коде переполнение наверно действительно получается. |
| Вот где недоразумение. Вы то говорите глядя как в коде, а я только на пост NS. А у него здесть x uint64
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1405
Joined: 16.09.07
Rank:
6
|
|
Posted: 28.10.09 12:28. Post subject: А при чем тут х? в к..
А при чем тут х? в коде вся информация есть. х Действительно uint64. И будет переполнение.
|
|
Profile
Reply
|
hardcore
|
| |
Post №: 26
Joined: 09.06.08
Rank:
0
|
|
Posted: 28.10.09 13:25. Post subject: Мда... Непросто все ..
Мда... Непросто все с компилятором. Подскажите пожалуйста к чему в Иппо структура type_dynamics? Ведь для хеширования есть type_hash_variated. И что за 32хбитные _7, _9, _0...? Причем первой структуры наинициализировано 16384 экземпляра, а второй, сложной, 1024.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1896
Joined: 15.07.07
Rank:
19
Awards:
|
|
Posted: 29.10.09 12:20. Post subject: UINT8 golo () { sta..
UINT8 golo () { static int init = 0, is_pipe; static HANDLE stdin_h; DWORD val; if (stdin->_cnt > 0) return 1; if (!init) { init = 1; stdin_h = GetStdHandle (STD_INPUT_HANDLE); is_pipe = !GetConsoleMode (stdin_h, &val); if (!is_pipe) { SetConsoleMode (stdin_h, val & ~(ENABLE_MOUSE_INPUT | ENABLE_WINDOW_INPUT)); FlushConsoleInputBuffer (stdin_h); } } if (is_pipe) { if (!PeekNamedPipe (stdin_h, NULL, 0, NULL, &val, NULL)) return 1; return val > 0; } else { GetNumberOfConsoleInputEvents (stdin_h, &val); return val > 1; } return 0; } это ипполитовский ввод
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1897
Joined: 15.07.07
Rank:
19
Awards:
|
|
Posted: 29.10.09 12:22. Post subject: bool input_available..
bool input_available() { static bool init = false, is_pipe; static HANDLE stdin_h; DWORD val, error; // val = 0; // needed to make the compiler happy? // have a look at the "local" buffer first, *this time before init (no idea if it helps)* if (UseDebug && !init) printf("info string init=%d stdin->_cnt=%d\n",int(init),stdin->_cnt); if (stdin->_cnt > 0) return true; // HACK: assumes FILE internals // input init (only done once) if (!init) { init = true; stdin_h = GetStdHandle(STD_INPUT_HANDLE); if (UseDebug && (stdin_h == NULL || stdin_h == INVALID_HANDLE_VALUE)) { error = GetLastError(); printf("info string GetStdHandle() failed, error=%d\n",error); } is_pipe = !GetConsoleMode(stdin_h,&val); // HACK: assumes pipe on failure if (UseDebug) printf("info string init=%d is_pipe=%d\n",int(init),int(is_pipe)); if (UseDebug && is_pipe) { // GetConsoleMode() failed, everybody assumes pipe then error = GetLastError(); printf("info string GetConsoleMode() failed, error=%d\n",error); } if (!is_pipe) { SetConsoleMode(stdin_h,val&~(ENABLE_MOUSE_INPUT|ENABLE_WINDOW_INPUT)); FlushConsoleInputBuffer(stdin_h); // no idea if we can lose data doing this } } это фруктовый
|
|
Profile
Reply
|
kranium
|
| VIP
|
Post №: 23
Joined: 17.09.09
Rank:
3
Awards:
|
|
Posted: 29.10.09 14:48. Post subject: source code translation
hi bankuss, and everyone- i have completed translation of the 0.085c3 source code from Italian to common English programming terms... i'd be happy to share it with you if you are interested...(much easier to follow if one doesn't speak Italian well) i will begin soon to concentrate on SMP... perhaps we can begin to work together for further development... are you interested? best regards- kranium
|
|
Profile
Reply
|
Einstein UCI
|
| |
Post №: 132
Joined: 13.03.09
Rank:
1
|
|
Posted: 29.10.09 15:00. Post subject: Time management fix
Hi Kranium ! They are any way to fix the time management in IPPOLIT & RobboLito ? Would be nice ! All the best,
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1899
Joined: 15.07.07
Rank:
19
Awards:
|
|
Posted: 29.10.09 15:44. Post subject: kranium excellent! I..
kranium excellent! I also began to English translate, but made little
|
|
Profile
Reply
|
Azaad
|
| Moderator
|
Post №: 565
Joined: 26.03.09
Rank:
5
Awards:
|
|
Posted: 29.10.09 16:26. Post subject: Einstein UCI writes:..
Einstein UCI writes: quote: | They are any way to fix the time management in IPPOLIT & RobboLito ? Would be nice ! |
| Einstein UCI Try version 0.085d1
|
|
Profile
Reply
|
17
|
| VIP
|
Post №: 529
Joined: 04.02.08
Rank:
8
|
|
Posted: 29.10.09 18:15. Post subject: Вот еще одно мнение!..
Вот еще одно мнение! Denis P. Mendoza Hidden text. Click here http://www.computerchess.info/tdbb/phpBB3/viewtopic.php?f=9&t=427 Re: What's this engine ? by Denis P. Mendoza on Thu Oct 29, 2009 12:22 pm Like you, I'm only good in another filed, so I let them gossip among themselves in third person mode . I still have no work at the moment (waiting for another mission), so i just scan the net on what interests me - like the links you mentioned. My opinions are too trivial for the experts in those forums. I'm a practical guy and I only involve myself to the level my brains can handle . In the first place, I like IPPOLIT and ROBBOLITO same as Protector - open source stuffs...period! Whether we like it or not (good or bad), these works of Yakov, Igor, Vladimir, Roberto, Yusuf, and the rest of the other supporters will revolutionize the next set of engines in the future. Crafty, Fruit, Glaurung and Strelka had started it before. Nice job comrades!....as they say in Red Alert (game)....For the UNION! I think Vas will just shrug this "clone" talks aside and just move on in his Rybka cluster experiments. That is more important, as still some chronic chess activists are using this issue to rekindle the case about Rybka being a Fruit clone, hiding true nps, etc. It's sounds like a broken record. Let's move on and enjoy the fruits of computerchess.
|
|
|
Profile
Reply
|
kranium
|
| VIP
|
Post №: 24
Joined: 17.09.09
Rank:
3
Awards:
|
|
Posted: 29.10.09 18:36. Post subject: RobboLite 0.085c5
hi bankuss- http://www.chesslogik.com/ complete english translation seems to be working well....needs much more testing Engine Score 1: RobboLite_0085c4_0050 10.0/15 2: Rybka 3 w32 5.0/15 0=0==000==01=== no time losses in many games...not sure if my time fix is 100% though, must be tested further... please make the source code for 0.085d1 available... perhaps in future, all source can be available in one location http://rapidshare.com/files/299614816/RobboLite_0085c5.rar.html thanks to all, bankuss, NS, Wildcat, дуп, Einstein UCI, ThinkingAlot, Osipov, and anyone else contributing...
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1900
Joined: 15.07.07
Rank:
19
Awards:
|
|
Posted: 29.10.09 19:07. Post subject: kranium пишет: plea..
kranium пишет: quote: | please make the source code for 0.085d1 available... perhaps in future, all source can be available in one location |
| vers C --> vers D: changes in value.c #define white_minor_stone (8<<2) #define black_minor_stone (16<<2)
|
|
Profile
Reply
|
kranium
|
| VIP
|
Post №: 26
Joined: 17.09.09
Rank:
3
Awards:
|
|
Posted: 29.10.09 20:05. Post subject: thanks!
bankuss пишет: quote: | #define white_minor_stone (8<<2) #define black_minor_stone (16<<2) |
| but- this is a time loss fix? it has nothing to do with time management...or am i mising something?
|
|
Profile
Reply
|
никел
|
| VIP
|
Post №: 272
Joined: 13.03.09
Rank:
3
|
|
Posted: 29.10.09 20:14. Post subject: This is extracted fr..
This is extracted from the bugs topic on Ippolit site Bugs Location for workers to deposit bugs. Current The current version 0.085d has had no reported bugs. Update: nodes appear negative beyond 2^31..... info time 1075380 nodes -2145685551 nps 1998000 cpuload 999 Looks like sorvegliare.c has a TRASMISSIONE with %d rather than %lld in notizia Fixed RobboLito 0.085: Failings with captures (cattura) for Robbo_glue.c: fixed (Igor). RobboLito 0.085b: Igor's "fix" was unfunctional. Fixes correctly, I hope (RP). RobboLito 0.085c: Changed recurse in RobboBuild (failed with BPb). RobboLito 0.085c2: Previous fix (Igor) for lazy failed. New with valu.c: #define bianco_minore_pietra (8<<2) #define nero_minore_pietra (16<<2) Previous: decimating the double sinister shuffle.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1407
Joined: 16.09.07
Rank:
6
|
|
Posted: 29.10.09 20:47. Post subject: Банкусс, нафига бало..
Банкусс, нафига бало городить весь этот огород, если достаточно было закомментить // if (stdin->_cnt > 0) // return 1; За ненадобностью, и добавить в случае консольного ввода условие на GetNumberOfConsoleInputEvents(stdin_h, &count); if (count && PeekConsoleInputA(stdin_h...
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1902
Joined: 15.07.07
Rank:
19
Awards:
|
|
Posted: 29.10.09 20:53. Post subject: NS это фабьен городи..
NS это фабьен городил, а не я. просто для примера привел код фрукта.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1409
Joined: 16.09.07
Rank:
6
|
|
Posted: 30.10.09 10:48. Post subject: Я к тому что нет ник..
Я к тому что нет никакого смысла вставлять фруктовый код в Робболита.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 47
Joined: 18.03.08
Rank:
-1
|
|
Posted: 30.10.09 19:02. Post subject: char * mossa_notazio..
char * mossa_notazione (uint32 mossa, char *M) { int di, ai, pr; char c[8] = "0123nbrq"; В массиве "с" не маловато ли будет 8 элементов?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1919
Joined: 15.07.07
Rank:
21
Awards:
|
|
Posted: 30.10.09 19:45. Post subject: дуп пишет: ar c = &..
дуп пишет: quote: | ar c[8] = "0123nbrq"; В массиве "с" не маловато ли будет 8 элементов? |
|
присваивается именно 8, а что не так?
|
|
Profile
Reply
|
дуп
|
| |
Post №: 48
Joined: 18.03.08
Rank:
-1
|
|
Posted: 30.10.09 20:00. Post subject: В строке "0123nb..
В строке "0123nbrq" девять символов. Девятый tipo по умолчанию '\0'. Если поменять расширение на "cpp" не скомпилируется. Компилятор выдаст ошибку "overflow" в этом месте. Хотя может тут это и не важно.
|
|
Profile
Reply
|
Osipov
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 30.10.09 23:32. Post subject: В этой функции симво..
В этой функции символ конца строки не используется, так что можно на обращать внимания. Между прочим, я смотрю большие проблемы вызвало распределение времени в этом странном движке. Если кому интересно, попробуйте это дело от Рыбки 3: void time_manager(int time, int inc, char flag_togo, int movestogo) { int alloc; TimeMax = (time - 2500) * 9 / 10; if (TimeMax < 150) TimeMax = 150; if (flag_togo) { TimeLimit2 = ((movestogo + 2) * TimeMax) / (movestogo * 3); alloc = ((TimeMax / movestogo) * (movestogo + 150) * 2) / 300; if (inc > 0) alloc += inc; } else { if (inc == 0) { TimeLimit2 = TimeMax / 6; alloc = TimeMax / 48; } else { TimeLimit2 = TimeMax / 3; if ((inc * 60) >= time) alloc = TimeMax / 30; else alloc = TimeMax / (((time / 60) * 48 - inc * 18) / (time / 60)); if (inc > 0) alloc += inc; } } TimeLimit1 = alloc; if (TimeLimit1 > TimeMax) TimeLimit1 = TimeMax; if (TimeLimit1 > TimeLimit2) TimeLimit1 = TimeLimit2; }
|
|
Reply
|
Sentinel
|
| VIP
|
Post №: 14
Joined: 29.10.09
Rank:
0
Awards:
|
|
Posted: 31.10.09 00:51. Post subject: Yuri, you are absolu..
Yuri, you are absolutely right. Rybka is using this nice nonlinear aggressive function, while in Robbo it is limited to TimeMax/movestogo in the most aggressive setting. That is why Robbo is taking time linearly, and always taking less. Also the absolute longest time Rybka can take is TimeMax*9/15, and for Robbo is TimeMax/2. Direct example in 40 moves time control, around 15th move, Rybka allocates 0.047*TimeMax, while Robbo allocates only 0.04*TimeMax and that only in the most aggressive setting (otherwise is half of it). This is definitively something that must be changed.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 104
Joined: 20.06.09
Rank:
3
|
|
Posted: 02.11.09 22:54. Post subject: В этом интервью авто..
В этом интервью автор Рыбки рассказывал о WinFinder-е quote: | Я потратил много времени, работая над поиском в Рыбке 2.2, а WinFinder был небольшим экспериментом для некоторых моих идей. Я разрабатывал WinFinder всего пару дней, так что эта версия совершенно недоработана. Тем не менее, концепция создания WinFinder достаточно интересна, и в третьей версии вы увидите подобную модификацию Рыбки. Если я смогу выделить хотя бы две недели на разработку Rybka 3 WinFinder, то все будет сделано как следует. |
| Если предположить, что корни Ипоолита (Робболита) растут из Рыбки (я в этом уверен на 99%), то возникает вопрос: В чем именно состоит «концепция создания WinFinder»? Либо это IID, чуть более продвинутая, чем у остальных, либо использование тактической составляющей ОФ при отсечениях (см. tower_dynamics->white_encoded_xray), либо что-то еще. Интересно узнать мнение поизучавших исходники.
|
|
Profile
Reply
|
italy_numero1
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 03.11.09 05:49. Post subject: Quote: #define white..
Quote: #define white_minor_stone (8<<2) #define black_minor_stone (16<<2) another better translation for pietras is flags rather than stone
|
|
Reply
|
kranium
|
| VIP
|
Post №: 55
Joined: 17.09.09
Rank:
5
Awards:
|
|
Posted: 03.11.09 14:16. Post subject: Hi italy_numero1
great- thanks, i'll make the change
|
|
Profile
Reply
|
Carotino
|
| |
Post №: 3
Joined: 03.11.09
Rank:
0
|
|
Posted: 04.11.09 00:25. Post subject: Hello World! I am a ..
Hello World! I am a lover of chess and Linux, where can I download RobboLito 0.085d3 for my Linux-box? There is a make-file for it?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1937
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 04.11.09 09:01. Post subject: Carotino d3 no for l..
Carotino d3 no for linux
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1413
Joined: 16.09.07
Rank:
8
|
|
Posted: 04.11.09 09:10. Post subject: Банкусс, а ты в D3 п..
Банкусс, а ты в D3 получение времени на timeGetTime заменил?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1939
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 04.11.09 09:15. Post subject: NS нет uint64 clock..
NS нет uint64 clock_() { uint64 x; uint64 tt = 1000; x = GetTickCount() * tt; return x; }
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1414
Joined: 16.09.07
Rank:
8
|
|
Posted: 04.11.09 09:32. Post subject: Лучше поменять, GetT..
Лучше поменять, GetTickCount() считает не время, и какие только глюки с ним не бывают... У него одно преимущество - он быстрее, и если замена на timeGetTime не просадит NPS, то лучше заменить.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1940
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 04.11.09 10:21. Post subject: NS почитал описание ..
NS почитал описание - функции похожие, только timeGetTime более точная. при простой вставке компиляция сразу выдает ошибку Ошибка 1 error LNK2001: неразрешенный внешний символ "__imp_timeGetTime" utils.obj
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1415
Joined: 16.09.07
Rank:
8
|
|
Posted: 04.11.09 10:45. Post subject: winmm.lib ..
winmm.lib
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1416
Joined: 16.09.07
Rank:
8
|
|
Posted: 04.11.09 10:54. Post subject: http://www.gamedev.n..
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1941
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 04.11.09 11:04. Post subject: сделал, скорость так..
сделал, скорость такая же. просадок не замечено.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1417
Joined: 16.09.07
Rank:
8
|
|
Posted: 04.11.09 11:38. Post subject: Сглючило меня. Совсе..
Сглючило меня. Совсем не время выдает PerformanceCounter, GetTickCount выдает время, но с большой погрешностью. quote: | timeGetTime обращается к таймеру напрямую, читая из него текущее значение внутреннего счетчика. Функция GetTickCount обращается к переменной в памяти, которая обновляется приблизительно раз в 16 мс. Приблизительно потому, что точно невозможно: в системе могут идти какие-то высокоприоритетные процессы, которые прерывать нельзя. Но в момент обновления в счетчик добавляется не 16, а столько, сколько реально набежало |
|
.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1418
Joined: 16.09.07
Rank:
8
|
|
Posted: 04.11.09 11:46. Post subject: http://www.gamedev.r..
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1419
Joined: 16.09.07
Rank:
8
|
|
Posted: 04.11.09 12:09. Post subject: Bison пишет: В чем ..
Bison пишет: quote: | В чем именно состоит «концепция создания WinFinder»? Либо это IID, чуть более продвинутая, чем у остальных, либо использование тактической составляющей ОФ при отсечениях (см. tower_dynamics->white_encoded_xray), либо что-то еще. Интересно узнать мнение поизучавших исходники. |
| Думаю что в WF просто убраны отсечения уменьшающие тактическую силу, и добавлены продления увеличивающие. И упрощена ОФ.
|
|
Profile
Reply
|
Sentinel
|
| VIP
|
Post №: 22
Joined: 29.10.09
Rank:
0
Awards:
|
|
Posted: 04.11.09 18:50. Post subject: Time forfeits have n..
Time forfeits have nothing to do with GetTickCount(). Still 16ms is not precise enough, so in the next version there will be changes, I'm currently testing the code with QueryPerformanceCounter, and it seams to be working fine. Of course, the code compatibility is gone, but something must be scarified.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1420
Joined: 16.09.07
Rank:
8
|
|
Posted: 04.11.09 21:07. Post subject: Sentinel
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1947
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 05.11.09 10:49. Post subject: сделал версию с родн..
сделал версию с родной поддержкой RB (robbobases) и даже генератор этих таблиц скомпилялся (пришлось многопоточность вырубать) но создание файлов таблиц надо коренным образом переписывать. ибо файловые системы линукса и винды отличаются, что линуксу хорошо, то винде смерть хотя он создает несколько файлов, но на генерации коня вылетает с ошибкой. (на 3-х фигурке пробую)
|
|
Profile
Reply
|
|
Posted: 05.11.09 11:02. Post subject: bankuss пишет: сдел..
bankuss пишет: quote: | сделал версию с родной поддержкой RB (robbobases) и даже генератор этих таблиц скомпилялся |
| А ссылки будут?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1948
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 05.11.09 11:07. Post subject: Кевин смысла пока не..
Кевин смысла пока нет, файлов таблиц то нет. да и сами таблицы еще нужно сгенерить.
|
|
Profile
Reply
|
Robborriffic
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 06.11.09 03:13. Post subject: chesser at the ippol..
chesser at the ippolit wiki indicated it is a problem with Windows file names and uppercase and lowercase.
|
|
Reply
|
bankuss
|
| Black King
|
Post №: 1952
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 06.11.09 05:47. Post subject: Robborriffic Yes, it..
Robborriffic Yes, it is true
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1428
Joined: 16.09.07
Rank:
8
|
|
Posted: 08.11.09 10:37. Post subject: Эндшпильную оценку п..
Эндшпильную оценку подправить надо - Два слона у ладьи (и ладьи с пешкой) не выигрывают...
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 124
Joined: 05.09.08
Rank:
2
|
|
Posted: 08.11.09 17:35. Post subject: Оказывается у Robbol..
Оказывается у Robbolito поиск в Cut узлах продлевается больше, чем в PV. Причем это даже не продления, а увеличение глубины перебора при определненных условиях ! quote: | if (altezza * 4 <= DEPTH) SINGULAR++; |
| В общем что-то немыслимое.
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1161
Joined: 19.10.07
Rank:
6
|
|
Posted: 08.11.09 18:04. Post subject: Единственные ходы вр..
Единственные ходы вроде надо продлевать во всем дереве. Тут важнее как определять единственность хода.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 107
Joined: 20.06.09
Rank:
3
|
|
Posted: 08.11.09 18:21. Post subject: Угу, а еще в Ипполит..
Угу, а еще в Ипполите просто космический LMR в Cut узлах quote: | novel_deepness = deepness - 2 + stretches - (4 + BSR (4 + sch)); |
| Так, 20-й ход будет резаться на 4 полухода. Попробовал такую смелость в Бизоне - fail.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 125
Joined: 05.09.08
Rank:
2
|
|
Posted: 08.11.09 18:44. Post subject: Я так понимаю сила R..
Я так понимаю сила Robbo как раз и состоит в хитром сочетании продлений и сокращений. WildCat пишет: quote: | Единственные ходы вроде надо продлевать во всем дереве. |
| Полностью согласен. Или во всем, или нигде, но чтобы в Cut было, а в PV - нет, - это что-то странное! WildCat пишет: quote: | Тут важнее как определять единственность хода. |
| Она, кстати, тоже как-то подозрительно определяется. Чем меньше глубина - тем менее строгие условия на единственность. Как мне кажется должно быть или наоборот, или везде одинаково.
|
|
Profile
Reply
|
WildCat
|
| VIP
|
Post №: 1162
Joined: 19.10.07
Rank:
6
|
|
Posted: 08.11.09 20:21. Post subject: ThinkingALot но что..
ThinkingALot quote: | но чтобы в Cut было, а в PV - нет, - это что-то странное! |
| А точно в PV нет?
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 126
Joined: 05.09.08
Rank:
2
|
|
Posted: 08.11.09 21:18. Post subject: Я попробавал написат..
Я попробавал написать то же самое в PV, и time management предсказуемо перестал нормально работать - второй (от корня) узел principal variation часто просчитывался на большую глубину чем первый , соответственно прога долго думала над очевидными ходами. Думаю имеет смысл протестировать 4 версии: 1) Убрать продления связанные с altezza/heigth везде. 2) Добавить их в PV, но при этом ограничить значение SINGULAR двойкой (и в PV, и в Cut): SINGULAR = MINIMUM(SINGULAR,2); 3),4) - То же, только запускать exclusion search не с параметром beta = value - DEPTH/2 (value - DEPTH, value - 2 * DEPTH), a, например, с value - 8 (value - 16, value - 32 соответственно). Может быть именно в этом причина падения рейтинга Рыбы при увеличении контроля времени. Вообще фишка с продлениями по altezza/height усиливает тактическую зоркость, но не факт, что положительно сказывается на силе игры. Пока после 92 партий версия 3) набирает против исходной +4 Elo: +17-16=59.
|
|
Profile
Reply
|
|
Posted: 08.11.09 21:20. Post subject: ThinkingALot пишет: ..
ThinkingALot пишет: quote: | Пока после 92 партий версия 3) набирает против исходной +4 Elo: +17-16=59. |
| Смахивает на погрешность :)
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 127
Joined: 05.09.08
Rank:
2
|
|
Posted: 08.11.09 21:27. Post subject: Renegat23 пишет: Th..
Renegat23 пишет: quote: | ThinkingALot пишет: цитата: Пока после 92 партий версия 3) набирает против исходной +4 Elo: +17-16=59. Смахивает на погрешность :) |
| Не -200 пунктов - уже хорошо!
|
|
Profile
Reply
|
Bison
|
| |
Post №: 108
Joined: 20.06.09
Rank:
3
|
|
Posted: 08.11.09 23:17. Post subject: Пожалуй, самым любоп..
Пожалуй, самым любопытным и загадочным для меня в Ипполите является чередование функций WhiteCut() (или BlackCut) и WhiteAll(). Выглядит это как-то так: PV->Cut->All->Cut->...->Slide (при depth <= 3.5 ply). Причем All() на первый взгляд кажется более строгой в плане прунинга и сокращения глубины. Зачем нужно было городить такой огород - непонятно. Версия у меня пока только такая - при итеративном углублении в корне поиска таким образом происходит чередование сторон, за одну ищутся угрозы сопернику, а другая как бы защищается. Любая найденная угроза все равно запишется в trans. Звучит, конечно, довольно бредово, примерно как совет давать программе считать на четную глубину , но другого объяснения не вижу.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 128
Joined: 05.09.08
Rank:
2
|
|
Posted: 09.11.09 07:55. Post subject: Это ведь стандартная..
Это ведь стандартная фишка еще со времен Фрукта. Cut узлы лучше сильно не резать, так как это может превести к дополнительному перебору соотвествующей ветки поиска уже в PV режиме. Кстати можно попробовать схему Cut/All узлов не как во Фрукте, а как в Стрелке.
|
|
Profile
Reply
|
NS
|
| VIP
|
Post №: 1444
Joined: 16.09.07
Rank:
8
|
|
Posted: 09.11.09 09:56. Post subject: Это стандартная фишк..
Это стандартная фишка не со времен фрукта, а намного раньше...
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1963
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 09.11.09 16:31. Post subject: ребята обещали перед..
ребята обещали переделать генератор таблиц, для совместимости в виндой, посмотрим...
|
|
Profile
Reply
|
|
Posted: 09.11.09 19:40. Post subject: Отлично работает вер..
Отлично работает версия Robbolito0.084Linux правда Kn/s выводит заоблачный,причем чем больше анализирует тем больше Kn/s Интересно это ошибочно или реально?
|
|
Profile
Reply
|
Chessved
|
| |
Post №: 37
Joined: 22.10.09
Rank:
0
|
|
Posted: 09.11.09 21:00. Post subject: ms 13, можно поинтер..
ms 13, можно поинтересоваться, как запустили движок под линуксом? Это какой GUI на скрине показан?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1965
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 09.11.09 21:08. Post subject: ms 13 в 084 есть оши..
ms 13 в 084 есть ошибка в выводе, так что это глюк ))) у меня в SCID linux роболито так и не запустился.
|
|
Profile
Reply
|
|
Posted: 09.11.09 22:06. Post subject: Chessved пишет: ms ..
Chessved пишет: quote: | ms 13, можно поинтересоваться, как запустили движок под линуксом? Это какой GUI на скрине показан? |
| bankuss пишет: quote: | ms 13 в 084 есть ошибка в выводе, так что это глюк ))) у меня в SCID linux роболито так и не запустился. |
| В SCID linux у меня тоже не запустился,вернее запустился в диспечере но анализировать не хочет.Зато отлично работаетв Shredder Classic 4 Linux впрочем как и Spike,ZappaMexico2,Fruit...но не тот gui. Было бы неплохо прикрутить все это к Xboard через Polyglot там потестировать можно, если ктото в курсе обьясните плис.Поскольку я не программист если можно скомпилируйте RobboLito0.085d.Linux
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1967
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 09.11.09 22:12. Post subject: ms 13 пишет: можно ..
ms 13 пишет: quote: | можно скомпилируйте RobboLito0.085d.Linux |
|
сам можешь сделать, в папке с исходниками набери make и жди. скомпилятся 2 проги - сам роб и генератор таблиц. все, юзай. в системе должен стоять GCC, если нет, качни с репов.
|
|
Profile
Reply
|
|
Posted: 09.11.09 22:44. Post subject: Провал уже...но ничи..
Пробовал уже...но ничиго не получилось Главным образом последние строчки quote: | bits.h: Assembler messages: bits.h:15: Error: suffix or operands invalid for `bsf' bits.h:15: Error: suffix or operands invalid for `bsf' bits.h:15: Error: suffix or operands invalid for `bsf' make: *** [pila.o] Ошибка 1 ms13@ms13:~/RobboLito-0.085d$ |
|
|
|
Profile
Reply
|
Robborriffic
|
| |
Guest
Joined: 01.01.70
|
|
Posted: 10.11.09 03:09. Post subject: 32-bit: nyet -Dx86_6..
32-bit: nyet -Dx86_64 (DEFINITIONS in Makefile, bits.h)
|
|
Reply
|
bankuss
|
| Black King
|
Post №: 1968
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 10.11.09 05:55. Post subject: ms 13 убери из makef..
ms 13 убери из makefile строку -Dx86_64 в DEFINITIONS = -Dx86_64 $(HAS) -DVERSION=\"$(VERSION)\" -DCON_ROBBO_BUILD у тебя 64 хочет собраться )))
|
|
Profile
Reply
|
|
Posted: 10.11.09 09:31. Post subject: bankuss огромное спа..
bankuss огромное спасибо Теперь получилось оценку правда выводит аналогично прежней версии
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1972
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 10.11.09 09:59. Post subject: ms 13 ты какую верси..
ms 13 ты какую версию брал? RB-1 ? в ней вывод исправлен. иначе открой редактором файл sorvegliare.c найди в нем: TRASMISSIONE ("info time %d nodes %d nps %d cpuload %d\n",t, NODOS, nps * 1000,(int) ((double) u / (double) x * 1000.0)); и поставь вместо %d - %lld где time nodes и nps: info time %lld nodes %lld nps %lld сохрани изменения и снова make или скачай версию RB-1, в ней исправленный генератор таблиц, как генерить в файлике описано. 3-4 фигурка сделалась шустро, 5ку не пробовал.
|
|
Profile
Reply
|
|
Posted: 10.11.09 12:55. Post subject: Да ошибка исправлена..
Да ошибка исправлена Разобрался также с READ_THIS сгенирировал 4 фигурки,запустил генерацию 5 фигурок Эти базы вроде можно в Окнах запускать?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1973
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 10.11.09 13:24. Post subject: ms 13 если у тебя ра..
ms 13 если у тебя расширение не с 1-й буквой у таблиц , то это переделка под винду. я вечером проверю, как оно будет работать. там можно и по старому генерить и по новому. (если ты скачал RB1b)
|
|
Profile
Reply
|
|
Posted: 11.11.09 17:27. Post subject: Расширение с одной б..
Расширение с одной буквой.Собрал TotalBase 5 фигурки, и TripleBase 4 фигурки Правда как их прикрутить к Roobbolito так и не понял,прописал директорию в оболочке но движок с ними не работает Hidden text. Click here http://s59.radikal.ru/i165/0911/0b/d10b69caaeb5.jpg
|
Оболочку использовал DeepShredder11Linux .Пусть простят админы за офтоп прекрасно в ней работает Rybka3Linux и ненужно заморачиватся с engineServer и с engineClient.[hideguest]Оболочка есть на форуме,но установить ее не такто просто пред установкой нужно отредактировать исполняемый файл InstallJava заменив JREARCHIVE=jre-6u3-linux-i586.bin на JREARCHIVE=jre-6u16-linux-i586.bin.После установки Java нужно отредактировать исполняемый файл DeepShredder11 заменив JREDIR=jre1.6.0_03 на JREDIR=jre1.6.0_16.После чего запустить keygen в директории.Если нет желания заморачиватся можете скачать оболочку с установленой Java DeepShredder11Linux[/hideguest]
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1983
Joined: 15.07.07
Rank:
22
Awards:
|
|
Posted: 11.11.09 17:42. Post subject: ms 13 пишет: Правда..
ms 13 пишет: quote: | Правда как их прикрутить к Roobbolito так и не понял |
|
они должны быть в папке движка и все. он их автоматом видит. можно ручками стартануть движок в консоли - там видно как он сканирует каталоги.
|
|
Profile
Reply
|
|
Posted: 11.11.09 18:30. Post subject: bankuss спасибо! ска..
bankuss спасибо! сканирует и в консоли и в оболочке Hidden text. Click here http://s59.radikal.ru/i166/0911/4e/f6971ab65614.jpg
|
я просто их в отдельную директорию скидывал Доделаю чуть позже 5 фигурки+6 фигурки пока через VirtualBox это не реально.Можно сделать так чтобы эти базы работали в окнах?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 1985
Joined: 15.07.07
Rank:
23
Awards:
|
|
Posted: 11.11.09 19:10. Post subject: ms 13 у меня есть ви..
ms 13 у меня есть виндовая версия с таблицами, но при достижении таблиц движок вылетает с ошибкой. видимо линуксовый код не так корректно в винде работает. где подкручивать пока не ясно...
|
|
Profile
Reply
|
|
Posted: 11.11.09 20:43. Post subject: Будемс ждать :sm52: ..
Будемс ждать насчет оболочки DeepShredderLinix11 совсем забыл нужно установить еще два пакета sun-java6-bin ia32-sun-java6-bin
|
|
Profile
Reply
|
дуп
|
| |
Post №: 50
Joined: 18.03.08
Rank:
-1
|
|
Posted: 14.11.09 15:05. Post subject: Вроде как хеш в Робб..
Вроде как хеш в Робболите не очень. Из любопытства захотел посмотреть на числа-идентификаторы в хеш таблице(хеш-ключи). Имеется в ввиду во время игры. Для сравнения сделал то же самое со Стрелкой. Со Стрелкой удобно, потому что и там и там хеш "фруктового" типа и число это 32-битное. В Робе называется type_zobrist.zobrist , в Стрелке entry_t.lock. Хеш 128 мб, контроль 5 мин. После 15 хода картина такая (в скобках те же показатели у Стрелки): Всего ячеек в таблице - 8388608 (8388611). К 15 ходу равны нулю (не востребованы) - 113728 (3627). Еще проверил первую тысячу этих чисел на уникальность. Из тысячи 47 имеют повторы. Нули, конечно, не рассматривались. В Стрелке на 1000 нашлось только одно такое число. Только вот не знаю, этот последний показатель говорит о коллизиях, или нет? Но в любом случае, чем их меньше тем лучше. Партию один хрен Робболит выиграл
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 130
Joined: 05.09.08
Rank:
2
|
|
Posted: 14.11.09 15:53. Post subject: дуп пишет: Еще пров..
дуп пишет: quote: | Еще проверил первую тысячу этих чисел на уникальность. Из тысячи 47 имеют повторы. Нули, конечно, не рассматривались. В Стрелке на 1000 нашлось только одно такое число. |
| О какой уникальности идет речь? Коллизии, когда идет запись позиции, уже находящейся в хэше?
|
|
Profile
Reply
|
дуп
|
| |
Post №: 51
Joined: 18.03.08
Rank:
-1
|
|
Posted: 14.11.09 16:35. Post subject: ThinkingALot пишет: ..
ThinkingALot пишет: quote: | Коллизии, когда идет запись позиции, уже находящейся в хэше? |
| Не знаю. Что конкретно записано по тому или иному адресу я не проверял. Может быть это и не коллизии. Просто по разным адресам записан один и тот же хеш-ключ. Позиции могут быть и разными. Скорее всего так и есть. В идеале должно быть для каждой записи - свой id. Может быть то, что в Роббо это сильно не так ни о чем и не говорит. Просто мне захотелось проверить - я и проверил. Возможно это значит, что для зобриста плохо подобраны числа.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 131
Joined: 05.09.08
Rank:
2
|
|
Posted: 14.11.09 16:55. Post subject: дуп пишет: Просто п..
дуп пишет: quote: | Просто по разным адресам записан один и тот же хеш-ключ. |
| Логично. Для вычесления адреса используются младшие 32 бита DYNAMIC->zobrist, а для ключа - старшие. Но то, что случаев совпадения 47 на 1000, - это нечто невероятное! По идее должно быть 1 на 10^9.
|
|
Profile
Reply
|
дуп
|
| |
Post №: 52
Joined: 18.03.08
Rank:
-1
|
|
Posted: 14.11.09 17:03. Post subject: ThinkingALot пишет: ..
ThinkingALot пишет: quote: | Но то, что случаев совпадения 47 на 1000, - это нечто невероятное! |
| Ну а я о чем? По одним адресам часто перезаписывается, а другие лежат без дела. Очень неравномерное распределение индексов(имхо). Может попробовать взять "случайные" числа из Стрелки?
|
|
Profile
Reply
|
Carotino
|
| |
Post №: 22
Joined: 03.11.09
Rank:
0
|
|
Posted: 22.11.09 02:00. Post subject: Bankus Здравствуйте,..
Bankus Здравствуйте, простите за мой плохой русский (я итальянская) Я хотел спросить, как активировать "размышлял" по версии Linux от Robbo. E 'возможно? Спасибо.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 135
Joined: 05.09.08
Rank:
2
|
|
Posted: 25.11.09 10:56. Post subject: Оказывается Robbolit..
Оказывается Robbolito не чистит историю при каждом вызове функции поиска. Фактически это означает, что ходы сортируются произвольным образом.
|
|
Profile
Reply
|
Bison
|
| |
Post №: 115
Joined: 20.06.09
Rank:
3
|
|
Posted: 25.11.09 12:47. Post subject: ThinkingALot В Иппо..
ThinkingALot В Ипполите это не критично. Там весьма интересная функция накручивания счетчика, которой требуется меньше ходов на обрабоку новой позиции, да и ходы остаются примерно те же, всего-то 2 хода сделано с прошлой позиции.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 136
Joined: 05.09.08
Rank:
2
|
|
Posted: 06.12.09 14:07. Post subject: Еще две странности: ..
Еще две странности: 1) В корне, если произошла отсечка, перебор еще раз запускается с нулевым окном, но уже в PV режиме. Во всех остальных PV узлах такого нет. 2) В PV узлах значения из хэша могут возвращаться только в игровом режиме, когда ограниченно время на ход.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 143
Joined: 05.09.08
Rank:
2
|
|
Posted: 12.12.09 21:21. Post subject: Продления в Robbo оп..
Продления в Robbo определяются с помощью вызова exclusion search. При этом оценка всех ходов, кроме хода из хэша, должна быть не выше (beta - margin). В PV узлах этот margin в два раза меньше чем в Cut узлах. Я попробовал в Cut тот же margin, что и в PV (только в обычном поиске - если шах, то оставил двойной margin). По логике вещей скорость набора глубины должна была бы существенно упасть. Но она НЕ упала ! Кто-нибудь понимает, почему?
|
|
Profile
Reply
|
Bison
|
| |
Post №: 120
Joined: 20.06.09
Rank:
3
|
|
Posted: 12.12.09 23:13. Post subject: Возможно потому, что..
Возможно потому, что таких позиций, в которых срабатывает singular продление, не так уж и много, плюс все это дело запускается на довольно больших глубинах, поэтому и разница почти не чувствуется.
|
|
Profile
Reply
|
ThinkingALot
|
| VIP
|
Post №: 171
Joined: 05.09.08
Rank:
2
|
|
Posted: 29.12.09 19:27. Post subject: Нашел БАГ. Если доба..
Нашел БАГ. Если добавить в структуру type_dynamic переменную типа uint8, которая потом нигде не используется, то есть, по идее, не должна ни на что влиять, происходит следующее. 1) Изменяется поиск: для перебора на ту же глубину требуется другое количество узлов. 2) В определенный момент Роббо вылетает с ошибкой. Если переменная типа uint16, то все ОК. Получается, что зачем-то необходимо двухбайтовое выравнивание. А... понял в чем дело. Размер type_dynamic используется в move_make.c - там он предполагается равным 32-м байтам.
|
|
Profile
Reply
|
Sentinel
|
| VIP
|
Post №: 77
Joined: 29.10.09
Rank:
3
Awards:
|
|
Posted: 30.12.09 15:56. Post subject: ThinkingALot writes:..
ThinkingALot writes: quote: | Нашел БАГ. Если добавить в структуру type_dynamic переменную типа uint8, которая потом нигде не используется, то есть, по идее, не должна ни на что влиять, происходит следующее. |
| These dummy bytes (words) are used in hash structures for memory alignment to 64bits. It's very important thing (more then 5% in speed). I double checked it, and it's all correct.
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 2397
Joined: 15.07.07
Rank:
28
Awards:
|
|
Posted: 16.01.10 17:22. Post subject: посмотрел что засыла..
посмотрел что засылает аквариум движку: setoption name UCI_AnalyseMode value true position startposgo infinite stop setoption name UCI_AnalyseMode value false position fen ................... go infinite stop setoption name UCI_AnalyseMode value false setoption name UCI_AnalyseMode value true и т.д. что интересно постоянно шлет команду UCI_AnalyseMode, для перевода движка в режим анализа. Из опенсорсных ее только вяленый и глаурунг видят. рыбка-3 такой команды не знает. но это не суть. движок тупо запускается в бесконечный режим (режим анализа) и потом прерывается командой стоп, после этого смотрит что выдал движок и пишет в дерево. вот в этом месте у айвенго где-то что-то не то. работает явно не так, как надо.
|
|
Profile
Reply
|
immortal223
|
| administrator
|
Post №: 4227
Joined: 14.07.07
Rank:
70
|
|
Posted: 30.01.10 16:45. Post subject: А можно ли Роббобазы..
А можно ли Роббобазы пришить другой программе с открытыми исходниками? Например Вяленому?
|
|
Profile
Reply
|
bankuss
|
| Black King
|
Post №: 2629
Joined: 15.07.07
Rank:
31
Awards:
|
|
Posted: 10.02.10 18:17. Post subject: prefetch опция на ко..
prefetch опция на компиляторах MS VC просто напросто отсутствует, она имеется только в GСС: "Чтобы минимизировать задержки доступа к данным и таким образом улучшить производительность, лучше всего держать данные в ближайшей к процессору памяти. Выполнение этой задачи вручную называется предварительной выборкой. GCC поддерживает предварительную выборку данных вручную с помощью встроенной функции, называемой __builtin_prefetch. Эта функция используется для помещения данных в кэш незадолго до того как они понадобятся." так что данный ключ ничего не делает в виндозных компиляциях от MS (Visual studio). А жаль... PS нашел аналог _m_prefetch, надо проверить...
|
|
Profile
Reply
|
chesstango
|
| |
Post №: 7
Joined: 07.12.09
Rank:
0
|
|
Posted: 11.02.10 01:21. Post subject: can anybody translate to english?
or is there an available place in this forun for whom we only speak and read in English??? Thx in advance.
|
|
Profile
Reply
|
onedrey
|
| |
Post №: 195
Joined: 03.01.09
Rank:
4
|
|
Posted: 11.02.10 01:33. Post subject: chesstango http://i..
|
|
Profile
Reply
|
Replys - 251
, page:
1
2
3
4
5
6
7
8
9
10
11
12
13
All
[new only]
|
|