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

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

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    3
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Это я к тому, что спуски заходят в локальные минимумы гораздо чаще, чем генетика.
    Она если и зайдет, то в достаточно хороший.
    А спуски заходят в первый попавшийся. Это важно, если учесть, что для второй попытки просто не хватит времени.
  2. TopicStarter Overlay

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

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

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


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

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

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

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

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

    • Заслуженный
    • Участник
    Рег.:
    11.02.2006
    Сообщения:
    2.181
    Симпатии:
    38
    Репутация:
    3
    Оффлайн
    WildCat, и давно у тебя шашки спариваются? :lol:
  6. WildCat Коршунов Игорь

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

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

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    3
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    У меня очень давно :)
    Но не долнго. Я уже бросил этот метод. Все подбираю вручную. Хотя, может стоит вспомнить молодость :rolleyes:
  8. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    3
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Кстати, могу посмотреть (если еще не удалил), как моя старая программа спаривала разные особи :)
  9. TopicStarter Overlay

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

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

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

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

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

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

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    3
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    Я играю чисто любительски. Помню как с кмс-ом по шахматам рубились в универе :)
    Вот и весь мой опыт игры.
  13. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Но пока программу писал - наверно играть всяко научился, да и практика игры с КМСом что-то дает, а у меня на всё это нет времени.
    Хотя какие-то знания у меня есть - всё-таки играл с программами и читал шашечную литературу.
  14. WildCat Коршунов Игорь

    • Команда форума
    Рег.:
    04.05.2006
    Сообщения:
    3.599
    Симпатии:
    3
    Репутация:
    0
    Адрес:
    Гомель
    Оффлайн
    кмс-то по шахматам был.
  15. TopicStarter Overlay

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

    • Заслуженный
    • Ветеран
    Рег.:
    02.05.2006
    Сообщения:
    6.811
    Симпатии:
    96
    Репутация:
    3
    Адрес:
    Санкт-Петербург
    Оффлайн
    Прикрутил программу к интефейсу Каллисто,
    сегодня подправлю распеделение времени, и выложу первую версию Skifi 0.01

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