Ищем новые подходы.

Тема в разделе "Машинное отделение", создана пользователем MS, 31 авг 2006.

  1. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Так мы ищем новые подходы в написании ОФ?
    Или новые подходы в шахматном программировании?

    Находить крепости только в ОФ будет затруднительно. Но начать все-таки будет проще с ОФ.
  2. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    "Новость", по моему текущему видению предмета, состоит в возможности написания алгоритмов для разыгрывания некоторых классов позиции.
    Распознали принадлежность позиции классу - запускаем алгоритм ее разыгрывания.
    Логично, мне кажется, в ОФ проверять принадлежность позиции к классам, для которых алгоритм (и, соответственно, оценка) известны.
  3. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Мне интереснее универсальный алгоритм. С некоторыми уточнениями для классов позиций.
    Если мы для каждого класса позиций будем разрабатывать специальный алгоритм, то вряд ли получится что-нибудь хорошее.
  4. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    Универсальность - пожалуйста. На филосфском уровне. Нужно найти слабости в позиции, найти способы их защиты, способы атаки слабостей соперника и дезорганизации обороны соперника. Но для конкретных классов позиции никуда не деться от конкретных определений, что есть слабость, что есть способ атаки и т.д.

    Можно, конечно, попробовать идти не от формализации знаний человека, а попробовать формализовать понятие слабости на самом абстрактном уровне и дать программе команду "ищи". Ничего общего с нынешними оценками слабостей это иметь не будет. Слабость определяется не статистиками, а наличием, осуществимостью и эффективностью планов атаки слабости. Если здесь возможен успех, то это был бы гипер успех - такой аналитический модуль был бы способен рожать планы, которые человек не способен найти, равно как сейчас не способен белковый пересчитать железку в тактических осложнениях.
  5. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Есть подозрение, что не для всех классов такие определения можно найти.
  6. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    В первом подходе речь и идет о том, чтобы алгоритмизовать знания человека.
    Это заведомо неуниверсальный подход. Но реальные результаты кажутся вполне достижимыми.

    Второй подход универсальный, но будет ли результат? Типичная ситуация - синица-журавль. :)
  7. Tulean Учаcтник

    • Участник
    Рег.:
    03.07.2006
    Сообщения:
    577
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    2MS Вы абсолютно правы.
    Даже некоторые малофигурные позиции имеют весьма сложно-формулируемые слабости. Что уж говорить о 32 фигурах!
    Для примера, попробуем определить план для следующей позиции:

    [​IMG]

    1.У белых ничего нет, кроме как загнать черных в крепость Kpg1+Фf1+Лf2 (ладья будет связана белым ферзем по диагонали).
    2.С помощью шахов возможно менять расположение белых фигур.
    3.Ни одна последовательность "только"-шахов белых не приведет к успеху (=крепость)
    4.Надо найти расположение белых фигур, в котором при очереди хода за черными они проиграют
    4а.При этом надо учесть подвижность черных фигур: король может уйти на h1 с патовыми возможностями, у ферзя как минимум есть Фf1-g2-f1 и "главная" контригра Фf1-шах-...шах-Фf1 с возвратом в крепость и ходом у белых.
    5.Определяется, что при белой ладье на h7, ферзе на d4 и короле на a7/d8 достигается такое расположение фигур, где черные, стоящие в крепости, проигрывают при своем ходе.
    6.Осуществляется сам план - с шахами перевод ферзя на е3 и ладьи на h5. Затем эвакуация белого короля на с8. Затем с шахами перевод ферзя на d4 и ладьи на h7. Затем король белых уходит от шахов на а7 (или d8 если черные позволяют) - и черные вынуждены будут разрушить свою крепость, получая в конце матовую атаку.
    6а.При этом проверяется что и любые другие альтернативы черных на любом ходу проигрывают.
    (для справки DTM=80 - мат в 80 ходов, DTC=51 - 51 ход до взятия, значит это будет ничья по правилу 50 ходов)

    На мой взгляд, формализация такого рода планов - это был бы гипер успех для машины...
  8. Fruit Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    Эх, уничтожили мою самую крутую крепость. Отсюда очередное замечание: позиция которая, по началу, кажется крепостью, может такой не быть:).....А позиция взята мною из книги Котова "Как стать гроссмейстером". Когда сам смотрел - не додумался, начинал с а7-а5-а4.....
  9. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    Tulean, спасибо за инфу к размышлению
  10. Tulean Учаcтник

    • Участник
    Рег.:
    03.07.2006
    Сообщения:
    577
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Это был мой этюд :)
  11. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    О!
  12. krey Михаил Кройтор

    • Команда форума
    Рег.:
    10.04.2006
    Сообщения:
    3.709
    Симпатии:
    50
    Репутация:
    1
    Адрес:
    Кишинев
    Оффлайн
    а ветка решения густая?
  13. Tulean Учаcтник

    • Участник
    Рег.:
    03.07.2006
    Сообщения:
    577
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Не очень...
  14. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    Надгробный камень темы (дабы подбить бабки и знать, где начинать следующий поход)

    Ядро нынешнего шахматного программирования - селективный перебор и ОФ, базирующаяся на статистиках.
    Ряд позиций требуют глубины перебора, превышающей технические возможности обозримого будущего, и разыгрывание их программой на высоком уровне представляется проблематичным.

    В качестве гипотетического альтернативного подхода обсуждается переход к "понятиям", приближающий программу к подходам квалифицированного шахматиста.

    Обобщенно, такие понятия - слабость, схема динамической обороны слабостей (обобщенные поля соответствия),
    средства разрушения обороны (размен и цугцванг).
    Программа оперирует планом атаки (обороны) слабости.

    Два подхода к реализации этой абстрактной модели.
    1. Формализация уже имеющихся знаний (программа распознает позиции, для которых есть планы, и играет по ним)
    2. Формализованы только абстрактные понятия (см. выше), а программа ищет план.

    Этюд Тулеана - информация к размышлению.

    Большое спасибо всем собеседникам!
  15. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    полный перебор - следует писать "селективный перебор".
    2. Формализованы только абстрактные понятия, а программа ищет план. - мне это нравится, если бы кто-нибудь придумал эти абстрактные понятия.
  16. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    WildCat, спасибо за поправку.
    А набор понятий описан выше:
    "слабость, схема динамической обороны слабостей (обобщенные поля соответствия),
    средства разрушения обороны (размен и цугцванг)."
  17. Tulean Учаcтник

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

    1.b8Q+ Kg2! 2.Qg8+ Kh1 3.Qh7+ Kg1 4.Qa7+! Kh1 5.Qb7+ Kg1 6.Qb6+ Rf2 7.Rg8+ Kh2 8.Qh6+ Qh3 9.Qd6+ Kh1 10.Qc6+ (10.Qd1+? Rf1 11.Qd5+ Qf3 12.Rh8+ Kg2 13.Qd2+ Rf2 14.Rg8+ Kh2 15.Qh6+ Qh3 16.Qd6+ возвращает к 9-му ходу) 10...Kh2 11.Qc7+ Kh1 12.Qc1+! Qf1 13.Qh6+ Rh2 14.Qc6+ Rg2 15.Rh8+ Kg1 16.Qc5+ Rf2 17.Rg8+ Kh1 18.Qh5+ Rh2 19.Qd5+ Rg2 20.Rh8+ Kg1 21.Qd4+ Rf2 22.Rg8+ Kh1 23.Qe4+ Rg2 24.Rh8+ Kg1 25.Qe3+ Rf2 26.Kc5!zz Qg2 27.Rh5!
    [27.Rh3?! Qf1 28.Rh8! (28.Rh5? Qe2!=, 28.Rh6? Qb1!=, 28.Rh7? Qa1!=)]
    27...Qf1 28.Kb6! Qb1+ 29.Kc7! (29.Rb5? Qg6+ 30.Ka5 Kh1! 31.Qxf2 Qa6+ с патом) 29...Qc2+ (29...Qf1 30.Kb8 Qb1+ 31.Kc8) 30.Kb8! (30.Rc5? Qh7+ 31.Kb6 Qb1+! 32.Rb5 Qg6+; 30.Kb7? Qd1 (30...Qc4=) 31.Rg5+ Kh1 32.Qe4+ Qf3=) 30...Qb1+
    [30...Qc4 31.Qg3+! Kf1 32.Qh3+ Ke2 33.Re5+ Kd1 34.Qh5+! Re2 35.Rd5+ Ke1 36.Qh1+ Kf2 37.Qh2+ Kf3 38.Qh5+! Ke3 39.Qe8+! Kf2 (39...Kf3 40.Rf5+! Kg3 41.Qg6+-) 40.Qf7+ Ke1 41.Rd1+ как бы "этюд в этюде")
    30...Qb2+ 31.Kc8 Qc2+ - здесь начинается самая длинная линия с DTC=51 в итоге (для этюдов правило 50 ходов не применяется), но черные не смогут вернуться в свою крепость - 32.Rc5 Qe2 33.Qg5+ Kh1/Kh2 34.Qh6+ Kg1 35.Qg6+! Rg2 36.Rc1+ Kh2 37.Qh7+ Kg3 38.Rc3+/Qc7+- здесь программа уже мат видит]
    31.Kc8 Qf1 32. Rg5+ Kh1 33. Qe4+ Rg2 34. Rh5+ Kg1 35. Qd4+ Rf2 36. Rh7 Qa6+ (36...Qc1+ 37.Rc7 Qf1 38.Rg7+ Kh1 39.Qh4+ (Qd5+-) 39...Rh2 40.Qe4+ Rg2 41.Rh7+ Kg1 42.Qd4+ Rf2 43.Kd8 и белые своего добились) 37.Kb8 Qb5+ 38.Rb7 заканчивая свой план: 38...Qf1 39.Ka7 1-0
  18. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    Спасибо, Tulean :)
  19. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Так их нужно не описать, а формализовать.
  20. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    Никто не спорит
    Это будет. Когда-то.
    Или не будет. :)
  21. TopicStarter Overlay

    MS Михаил Семионенков

    • Команда форума
    Рег.:
    11.02.2006
    Сообщения:
    6.542
    Симпатии:
    3.361
    Репутация:
    175
    Оффлайн
    Заметки на манжетах. Средства разрушения обороны не полны.
    Необходимо учитывать, что часть оборонительных функций выполняется статично (блокирование пешки, перекрытие линии фигуры, контроль вторжения короля), а остальные связаны с потенциальным движением (побитием). Отвлечение может быть средством разрушения обороны.

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