Этюды...

Тема в разделе "Мастерская", создана пользователем krey, 12 апр 2006.

  1. Tulean Учаcтник

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

    • Команда форума
    Рег.:
    05.02.2006
    Сообщения:
    57.243
    Симпатии:
    21.128
    Репутация:
    627
    Адрес:
    Москва, Россия
    Оффлайн
    Я тоже решил. Но без проверки сам себе не верю...
  3. Tulean Учаcтник

    • Участник
    Рег.:
    03.07.2006
    Сообщения:
    577
    Симпатии:
    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 Михаил Кройтор

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    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 Учаcтник

    • Участник
    Рег.:
    03.07.2006
    Сообщения:
    577
    Симпатии:
    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 Нефёдов Сергей

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
  21. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Спасибо!
    Уже читаю.
  22. Tulean Учаcтник

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

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

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    мне это тоже просто интересно :)
  24. NS Нефёдов Сергей

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

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

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

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

    • Участник
    Рег.:
    03.07.2006
    Сообщения:
    577
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Так я ж и говорю - пространство для творчества непаханное :)

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

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

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

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

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

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

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

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

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

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    давно не было здесь ничего...

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

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