Этюды...

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

  1. Tulean Учаcтник

    • Участник
    Member Since:
    03.07.2006
    Message Count:
    577
    Likes Received:
    0
    Репутация:
    0
    Оффлайн
    Браво, Михаил!
    Джингл беллс!
  2. Crest Админ, МГ

    • Команда форума
    Member Since:
    05.02.2006
    Message Count:
    57.260
    Likes Received:
    21.169
    Репутация:
    631
    Location:
    Москва, Россия
    Оффлайн
    Я тоже решил. Но без проверки сам себе не верю...
  3. Tulean Учаcтник

    • Участник
    Member Since:
    03.07.2006
    Message Count:
    577
    Likes Received:
    0
    Репутация:
    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. TopicStarter Overlay

    krey Михаил Кройтор

    • Команда форума
    Member Since:
    10.04.2006
    Message Count:
    3.709
    Likes Received:
    50
    Репутация:
    1
    Location:
    Кишинев
    Оффлайн
    Этюд решил, но, к сожалению, не сам...: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 Учаcтник

    • Участник
    Member Since:
    03.07.2006
    Message Count:
    577
    Likes Received:
    0
    Репутация:
    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 Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Сон мне приснился :)
    посчитал я kpppkppp и начал выкладывать этюды :)
  7. Tulean Учаcтник

    • Участник
    Member Since:
    03.07.2006
    Message Count:
    577
    Likes Received:
    0
    Репутация:
    0
    Оффлайн
    Пешечники, конечно, вещь интересная.
    Но без превращений они иногда теряют...
    А с превращениями нужны другие базы :)

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Если бы реально было посчитать :( Линия с единственными ходами, и даже красивое вступление - это всё математике подвластно :)
  9. Tulean Учаcтник

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Насчет генерации самих ЭБ - наискорейшие методы все близки к пределу, а предел ретроспективного анализа (по скорости) известен.

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

    • Участник
    Member Since:
    03.07.2006
    Message Count:
    577
    Likes Received:
    0
    Репутация:
    0
    Оффлайн
    До Коновала тоже все так думали. Но его скорость в разы превосходит все, что раньше было известно.
    А все 6-фигурники помещаются в 300Гб, опять же не 1,5Тб налимовских.

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Я могу - но только в начале февраля.
    Можешь пока правила написать? На что проверять?
  13. Tulean Учаcтник

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

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

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    То есть нам нужно найти позицию, которая независима,
    То есть найти такую позицию B, что нет такой Позиции А, для выигрыша из которой мы обязаны (оппонент может заставить) Нас пройти через эту-же позицию B. Правильно?
    То есть не просто максимальный Ранг, но и...
    Только максимальный ранг вроде как раз гарантирует то, что позиция не является зависимой.
    Могу доказать :)
  15. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Или нам нужно найти ВСЕ такие позиции B, и тогда окажется что все остальные позиции могут быть усложнены, и их можно отсечь. И тогда этюды имеет смысл искать только на полученном множестве позиций?
    Если мы по такому условию строим ЭБ изначально - то скорость построения ЭБ будет такая-же как и в двух остальных ранговых форматах (Да и безранговые строятся с той-же скоростью, только памяти меньше занимают) Если по готовым ЭБ, и причем нужно это сделать быстро - то нужно немного подумать.
  16. Tulean Учаcтник

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Теперь понял. :)
  18. TopicStarter Overlay

    krey Михаил Кройтор

    • Команда форума
    Member Since:
    10.04.2006
    Message Count:
    3.709
    Likes Received:
    50
    Репутация:
    1
    Location:
    Кишинев
    Оффлайн
    вообще интересная проблема. и интересно посмотреть на реализацию с базами, например, Дэниэля Шаваль (Scorpio). правда я не видел у него 6-фигурных.
  19. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    А ссылка есть на правила шахматной композиции, и хотя бы на примерные критерии оценки?
  20. TopicStarter Overlay

    krey Михаил Кройтор

    • Команда форума
    Member Since:
    10.04.2006
    Message Count:
    3.709
    Likes Received:
    50
    Репутация:
    1
    Location:
    Кишинев
    Оффлайн
  21. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Спасибо!
    Уже читаю.
  22. Tulean Учаcтник

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

    krey Михаил Кройтор

    • Команда форума
    Member Since:
    10.04.2006
    Message Count:
    3.709
    Likes Received:
    50
    Репутация:
    1
    Location:
    Кишинев
    Оффлайн
    мне это тоже просто интересно :)
  24. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    А есть ссылки на программы (желательно с описанием алгоритмов, хотя можно и без них) которые позволяют в автоматическом режиме искать "хорошие" позиции по базе?
  25. Tulean Учаcтник

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Это не инструмент. Такая программа очень проста.
  27. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    От позиции назад - тоже пишется достаточно легко.
    Я закончу с шашками, доделаю покер, и набросаю программку.
  28. Tulean Учаcтник

    • Участник
    Member Since:
    03.07.2006
    Message Count:
    577
    Likes Received:
    0
    Репутация:
    0
    Оффлайн
    Так я ж и говорю - пространство для творчества непаханное :)

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    С петлями особых проблем как раз и нет :)
    И назад, не теряя результата (если результат конечно не ничья :) ) тоже проблем нет никаких.
    Осталось найти время.
  30. Tulean Учаcтник

    • Участник
    Member Since:
    03.07.2006
    Message Count:
    577
    Likes Received:
    0
    Репутация:
    0
    Оффлайн
    Удачи и успехов, Сергей!
  31. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Сейчас главное шашки, но думаю что в число призеров не войду.
    Опять отложил на последний момент - нормальную ОФ похоже не успеваю сделать :(
  32. Tulean Учаcтник

    • Участник
    Member Since:
    03.07.2006
    Message Count:
    577
    Likes Received:
    0
    Репутация:
    0
    Оффлайн
    Кстати, мысль интересная. Пока еще слишком скудны возможности извлечения каких-бы то ни было позиций из базы. До Вильгельма находили в основном рекордные по длине, либо взаимные цугцванги. С Вильгельмом стал намного проще анализ баз и нахождение позиций с единственным выигрывающим/делающим ничью ходом.
    NS прав, с программой, делающей ходы назад, технически не сложно найти все позиции, где ход назад сделать нельзя из-за потери результата. Эти позиции "неулучшаемые", т.е. в пределах одной базы нет возможности к ним прийти из других позиций.
    Еще какие могут быть признаки, по которым можно извлекать позиции из ЭБ?

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

    • Заслуженный
    • Ветеран
    • Старожил
    Member Since:
    02.05.2006
    Message Count:
    6.811
    Likes Received:
    96
    Репутация:
    3
    Location:
    Санкт-Петербург
    Оффлайн
    Да это не движок, просто должна быть отдельная программа с удобным интерфейсом.
  34. Tulean Учаcтник

    • Участник
    Member Since:
    03.07.2006
    Message Count:
    577
    Likes Received:
    0
    Репутация:
    0
    Оффлайн
    В терминах шахматного программирования, NS извините меня, я не силен :)
    Конечно, о программе и речь.
  35. TopicStarter Overlay

    krey Михаил Кройтор

    • Команда форума
    Member Since:
    10.04.2006
    Message Count:
    3.709
    Likes Received:
    50
    Репутация:
    1
    Location:
    Кишинев
    Оффлайн
    давно не было здесь ничего...

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

Share This Page