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



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


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

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


NS
VIP


Post №: 1405
Joined: 16.09.07
Rank: 6
link post  Posted: 28.10.09 12:28. Post subject: А при чем тут х? в к..


А при чем тут х? в коде вся информация есть. х Действительно uint64. И будет переполнение.

Say thanks!: 0 
Profile Reply
hardcore



Post №: 26
Joined: 09.06.08
Rank: 0
link post  Posted: 28.10.09 13:25. Post subject: Мда... Непросто все ..


Мда... Непросто все с компилятором. Подскажите пожалуйста к чему в Иппо структура type_dynamics? Ведь для хеширования есть type_hash_variated. И что за 32хбитные _7, _9, _0...? Причем первой структуры наинициализировано 16384 экземпляра, а второй, сложной, 1024.

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1896
Joined: 15.07.07
Rank: 19

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  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;
}
это ипполитовский ввод

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1897
Joined: 15.07.07
Rank: 19

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  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
}
}
это фруктовый

Say thanks!: 0 
Profile Reply
kranium
VIP


Post №: 23
Joined: 17.09.09
Rank: 3

Awards: For RobboLite!
link post  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

Say thanks!: 1 
Profile Reply
Einstein UCI



Post №: 132
Joined: 13.03.09
Rank: 1
link post  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,





Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1899
Joined: 15.07.07
Rank: 19

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 29.10.09 15:44. Post subject: kranium excellent! I..


kranium excellent! I also began to English translate, but made little

Say thanks!: 0 
Profile Reply
Azaad
Moderator


Post №: 565
Joined: 26.03.09
Rank: 5

Awards: For all the Best!!
link post  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

Say thanks!: 0 
Profile Reply
17
VIP


Post №: 529
Joined: 04.02.08
Rank: 8
link post  Posted: 29.10.09 18:15. Post subject: Вот еще одно мнение!..


Вот еще одно мнение! Denis P. Mendoza


Hidden text. Click here


Say thanks!: 0 
Profile Reply
kranium
VIP


Post №: 24
Joined: 17.09.09
Rank: 3

Awards: For RobboLite!
link post  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...

Say thanks!: 4 
Profile Reply
bankuss
Black King


Post №: 1900
Joined: 15.07.07
Rank: 19

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  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)

Say thanks!: 0 
Profile Reply
kranium
VIP


Post №: 26
Joined: 17.09.09
Rank: 3

Awards: For RobboLite!
link post  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?

Say thanks!: 0 
Profile Reply
никел
VIP


Post №: 272
Joined: 13.03.09
Rank: 3
link post  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.


Say thanks!: 0 
Profile Reply
NS
VIP


Post №: 1407
Joined: 16.09.07
Rank: 6
link post  Posted: 29.10.09 20:47. Post subject: Банкусс, нафига бало..


Банкусс, нафига бало городить весь этот огород, если достаточно было
закомментить

// if (stdin->_cnt > 0)
// return 1;
За ненадобностью, и добавить в случае консольного ввода условие на
GetNumberOfConsoleInputEvents(stdin_h, &count);
if (count &&
PeekConsoleInputA(stdin_h...

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1902
Joined: 15.07.07
Rank: 19

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 29.10.09 20:53. Post subject: NS это фабьен городи..


NS это фабьен городил, а не я. просто для примера привел код фрукта.

Say thanks!: 0 
Profile Reply
NS
VIP


Post №: 1409
Joined: 16.09.07
Rank: 6
link post  Posted: 30.10.09 10:48. Post subject: Я к тому что нет ник..


Я к тому что нет никакого смысла вставлять фруктовый код в Робболита.

Say thanks!: 0 
Profile Reply
дуп



Post №: 47
Joined: 18.03.08
Rank: -1
link post  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 элементов?

Say thanks!: 0 
Profile Reply
bankuss
Black King


Post №: 1919
Joined: 15.07.07
Rank: 21

Awards: За плодотворную работу над оптимизацией и доводкой до ума Ипполитов!!!
link post  Posted: 30.10.09 19:45. Post subject: дуп пишет: ar c = &..


дуп пишет:

 quote:
ar c[8] = "0123nbrq";

В массиве "с" не маловато ли будет 8 элементов?

присваивается именно 8, а что не так?

Say thanks!: 0 
Profile Reply
дуп



Post №: 48
Joined: 18.03.08
Rank: -1
link post  Posted: 30.10.09 20:00. Post subject: В строке "0123nb..


В строке "0123nbrq" девять символов. Девятый tipo по умолчанию '\0'. Если поменять расширение на "cpp" не скомпилируется. Компилятор выдаст ошибку "overflow" в этом месте. Хотя может тут это и не важно.

Say thanks!: 0 
Profile Reply
Osipov



Guest
Joined: 01.01.70
link post  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;
}


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