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]
|
|
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
|
Replys - 251
, page:
1
2
3
4
5
6
7
8
9
10
11
12
13
All
[new only]
|
|