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

Discussion in 'Машинное отделение' started by MS, 31 Aug 2006.

  1. MS
    Оффлайн

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

    Репутация:
    175
    WildCat, волшебной пилюли у меня нет. Обещаю подумать и что-то выдать.
    Чтобы Вы тем временен не простаивали, поделитесь мнением о формализации крепости.

    http://kasparovchess.crestbook.com/viewtopic.php?id=215&p=1 пост 43

    Готовы ли Вы (лично и как представитель "класса") рассматривать возможность включения подобных "понятий" в программу. Если нет, то и суда, как говорится, нет: движение мне представляется возможным именно в этом направлении - формализация и работа с "человеческими" понятиями.
     
  2. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

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

    Включить в программу "человеческие" понятия очень сложно. Но если удастся формализовать что-нибудь, то готов попробовать.
     
  3. MS
    Оффлайн

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

    Репутация:
    175
    Хм. Первый блин комом. Для меня крепость - не крепость - важная часть игры.
    Я ищу ее для соскока и пытаюсь упредить соскок соперника, когда реализую перевес.
    Полный перебор здесь не информативен.
    Крепость, если понимать что это такое, встречается нередко. В моей практике была крепость против мастера, без пешки.
    С большой вероятностью тот же трюк мог пройти и против программы.
    Наверное, мои последующие формализации ждет аналогичная судьба, но еще разок на досуге попробую.
     
  4. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Тут нужно менять всю идеологию программы. Так чтобы крепости можно было обнаруживать по ходу основного процесса. Отвлекаться от основного процесса, ради призрачной надежды, что может быть обнаружена крепость, может стоить слишком дорого.
     
  5. Binary
    Оффлайн

    Binary Учаcтник

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

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

    Репутация:
    175
    Да, пожалуй. Если бы проблему можно было решить "в струе", это было бы уже сделано.
     
  7. MS
    Оффлайн

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

    Репутация:
    175
    И полей вторжения. Все это еще во флаконе с обобщенной оппозицией - нужну успевать перебегать от бойницы к бойнице когда соперник пытается вторгнуться через разные точки.
     
  8. MS
    Оффлайн

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

    Репутация:
    175
    Как, например такая модификация?

    Перед запуском перебора считаем
    "эндшпильность позиции" = f(?)
    if ("эндшпильность позиции" == false) {
    традиционный алгоритм;
    }
    else {
    "человеческий модуль"
    }

    По этой схеме "человеческий модуль" можно включать, постепенно его усложняя и подкручивая
    "эндшпильность позиции" под это усложнение.
     
  9. NS
    Оффлайн

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

    Репутация:
    3
    Думаешь, что по другому оценка делается? В большинстве программ так и есть - отдельно миттельшпильная оценка, отдельно эндшпильная.
     
  10. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    А что "человеческий модуль" в эндшпиле играет лучше, чем традиционный алгоритм?
    Вначале нужно придумать этот "человеческий модуль". Для начала, хотя бы для простых эндшпилей.
     
  11. NS
    Оффлайн

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

    Репутация:
    3
    Для Конь+Слон Очень простой, есть - но ничего в нем человеческого нет...
    Для Двух коней против пешки,
    Для ладьи против пешки, Ферзя против пешки, Ладья и пешка против Ферзя и т.д. - пишется отдельная оценка - но к человеку она не имеет никакого отношения. :)
     
  12. MS
    Оффлайн

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

    Репутация:
    175
    Начну с какого-нибудь узкого класса, хорошо?
    Для разогрева.

    NS, кажется все человеческое тебе чуждо :)
    Ладно, поищу другие слова.

    Суд удаляется на совещание.
     
  13. Fruit
    Оффлайн

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

    Репутация:
    3
    А нельзя ли дать описание всех признаков крепости, а затем уж отталкиваться от этого? В узких переулках можно совсем увязнуть.:)
    Я попробую:
    1 Слабейшая строна может ходить "туда-сюда"(или даже делать серию ходов), не ухудшая своей позиции.
    2 Это порою препятствует вторжению сильнейшей стороны.
    3 Нигде не может прорваться король сильнейшей стороны
    4 При попытке сильнейшей строны что-то пожертвовать(если возможно), получается ничья.
    5 Слабейшая сторона может использовать патовые идеи (типо, вечного преследования)

    Кстати, можно ли, с большой долей уверенности утвержать, что на доске крепость, если оценка программы более 2(можно меньше) пешек в чью-то пользу и, за последние 10 ходов, колебания в оценке не превысили 0,1пешки?

    Напоследок самая крутая крепость из тех, что я видел:
    Чеховер
    7r/p3k3/2p5/1pPp4/3P4/6P1/PP1P1PB1/2K5 w - - 0 1
    1Krd1 Rh2 2Kre1!! R:g2 3Krf1 Rh2 4Krg1 Rh3 5Krg2 Rh6 6f3 и чёрным не выиграть.
     
  14. MS
    Оффлайн

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

    Репутация:
    175
    Fruit, в первом посте была ссылка :)
     
  15. Fruit
    Оффлайн

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

    Репутация:
    3
    Пардон инет с сотового - экономлю:)
     
  16. bankuss
    Оффлайн

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

    Репутация:
    6
    Fruit а что последует на 6... b4 ? в этой крепости
     
  17. Crest
    Оффлайн

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

    Репутация:
    628
    И действительно! Я видел этот этюд и верил...
    Но теперь мне кажется, что черные выигрывают.

    http://kasparovchess.crestbook.com/chessboard/?pos=———--p---k-—--p-—-r-pPp-——--P-———--PP-PP-P--K-————

    Есть такой изящный выигрыш: После b5-b4-b3 (встречать пешку путем b2-b3 нельзя ввиду прорыва по вертикали "а") белые вынуждены ответить а2-а3. Тогда черные доводят пешку на а4, после чего бросают ладью на b4!. Брать ее будет нельзя ввиду а4-а3. Если защитить пешку d4 королем, то черная ладья пройдет через с4 на с2. А сыграть заранее d2-d3 белые не имеют права ввиду того, что после появления черной ладьи на вертикали "е" они попадают в цугцванг - не могут удержать контроль над полем е3.
     
  18. NS
    Оффлайн

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

    Репутация:
    3
    Определение крепости занимает много времени, а прибавка к силе очень маленькая (редки такие позиции)
    Но в некоторых движках это есть, в Крафти, например, убрано совсем недавно - раньше былО...
    Вроде есть в Шреддере.
     
  19. bankuss
    Оффлайн

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

    Репутация:
    6
    Crest вот и смотрю, что дыра у белых, и на b5 ладья идет h8-b8-b5-a5 если трогать пешки а2-b2 то никакой крепости не получается, а пока ладья там "гуляет" свои пешки f3 g3 до ферзя явно не довести :)

    сорри за оффтоп
     
  20. Crest
    Оффлайн

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

    Репутация:
    628
    Да, Bankuss, ваш план еще проще. А мой будет приведен в исполнение, если в исходной позиции переставить черную пешеку с а7 на а5. Это будет этюдное опровержение этюда!
    А лечится этюд очень просто! Сейчас покажу...

    http://kasparovchess.crestbook.com/chessboard/?pos=———-r-—-k-—--p-—--ppPp-——--P-—-PP-—-P-—-P-PB---K-——

    И далее по тексту решения - белые действительно строят крепость.
    В данной редакции и при пешке на а7 выигрыша у черных нет.
     
  21. bankuss
    Оффлайн

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

    Репутация:
    6
    Crest вот здесь уже точно не пробьешь :)
     
  22. bankuss
    Оффлайн

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

    Репутация:
    6
    этот вид крепости можно добавить в программу без особых трат - оценка в течение нескольких ходов практически не меняется - и одна из сторон повторяет ходы... соответсвенно оцениваем ближе к 0. но вот другие виды крепостей уже замечены не будут :)
     
  23. MS
    Оффлайн

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

    Репутация:
    175
    По моим наблюдениям, в структурах, где проходных "по-простому" не получается, (а иногда и при одной проходной) в пешечных и легкофигурных эндшпилях крепости нужно рассматривать всегда.
    Ладейными я не занимался, но позиция Филидора, например, это тоже частный вид крепости.
    Ферзь с пешкой против ферзя, конечно, уже в таблицах, но техника выигрыша-защиты - это упреждение-создание крепости.
    Грубо говоря, все эндшпили деляться на выиграные и крепости.
    Мне кажется, если сделать вложения, это весьма стоящая вещь. Другое дело, что с наскока предложить что-то, что серьезно заинтересует программистов, не так просто.
     
  24. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Если бы было просто - уже бы сделали :)
     
  25. MS
    Оффлайн

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

    Репутация:
    175
    Конечно, WildCat. Но я не оставляю стараний. Пусть и в фоновом режиме. Поскольку в этой компании есть надежда, что действительно толковая масль пойдет в дело. А не стол или корзину. Да, в столе и корзине надо покопаться, почитать себя, любимого. Большое спасибо за толчок к мысли. Достоевский верно подметил, что люди напрасно робщут на свои повседневные обязанности, "отвлекающие" от великих дел. Но иметь хоть маленький стимул за пределами этих обязанностей - дорогого, мне кажется, стоит.
    Не прощаюсь.
     
  26. MS
    Оффлайн

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

    Репутация:
    175
    Корзина оказалась не пуста. ;)
    Класс позиций узок и вырожден (полный перебор здесь справляется), но достаточен, чтобы показать принцип.

    Пешечный эндшпиль.
    Допускаются только взаимноблокированные пешечные пары (типа белая а4-черная а5)
    Одна пара на вертикаль. Пары на соседних вертикалях не допускаются.
    Сдвиг между соседними парамами не более одной горизонтали.
    Короли находятся внутри своих пешечных цепей.
    Не более одного участка прорыва на позицию.
    (прорыв между краем доски и соседней парой возможен, если промежуток между ними - более одной вертикали,
    прорыв между соседними парами возможен, если сумма сдвигов по вертикали и горизонтали одной пары относительно другой больше 2).

    Алгоритм

    Если пар меньше 3, то это табличный эндшпиль (число фигур не больше 6)
    Если участков прорыва 0, то это абсолютная крепость
    // Остался случай полей соответствия
    Определяем поля соответствия.
    Играем по алгоритму полей соответствия, пока одна из сторон не прорвется, или будет зафиксирована ничья.

    Конец

    Наверное, если, условно скажем, мне потратить год свободного времени, то можно довести до ума пешечные и легкофигурные эндшпили с сформировавшейся пешечной структурой. А на подвижную пешечную цепь, ладейные, ферзевые, многофигурные и в корзине ничего нет - слабо.
    WildCat, если идея нравится - дарю: ищите энтузиастов.
     
  27. NS
    Оффлайн

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

    Репутация:
    3
    Перебор совместно с Хеш таблицами - как раз некоторым образом строит поля соответствия...
     
  28. atoku
    Оффлайн

    atoku Модератор

    Репутация:
    0
    Миша, а есть ли возможность дать ссылки или самому привести как можно больше примеров крепостей. Может какие-то мысли придут у наших мастеров в смысле систематизации. Надо примеров 100, а лучше 1000. Было бы классно иметь книжку на эту тему.
     
  29. e271
    Оффлайн

    e271 Старожил

    Репутация:
    1
    Миша, если есть объемные материалы - шли на мыло. Все будет в наилучшем виде поставлено на сайте :)
     
  30. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

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

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

    Репутация:
    3
    Как ищутся поля соответствия - Сначала при каждом возможном положении королей запускается перебор, находим выигранные/проигранные позиции, затем ретроспективный анализ (аналог постоения ЭБ). перебор + Хеш таблицы не должен быть хуже...
     
  32. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Такой метод построения полей соответствия совсем не годится.
     
  33. NS
    Оффлайн

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

    Репутация:
    3
    А есть другой? Человек определяет именно так - находит положения королей с выигрышем, и дальше ретроспективный анализ.
     
  34. NS
    Оффлайн

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

    Репутация:
    3
    Если для определения выигрыша достаточно глубины в 5 полуходов - то получается на самом деле быстрее перебора...
    2000 легальных положений 2-ух королей (случай неполностью запертой пешечной структуры - иначе достаточно смотреть положения королей при которых возможны взятия, а в данном случае - первым ходов должно быть взятие, либо ход пешкой). Определений выигранных позиций по затраченному времени равносильно расчету на 16 полуходов (бранчинг фактор взят равный двум, не учитывается работа хеша при расчете на 5 полуходов из разных позиций)
    Сам ретроспективный анализ займет времени меньше, чем определение выигранных позиций на первом этапе.
     
  35. WildCat
    Оффлайн

    WildCat Коршунов Игорь Staff Member

    Репутация:
    0
    Если перебор может определить выигрыш/проигрыш, то зачем нам поля соответствия?