Программирование шашек. Эндшпиль в русских шашках.

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

  1. WildCat
    Оффлайн

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

    Репутация:
    0
    Это я к тому, что спуски заходят в локальные минимумы гораздо чаще, чем генетика.
    Она если и зайдет, то в достаточно хороший.
    А спуски заходят в первый попавшийся. Это важно, если учесть, что для второй попытки просто не хватит времени.
     
  2. NS
    Оффлайн

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

    Репутация:
    3
    Попробую генетику.
    По базе, по рейтингу отбираем N лучших, потом у каждого каждый параметр меняем на случайную величину, таким образом к каждому из лучших получаем несколько потомков.
    Потом организуем турнир с участием лучших и их потомков, добавляем партии в базу, и опять выбираем N лучших по персчитанному рейтингу (с добавленными результатами).
    Так?
     
  3. WildCat
    Оффлайн

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

    Репутация:
    0
    Ну не совсем.
    Обычно спаривают две особи, а не только делают мутации (их обычно делают мало).


    Основной параметр (выживаемость) - это сила игры.
    M худших умирают (просто убираем их).
    N лучших спариваются между собой. Причем вероятность спаривания должна быть прямо пропорциональна силе игры. А можно сделать как у некоторых видов животных: спариваться имеет право только вожак стаи (с тем, кого выберет). Но некоторые, особо шустрые, тоже имеют малый шанс (если вожак не уследит).
     
  4. NS
    Оффлайн

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

    Репутация:
    3
    а спаривание как проводить?
    Вариантов же куча...
    Например Фиксируем у всех стоимость простой на а1 - 100 сантишашек.

    Потом все остальные значения берем в интервале между значениями спаривающихся +- некоторая дельта.
    (если без дельты, то интервал будет постоянно сужаться)
    Это единственный способ?

    Убивать наверно никого не имеет смысла, так как если слабый, то будет очень мала вероятность спаривания, а в базе он не мешает.
     
  5. Fruit
    Оффлайн

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

    Репутация:
    3
    WildCat, и давно у тебя шашки спариваются? :lol:
     
  6. WildCat
    Оффлайн

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

    Репутация:
    0
    Да, вариантов куча.
    Можно так: по каждому параметру берем среднее, иногда берем случайное (мутируем).
    Или можно брать одно из родительских значений.

    Какой интервал будет сужаться? Ведь есть еще мутации.

    Убивать нужно - в смысле не играть новых партий на наборе этих параметров, т.к. появилась куча более перспективных.
     
  7. WildCat
    Оффлайн

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

    Репутация:
    0
    У меня очень давно :)
    Но не долнго. Я уже бросил этот метод. Все подбираю вручную. Хотя, может стоит вспомнить молодость :rolleyes:
     
  8. WildCat
    Оффлайн

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

    Репутация:
    0
    Кстати, могу посмотреть (если еще не удалил), как моя старая программа спаривала разные особи :)
     
  9. NS
    Оффлайн

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

    Репутация:
    3
    Вручную не получится - я не умею играть в шашки :)
     
  10. NS
    Оффлайн

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

    Репутация:
    3
    У меня две версии генетической настройки было. Я настраивал примерно таким образом Калах и Уголки, примерно так и делал. Только играл вариантами - одна особь может мутировать, две могут спарится - брал именно случайное значение в интервале Min(Параметр первой особи,параметр второй особи)-Дельта, Мax(Параметр перовй особи, параметр второй особи)+Дельта.
     
  11. WildCat
    Оффлайн

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

    Репутация:
    0
    Именно так я и делал. Только еще плюс мутации.

    Брал лучшую 20-ку. 1-ого спаривал со всеми, 2-ого со всеми, кроме 20-ого, 3-ого со всеми, кроме 20-ого и 19-ого и т.д.
     
  12. WildCat
    Оффлайн

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

    Репутация:
    0
    Я играю чисто любительски. Помню как с кмс-ом по шахматам рубились в универе :)
    Вот и весь мой опыт игры.
     
  13. NS
    Оффлайн

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

    Репутация:
    3
    Но пока программу писал - наверно играть всяко научился, да и практика игры с КМСом что-то дает, а у меня на всё это нет времени.
    Хотя какие-то знания у меня есть - всё-таки играл с программами и читал шашечную литературу.
     
  14. WildCat
    Оффлайн

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

    Репутация:
    0
    кмс-то по шахматам был.
     
  15. NS
    Оффлайн

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

    Репутация:
    3
    Прикрутил программу к интефейсу Каллисто,
    сегодня подправлю распеделение времени, и выложу первую версию Skifi 0.01