Новости GreKo

Тема в разделе "Машинное отделение", создана пользователем WinPooh, 2 май 2006.

  1. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    На первый взгляд прирост хороший
  2. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
  3. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Турнир всех известных мне UCI движков с открытыми исходными текстами на C
    Intel(R) Pentium(R) 4 3.00GHz 2048Mb
    Arena 1.99beta4
    Time control: 1'+1"
    Book: "Perfect v10.abk" - half move 12
    (выбор железа и контроль времени обусловлен тем, что тестирование проводится с целью выбора двигателей для переноса на PocketPC)

    26: GreKo 5.7 422.0/980
    32: GreKo 5.6 338.5/905
    33: GreKo 5.5 295.5/905
  4. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    Владимир,
    Хочу подкинуть Вам идею, которая, возможно, улучшит ваш движок (вернее избавит от одного изъяна), а быть может и нет :)
    Есть подозрение, что Вам мешают жить коллизии в transposition таблице

    В свое время я потратил некоторое время на изучение хэша транспозиции и могу сказать следующее
    1) Вы храните и общий хеш и пешечный в одном 64битном значении, 32 старших бита только для пешек, те, если двигать только фигуры, то у Вас для них получается всего 32битный хэш. Это по моим тестам - катастрофически мало. Высокая частота коллизий Вам, мне кажется, гарантирована.
    Я советую использовать как у всех отдельный полноценный 64бит хеш позиции и отдельный 32бит хеш для пешек.

    2) Вы получаете набор случайных значений псевдогенератором случайных чисел.
    Я делал так. Затем тестировал получившийся набор значений на коллизии в различных сочетаниях, в моих специфических тестах такие наборы имели 30-50 коллизий. Когда же я перешел на генерацию более хорошим генератором ( CryptGenRandom например) количество коллизий упало в разы ( 10-5).
    Попробуйте получить хороший набор, оттестировать его и сохранить в коде программы.

    Вот. Это все несложно. Может быть захотите попробовать.
    Извините, если я неправильно понял Вашу программу.
  5. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    Спасибо, попробую и то и другое.
  6. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    5.7.1 сыграл уже 312 игр, набрал 129 очков = 41.35%
    у 5.7 426.5/986=43.26%
    счёт в личных встречах 4.5-1.5 в пользу 5.7 (4-1-1)
    Может ошибка в PVS была доброкачественной? :/
  7. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    Ошибка была в том, что все ходы в узле сразу смотрелись с нулевым окном, независимо от того, нашли мы PV или нет. Думаю, что это всё-таки неправильно. Был исправлен ровно один байт - 0 на 1 в проверке счётчика ходов. Результат может быть статистической флуктуацией. У меня флуктуация в другую сторону - см. страницу тестов на сайте Греки.
  8. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    С каким контролем Вы тестируете GreKу?
  9. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    1+1, по 10 партий против 12 разных противников.
    Знаю, что мало - но надо же когда-то остановиться :)
  10. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    У меня сейчас 5.7.1 играет против 50 противников (5.7 со всеми, исключая 5.7.1, сыграл), по 20 партий...
    Значит, при равных контролях, должно быть поточнее.
    Пока у 5.7.1 144,0/354 40,68%
    5.7 427,5/987 43,31%
    счёт в личных встречах 5.5-1.5 в пользу 5.7 (5-1-1)

    Без учёта личных встреч:
    5.7.1 142,5/347 41,07%
    5.7 422,0/980 43,06%

    С каждым кругом разрыв пока увеличивается.
  11. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    Значит, ей положено так.
    Что поделаешь, возвращать очевидную ошибку обратно у меня мышка не поворачивается :)
  12. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
  13. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Итого:

    5.7 436.0/1000
    5.7.1 409.5/1000

    Счёт в личных встречах 14.0-6.0 в пользу 5.7 (13-5-2)

    Без учёта личных встреч:
    5.7 422,0/980 43,06%
    5.7.1 403.5/980 41,17%
  14. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    В общем, всё в пределах погрешности :)
    Корень из 1000 это 31, разница в очках - меньше.

    Что говорит bayeselo?
  15. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Код:
    Elostat:
    ...
    32 GreKo 5.7        2510
    ...
    39 GreKo 5.7.1        2491
    40 GreKo 5.6        2472
    41 GreKo 5.5        2434
    ...
  16. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    Вот теперь уже точно:
    http://wbec-ridderkerk.nl/html/promotion.htm

    Код:
     Promo D: (3rd(green) - 4th division)
    
    OPTERON-A, 2008.06.14 - 2008.06.24
                          Score     Hori GreK EXch Phil Pups Ant  Knig AICE
    ————————————————————————————————————
     1: Horizon 4.4     17.5 / 28   XXXX =011 1110 1=01 =1== 0110 =10= 1110
     2: GreKo 5.7.1     15.5 / 28   =100 XXXX 1011 =100 =00= 10=0 0111 1111
     3: EXchess 5.01b   15.0 / 28   0001 0100 XXXX =101 11== 101= 110= =101
     4: Philidor 1.1.0  14.0 / 28   0=10 =011 =010 XXXX =1=0 ===1 1100 1100
     5: Pupsi 0.19      13.0 / 28   =0== =11= 00== =0=1 XXXX 1=10 0=== =010
     6: Ant 2006-F      13.0 / 28   1001 01=1 010= ===0 0=01 XXXX 010= 011=
     7: Knightx 1.92    13.0 / 28   =01= 1000 001= 0011 1=== 101= XXXX 010=
     8: AICE 0.99.2     11.0 / 28   0001 0000 =010 0011 =101 100= 101= XXXX
    ————————————————————————————————————
    112 games: +43 =30 -39
  17. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
  18. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    Обновил версию до 5.8.5:
    http://greko.chess.googlepages.com/greko-5.8.5.zip

    Из нового:

    * Магические битборды
    * Генератор полностью корректных ходов
    * Небольшие изменения в поиске

    В тактических заданиях действует вроде бы лучше; как с общей силой игры - тесты покажут :)
  19. Shark Учаcтник

    • Участник
    Рег.:
    30.06.2007
    Сообщения:
    124
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Барнаул
    Оффлайн
    С нетерпением ждем результаты тестов.
    Рад что Greko в последнее время активно развивается.
  20. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    3
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    А почему ничего не слышно о движке Shark?
  21. thenewone Евгений Манев

    • Участник
    • Старожил
    Рег.:
    09.06.2006
    Сообщения:
    3.173
    Симпатии:
    17
    Репутация:
    1
    Адрес:
    Пловдив
    Оффлайн
    А что за движок, этот Shark?

    [edit]Неужели этот:
    Shark is network based deep search meta engine. It is based on unique idea by which it reaches to depth of 25+ easily with the help of only 6 CPUs in less than a minute.
  22. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    3
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Нет, не этот.
  23. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    Вот первые прикидочные результаты в блиц "1+1":

    Код:
        Engine            Score            Gr
    01: GreKo 5.8.5       64.5/120 ·········· 
    02: Delfi 5.2         8.0/10   11111=11=0 
    02: Fruit 2.1         8.0/10   1011=1=111 
    04: Crafty 19.20      7.5/10   010111111= 
    05: Olithink 5.13     6.0/10   11101=010= 
    06: Phalanx XXII      4.5/10   110=010100 
    07: Kiwi 0.6d         3.5/10   000000111= 
    07: Scidlet 3.6.24    3.5/10   0===01=0=0 
    07: xpdnt 080103      3.5/10   00===01==0 
    10: GNUChess 4TM      3.0/10   1000=1000= 
    10: Resp 0.19         3.0/10   0010010010 
    12: ExChess 5.01 beta 2.5/10   0==0001=00 
    12: Beowulf 2.4       2.5/10   0001=10000
    Код:
    Rank Name                Elo    +    - games score oppo. draws 
       1 Delfi 5.2          2735  143  115    25   84%  2478   16% 
       2 Fruit 2.1          2700  136  113    25   82%  2470   20% 
       3 Crafty 19.20       2613  128  115    25   68%  2466    8% 
       4 GreKo 5.8.5        2485   51   51   120   54%  2461   21% 
       5 Kiwi 0.6d          2465  105  104    25   52%  2459   32% 
       6 Olithink 5.13      2457  111  111    25   48%  2475   16% 
       7 GreKo 5.8          2456   51   51   120   50%  2461   18% 
       8 Phalanx XXII       2437  115  119    25   46%  2467    4% 
       9 Resp 0.19          2413  114  120    25   42%  2475    4% 
      10 xpdnt 080103       2406  105  109    25   42%  2461   28% 
      11 Scidlet 3.6.24     2394  105  111    25   38%  2475   28% 
      12 ExChess 5.01 beta  2344  105  115    25   30%  2479   28% 
      13 GNUChess 4TM       2304  105  117    25   26%  2462   28% 
      14 Beowulf 2.4        2269  112  129    25   24%  2455   16%
  24. дуп Учаcтник

    • Участник
    Рег.:
    11.09.2007
    Сообщения:
    113
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Великий Новгород
    Оффлайн
    Код:
          if (pentry->type == HASH_EXACT)
        return hash_eval;
    Это из Греко, функции поиска. Если флаг в хеше "EXACT" оценка возвращается сразу. Я чего спросить хотел: Я когда пытался так делать, и в шашках, теперь в шахматах, никакого улучшения почему то не замечал, даже вроде хуже становилось. А Греке это точно что-то дает? Ну то есть если закомментировать эти две строчки станет хуже?
  25. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Просто таких оценок мало - они получаются только в PV ветвях.
    Улучшения конечно есть, например в режиме анализа программа не теряет точные оценки.
  26. дуп Учаcтник

    • Участник
    Рег.:
    11.09.2007
    Сообщения:
    113
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Великий Новгород
    Оффлайн
    Спасибо.
  27. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
  28. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Вернулся из отпуска, приступаю к тестированию новых версий :)
  29. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Что-то не то с GreKами (1+1)
    Код:
     36 GreKo 5.7        : 2464   17  17  1376    42.4 %   2518   14.0 %
    ...
     44 GreKo 5.7.1      : 2454   19  19  1180    43.6 %   2498   13.2 %
     45 GreKo 5.9        : 2432   21  21  1000    39.0 %   2510   12.7 %
     46 GreKo 5.6        : 2431   20  20  1080    38.1 %   2516   15.1 %
    ...
     48 GreKo 5.5        : 2386   19  20  1180    34.3 %   2499   11.8 %
    Личные встречи:
    Код:
    1: GreKo 5.7        68.5/120
    2: GreKo 5.7.1      68.0/120
    3: GreKo 5.8        66.5/120
    4: GreKo 5.8.5      64.0/120
    5: GreKo 5.6        63.5/120
    6: GreKo 5.9        60.5/120
    7: GreKo 5.5        29.0/120
  30. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    Интересные результаты.
  31. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    saldom, какой набор оппонентов использовался?

    120 партий в личных встречах не говорят вообще ни о чём. 1000+ партий всего - лучше, но всё равно маловато для сравнения настолько близких друг к другу версий.
  32. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Часть оппонентов тут:
    http://raitpref.hotbox.ru/ct-arena-uci-c.htm
    но таблица давно не обновлялась... Сейчас заканчивается очередной круг, на днях обновлю.
    B первой таблице видим, что GreKи разных версий сыграли по 1000 и более партий, там картина с новыми версиями аналогичная :(
  33. Kirr Администратор

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    1.208
    Симпатии:
    22
    Репутация:
    8
    Оффлайн
    Спасибо, saldom, жду обновления! Из числа оппонентов лучше исключить все версии фрукта, тоги и глаурунга. Я бы рекомендовал использовать только движки играющие в силу Греки плюс минус 200 пунктов. (Если ставится цель сравнить версии Греки). Если есть возможность, лучше наиграть тыщ по пять партий каждой версией. Хотя бы по 2-3 тысячи партий.
  34. Aleksandr Sh. Учаcтник

    • Участник
    Рег.:
    15.01.2007
    Сообщения:
    129
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Цель другая :( тестирование UCI двигателей с открытыми исходными текстами на языке Си, для возможного дальнейшего переноса их на платформу Pocket PC :)
    Поэтому тестируются все известные версии.
  35. TopicStarter Overlay

    WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.467
    Симпатии:
    3.055
    Репутация:
    94
    Адрес:
    Москва
    Оффлайн
    Кстати, о переносе. В нынешней версии реализация магических битбордов сделана "в лоб", с достаточно большими таблицами - по 10/12 бит на каждое поле (8 * 64 * 2^12 байт для ладьи, 8 * 64 * 2^10 для слона). Если расход памяти критичен, можно скомпилировать Греку без #define MAGIC (в файле bitboards.h) - будет процентов на 5 медленнее, но экономичнее по памяти.

Поделиться этой страницей