И еще раз о дебютных книжках

Тема в разделе "Машинное отделение", создана пользователем Осипов Юрий, 7 мар 2008.

Статус темы:
Закрыта.
  1. TopicStarter Overlay

    Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    399
    Симпатии:
    475
    Репутация:
    11
    Адрес:
    Правда
    Оффлайн
    Такая мысль возникла.

    Берем готовую книжку, типа Perfect. И дальше - на основе статистики сыгранных партий своего движка по разным дебютам - расставляем в этой книжке приоритеты так, чтобы это было удобно моему движку (типа любимые дебюты при игре белыми или черными, и в зависимости от силы соперника, и в зависимости от турнирной ситуации).

    Короче - нужно понять устройство дебютных книжек для Арены, т.е. файлов типа .ABK. Можно, конечно взять бутылку водки и тогда легко разобраться в их конструкции. Но может где есть описание структуры этих файлов?
  2. Bison Учаcтник

    • Участник
    Рег.:
    18.01.2008
    Сообщения:
    49
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Не.. без бутылки не обойтись :). A не проще составить свою книгу на основе своих же партий в pgn формате?
  3. TopicStarter Overlay

    Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    399
    Симпатии:
    475
    Репутация:
    11
    Адрес:
    Правда
    Оффлайн
    PGN своих партий не подойдет. Для этого много лет работать надо.

    Я хочу проще. Знаю, например, что мой движок любит сицилианку, но терпеть не может Каро-канн, испанку или (не дай бог) русскую. И ставлю, соответственно, в книжке приоритет: в ответ на e4 - играй c5. А все следующие разветвления сицилианки - по книжке, как есть.

    Проставлять приоритеты в книжке руками - лень. Хочется автоматизировать это дело. А для этого нужно знать устройство этой самой книжки.
  4. Fruit Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    Зачем много лет? Можно же в сициланке выбрать какой-то конкретный вариант и наиграть его.
  5. TopicStarter Overlay

    Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    399
    Симпатии:
    475
    Репутация:
    11
    Адрес:
    Правда
    Оффлайн
    Одного варианта сицилианки мало - надо наиграть все варианты. Мы же не знаем, как сыграет соперник. Поэтому, приходится подходить статистически - если оказываемся на разветвлении, то идем туда, где нам чаще сопутствовала удача. Если такой статистики нет - разветвления равновероятны. До тех пор, пока не наиграем и их тоже, тогда подкорректируем.

    Другими словами, процесс совершенствования книги можно продолжать бесконечно. И здесь хотелось бы иметь возможность программным путем лазить в уже имеющуюся книгу и подгонять ее под особенности своего движка.
  6. Bison Учаcтник

    • Участник
    Рег.:
    18.01.2008
    Сообщения:
    49
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Много лет - это если вручную... А так не вижу в этом особых трудностей, несложно ту же книжку от TSCP переделать под это дело, заодно обогатив ее вариантами :). Правда весить будет много.
  7. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Использовать Perfect.ctg - это очередной плагиат.
  8. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    На чемпионате ее использовали почти все.
  9. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    perfect10.abk использовали, при этом немодифицированную.
  10. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Разве это совсем разные книги? И кто запрещает модифицировать общедоступные книги?
  11. Bison Учаcтник

    • Участник
    Рег.:
    18.01.2008
    Сообщения:
    49
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Кстати, откуда информация, что файлы .ABK позволяют расставлять приоритеты? Я всегда думал, что они варианты рандомно выдают
  12. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    perfect13.ctg и perfect 10.abk - это разные книги :)
  13. kostik Учаcтник

    • Участник
    Рег.:
    11.02.2008
    Сообщения:
    57
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    В движке Pharaon имеется, например, так называемый style-файл. Вот такого вида:

    Код:
    ;This is Pharaon Style book.
    ;For example, to make Pharaon play 1. d4 with white 
    ;and avoid the sicilian with black,
    ;uncomment the 2 followings lines:
    
    ;1. d4!
    ;1. e4 c5?
    Помимо дебютной книжки, естественно, которая может быть в принципе какой угодно.
  14. TopicStarter Overlay

    Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    399
    Симпатии:
    475
    Репутация:
    11
    Адрес:
    Правда
    Оффлайн
    Опять какая-то засада.
    Арена - бесплатная оболочка.
    Книга Perfect10.abk - бесплатная.
    В Арене есть функции модификации книги и расстановки приоритетов в дебютах.

    Но оказывается (согласно NS) - пользоваться этим нельзя.
    Там что - тоже обложено все какими-то лицензиями?
  15. thenewone Евгений Манев

    • Участник
    • Старожил
    Рег.:
    09.06.2006
    Сообщения:
    3.173
    Симпатии:
    18
    Репутация:
    1
    Адрес:
    Пловдив
    Оффлайн
    По-моему, не обложено. Если не выдавать модифицированную книгу за свою, конечно, ее можно пользовать. Так что, по-моему, тут NS перегнул палку.
  16. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    NS говорил о книгах *.ctg, а не *.abk.
  17. Fruit Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    ПЛАГИАТ - умышленное присвоение авторства на чужое произведение науки, литературы или искусства в целом или в частности. :)

    Можно подождать выхода Rybka Gui. Говорят, там будет конвертор для перевода книг из формата .ctg в .pgn.
  18. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
  19. TopicStarter Overlay

    Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    399
    Симпатии:
    475
    Репутация:
    11
    Адрес:
    Правда
    Оффлайн
    В устройстве книг .ABK я все-таки разобрался. И конвертер из ABK в PGN написал - нетрудно оказалось. Но раз уж в модификации книг авторы отказывают - черт с ними. Пойдем другим путем.
  20. Bison Учаcтник

    • Участник
    Рег.:
    18.01.2008
    Сообщения:
    49
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Вопрос почти философского характера.
    Допустим, у меня имеется книга, в которой я расставляю оценки в конечных позициях ветвей. Понятно, не сам, а с помощью автоматики. Предполагается, что книга делается для одного движка и под конкретного соперника (ну такой вот идеальный вариант). Так вот как эти самые конечные позиции оценить?! Варианты, которые приходят мне на ум:
    - Оценки эталонного движка, желательно самого сильного из доступных
    - Оценки моего собственного движка (ну или для которого книга делается)
    - Оценки движка-оппонента
    - Сумма "оценка_своего + оценка_оппонента"

    Оценка эталонного движка кажется наиболее логичным вариантом, но надо понимать, что у каждой программы свое понимание шахмат, далекое от идеала, так что не всегда объективно сильнейший ход окажется таковым и на практике.

    Есть еще вариант, который я специально упустил из-за его сложности - наиграть из каждой позиции несколько десятков партий.

    Какие будут мысли по этому поводу?
  21. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Лучше заняться усилением движка.
  22. Renegat23 Заслуженный

    • Заслуженный
    Рег.:
    08.02.2007
    Сообщения:
    1.823
    Симпатии:
    3
    Репутация:
    0
    Оффлайн
    Мне кажется или действительно после компиляции Белки и победы на чемпионате СНГ WildCat стал разговаривать немного свысока? :)
  23. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Показалось. :)
  24. Fruit Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    Bison, а стоит ли книга таких усилий?
  25. Bison Учаcтник

    • Участник
    Рег.:
    18.01.2008
    Сообщения:
    49
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    На той стадии, в которой находится мой движок - конечно нет. Но если он когда-нибудь станет "топ" , то думаю придется цепляться за каждую такую идею :). Просто мне почему-то всегда приходят мысли не из той области, в которой надо работать. А так оригинальные приоритеты для каждого соперника мне видится весьма любопытной идеей.
  26. Fruit Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    Согласен. Без "рук" прибавки в силе не будет.
  27. Kos Учаcтник

    • Участник
    Рег.:
    20.09.2007
    Сообщения:
    149
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Именно руками проставлять, другого пути нет. Чем больше труда, тем лучше результат. Хорошая дебютная книга включает в себя 30-50 тыс. приоритетов (или турнирных ходов, говоря "языком" чессбейса). Что касается книг для Арены, то настройкой оболочки можно повлиять на силу любой книги- моё впечатление от общения с Ареной. В оболочке чессбейса это сделать труднее, там если ход выделен зелёным цветом (турнирный ход), то он и будет сделан, даже если в параметрах книги поставить режим "гандикап". Непонятно, почему Чемпионат СНГ проводится под оболочкой "Арена"?
  28. TopicStarter Overlay

    Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    399
    Симпатии:
    475
    Репутация:
    11
    Адрес:
    Правда
    Оффлайн
    Все очень просто.
    Представим себе, что Стрелка сыграла 1000 партий против Рыбки 2.3.2а, причем Стрелка всегда играла белыми и выбирала в начальной позиции один из 4 ходов: g1f3, e2e4, d2d4 или c2c4.
    Получились следующие результаты:
    g1f3 : 48% очков
    e2e4 : 42%
    d2d4 : 38%
    c2c4 : 35%
    Так же можно посчитать результаты по внутренним узлам дерева дебютов.

    Что делать дальше – понятно. Пишется небольшая утилита, которая читает PGN-файл, считает проценты выигранных партий, и расставляет приоритеты в книге в соответствии с этими процентами. После этого запускаем новый турнир, в котором Стрелка будет выбирать наиболее удобные для себя продолжения, и идем спать.
    Утром берем новый PGN-файл, запускаем утилиту расстановки приоритетов, и идем на работу. Ну и т.д.

    Никакого ручного труда и излишних умственных усилий.
  29. Kos Учаcтник

    • Участник
    Рег.:
    20.09.2007
    Сообщения:
    149
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Сделайте такую книгу и приходите в Engine Room на Playchess. :) Я тоже думал, что можно так книгу делать, когда хотел удивить соперников ходом 1а3. Потом, правда, понял, что записать книгу хотя бы до 10 хода не хватит жизни, тем более проги в дебюте такую ахинею несут и надо ахинеей соперника воспользоваться. Вы хотите почти все шахматы (4 основных хода) в книгу записать? И сколько потребуется времени? Тем более, что в сицилианской защите можно сделать 41 ход "по теории" а на 42 ходу получить удар, меняющий оценку рыбы от +0.8 до -2.5, со мной такое было. Рискну предположить, что в составлении дебютной книги для программы кроме тяжёлого физического труда (проставления приоритетов или турнирных ходов) есть ещё очень много нюансов. P.S. Конвертер баз партий в PGN встроен в любую оболочку чессбейса, можно гонять проги под фрицем и получать партии в PGN.
  30. apm Учаcтник

    • Участник
    Рег.:
    16.05.2007
    Сообщения:
    119
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Покажете вариант?
  31. Kos Учаcтник

    • Участник
    Рег.:
    20.09.2007
    Сообщения:
    149
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Партия была с испанцем Армандо, более знакомым как Footbolo, Qwertyui, Wildberries, Zapchessbook и т.д. Партию найти не могу, не помню точно, когда игралась, у него и у меня много ников, мы сыграли не одну сотню партий между собой разными никами, поэтому тяжело искать. Могу привести другую партию, что нашёл- [Event "Зачётная партия, 3m + 0s"]
    [Site "Engine Room"]
    [Date "2006.07.16"]
    [White "Anapa06, Rybka 2.0 Beta 8 mp"]
    [Black "QWERTYUI"]
    [Result "0-1"]
    [ECO "B90"]
    [WhiteElo "2669"]
    [BlackElo "2760"]
    {Rybka 2.0 Beta 8 mp: 15.6 ply; 735kN/s AMD Athlon(tm) 64 X2 Dual Core
    Processor 4400+ 2531MHz, (2 threads)} 1. e4 {0}
    c5 {0} 2. Nf3 {0} d6 {0} 3. d4 {0} cxd4 {0} 4. Nxd4 {0} Nf6 {0} 5. Nc3 {0} a6 {
    0} 6. Be3 {0} e5 {0} 7. Nb3 {0} Be6 {0} 8. f3 {0} Be7 {0} 9. Qd2 {0} O-O {0}
    10. O-O-O {0} Nbd7 {0} 11. g4 {0} b5 {0} 12. g5 {0} b4 {0} 13. Ne2 {0} Ne8 {0}
    14. f4 {0} a5 {0} 15. f5 {0} a4 {0} 16. Nbd4 {0} exd4 {0} 17. Nxd4 {0} b3 {0}
    18. Kb1 {0} bxc2+ {0} 19. Nxc2 {0} Bb3 {0} 20. axb3 {0} axb3 {0} 21. Na3 {0}
    Ne5 {0} 22. h4 {0} Qb8 {0} 23. h5 {0} Ra4 {0} 24. h6 {0} g6 {0} 25. Bg2 {0} d5
    {0} 26. fxg6 {0} Bxa3 {0} 27. gxf7+ {0} Rxf7 {0} 28. g6 {0.00/12 8} hxg6 {0}
    29. h7+ {0.03/12 3} Kh8 {0} 30. bxa3 {0.03/13 2} Nf6 {0} 31. Bd4 {-0.06/12 3}
    Nc4 {0} 32. Qc3 {-0.23/12 4} Nxa3+ {(Фd6) 0} 33. Kb2 {-0.07/13 6} Nc4+ {
    (Л:d4) 0} 34. Kb1 {0.03/13 1} Qd6 {0} 35. Bf1 {0.03/13 2} Na3+ {0} 36. Kb2 {
    0.03/14 4} Nc2 {0} 37. Bc5 {-0.19/13 5} Qb8 {0} 38. Bd3 {-2.49/14 24} Ra2+ {0}
    39. Kc1 {-5.34/15 5} d4 {0} 40. Qc4 {-5.65/15 9} Ne3 {0} 41. Qb4 {-5.76/14 1}
    Qxb4 {0} 42. Bxb4 {-6.37/16 0} Nxd1 {0} 43. Rxd1 {-6.37/16 2} Rb7 {0} 44. Bc5 {
    -6.37/17 2} Rc7 {
    Anapa06,Rybka 2.0 Beta 8 mp сдается (Lag: Av=1.02s, max=2.2s) 0} 0-1
    На 28 ходу у белых закончилась книга, оценка рыбы- 0.00. Белая рыбка "сообразила", что дело плохо только на 38 ходу и оценка упала с -0.19 до -2.49 На 44 ходу я сдался в этой позиции- Чёрная рыба не затратила на обдумывание ни одной секунды (с такой книгой любой движок, даже самый слабый, мог выиграть чёрными у рыбки, "думать" то ему не пришлось :)), всё это было записано заранее в книге Армандо. А новинки на 42 ходу, меняющие оценку, в сицилианке- обычное дело.
  32. TopicStarter Overlay

    Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    399
    Симпатии:
    475
    Репутация:
    11
    Адрес:
    Правда
    Оффлайн
    Сделан первый вариант дебютной книги для Стрелки. Книга пока очень сырая и маленькая (всего на 4000 ходов), со множеством дыр. Но кое что получилось удачно.

    Запущен турнир Rybka 2.3.2a - Strelka 2.0B. Рыбка играет по книге Perfect10, Стрелка, естественно, по своей. Контроль - по минуте на 40 ходов.
    Результат после 282 партий: +71 - 63 = 148.
    Пока в пользу Рыбки. Но работа будет продолжена.
    Уверен, что в ближайшее время Рыбка будет бита.
  33. immortal223 Вячеслав

    • Участник
    Рег.:
    22.02.2006
    Сообщения:
    2.412
    Симпатии:
    15
    Репутация:
    0
    Оффлайн
    Бита только лишь книгой??
  34. Fruit Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    Ещё бы ОФ под книгу и можно уже отрываться в счёте.
  35. TopicStarter Overlay

    Осипов Юрий Учаcтник

    • Участник
    Рег.:
    18.06.2007
    Сообщения:
    399
    Симпатии:
    475
    Репутация:
    11
    Адрес:
    Правда
    Оффлайн
    Рыбка будет бита за счет многочисленных дыр в ее собственной игре, и за счет дыр в книге Perfect10. Сколько таких дыр еще не выявлено - неизвестно. Что будет, если Рыбка будет играть по другой книге - тоже неясно. Это - два направления дальнейших исследований.

    Главная прелесть ситуации в том, что программировать уже ничего не нужно. Можно спокойно курить бамбук и наблюдать, когда компьютер сам все сделает.

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

Статус темы:
Закрыта.