Тестовые позиции для таблиц окончаний

Тема в разделе "Машинное отделение", создана пользователем Kirr, 5 фев 2008.

  1. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Стартует небольшой проект по созданию набора тестовых позиций для таблиц окончаний. Смысл в том, чтобы получить набор тестовых позиций, по которым можно будет легко и быстро установить, использует определённый движок таблицы окончаний, или нет.

    Все желающие приглашаются принять участие!

    Предполагается создать два тестовых набора позиций: Сложный и простой. Сложные тесты будут требовать от движка способности использовать таблицы окончаний в поиске. Простые тесты будут тестировать способность движка получить из таблицы оценку для самой тестовой позиции.

    Страничка проекта на английском языке (пока что в виде ветки форума).

    Для участия нужно найти или придумать позицию (позиции) удовлетворяющую критериям:

    1. В позиции должен быть единственный выигрывающий ход, или единственный ничейный ход, если выигрывающих ходов нет.
    2. Позиция должна легко решаться движком имеющим доступ к определённой таблице (набору таблиц) окончаний.
    3. Позиция должна быть очень сложной для движка не имеющего доступ к этой таблице (набору таблиц), даже если доступны все остальные таблицы с тем же числом фигур.
    4. Для сложного теста позиция должна быть за пределами тестируемых таблиц. Для простого теста позиция должна быть в тестируемой таблице окончаний.
    5. Решение не должно зависеть от правила 50 ходов.
    6. Позиция должна быть по возможности легальна.

    При отправке позиций, пожалуйста указывайте авторство, а также где и когда позиция была опубликована (если была). Также очень пригодится ваш анализ позиции: Какую таблицу окончаний тестирует эта позиция (либо набор таблиц)? Какие движки вы пробовали? За какое время движки находили решение с использованием и без использования таблиц?

    Пример хорошего теста:


    Эта позиция тестирует таблицу KQKR, без неё многие движки не в состоянии найти правильный ход Bg3. Это - "сложный" тест для 4-фигурной таблицы KQKR, так как для решения требуется доступ к таблице в поиске. Эту позицию прислал Jouni Uski, автор неизвестен (мне).

    Удачи!
     
  2. VolMike
    Оффлайн

    VolMike Учаcтник

    Репутация:
    0
    Любопытно, какой движок нашел этот ход без таблиц?
     
  3. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Без таблиц Colossus 2007c предлагает 1.Bg3 после одной секунды раздумий. Впрочем, он не понимает идеи и выдаёт оценку -4.52.

    Aristarch 4.50 ставит 1.Bg3 на первую строчку после двух секунд, с оценкой -5.71. На 15-й секунде он меняет предпочтение на ход 1.Kg2. Очевидно он тоже не видит ничьей.

    Возможно есть и другие движки, по случайности предпочитающие 1.Bg3 в какой-то момент. Это, конечно, недостаток теста, но подавляющее большинство движков не находят 1.Bg3 без таблиц. (Точнее я не дождался). :)

    Это если убрать таблицы совсем. Если предоставить все трёх и четырёх-фигурные таблицы, за исключением KQKR, то Rybka 2.3.2a досчитывается до 1.Bg3 за 7 минут 39 секунд (на моей машине).
     
  4. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    А у меня 5-фигурные, что делать если все программы находят Bg3 за 0 секунд?
     
  5. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Стереть их, и 4-фигурные заодно. Тогда не будут находить. :) Эта позиция для тестирования комбинации движок + 4-фигурные таблицы. При установленных 5-фигурных таблицах тест не имеет смысла. Без 5-фигурных таблиц этот тест отвечает на вопрос "использует ли движок 4-фигурную таблицу KQKR в поиске?".

    Вообще, что-то не вижу активности! Опять придётся самому всё делать. :) Сегодня придумал новый тест:



    Это "сложный" тест для 4-фигурных таблиц KQKQ, KQKR и KQKP. Если этих таблиц нет (или движок не умеет их использовать), то движок пытается съесть ладью. Единственный выигрывающий ход - 1.Bf4.
     
  6. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    The King 3.50, Gandalf 4.32g, Fruit 2.1, Fruit 2.3.1, Fritz 5.32, Fritz 7, Fritz 8, Fritz 10, Hydra v8, Ktulu 8, Frenzee dec07, Shredder 10SE, Shredder 11 UCI, Toga II 3.1.2SE, HIARCS 11.1 MP UCI. без таблиц нашли Bf4 за 0 сек.

    Это Bison, Anechka, Glaurung 2/epsilon 5, Loop 13.6, Rybka 2.3.2a, Zappa Mexico II, Spike 1.2 Turin, Nimzo 8, Junior 10.1, Fritz 11, Crafty 20.14, Comet B68, Chess Tiger 15.0 едят ладью.
     
  7. NS
    Оффлайн

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

    Репутация:
    3
    KQKR выиграна всегда (за редким исключением когда сразу меняется ферзь на ладью, либо под угрозой выигрыша ферзя дается вечный шах), чтоб программа ценила его лучше чем KQBKRP, достаточно дасть этому эндшпилю вдобавок к материалу небольшой бонус, который превысит разницу стоимости слона и пешки на седьмой. Четырехфигурные таблицы для этого не обязательны.
    Ферзь против пешки - тоже можно забить исключения с ладейной и слоновой пешкой на седьмой, чтоб ценила его слабее ферзя против ладьи.
     
  8. touron
    Оффлайн

    touron Юрий

    Репутация:
    0
    Движок Deep Shredder 11 UCI в оболочке Shredder Classic находит ход 1.Cg3 мгновенно. Не большая проблема для такого движка найти первый ход, гораздо сложнее найти план. В этом большая сложность для движков, особенно если выигрыш (или ничья) в простой позиции достигается ходов за 20-30 и нужно осуществить неочевидную стратегическую идею. Позиции для тестов легко создавать в оболочке Shredder Classic, используя специальные опции: Анализ по эндшпильной базе и Эндшпильный оракул. А проще всего ничего не выдумывать, а скачать готовую базу этюдов 58 тыс.,(4,4 Мб) открыть её в ChessBase 9 и сортировать список по заголовку "Оставшийся материал". Сразу имеем хорошую подборку тестовых позиций с минимальным количеством фигур.
     
  9. vasa
    Оффлайн

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

    Репутация:
    586
    Чё-то ссылка на бузу этюдов не фурычит :/
     
  10. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    touron, нужен ход Сf4. Как я писал выше, Shredder 11 UCI в оболочке Фриц 10 находит ход Сf4 мгновенно.
     
  11. touron
    Оффлайн

    touron Юрий

    Репутация:
    0
    Ссылка работает - только что проверял. Жить будет ещё месяц.
     
  12. touron
    Оффлайн

    touron Юрий

    Репутация:
    0
    Об чём речь? Как это - Фриц 10 находит ход 1. Се1 - f4 мгновенно?! В той позиции что выложил Kirr, правильный ход 1. Се1 - g3. Движок Дип Шрёдер 11 находит его сразу и показывает оценку 0.0, это без баз.
     
  13. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Спасибо за тест! Вредный Fruit 2.1! Я сделал улучшенную версию теста:


    Единственный выигрывающий ход - 1.Qg2, мат в 48 ходов.

    Можете потестировать? У меня Fruit 2.1 и Fritz 5.32 за минуту не справляются.

    NS, такой бонус поможет решить тест из первого поста в этой теме? Или из этого поста?

    Если найдёте какой-нибудь хороший тест, пишите в эту тему! Всё не так просто как кажется. Тест должен решаться с таблицей и не решаться без таблиц, существенным числом движков.

    Понятно что некоторые движки могут решать некоторые тесты без таблиц. Пусть даже случайно. Суть в том что нормальный движок без таблиц не сможет решить все тесты (или даже существенную часть). Кстати, если движок решает тесты без таблиц, это ведь тоже интересный показатель. Хм.. Можно, например, сделать движок, который будет в течение первых 5 секунд последовательно ставить каждый из возможных ходов на первую линию. Такой движок решит все тесты, формально. :)
     
  14. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Kirr выложил две позиции (уже три), вы говорите о разных позициях. :)
     
  15. touron
    Оффлайн

    touron Юрий

    Репутация:
    0
    Да, ту позицию некоторые движки решают. А как насчёт этой? Ход чёрных. К ничьёй ведёт только 1... Крf7. Рыба и Fritz 11 и близко не видят этого хода. Сразу его находит Shredder 11 SE, но потом почему-то отбрасывает.

     
  16. NS
    Оффлайн

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

    Репутация:
    3
    Тут, и в первом посте бонус не поможет.
     
  17. Fruit
    Оффлайн

    Fruit Александр баннер

    Репутация:
    3


    Известная позиция. Выигрвает только Kc1!! Если ход чёрных, то только 1...Rh8! и на 2Кс1...2... Rb8!! даёт ничью.
     
  18. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Без таблиц SOS 5.1 видит 1.Kc6 через 0 секунд, Pseudo 0.7c - через 1 секунду, Kiwi 0.6d - 0 секунд, Delfi 5.2 - 6 секунд. А кто автор позиции и была ли она опубликована?

    Кстати, я нашёл автора позиции из первого поста. Vitali Halberstadt, 1950, вот начальная позиция:



    После 1.Be1 Qe3 получается позиция из первого поста. Офигеть!
     
  19. VolMike
    Оффлайн

    VolMike Учаcтник

    Репутация:
    0
    Судя по всему, также выигрывает и Rf6.

    P.S Хм.. или это глюк онлайн оболочки для эндшпильных таблиц. В некоторых "выигрышных" вариантах ладья просто бездельно мотается по f вертикали.Кто что может сказать по этому поводу?
     
  20. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    Fruit и touron - а смысл вы поставили эти позиции? 4-фигурные базы не находят ход потому, что ничего в скором времени не берётся, а 5-фигурными программа уже не играет потому, что на доске всего 5 фигур, нужно больше фигур - пушечного мяса.
     
  21. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    Нет, это не глюк. Просто такое отступление ладьёй возможно, если хочешь сыграть вничью, наверное. Не выигрышный, но ещё не проигрышный ход этот Rf6.
     
  22. Fruit
    Оффлайн

    Fruit Александр баннер

    Репутация:
    3
    Это глюк. :) База показывает Rf6 kg5 Rf2 Kg4 и здесь всё-таки Кс1. Таким не хитрым способом мат отдаляется на 2(и больше) хода. :)
     
  23. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    Говорите яснее. Это НЕ глюк. Она ведь показывает: Kc1 #51, Rf6 #53. Просто накапливаются ненужные ходы.
     
  24. Fruit
    Оффлайн

    Fruit Александр баннер

    Репутация:
    3
    Я шучу...Не глюк, а особенность tablebase. Создаётся впечатление, что есть несколько способов выиграть эту позицию, однако, без хода Kc1 выигрыша там нет..... Без 5-х баз ни одна прога не найдёт этот ход.
     
  25. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    Из 50 движков правильный ход нашли только
    ===========
    Alaric 707 (0)
    Fritz 10 (0)
    Fritz 8 (2)
    The King 3.50 (3)
    Gandalf 4.32g (7)
    ===========
     
  26. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Да, похоже что выигрывает и 1.Rf6. Не идеальный тест. Вот вариант: 1.Rf6 Kg5 2.Rf2 Kg4 3.Kc1 - возвращение на главный вариант. Либо: 1.Rf6 Rb7 2.Rf2 Rb8 3.Kc1 - тоже возвращение на главный вариант. В этих двух линиях любой другой ответ чёрных проигрывает быстрее.
     
  27. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Хорошие позиции, только у Fruit два решения.

    1.Rf6 - выигрывает. Защиты нет. Упорнее всего за чёрных 1...Rb7 и 1...Kg5 - оба проигрывают через 52 хода, после возвращения на главный вариант с 3.Kc1.

    Отлично! Похоже на хороший тест!
     
  28. VolMike
    Оффлайн

    VolMike Учаcтник

    Репутация:
    0
    Вопрос в другом.
    Ошибка в том, что в некоторых вариантах, начиная с 1.Rf6 белые не выигрывают в 53 хода, как указано в таблице, что, на мой взгляд, является ошибкой этой самой таблицы.
     
  29. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    Да, вполне допускается, что в некоторых вариантах белые будут играть не корректно, но это не ошибка таблицы, а белых. Если белые будут играть правильно, то самый быстрый мат они смогут поставить в 53.
    Но они же не тестируют 4-фигурные таблицы. Таких позиций можно настругать много (для 5-фигурных с 5 фигурами). Например:
     
  30. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Какой ход, на ваш взгляд, может спасти чёрных после 1.Rf6 ? Возможно мы сейчас вместе найдём ошибку в таблице? :)
     
  31. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Ещё как тестируют. Попробуйте сами. Возьмите какой-нибудь движок использующий таблицы, например, Spike 1.2. Возьмите позицию из первого поста. Запустите движок сначала без таблиц, замерьте время за которое он найдёт решение (я - не дождался). Потом предоставьте движку 3-фигурные таблицы. Опять замерьте время на решение. (Движок нужно выгрузить и загрузить снова). Затем 4-фигурные таблицы. Замерьте время. Вы увидите что с 4-фигурными таблицами время вдруг оказалось 0 секунд. Можете попробовать то же самое добавив и 5-фигурные таблицы, время снова будет 0 секунд. Важно то, что переход от "не дождался" к "0 секунд" был при переходе от 3-фигурных таблиц к 4-фигурным. Следовательно, эта позиция тестирует именно 4-фигурные таблицы. По-хорошему эксперимент нужно повторять с несколькими движками.

    Хм.. похоже на неплохой тест. Только нужно убедиться что с 4-фигурными (и без 5-фигурных) его никто не решает.
     
  32. Kirr
    Оффлайн

    Kirr Команда форума Команда форума

    Репутация:
    8
    Без 5-фигурных таблиц, но с 4-фигурными, решение нашли: Naum 2.0 - 12 секунд, Aristarch 4.50 - 16 секунд, Rybka 2.3.2a - 18 секунд, SOS 5.1 - 29 секунд.
     
  33. VolMike
    Оффлайн

    VolMike Учаcтник

    Репутация:
    0
    Следуя одной из так называемых выигрышных веток (согласно таблице, эти ходы белых ведут к выигрышу) имеем

    1.Rf6 Kg5 2.Rf1 Kg4 3.Rf6 Kg5 4.Rf3 Kg4 5.Rf6 Kg5... - после этого белые должны иметь возможность матовать в 54-5=48 ходов любым выигрышным 6-м ходом. Почему это не наблюдается?
     
  34. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    Почему любым? Только лучшим.
     
  35. Pia
    Оффлайн

    Pia Учаcтник

    Репутация:
    0
    Я говорил о позициях из 15 и 17 постов. Не тестируют они ничего.