0
FarFar
23.10.13
✎
13:28
|
Всего мнений: 5
Добрый день!
На днях закончил читать книгу "Эгоистичный ген" (автор - известный ученый и популяризатор науки Докинз).
В одной главе:
описано компьютерное моделирование множества матчей разных стратегий этой игры. Разные стратегии набирали разное количество очков.
Как пишет Докинз, успешность-неуспешность стратегии сильно зависит от начальных условий, в которые она попала (разное количество других стратегий в популяции).
Захотелось также промоделировать этот чемпионат. Какие стратегии Вы можете предложить?
Некоторые у Докинза описаны:
- "всегда отказываюсь"
- "всегда кооперируюсь"
- "случайная" (антистратегия, то есть абсолютно случайные ходы)
- "око за око"
- "око за два ока"
Я также придумал свою, но для полноценного чемпионата нужно хотя бы десяток. В книге описано, что в первом чемпионате участвовало 15, во втором - 63. В третьем (где "выигрыш" выплачивался не в баллах, а в количестве копий стратегии на следующую итерацию) - те же 63.
Третий чемпионат наиболее интересен, как мне кажется.
|
|
3
FarFar
23.10.13
✎
13:31
|
Мой алгоритм: "Лучшие практики"
Смотрим количество баллов, набранных всеми стратегиями.
Для каждой стратегии высчитываем коэффициент успешности.
Далее, смотрим, какой ход делала каждая копия стратегии на предыдущем кону (кооперировала или отказывалась), т.е. 0 или 1, умножаем на коэффициент успешности стратегии. Потом полученное совокупное значение по всем копиям стратегии делим на число копий. В ответе получаем некое дробное число между 0 и 1, и округляем его. Например, если 0.33 - значит играем "Отказываюсь". Если 0.79 - "Кооперируюсь"
Вот мой алгоритм |
|