Стадии игры в ОФ

Тема в разделе "Машинное отделение", создана пользователем WildCat, 3 май 2007.

  1. TopicStarter Overlay

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

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

    Поступило предложение сделать на подобии фруктовой оценки. Каждый признак имеет два веса: когда много фигур на доске и когда их мало (или совсем нет). И общий вес этого признака получается по линейной формуле:

    ValueTotal = ValueOpening * (CurrentMaterial / MaxMaterial) + ValueEndgame * (MaxMaterial - CurrentMaterial)/MaxMaterial

    Вроде это и есть фруктовый метод плавного перехода между стадиями игры.
  2. Booot Учаcтник

    • Участник
    Рег.:
    05.06.2006
    Сообщения:
    140
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Моей проге подобная процедура дала достаточно солидный прирост силы. Особенно если подобрать "конкурирующие" признаки (те, которые в одной и той же позиции из общих соображений дают поправки с различным знаком, в зависимости от стадии игры). К примеру эндшпильная централизованность короля и миттельшпильная его безопасность. В этом случае прога в переборе будет стараться максимизировать общий вес путем проведения соответствующий разменов.
  3. TopicStarter Overlay

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    У меня оценка короля изменяется скачком при наступлении эндшпиля. Правда еще безопасность короля масштабировалась наличием вражеского ферзя.
    Думаете плавное изменения оценки короля будет лучше?

    Для начала я думаю взять несколько признаков, которые явно зависят от стадии партии, и посмотреть, будут ли улучшения. Какие признаки посоветуете?
    Хотя может быть лучше проверять признаки по одному, а не все вместе.
  4. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    Централизация ферзя - в дебюте слабо отрицательная или нулевая, в эндшпиле положительная.
  5. TopicStarter Overlay

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

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

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    попробуй PST отдельно для всех трех стадий игры нарисовать. я вижу что некоторые так делают.
  7. TopicStarter Overlay

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

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

    Рег.:
    02.11.2006
    Сообщения:
    240
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Предлагаю взять огромное количество выгрышных позиций и найти что-то общее между ними, а потом запиать в ОФ.
  9. варяг Учаcтник

    • Участник
    Рег.:
    23.10.2006
    Сообщения:
    98
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Гонду-Раша
    Оффлайн
    А как вы определяете, что наступил эндшпиль? Согласно определению из Википедии?

    http://en.wikipedia.org/wiki/Endgame#When_does_the_endgame_begin.3F

    When does the endgame begin?
    An endgame is when there are only a few pieces left. With the usual system for chess piece point value, Speelman considers that endgames are positions in which each player has thirteen or fewer points in material (not counting the king). Alternatively, an endgame is a position in which the king can be used actively, but there are some famous exceptions to that (Speelman 1981:7-8). Minev characterizes endgames as positions having four or fewer pieces other than kings and pawns (Minev 2004:5).

    Alburt and Krogius give three characteristics of an endgame: (Alburt & Krogius 2000:12)

    Endgames favor an aggressive king
    Passed pawns increase greatly in importance
    Zugzwang is often a factor in endgames and rarely in other stages of the game.
  10. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Я думаю что шахматных программистов определение эндшпиля из википедии интересует в последнюю очередь.
  11. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    До Альбурта и Крогиуса шахматисты пребывали в глубоком неведении о роли короля в эндшпиле :D
  12. варяг Учаcтник

    • Участник
    Рег.:
    23.10.2006
    Сообщения:
    98
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Гонду-Раша
    Оффлайн
    А что же интересует в первую очередь?
  13. NS Нефёдов Сергей

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

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    У меня эндшпиль определяется по Спилмену.
  15. bankuss Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    24.05.2006
    Сообщения:
    1.084
    Симпатии:
    38
    Репутация:
    6
    Оффлайн
    NS Сергей, в процессе перебора это переключение происходит? или статично, после некоторого хода, который нарушает "равновесие" :)
  16. NS Нефёдов Сергей

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

    • Участник
    Рег.:
    23.10.2006
    Сообщения:
    98
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Гонду-Раша
    Оффлайн
    А у меня эндшпиль определяется так: если суммарная стоимость фигур на доске меньше половины от того, что было в начальной позиции и на доске нет ферзя - то это эндшпиль. Стадии игры переключаются динамически в Eval(). Кажется что-то подобное я видел в каком-то открытом исходнике
  18. Orlov Учаcтник

    • Участник
    Рег.:
    27.02.2007
    Сообщения:
    177
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    а еще эндшпиль неплохо бы поделить на ранний и поздний
  19. WinPooh В.М.

    • Команда форума
    Рег.:
    13.02.2006
    Сообщения:
    9.491
    Симпатии:
    3.118
    Репутация:
    95
    Адрес:
    Москва
    Оффлайн
    И ещё очень поздний, это когда уже в Налимове :)
  20. Fruit Александр

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    2.201
    Симпатии:
    64
    Репутация:
    3
    Оффлайн
    В Pro Deo идёт деление:
    END1: Без ферзей
    END2: сумма ценностей всех фигур на доске +=26 (пешка = 1.....ферзь = 9)
    END3: сумма ценностей всех фигур на доске +=10 (пешка = 1.....ферзь = 9)

    Кажется, логичным.
  21. Booot Учаcтник

    • Участник
    Рег.:
    05.06.2006
    Сообщения:
    140
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    Начни с безопасности короля, оценки проходных и оценки пешечной структуры.
  22. TopicStarter Overlay

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    А что с пешечной структурой?
  23. Booot Учаcтник

    • Участник
    Рег.:
    05.06.2006
    Сообщения:
    140
    Симпатии:
    0
    Репутация:
    0
    Оффлайн
    У меня пешечная структура для миттельшпиля и эндшпиля считаются немного поразному. В миттельшпиле большой штраф идет за нахождение слабости (изолированной или отсталой пешки) на полуоткрытой линии, где ее могут тяжелыми фигурами продавить. В эндшпиле этот признак не учитывается совсем, зато возрастают в принципе штрафы за дефекты пешечной структуры. Так что прога по идее будет сохранять тяжелые фигуры в позиции со сдвоенными пешками (они там действительно не так страшны) и стремиться перейти в эндшпиль если у противника куча пешечных островков.
  24. TopicStarter Overlay

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

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

    Посоветуйте веса для дебюта и эндшпиля.
  25. TopicStarter Overlay

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Заодно может кто посоветует чего еще добавить к оценке пешечной структуры.
  26. NS Нефёдов Сергей

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

    У меня сдвоенные изолированные выделены в отдельный признак.
    Есть признак - битые пешками поля, количество пешечных островков.
  27. TopicStarter Overlay

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Вот сделал масштабирование оценки проходных в зависимости от материала соперника:
    Код:
        
    ОценкаПроходных = ВычислениеОценкиПроходных();
    МатериалСоперника = Кони*400 + Слоны*400 + Ладьи*600 + Ферзи*1200;
    ОценкаПроходных *= double (4000 - МатериалСоперника) / 4000;
    Но по первым тестам от этого стало только хуже. :/
  28. TopicStarter Overlay

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

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

    Неужели никто ниче не посоветует?
  29. NS Нефёдов Сергей

    • Заслуженный
    • Ветеран
    • Старожил
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Проходная в миттельшпиле ничем не слабее чем в эндшпиле.
    Когда ОФ навороченная тяжело вручную что-то менять. Может посчитать бонус автоматически?
    NB,NR,NQ,NN,NP - количество наших фигур разного достоинства,
    SB,SR,SQ,SN,SP - тоже самое у соперника.
    NV - новер вертикали, например d,e =0 a,b=3
    Считаем множитель бонуса как
    22 параметра. На хороших алгоритмах можно посчитать за неделю.
  30. TopicStarter Overlay

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    4
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Мне чего попроще...

    Например, во Фрукте проходные в эндшпиле просто в два раза ценнее + включаются еще бонусы за свободное поле и отдаленность королей.

    Кто-нибудь пытался проверять работает ли эта схема вообще?
  31. NS Нефёдов Сергей

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

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