Конкурс Программистов ГО: «Вычисление результата законченной партии».
Время проведения: 1 Сентября 2004 1 Января 2005
КОНКУРС ЗАВЕРШЕН. ПОБЕДИТЕЛЬ: СЕРГЕЙ УДИНЦЕВ.
Дата: 1 Января, 2005 года: Место Алгоритм Автор Всего Правильно Ошибочно Процент Время Примечания ___ DAN_1.01v_______ Melnikov A. 3078 3064 14 99.54 % 1380 Сек В/К ___ DAN_1.01p_______ Melnikov A. 3078 3048 30 99.02 % 51 Сек В/К ___ GnuGO_3.7.1_____ Authors Group 3078 2979 99 96.78 % 3045 Сек В/К 1 KUKA____________ Udincev S. 3078 2801 277 91.00 % 656 Сек Победитель 2 SEOG_01a________ Guisov M. 3078 2782 296 90.38 % 741 Сек 3 PocketGoPartner_ Lyakhovsky V. 3078 2669 409 86.71 % 6 Сек ___ Neuron_7.95_____ Melnikov A. 3078 1613 1465 52.40 % 30 Сек В/К
DAN 1.01p Версия делает только оценку позиции.
DAN 1.01v Версия делает перебор вариантов окончания партии.
Gnugo 3.7.1 Время включает расстановку камней.
Помощь участникам
Код программы на Паскале и тестовая база партий для проверки конкурсной функции. Comp_PAS.zip ( 41K )
Содержание архива:
Games Директория с тестовыми партиями.
Konkursgo.pas файл с функцией Calculatedifference
Main.dpr запуск из Delphi
Score.pas Каркас конкурсной функции.
ZLog.txt результат работы программы на Паскале
Код программы на Си++ и тестовая база партий для проверки конкурсной функции. Comp_CPP.zip ( 41K )
Содержание архива:
Games Директория с тестовыми партиями.
Konkursgo.cpp файл с функцией Calculatedifference и запуском из Visualstudio C++.
Konkursgo.h Header
Score.cpp Каркас конкурсной функции.
ZLog.txt результат работы программы на C++
4 Марта 2005 года
Алгоритму DAN версия 1.02v удалось наконец решить все партии из конкурсной базы данных.
Дата: 4 Марта, 2005 года: Место Алгоритм Автор Всего Правильно Ошибочно Процент Время ___ DAN_1.02v_______ Melnikov A. 3078 3078 0 100.00% 359 Сек
В 231 партии из 3078 алгоритму пришлось использовать перебор вариантов.
Самый длительный перебор состоял из 177672 ходов.
Самый глубокий перебор был в 72 полухода.
Распределение законченных вариантов по глубине:
То есть просуммированы все глубины на которых заканчивался перебор варианта.
Получилась такая гистограмма:
Глубина | Вариант закончен Ходом | Вариант закончен Пасом
1. N= 3, NP= 0
2. N= 100, NP= 145
3. N= 156, NP= 68
4. N= 383, NP= 94
5. N= 184, NP= 102
6. N= 615, NP= 175
7. N= 576, NP= 380
8. N= 890, NP= 859
9. N= 739, NP= 1249
10. N= 2662, NP= 1347
11. N= 1332, NP= 1003
12. N= 5634, NP= 477
13. N= 3811, NP= 277
14. N= 8332, NP= 374
15. N= 6095, NP= 495
16. N= 10077, NP= 1016
17. N= 7100, NP= 2921
18. N= 16164, NP= 4843
19. N= 7551, NP= 11571
20. N= 18653, NP= 14139
21. N= 10627, NP= 26513
22. N= 15846, NP= 24923
23. N= 14311, NP= 35282
24. N= 18595, NP= 32345
25. N= 18299, NP= 32175
26. N= 26616, NP= 26225
27. N= 6308, NP= 25119
28. N= 16142, NP= 17546
29. N= 4314, NP= 13873
30. N= 18180, NP= 12934
31. N= 6283, NP= 10196
32. N= 18905, NP= 12927
33. N= 6903, NP= 8634
34. N= 13654, NP= 11807
35. N= 10708, NP= 6664
36. N= 7106, NP= 10841
37. N= 25049, NP= 4528
38. N= 6399, NP= 8185
39. N= 23146, NP= 2966
40. N= 6339, NP= 6264
41. N= 30206, NP= 2110
42. N= 9618, NP= 7057
43. N= 16796, NP= 2168
44. N= 13877, NP= 12553
45. N= 16581, NP= 2915
46. N= 10125, NP= 15546
47. N= 10762, NP= 2427
48. N= 4388, NP= 9291
49. N= 5039, NP= 902
50. N= 1891, NP= 2021
51. N= 2431, NP= 241
52. N= 645, NP= 116
53. N= 940, NP= 149
54. N= 351, NP= 101
55. N= 817, NP= 173
56. N= 1101, NP= 362
57. N= 1671, NP= 430
58. N= 4468, NP= 1252
59. N= 2289, NP= 953
60. N= 12617, NP= 2924
61. N= 2084, NP= 1354
62. N= 21536, NP= 3832
63. N= 1640, NP= 1636
64. N= 24629, NP= 2512
65. N= 1392, NP= 775
66. N= 13621, NP= 718
67. N= 270, NP= 64
68. N= 3353, NP= 74
69. N= 33, NP= 2
70. N= 364, NP= 4
71. N= 15, NP= 1
72. N= 8, NP= 0
Competition of GO programmers: Calculating the result of the game.
Rules of the competition: CompetitionGO.doc ( 28K )
It is necessary to write a function in Pascal or C++ language.
The input of this function is array 19 by 19 of integer,
contains position of closed game played by Japanese rules.
Null in the input array means free space on the board,
1 – means black stone, 2 – means white stone.
Competition function should return the result of the game without Komi and dead stones.
Date: 1 January, 2005
Final results of the competition: Place Name Author Games Correctly Faultily Percent CalcTime Remark ___ DAN_1.01v_______ Melnikov A. 3078 3064 14 99.54 % 1380 Sec N/A ___ DAN_1.01p_______ Melnikov A. 3078 3048 30 99.02 % 51 Sec N/A ___ GnuGO_3.7.1_____ Authors Group 3078 2979 99 96.78 % 3045 Sec N/A 1 KUKA____________ Udincev S. 3078 2801 277 91.00 % 656 Sec Winner 2 SEOG_01a________ Guisov M. 3078 2782 296 90.38 % 741 Sec 3 PocketGoPartner_ Lyakhovsky V. 3078 2669 409 86.71 % 6 Sec ___ Neuron_7.95_____ Melnikov A. 3078 1613 1465 52.40 % 30 Sec N/A
DAN 1.01p Version estimates the position only.
DAN 1.01v Version searches the variants of the game finishing.
Gnugo 3.7.1 Parameter Calctime includes time for the stones disposal.
Help for participatns:
Pascal Code and Games Database for checking your Competition Function.
Comp_PAS.zip ( 41K )
Archive Content:
Games Directory with Testing Games.
Konkursgo.pas Code of the procedure Calculatedifference.
Main.dpr Programm for Delphi.
Score.pas Code of empty Competition Function.
ZLog.txt Output File.
C++ Code and Games Database for checking your Competition Function.
Comp_CPP.zip ( 41K )
Archive Content:
Games Directory with Testing Games.
Konkursgo.cpp Code of the function Calculatedifference and Main function.
Konkursgo.h Header
Score.cpp Code of empty Competition Function.
ZLog.txt Output File.
Statistics of the Competition Database:
Games= 3078
Result Statistics: Result= 3078 (Score = 3078, ByResign = 0, ByTime = 0, NotResult= 0), Math.Expect= 5.95
Histogram: Result / Games