Тестовые позиции для движков

Discussion in 'Машинное отделение' started by akupr, 20 Mar 2006.

  1. Crest
    Оффлайн

    Crest Админ, МГ Staff Member Команда форума

    Репутация:
    649
    Элементарную позицию из поста 231 можно немного усложнить, ничего не меняя по сути:



    и получается еще одна хорошая тестовая позиция для движков.
    Ход белых. Разумеется, битая ничья. Правильная оценка = 0,00.

    Фриц 10 настаивает на выигрыше белых и выдает оценку... вы не поверите! Начинает с +6 с лишком, а потом доводит ее до +9,33. Ну, редкий тупикашка! И как такой мог выиграть у чемпиона мира?

    Дип Шреддер 10 ведет себя скромнее - всего +4,85. Но тоже смешит.

    На этот раз и маленький Спайки не оправдал ожиданий: +4,57!

    Дип Джуниор 10 сделал серьезный шаг к истине: +2,96.

    Мощный рывок к цели делают Тога 1.2 и Фрукт 2.2.1 - +0.70

    И как всегда сильнее всех Рыбка 2,2. Она через секунду дает забавную оценку +0,33 и настаивает на ней по гроб жизни. :)

    Я не нашел пока ни одной программы, которая дала бы правильную оценку этой нехитрой позиции. Между тем любой второразрядник сможет ее оценить!
     
  2. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Эта позиция не имеет никакого отношения к ОФ и к положению ферзя. Задачи мат в N ходов вообще не имеют никакого отношения к ОФ (задачи такого типа)
    Эта задача на поиск мата в 40 ходов, которую есно с полной доской фигур ни одна существующая программа решить не в состоянии.
     
  3. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Не совсем так. Предположим, в начальном положении после 1.e4 d5 доказано, что белые выигрывают.
    Это значит, что есть мат в N ходов. Дальнейшая игра - "на поиск" этого мата? Нет конечно.
    Задачи "мат в N ходов" действительно не имеют отношения к ОФ. В принципе, если выиграно, но мат длинный и вне пределов досягаемости, программа может сделать другой выигрывающий ход, с матом в N+k ходов - какая разница?
    В этюде Фроловского выигрывающий ход - единственный. Все, что должна программа сделать на первом этапе - понять как "перепрыгнуть" диагональ b8-h2. Это в пределах досягаемости...
     
  4. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Нет, все что должна сделать программа - это сосчитать на 80 полуходов.
    Оценка после хода Qh8 - не имеет никакого отношения к возможности решить этюд...
    Причем тут вообще ОФ? ОФ не влияет на выбор хода. На выбор хода влияет ОФ в конце варианта, но в конце варинта у нас должен быть мат на доске, а не ферзб на h8.
     
  5. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Да, конечно дело не в ходе Qh8. Я же просто показал, что только так ферзь может активизироваться.
    Мат на доске не будет найден - слишком длинно. Но ведь программы вообще не видят способ активизировать ферзя(!), хотя для этого им надо посчитать на 24-28 полуходов...
     
  6. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Программы и не пытаются его Активизировать. :)
    Зачем? У меня в миттельшпильной оценке вообще нет возможностей ферзя, и нет табличной оценки Ферзя.
    В оценке есть только угрозы ферзя королю соперника (правда в эндшпильной оценке централизация ферзя уже есть)
    А для программ все возникающие позиции с Ферзем и слоном против Ферзя примерно одинаковы. Если у соперника есть пешка - то надо её отъесть, либо не дать далеко продвинуться...
    То есть программа в принципе не может в такой позиции ни к чему стремиться - у неё нет точек опоры...
    Единственное что она может найти - это сам мат.
    А ферзя к королю соперника она и так подводит - только мата при этом нет.
     
  7. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Тут я не понял - какое-то противоречие...
    На доске - эндшпиль. До мата не посчитать. ОФ должна ранжировать первые ходы слона... В любом случае забираются черный конь и пешка d2.
    Разница в положении фигур (особенно ферзя) на определенной глубине программой оценивается правильно.
    Более того, после 1.Bg8 движкам, по идее, вообще ничего не остается, как искать способ активизации ферзя...
    Кстати, что говорит по этому поводу Анечка?
     
  8. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Ни Анечка, ни другие программы до мата досчитаться не могут :)
    А ферзя они активизируют после любого из трех ходов :)
    После Bg8 программы ищут способы Активизации Ферзя, и находят их - только к мату они не ведут...
    И главное - не активизировать собственного ферзя, а не дать активизировать ферзя сопернику.
    И не у всех в ОФ, даже в эндшпильной, оценивается централизация ферзя (и какой это эндшпиль при ферзях? :) )
    Анечку смогу еще раз запустить на этой позиции немного позже, но вроде ходит Bd5+
     
  9. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Кстати, в этой позиции после Bg8 - до централизации слона не так уж и просто досчитаться.
    А централизация Слона должна быть важнее, чем централизация ферзя.
     
  10. vasa
    Оффлайн

    vasa Опытный перворазрядник Staff Member Команда форума

    Репутация:
    588
    Интересная дискуссия. Взял бы только кто-нибудь на себя труд всё это суммировать в виде статьи. Хотя бы в первом приближении...
     
  11. stirlitz
    Оффлайн

    stirlitz баннер

    Репутация:
    13
    А вот интересно, найдёт ли какая-нибудь прога выигрыш за чёрных в позиции из моей партии примерно пятнадцатилетней давности?
    3k4/6p1/5p1p/7P/3b2P1/1B6/1p6/1K6 b - - 0 1

    Здесь выигрывает только 1..g6! 2.hg f5. Иначе белые сыграют Bc2, Bf5 и построят неприступную крепость. Я, будучи перворазрядником, этот выигрыш нашёл. А на моём компе ни одна из прог эту идею не находит. У меня, правда, нет самых последних версий (у меня Fritz 9, RYbka 2.1, Schredder 9, Deep Junior 8, Toga II 1.1)...
     
  12. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3


    3k4/6p1/5p1p/7P/3b2P1/1B6/1p6/1K6 b - - 0 1

    Analysis by Rybka 2.2n2 mp 32-bit :

    1...Крd7
    µ (-0.92) 2 00:00:00
    1...Крd7
    µ (-1.06) 3 00:00:00
    1...Крd7
    µ (-1.03) 4 00:00:00
    1...Крd7 2.Сc2
    µ (-1.17) 5 00:00:00
    1...Крd7 2.Сc2 Крd6
    µ (-1.14) 6 00:00:00 2тП
    1...Крd7 2.Сc2 Крd6 3.Сe4
    µ (-1.17) 7 00:00:00 2тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5
    µ (-1.09) 8 00:00:00 5тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5
    µ (-1.19) 9 00:00:00 9тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4
    µ (-1.18) 10 00:00:00 13тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6
    µ (-1.19) 11 00:00:00 21тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3
    µ (-1.18) 12 00:00:00 38тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7
    µ (-1.19) 13 00:00:00 58тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7 Крe5
    µ (-1.18) 14 00:00:01 98тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7 Крe5 7.Сf5
    µ (-1.18) 15 00:00:01 145тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7 Крe5 7.Сf5 Сd4 8.Сd3
    µ (-1.18) 16 00:00:02 221тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7 Крe5 7.Сf5 Сd4 8.Сd3
    µ (-1.18) 17 00:00:03 345тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7 Крe5 7.Сf5 Сd4 8.Сd3
    µ (-1.18) 18 00:00:05 561тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7 Крe5 7.Сf5 Сd4 8.Сd3
    µ (-1.18) 19 00:00:09 884тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7 Крe5 7.Сf5 Сd4 8.Сd3
    µ (-1.18) 20 00:00:14 1377тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7 Крe5 7.Сf5 Сd4 8.Сd3
    µ (-1.18) 21 00:00:20 1988тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Сe6 Сc3 6.Сd7 Крe5 7.Сf5 Сd4 8.Сd3
    µ (-1.18) 22 00:00:29 2897тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Крa2 Сc3 6.Крb1 Сe5 7.Сe6 Сc3 8.Сd7
    µ (-1.18) 23 00:00:44 4510тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Крa2 Сc3 6.Крb1 Сe5 7.Сc8 Крe3 8.Сe6
    µ (-1.18) 24 00:01:04 6472тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Крa2 Сc3 6.Крb1 Сe5 7.Сc8 Крe3 8.Сe6
    µ (-1.18) 25 00:01:34 9429тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Крa2 Сc3 6.Крb1 Сe5 7.Крa2 Крf3 8.Крb1
    µ (-1.18) 26 00:02:24 14702тП
    1...Крd7 2.Сc2 Крd6 3.Сe4 Крe5 4.Сf5 Крf4 5.Крa2 Сc3 6.Крb1 Сe5 7.Крa2 Крf3 8.Крb1
    µ (-1.18) 27 00:03:31 21611тП
    1...g6 2.hxg6 f5 3.gxf5 h5 4.g7 Сxg7 5.Сd1 h4 6.Сg4 Сe5 7.Крc2 Крe7 8.Сh3
    -+ (-2.08) 27 00:05:00 33331тП

    1...g6 2.hxg6 f5 3.gxf5 h5 4.g7 Сxg7 5.Сd1 h4 6.Сg4 Сe5 7.Крc2 Крe7 8.Сh3
    -+ (-2.08) 28 00:05:29 37635тП
    1...g6 2.hxg6 f5 3.gxf5 h5 4.g7 Сxg7 5.Сd1 h4 6.Сg4 Сe5 7.Крc2 Крe7 8.Сh3
    -+ (-2.08) 29 00:06:50 47797тП
     
  13. stirlitz
    Оффлайн

    stirlitz баннер

    Репутация:
    13
    Нашла всё-таки! Скачиваю версию 2.2... :)
     
  14. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Это к специалисту по компьютерным шахматам. :)
    Да и суммировать вроде пока нечего. Для меня вообще загадка как программы без ЭБ играют эндшпиль.
    Но ясно, что много ошибок делается в узловые моменты, когда до мата или выигрыша материала не досчитать...
    Также ясно, что даже 5-фигурные эндшпили могут быть сложны, а ведь перед ними были окончания в 6-7-8 и т.д. фигур. Значит, сложности возрастают на порядки...
     
  15. drowsy
    Оффлайн

    drowsy Учаcтник

    Репутация:
    0
    сложность, мне кажется, как раз падает. Просто ошибки заметнее.
     
  16. vasa
    Оффлайн

    vasa Опытный перворазрядник Staff Member Команда форума

    Репутация:
    588
    Красиво, чьорт побьери!
    +64
     
  17. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Чтоб программа решала эту позицию в неё необходимо добавить одно простое знание...
    Две проходные в разноцвете. Добавляется легко. Работать будет. Анечке для решения нехватает Дельты в 0.3 пешки. Если дадим признак - отсутствие двух отстающих друг от друга проходных в -0.3 пешки, то программа вышеприведенную позицию сможет решать.
    У меня такая идея появилась почти 20 лет назад, когда я смотрел на ужасную игру Psion-а в разноцвете.
    Но в Анечку добавить не успел, тем более основные проигрыши в Эндшпиле - это ладейные эндшпиля с большим числом пешек. Их нужно усиливать в первую очередь (так-же как и пешечные эндшпиля, так как много теряется очков из-за неправильного размена ладей)
     
  18. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Есть как минимум четыре варианта:
    - многофигурный эндшпиль простой (посчитать программа может полностью до любого перехода в младший эндшпиль) и получающиеся из него младшие эндшпили тоже простые;
    - многофигурный простой, среди младших есть сложные;
    - многофигурный сложный, младшие простые;
    - и много- и мало-фигурные все сложные...
     
  19. stirlitz
    Оффлайн

    stirlitz баннер

    Репутация:
    13
    Установил себе Rybka 2.2n2 mp. Ну не находит она 1...g6, хоть ты убей её.
    New game - Rybka 2.1c mp 32-bit
    3k4/6p1/5p1p/7P/3b2P1/1B6/1p6/1K6 b - - 0 1

    Analysis by Rybka 2.2n2 mp 32-bit :

    1. µ (-1.18): 1...Kd7 2.Bc2 Kc6 3.Be4+ Kd6 4.Bg6 Be5 5.Bf5 Kc5 6.Bc2 Kd6 7.Be4 Kc5 8.Bd3
    2. µ (-1.18): 1...Kc7 2.Bc2 Kc6 3.Be4+ Kd6 4.Bg6 Be5 5.Bf5 Kc5 6.Bc2 Kd6 7.Be4 Kc5 8.Bd3
    3. µ (-1.18): 1...Ke7 2.Bc2
    4. µ (-1.18): 1...Be5 2.Bc2 Kc7 3.Bg6 Kd6 4.Bf5 Kc5 5.Bc2 Kd6 6.Be4 Kc5 7.Bd3 Kd6 8.Bf5
    5. µ (-1.18): 1...Bc3 2.Bc2 Kd7 3.Be4 Bd4 4.Bc2
    6. µ (-1.18): 1...Ke8 2.Bc2 Kd7 3.Bg6 Kc7 4.Bd3 Kd6 5.Bg6 Be5 6.Bf5 Kc5 7.Bc2 Kd6 8.Be4
    Это после 10 минут обдумывания.
    NS, как такое может быть?
     
  20. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Хеш, я поставил Гиг Хеша. Он достаточно сильно сказывается в Эндшпиле.
    MultiPV - тоже сильно замедляет расчет, лучше оставить один вариант.
    Рыбка досчиталась до глубины 27?
     
  21. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Если у меня решала за 5 минут на двух ядрах - то если комп послабее, поставлено меньше Хеша, да еще включен multiPV на 6 вариантов - то может потребоваться для решения и несколько часов :)
     
  22. stirlitz
    Оффлайн

    stirlitz баннер

    Репутация:
    13
    Тьфу ты! Я стормозил. Почему-то мне показалось, что у Вас за пять секунд нашла. Если пять минут, то тогда понятно. Комп у меня действительно слабенький (1.2 GHz) и оперативки только 256MB. Так что она долго будет решать.... :)
    Глубина у неё была 24, а хэш я ставил 150MB
     
  23. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Если отключить multiPV - то за пол-часа решит :)
     
  24. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    У меня - 42 минуты (42:40). Комп еще слабее, чем у легендарного разведчика :)
    Хэш - 64Мб.
    Рыбка 2.2n2 "не мульти"
    Вопросов два:
    - почему у меня правильное решение находится на 26м полуходе, а не на 27м как у NS?
    - оценка 1...Kd7 все время -1.14 (не -1.18), а 1...g6 -2.13 (не -2.08)
    Значит ли это, что разница между версиями 2.2n2 и 2.2n2 mp не только в адаптации к "мульти"?
     
  25. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Мульти всегда считает по-другому (на двух ядрах), на одном ядре должна считать так-же как и обыкновенная версия.
    И у движка всегда есть какая-то случайность в выборе хода, и так-же влияет Хеш.
    Решение легко может находиться на разной глубине - даже одним и тем-же движком, с одинаковыми настройками.
    Так что разница только в Адаптации :)
     
  26. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Но ведь у Штирлица (наверно машина не-мульти) оценивает -1.18. И версия Рыбки "mp" - не как у меня, и оценка...
    Наверно, адаптация и приводит к разнице в оценке.
    На плейчессе если играют две одинаковые версии, разницы нет, а если версии разные - оценка немного отличается...
     
  27. Мобуту
    Оффлайн

    Мобуту спаситель нации баннер

    Репутация:
    150
    Примеры с неправильными оценками меня не впечатляют. Гораздо интереснее примеры с неправильными ходами, предлагаемыми движками. А вот ходы-то за слабейшую сторону в приведённых Крестом позициях Фриц будет делать правильные. Он вообще крайне редко делает в простых эндшпилях слабые ходы.
     
  28. Мобуту
    Оффлайн

    Мобуту спаситель нации баннер

    Репутация:
    150
    2 Stirlitz: надо давать больше времени :) Рыбке на моей машине понадобилось 23 минуты, Фрицу 10 - вдвое больше. Оба движка справляются. А Джуниора я даже проверять не стал. Не хватало ещё переводить на него машинное время!
     
  29. klf
    Оффлайн

    klf баннер

    Репутация:
    0
    Решил проверить, найдет ли Шреддер10 вариант 1...g6 2.hxg6 f5.
    Нашел... Через 12 часов 26 минут.
    37/67 глубина анализа, 30674 МС позиций.
    На компе 1,86 Ггц, 512 ОЗУ.
    Хэш 73mb, отключенный multiPV
     
  30. miptus
    Оффлайн

    miptus баннер

    Репутация:
    5
    Проверьте движки на этой позиции:
    r1r3k1/2qb1ppp/4p3/pn1pP3/1p3PPP/1NnBQ3/PPPR1B2/1K5R w - - 0 2

    Найдет ли хоть один движок единственный не проигрывающий ход?
     
  31. krey
    Оффлайн

    krey Михаил Кройтор Staff Member Команда форума

    Репутация:
    1

    ход белых.
    позиция miptus
     
  32. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    А как узнать что движок решил её правильно?
    у меня, через 18 минут обдумывания программа ходит bc3

    r1r3k1/2qb1ppp/4p3/pn1pP3/1p3PPP/1NnBQ3/PPPR1B2/1K5R w - - 0 1

    Analysis by Anechka 0.08:
    2.Крa1 a4 3.Кd4 Крh8 4.Кxb5 Сxb5 5.Фb6 a3 6.b3 g6
    = (-0.04) 16 00:09:24 143мП
    2.bxc3 Кa3+ 3.Крc1 bxc3 4.Лdd1 Фb8 5.Сe1 Фb4 6.Фd4 Фxd4 7.Кxd4 Лab8 8.Кb3 a4 9.Сxc3 Лxc3 10.Крb2 axb3 11.Крxc3
    = (0.01) 16 00:17:53 268мП
    2.bxc3 Кa3+ 3.Крc1 bxc3 4.Лdd1 Фb8 5.Сe1 Фb4 6.Фd4 Фxd4 7.Кxd4 Лab8 8.Кb3 a4 9.Сxc3 axb3 10.cxb3 h5 11.Крb2 hxg4
    = (0.04) 17 00:31:27 466мП
     
  33. miptus
    Оффлайн

    miptus баннер

    Репутация:
    5
    bxc3 проигрывает после 2...bc 3.Rdd1 a4 4.Nc5 d4 5.Qe4 Qxc5 6.Qxh7 Kf8 7.Ka1 Bc6! и потом Bd5, Qa3
    Интересно находят ли программы хотя бы 7...Bc6!
     
  34. NS
    Оффлайн

    NS Нефёдов Сергей баннер

    Репутация:
    3
    Подожду пока досчитается :)
     
  35. klf
    Оффлайн

    klf баннер

    Репутация:
    0
    На глубине 19 Шреддер10 дает 1. bc bc 2.Rdd1 a4 3. Kd4 (-1.42)