Жертва качества

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

  1. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Понял. Интересно. Кстати, можно и не ограничиваться партиями сильных гроссов - а провести для данной позиции турнир движков из первой двадцатки... Вариантов много.

    Что-то подобное мне встречалось в Го. Есть такая программа, которая играет по методу Монте-Карло - разыгрывает позицию много-много раз случайными ходами, и усреднённый результат берёт в качестве ОФ.
     
  2. NS
    Оффлайн

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

    Репутация:
    3
    Оно и есть. Понятно что линейная функция - это всего-лишь первое приближение, причем Выдаваемая цифра ни о чем не говорит, и линейность во многих играх просто не работает (например Гекс).
    А вот мат. ожидание результата - очень информативная цифра.
    Но из-за нелинейности возникают проблемы и с подбором вида Функции, и с её настройкой.
     
  3. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
  4. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    The Crazy Stone вроде так играет. Читал описание, но мало что понял.
     
  5. NS
    Оффлайн

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

    Репутация:
    3
    http://remi.coulom.free.fr/CrazyStone/
    Оно?
    Вроде сильная программа...

    Я предлагаю немного другое (совсем другое :) )
    Никакого Монте-Карло, просто видоизменить ОФ и уйти от линейности,
    а в качестве оценки выдавать мат. ожидание результата.
     
  6. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Да, их несколько. Стал читать статью и вспомнил название INDIGO.
    Однако, монте-карликовость рулит - в этом году такая программа выиграла компьютерный турнир на KGS!
     
  7. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    У меня нет идей как его, даже примерно, посчитать.
     
  8. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    Монте-Карло в этом случае не кажется чем-то подходящим.
     
  9. NS
    Оффлайн

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

    Репутация:
    3
    CrazyStone в этом году выиграла CG2006 на доске 9x9.
    при этом пролетела на доске 19x19.
     
  10. NS
    Оффлайн

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

    Репутация:
    3
    Примерно у меня идеи есть, сейчас еще немного подумаю, и выложу.
     
  11. NS
    Оффлайн

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

    Репутация:
    3
    Группируем Все положительные и отрицательные признаки по Двум ОФ.
    Материальный признак - Разница в материале.
    Получаем две положительный Функции ПлюсыБелых и ПлюсыЧерных.
    МатОжидание результат - Например ПлюсыБелых/(ПлюсыБелых+ПлюсыЧерных)

    Если Обе ОФ равны Нулю - то Мат. Ожидание равно 0.5 (у обоих нет слабостей)
     
  12. WinPooh
    Оффлайн

    WinPooh В.М. Команда форума

    Репутация:
    95
    Тема плавно переходит от жертв качества к более высоким материям.
    Предложите название для новой ветки, я перенесу часть постов.
     
  13. NS
    Оффлайн

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

    Репутация:
    3
    Название - "Обсуждаем нелинейные ОФ (оценка по ожидаемому результату)"
     
  14. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    Очень не похоже на матожидание.
     
  15. NS
    Оффлайн

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

    Репутация:
    3
    Не похоже, но принцип примерно такой. :)
     
  16. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    Ничем не отличается от того, что все делают.
     
  17. NS
    Оффлайн

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

    Репутация:
    3
    Отличается, причем весьма здорово.
    0.2 пешки позиционных признаков против 0.3
    Будет мат. ожидание 0.4 (у остальных оценка -0.1)
    А 0.7 позиционных признаков против пешки будет 0.7/1.7=0.41, то есть лучше.
    А у остальных будет -0.3 - значительно хуже.
     
  18. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    Так 0.41 и -0.3 примерно одно и то же. У белых заметно хуже.
     
  19. miptus
    Оффлайн

    miptus баннер

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

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

    Репутация:
    3
    Я говорю о сравнительной оценке разных позиций в переборе.
    Лучше/Хуже будет определяться так-же, а вот какая позиция из плохих хуже, или какая из хороших лучше - будет определяться уже по-разному.
     
  21. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    Ну и что? В итоге все равно то же самое.
     
  22. NS
    Оффлайн

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

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

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    Измени просто веса признаков, как тебе нравится. Ничего, кроме этого, ты не предлагаешь.
     
  24. NS
    Оффлайн

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

    Репутация:
    3
    Попробуй так изменить веса признаков, чтоб при большом количестве признаков на доске, и большом преимуществе - разница в 0.2 пешки была менее существенной чем разница в 0.1 пешки при малом количестве признаков на доске...
    Нельзя заменить нелинейную функцию линейной (а у нас функция нелинейна - это частное двух линейных функций), и нельзя сделать так чтоб линейная функция выдавала всегда F(x)>F(x1), когда так-же считает нелинейная...
     
  25. NS
    Оффлайн

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

    Репутация:
    3
    Простейший пример.
    Как я говорил - все признаки могут только положительными, если он отрицательный - то переносим его с плюсом за соперника.

    Пусть за каждую сторону есть несколько равноценных признаков, причем их (каждого признака на доске) может быть несколько.

    За белых k1 признаков, за черных k2.
    Будем считать мат. ожидание за белых как k1/(k1+k2), либо 0.5 если k1=k2=0.
    Пусть k1=10, k2=20, тогда матожидание 1/3 (10/(10+20))
    Пусть k1=1, k2=4, тогда матожидание 1/5 (1/(1+4))
    Если заменяем линейной функций, Тогда Ф(10-20)>Ф(1-4)
    То есть Ф(-10)>Ф(-3), то есть вес признака отрицательный :)

    Попытка заменить даже простейший случай линейной функцией потерпела неудачу....
     
  26. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    Я тут вижу только ухудшение ситуации. Явно Ф(1 - 4) более правильна, чем 1/5, т.к. ничья очевидна. Имея так мало позиционных преимуществ черные вряд ли смогут выиграть (т.к. все дефекты белых засчитываются как преимущества черных, то очевидно, что в позиции белых практически нет дефектов).

    А вот k1 = 10, k2 = 40
    Опять твое матожидание дает 1/5. На этот раз уже ближе к истине, т.к. у белых явно проблемы. И линейная функция здесь дает правильный результат.


    Т.о. получили пример, когда линейная функция ведет себя разумно. А твоя функция вычисления матожидания явно неадекватна.
     
  27. NS
    Оффлайн

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

    Репутация:
    3
    моя функция была дана как пример, а не как рабочий вариант :)
    Есно расчет должен быть намного сложнее, и чтоб судить о виде функции нужно собрать достаточно большую статистику.
     
  28. WildCat
    Оффлайн

    WildCat Коршунов Игорь Команда форума

    Репутация:
    0
    Так это понятно, что когда нелинейность лучше, то в ОФ ее используют.
    Даже я чуть-чуть использую. Но не знаю насколько это полезно. Даже хочется убрать совсем. Может лучше станет.

    Вообще-то я говорил о том, что не представляю как можно попытаться угадать матожидание количества набранных очков в партии. Твой пример совсем не похож на матожидание.
     
  29. NS
    Оффлайн

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

    Репутация:
    3
    Сделай формулу например как
    fw=k1+3
    fb=k2+3

    матожидание белых
    pw=fw/(fw+fb)
    матожидание черных
    pb=fb/(fw+fb)

    и формула станет намного более правдивой.
     
  30. NS
    Оффлайн

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

    Репутация:
    3
    Второй вариант более похож - в любом случае предложение - положительная линейная функция за белых, и такая-же за черных.
    А собирать первоначальные веса (и прикинуть вид, какие признаки чисто идут сопернику, а какие по разнице согласно знаку) можно по базе результатов партий в тестовых позициях.