Имя: Пароль:
LIFE
 
OFF: Стратегии эволюционной игры "Кооперируюсь/Отказываюсь" ("Парадокс заключенных")
, ,
0 FarFar
 
23.10.13
13:28
1. Вот мой алгоритм 40% (2)
2. Лень думать 40% (2)
3. А зачем это надо? 20% (1)
Всего мнений: 5

Добрый день!

На днях закончил читать книгу "Эгоистичный ген" (автор - известный ученый и популяризатор науки Докинз).
В одной главе: http://www.rulit.net/books/egoistichnyj-gen-read-45448-89.html
описано компьютерное моделирование множества матчей разных стратегий этой игры. Разные стратегии набирали разное количество очков.
Как пишет Докинз, успешность-неуспешность стратегии сильно зависит от начальных условий, в которые она попала (разное количество других стратегий в популяции).
Захотелось также промоделировать этот чемпионат. Какие стратегии Вы можете предложить?
Некоторые у Докинза описаны:
- "всегда отказываюсь"
- "всегда кооперируюсь"
- "случайная" (антистратегия, то есть абсолютно случайные ходы)
- "око за око"
- "око за два ока"

Я также придумал свою, но для полноценного чемпионата нужно хотя бы десяток. В книге описано, что в первом чемпионате участвовало 15, во втором - 63. В третьем (где "выигрыш" выплачивался не в баллах, а в количестве копий стратегии на следующую итерацию) - те же 63.

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

Вот мой алгоритм
293 SUA
 
29.10.13
12:43
"Блеф"
Алгоритм:
рандомизированное "Око за око"
1й ход матча = 10% отказ
в дальнейшем, отход от базовой стратегии:
если противник ставил "Отказ" - 20%*(кол-во его коопераций/кол-во прошедших партий) "кооперация"
если ставил "Кооперация" - 10% "Отказ"

Вот мой алгоритм