Этюды...

Discussion in 'Мастерская' started by krey, 12 Apr 2006.

  1. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Браво, Михаил!
    Джингл беллс!
     
  2. Crest
    Оффлайн

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

    Репутация:
    631
    Я тоже решил. Но без проверки сам себе не верю...
     
  3. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Решение #314:
    1.Bf5+ Kg5 2.Qg4+ Kf6 3.Qg6+ Ke5 4.Qe6+ Kf4 5.Qe4+ Kg5 6.Qe3+ Kf6 7.Qe6+ Kg5 8.Qg6+ Kf4 9.Qg4+ Ke5 10.Qd4+ Kxf5 11.Qf2+

    Еще несложный (относительно :)) этюд:

    Выигрыш
     
  4. krey
    Оффлайн

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

    Репутация:
    1
    Этюд решил, но, к сожалению, не сам...:rolleyes:
    1.f8Q Ra4(иначе зашахуют) 2.Ra1+ Ra4 3. Rb1 Qg5 4.Rb2!!
    Оказывается, всё для цугцванга! плохо сразу 4.Rb7? Qd5 и позиция взаимного цугцванга при ходе белых. Чёрные ходить ладьёй не могут - остаётся шах ферзём:
    4... Qd5+ 5.Rb7
    тот же цугцванг, но при ходе чёрных!
    5... Qc6 6.Kb8 Qd5 7.Ra7+
    с выигрышем.
    а вот что я придумал - но это не окончательно:

    ничья
     
  5. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    То-то и оно :)
    Удивлю, но тема - правильный мат... Попробуйте найтить :p

    В твоем этюде бросается в глаза 1.Nxe7 Rc7 2.Kf6 (или с перестановкой 2.Rd1!? Rxe7 3.Kf6...) Rxe7 3.Rd1! Kb5/b6 4.Rd4!= (3...e5 4.Rd5+)
     
  6. NS
    Оффлайн

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

    Репутация:
    3
    Сон мне приснился :)
    посчитал я kpppkppp и начал выкладывать этюды :)
     
  7. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Пешечники, конечно, вещь интересная.
    Но без превращений они иногда теряют...
    А с превращениями нужны другие базы :)

    Кстати, NS, чтобы найти найти этюд в базе (даже существующей :)) придется много попотеть - как минимум надо проанализировать и понять позицию. Плюс к тому найти линию с единственными ходами. Да к тому же чтобы было красиво и оригинально.
    Не все так просто. Но я в Вас верю :D
     
  8. NS
    Оффлайн

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

    Репутация:
    3
    Если бы реально было посчитать :( Линия с единственными ходами, и даже красивое вступление - это всё математике подвластно :)
     
  9. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Насчет алгоритма генерации - не знаю, можно ли улучшить Я.Коновала. Вроде бы на сегодняшний день самый быстродействующий и экономный...
    Насчет инструмента анализа баз - и тут пространство для творчества непаханное. Пока даже нет серьезного алгоритма поиска "зависимых" позиций (G.Haworth в стадии разработки аналогичного "Scorched Earth Algorithm" - не знаю, продвинулся ли...) А ведь такие вещи могли бы дать толчок к совершенствованию игровых программ.
     
  10. NS
    Оффлайн

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

    Репутация:
    3
    Насчет генерации самих ЭБ - наискорейшие методы все близки к пределу, а предел ретроспективного анализа (по скорости) известен.

    Насчет поиска - для примера - Рекордная позиция krbkr является готовым этюдом - на главной ветви его искать надо :) В пешечниках с этим всё еще лучше. 3+3 - рекордная получится на несколько циклов игры на поля соответствия.
     
  11. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    До Коновала тоже все так думали. Но его скорость в разы превосходит все, что раньше было известно.
    А все 6-фигурники помещаются в 300Гб, опять же не 1,5Тб налимовских.

    Сколько смотрел рекордных позиций - столько замечал, что до этюдов им далеко. Как правило где-нибудь по середине решения возникает дуаль (неоднозначность хода белых), которая все портит.
    Эх, если бы базы можно как-нибудь экономно проиндексировать на предмет зависимости позиций...
     
  12. NS
    Оффлайн

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

    Репутация:
    3
    Я могу - но только в начале февраля.
    Можешь пока правила написать? На что проверять?
     
  13. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Попробую вкратце.
    Для простоты будем рассматривать только позиции с ходом белых (wtm), где они выигрывают (1-0).
    Назовем позицию А "зависимой" от В если черные, каждый раз выбирая ходы, могут заставить белых перейти из А в В, (иначе для белых выигрыш будет потерян).
    Множество (в математическом смысле) зависимых от В позиций Z(В) можно получить, если в процессе генерации базы изменить значение В с 1-0 на 1/2 (или на 'unknown') и ту базу, которая получится сравнить с оригинальной базой. Если А зависит от В, то ее значение изменится. Все позиции с измененными значениями будут принадлежать Z(В).
    Аналогичный подход предложил G.Haworth: двигаясь в направлении "unmove" (т.е. беря назад ходы, начиная с позиции В) и учитывая ранг В (равный, например, n) перебираются все возможные позиции с рангом >n пока не достигается позиция А.

    Идеальный вариант - когда в базе каждая позиция индексируется и этот индекс передается на следующий уровень генерации. Тогда для каждой позиции можно сразу найти все ее зависимые...

    Чуть позже объясню, почему некоторые считают, что если такой алгоритм поиска зависимых позиций удастся создать, то это убьет "традиционную" композицию в пределах 6-фигурных баз.
     
  14. NS
    Оффлайн

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

    Репутация:
    3
    То есть нам нужно найти позицию, которая независима,
    То есть найти такую позицию B, что нет такой Позиции А, для выигрыша из которой мы обязаны (оппонент может заставить) Нас пройти через эту-же позицию B. Правильно?
    То есть не просто максимальный Ранг, но и...
    Только максимальный ранг вроде как раз гарантирует то, что позиция не является зависимой.
    Могу доказать :)
     
  15. NS
    Оффлайн

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

    Репутация:
    3
    Или нам нужно найти ВСЕ такие позиции B, и тогда окажется что все остальные позиции могут быть усложнены, и их можно отсечь. И тогда этюды имеет смысл искать только на полученном множестве позиций?
    Если мы по такому условию строим ЭБ изначально - то скорость построения ЭБ будет такая-же как и в двух остальных ранговых форматах (Да и безранговые строятся с той-же скоростью, только памяти меньше занимают) Если по готовым ЭБ, и причем нужно это сделать быстро - то нужно немного подумать.
     
  16. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Нет, нам как раз надо найти зависимые позиции.
    В этюдах всегда начальная позиция зависит от конечной.
    А решение этюда - последовательность зависимых позиций.
    Зависимость важна, во-первых, для отсечения незначащих, "петлевых" дуалей.
    Т.е. белые имеют в какой-то момент не один выигрывающий ход, но после всех ходов, кроме одного, черные могут заставить повторить позицию - получается "петля".
    Во-вторых, предположим, у нас есть две интересных финальных позиции для этюда В' и B''. Если можно найти такую позицию А, которая зависит от них обеих, то может родиться этюд с двумя разветвлениями-тематическими финалами...
     
  17. NS
    Оффлайн

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

    Репутация:
    3
    Теперь понял. :)
     
  18. krey
    Оффлайн

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

    Репутация:
    1
    вообще интересная проблема. и интересно посмотреть на реализацию с базами, например, Дэниэля Шаваль (Scorpio). правда я не видел у него 6-фигурных.
     
  19. NS
    Оффлайн

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

    Репутация:
    3
    А ссылка есть на правила шахматной композиции, и хотя бы на примерные критерии оценки?
     
  20. krey
    Оффлайн

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

    Репутация:
    1
  21. NS
    Оффлайн

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

    Репутация:
    3
    Спасибо!
    Уже читаю.
     
  22. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Есть даже целый Кодекс Шахматной Композиции(англ)
    Из формальных требований к этюду самый важный - единственность ходов белых с точностью до "петель".
    Автор "управляет" ходами черных, т.е. может выбирать по своему желанию и называть их тематическими.
    Совершенно необязательно, что тематические ходы черных - с максимальным из возможных рангом. Но в любом случае автор должен показывать выигрыш/ничью после каждой защиты черных.
    Упс... krey опередил :)
     
  23. krey
    Оффлайн

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

    Репутация:
    1
    мне это тоже просто интересно :)
     
  24. NS
    Оффлайн

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

    Репутация:
    3
    А есть ссылки на программы (желательно с описанием алгоритмов, хотя можно и без них) которые позволяют в автоматическом режиме искать "хорошие" позиции по базе?
     
  25. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Единственный серьезный аналитический инструмент для баз, который я знаю - Wilhelm
    У него есть возможность поиска позиции, решающейся единственным задающимся заранее ходом.
    Например, можно найти в базе krpkr все позиции с решением 1.a2-a3! или 1.e7-e8N! (если они есть).
    Затем можно просмотреть все полученное с помощью UMS (unique move sequnce) - показывает для найденной позиции самую длинную цепочку единственных ходов (беда только, что "петли" не определяются в этюдах на выигрыш).
    Можно также искать позиции для этюдов с помощью статистического анализа положения фигур, в общем всего много, но не совсем то, что нужно... Главное - нет возможности двигаться от позиции назад...
     
  26. NS
    Оффлайн

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

    Репутация:
    3
    Это не инструмент. Такая программа очень проста.
     
  27. NS
    Оффлайн

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

    Репутация:
    3
    От позиции назад - тоже пишется достаточно легко.
    Я закончу с шашками, доделаю покер, и набросаю программку.
     
  28. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Так я ж и говорю - пространство для творчества непаханное :)

    Назад, но не теряя результата!
    Также могут возникнуть проблемы с зацикливанием - петлями...
     
  29. NS
    Оффлайн

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

    Репутация:
    3
    С петлями особых проблем как раз и нет :)
    И назад, не теряя результата (если результат конечно не ничья :) ) тоже проблем нет никаких.
    Осталось найти время.
     
  30. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Удачи и успехов, Сергей!
     
  31. NS
    Оффлайн

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

    Репутация:
    3
    Сейчас главное шашки, но думаю что в число призеров не войду.
    Опять отложил на последний момент - нормальную ОФ похоже не успеваю сделать :(
     
  32. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    Кстати, мысль интересная. Пока еще слишком скудны возможности извлечения каких-бы то ни было позиций из базы. До Вильгельма находили в основном рекордные по длине, либо взаимные цугцванги. С Вильгельмом стал намного проще анализ баз и нахождение позиций с единственным выигрывающим/делающим ничью ходом.
    NS прав, с программой, делающей ходы назад, технически не сложно найти все позиции, где ход назад сделать нельзя из-за потери результата. Эти позиции "неулучшаемые", т.е. в пределах одной базы нет возможности к ним прийти из других позиций.
    Еще какие могут быть признаки, по которым можно извлекать позиции из ЭБ?

    2NS: для извлечения этюдов, на мой взгляд, нужен специфический движок по ЭБ.
    Его особенности:
    1) двусторонность - он должен уметь двигаться "назад" и "вперед" от заданной позиции.
    2) определение EUMS (effectively unique move sequence) - т.е. при движении вперед определяются (и не принимаются в расчет) "петлевые дуали". Для этого нужен алгоритм типа Scorched Earth...
    3) при движении вперед - создание дерева EUMS вариантов. Нахождение в дереве "интересных" финалов - маты, паты, превращения, повторение ходов, жертвы и т.п. Нахождение "ложных следов".
    4) при движении назад - переход к старшей базе (либо с бОльшим количеством фигур, либо с пешкой до превращения)
    5) разные "фичи", позволяющие извлекать позиции по признакам.
     
  33. NS
    Оффлайн

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

    Репутация:
    3
    Да это не движок, просто должна быть отдельная программа с удобным интерфейсом.
     
  34. Tulean
    Оффлайн

    Tulean Учаcтник

    Репутация:
    0
    В терминах шахматного программирования, NS извините меня, я не силен :)
    Конечно, о программе и речь.
     
  35. krey
    Оффлайн

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

    Репутация:
    1
    давно не было здесь ничего...

    попробуйте сделать белыми ничью