Автоматический подбор параметров движка

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

  1. NS
    Оффлайн

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

    Репутация:
    3
    Золотая разве не в международных? Вроде в русских c1 ценнее, и чаще остается на своем месте.
     
  2. WildCat
    Оффлайн

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

    Репутация:
    0
    Нет. c1 чуть лучше, чем обычная.
     
  3. WildCat
    Оффлайн

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

    Репутация:
    0
    А самые ценные - это d6 и f6.
     
  4. NS
    Оффлайн

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

    Репутация:
    3
    Но там шашка реже бывает. Наверно лучше привязываться к наиболее часто встречающемуся признаку. Кстати, а в "русских шашках" почему-то в таблице D6 и F6 особо хорошей оценки не имеют, у них самая ценная С5.
     
  5. WildCat
    Оффлайн

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

    Репутация:
    0
    с5 - это просто хорошая шашка.
    А d6 и f6 - означают, что черным уже нужно спасать свою позу.
     
  6. NS
    Оффлайн

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

    Репутация:
    3
    Понятно. Программу написал, пока пробую Генетику.
    20мс. на ход, вроде всё работает без ошибок.
    С такими контролями нет особого смысла в отсечениях, так что их убрал - Чистый PVS с хешем и продлениями на единственном ходе.

    Завтра уже смогу получит первое приближение Таблиц.
     
  7. NS
    Оффлайн

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

    Репутация:
    3
    Хорошо идет :)
    Стоимость дамки растет, вроде сходимость хорошая даже простейшей Генетики. Пока самая ценная простая С5, самая слабая F2.

    После 10-ти итераций еще стоимость дамки не выровнялась - пока в среднем где-то полторы шашки.

    Тестовые матчи провожу из начальной позиции, потом забью базу Летающих, перейду на неё.
     
  8. NS
    Оффлайн

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

    Репутация:
    3
    Очень быстро и хорошо сходится.
    Дамка уже больше двух шашек, простые -
    самая слабая E5, самая сильная С7.
     
  9. WildCat
    Оффлайн

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

    Репутация:
    0
    Расскажи подробней о том как делаешь.
    Сколько всего особей?
    Кто и как и спариваются?
    Сколько игр в одной итерации?

    У тебя две таблицы перестаковок? Или вообще ее убрал?
     
  10. WildCat
    Оффлайн

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

    Репутация:
    0
    Е5 - это интересно.
    У меня лучше всего было если C7, E7 и G7 обнулить.
     
  11. NS
    Оффлайн

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

    Репутация:
    3
    Таблицу перестановок не убирал, она одна - просто перед каждым ходов её очищаю.
    Особей Десять. Один круг (каждая итерация) - 90 партий.
    Порождаю особей от победителя на данной итерации.

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

    Одна итерация занимает около 5-10 минут.
     
  12. NS
    Оффлайн

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

    Репутация:
    3
    Сейчас самые слабые - E5,A5,F2,E1 но в осовном идет поднятие силы дамок, я изначально приравнял стоимость дамки к стоимости простой.

    Самая сильная шашка F6, из неожиданностей - весьма сильная шашка G3.
     
  13. Chess diletant
    Оффлайн

    Chess diletant Учаcтник

    Репутация:
    0
    Простите за глупый вопрос, а почему вы (касаемо шахмат) уверены, что спуск вам не даст локальный экстренум? Были какие то модельные прикидки на этот счет?
     
  14. NS
    Оффлайн

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

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

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

    А модельные прикидки сейчас делаются на шашках :)
    В шахматах спуском считал параметры ОФ Сергей Марков - автор Смартсинка.

    И были модельные прикидки на других функциях (максимальные делл по 3000 параметрам)
    Локальные экстремумы имеют обычно намного меньшую область сходмости чем глобальные, и при большой погрешности в вычислении значений функции, при большом шаге в спусках и т.д. - мы просто из локального экстремума быстро вывалимся, уйдя из области сходимости. А из глобального экстремума уйти уже не так уж и просто.
     
  15. NS
    Оффлайн

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

    Репутация:
    3
    Пока еще экстремум не найден - Два поля для дамки имеют кривую оценку.
    Текущая таблица оценки простой:

    Код:
      
     92, 129,  87, 125
       143,  98, 144, 130 
     66, 152,  49, 143
        81,  76, 114, 149
    100, 115, 124, 127
        74, 147,  32, 104
    114, 121,  56, 111
    Самые слабые поля - F2(32), e5(49), E1(56), A5(66)
    Самые сильные поля - С5(152), H4(149), D2(147), F6(144), B6(143)

    Не хочет прогрмма считать что f6 - сопернику уже надо спасаться, а c5 - просто сильное поле. Пока считает что с5 сильнее...
     
  16. WildCat
    Оффлайн

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

    Репутация:
    0
    144 - значит, что она считает, что сопернику уже надо сдаваться.

    Еще нужно очень много итераций чтобы получить нормальные оценки. Попробуй текущие сравнить с теми, что ты руками задавал.
     
  17. NS
    Оффлайн

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

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

    Плюс с полей D2 и G3 ушел.

    Дамки устаканились, с 100 дошли до нормальных цифр, меньше 200 осталось только две - 189 и 154. Пару часов назад таких полей было восемь.
     
  18. NS
    Оффлайн

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

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

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

    Репутация:
    3
    За полдня счета итог - прибавка почти 100 пунктов к силе (с контролем 75мс на ход)

    Пока самое сильное поле C5, самое слабое D4, разница между ними 1/3 стоимости простой.

    Считалось по базе начальных позиций (274 позиции).
    Итерация 40 минут, всего прошло 10 итераций. Средняя прибавка 10 пунктов Эло на итерацию. Научилась матовать тремя дамками против одной с первой-же итерации :)
    После первой-же итерации догнала по силе Skifi 0.03, в суммарную прибавку (100 пунктов) прибавка от первой итерации не включена.

    Начальные значения - 200 стоимость простой на любом поле, 600 стоимость дамки на любом поле, 100 прибавка за владение главной диагональю.
     
  20. WildCat
    Оффлайн

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

    Репутация:
    0
    100 пунктов - это к прибавка к силе 0.03?
     
  21. NS
    Оффлайн

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

    Репутация:
    3
    Да, это прибавка не считая первой итерации, и это-же прибавка к силе 0.03
     
  22. NS
    Оффлайн

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

    Репутация:
    3
    К концу недели начну считать двухшашеные комбинации ;)
    Пока в ОФ 82 параметра (Добавил 21 параметр, две таблицы по 10 полей для сильнейшей и слабейшей стороны, и стоимость владения главной диагональю - для оценки чисто дамочных позиций, чтоб необходимость умения ловли тремя одну не мешала настройке оценки смешанных позиций),
    завтра добавлю еще 56 (Будет три таблицы для простой - бездамочные позиции Миттельшпиль/Эндшпиль и позиции с дамками)
    Сходится очень хорошо, периодически случаются очень значительные прибавки к силе.
    Вручную я так настроить ОФ не смог-бы никогда...

    Потом нужно будет попробовать так-же настроить параметры переборных алгоритмов.
    (IID, LMR, ProbCut, продления)
     
  23. NS
    Оффлайн

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

    Репутация:
    3
    Текущие таблицы:

    1. Оценки простой
    177 200 189 194
    119 185 166 157
    154 189 176 179
    175 148 174 180
    186 216 132 169
    183 170 185 166
    152 128 193 189

    2. Оценки дамки
    525 522 527 533
    505 506 518 528
    483 535 485 497
    515 511 482 508
    473 511 487 527
    518 505 492 510
    525 494 544 498
    518 513 505 501

    Верхнее левое поле a1.

    Пока не идеал, но значительно лучше чем я задал вручную в Skifi

    Стоимость Дамки упала с 600 до 500,
    Дамочная Таблица "перкошена" -
    так видимо программе проще матовать тремя против одной.
     
  24. WildCat
    Оффлайн

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

    Репутация:
    0
    Зачем так извратил?

    Попробуй вручную подравнять значения. Может будет еще один скачок в силе.
     
  25. NS
    Оффлайн

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

    Репутация:
    3
    А как я их подравняю вручную, если ничего не понимаю в шашках?
    Или просто немного поднять несколько наименьших значений?
     
  26. WildCat
    Оффлайн

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

    Репутация:
    0
    Ну забудь тогда :)

    Лично меня смущает b2 - 119. Видимо, это из-за плохой связки a1-b2.
    e1 - должна быть самой ценной из заднего ряда.
    d6, f6 - должны быть ценными.
    с7 - явно бредовое значение. Она явно не может сильно отличаться от e7 и g7.
     
  27. NS
    Оффлайн

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

    Репутация:
    3
    А так понял, что Значения шестого/седьмого ряда просто наименее сказываются на силе игры, поэтому будут изменяться в последнюю очередь.

    b2 - скорей всего первый/второй ряд наиболее подвержен скатыванию в локальные эксремумы.
     
  28. WildCat
    Оффлайн

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

    Репутация:
    0
    Первый и шестой ряд должны быть самые значимые.
     
  29. NS
    Оффлайн

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

    Репутация:
    3
    Первый и шестой - наверно самые большие :)
    Значимый - это когда правильное значение больше влияет на силу.

    Я три раза запускал с разных начальных точек - самыми значимыми считает c5 (небольшой плюс) и e5(Минус), например B6 и F6 в первый раз выросли сильнее чем C5, но значительно позже.
     
  30. NS
    Оффлайн

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

    Репутация:
    3
    Неужели дамочная таблица влияет на силу?
    Вынес из параметров умение матовать тремя против одной, сразу резко начала выравнивать стоимость дамки на разных полях...
     
  31. NS
    Оффлайн

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

    Репутация:
    3
    Попробовал вручную менять значения - ничего не выходит.
    Увеличение стоимости шестой горизонтали, выравнивание стоимости седьмой, поднятие стоимости связки a1,b2, увеличение стоимости e1, поднятие стоимости связки d4,e5 - ничего не дает... Пускай всё-таки считает сама, а я ей буду потихоньку увеличивать количество параметров.
     
  32. WildCat
    Оффлайн

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

    Репутация:
    0
    нужно a1 снижать, если есть на b2.
    d4-e5 ничего хорошего.
     
  33. NS
    Оффлайн

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

    Репутация:
    3
    Это уже паттерны, я до паттернов пока не дошел, пока только оценка по координате...

    Сейчас пока самостоятельно подняла стоимость шашки f6, жду поднятия стоимости остальных шашек на шестой...
     
  34. WildCat
    Оффлайн

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

    Репутация:
    0
    Давай будем называть это ценностью полей.
     
  35. WildCat
    Оффлайн

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

    Репутация:
    0
    Кстати, может оказаться, что ценность полей будет зависеть от количества шашек в ЭБ. Ты ее собираешься поддерживать?