|
OFF: Стратегии эволюционной игры "Кооперируюсь/Отказываюсь" ("Парадокс заключенных") | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
FarFar
23.10.13
✎
13:28
|
Добрый день!
На днях закончил читать книгу "Эгоистичный ген" (автор - известный ученый и популяризатор науки Докинз). В одной главе: http://www.rulit.net/books/egoistichnyj-gen-read-45448-89.html описано компьютерное моделирование множества матчей разных стратегий этой игры. Разные стратегии набирали разное количество очков. Как пишет Докинз, успешность-неуспешность стратегии сильно зависит от начальных условий, в которые она попала (разное количество других стратегий в популяции). Захотелось также промоделировать этот чемпионат. Какие стратегии Вы можете предложить? Некоторые у Докинза описаны: - "всегда отказываюсь" - "всегда кооперируюсь" - "случайная" (антистратегия, то есть абсолютно случайные ходы) - "око за око" - "око за два ока" Я также придумал свою, но для полноценного чемпионата нужно хотя бы десяток. В книге описано, что в первом чемпионате участвовало 15, во втором - 63. В третьем (где "выигрыш" выплачивался не в баллах, а в количестве копий стратегии на следующую итерацию) - те же 63. Третий чемпионат наиболее интересен, как мне кажется. |
||||||||||
1
Зойч
23.10.13
✎
13:29
|
что за игра, вкарце
|
||||||||||
2
Лефмихалыч
23.10.13
✎
13:31
|
уберботанство какое-то без смысла и пощады
Лень думать |
||||||||||
3
FarFar
23.10.13
✎
13:31
|
Мой алгоритм: "Лучшие практики"
Смотрим количество баллов, набранных всеми стратегиями. Для каждой стратегии высчитываем коэффициент успешности. Далее, смотрим, какой ход делала каждая копия стратегии на предыдущем кону (кооперировала или отказывалась), т.е. 0 или 1, умножаем на коэффициент успешности стратегии. Потом полученное совокупное значение по всем копиям стратегии делим на число копий. В ответе получаем некое дробное число между 0 и 1, и округляем его. Например, если 0.33 - значит играем "Отказываюсь". Если 0.79 - "Кооперируюсь" Вот мой алгоритм |
||||||||||
4
FarFar
23.10.13
✎
13:33
|
(2) В своем первонaчaльном, человеческом, вaриaнте этa игрa состоит в следующем. Имеется "бaнкомет", который судит игру и выплaчивaет выигрыши двум игрокaм. Допустим, что я игрaю против вaс (хотя, кaк мы увидим, "против" - это кaк рaз то, чего нaм не следует делaть). Нa рукaх у кaждого игрокa только по две кaрты с нaдписями Кооперируюсь и Откaзывaюсь. Кaждый из нaс выбирaет одну из двух своих кaрт и клaдет ее нa стол рубaшкой вверх, с тем чтобы ни один из игроков не знaл, кaк пошел другой; собственно говоря, обa они ходят одновременно. Дaлее игроки нaпряженно ожидaют, покa бaнкомет перевернет кaрты. Нaпряженность связaнa с тем, что выигрыш зaвисит не только от собственного ходa (кaждый игрок знaет, кaкую кaрту положил он сaм), но и от ходa противникa (что остaется неизвестным, покa бaнкомет не перевернет кaрты).
Поскольку в игре учaствуют 2x2 кaрты, то имеется четыре возможных исходa (из увaжения к северо-aмерикaнскому происхождению игры выигрыши приводятся в доллaрaх): Исход I. Мы обa сыгрaли КООПЕРИРУЮСЬ. Бaнкомет выплaчивaет кaждому из нaс по 300 доллaров. Этa почтеннaя суммa нaзывaется "Нaгрaдa зa взaимное кооперировaние". Исход II. Мы обa сыгрaли ОТКАЗЫВАЮСЬ. Бaнкомет штрaфует кaждого из нaс нa 10 доллaров. Это нaзывaется "Нaкaзaние зa взaимный откaз". Исход III. Вы сыгрaли КООПЕРИРУЮСЬ, a я ОТКАЗЫВАЮСЬ. Бaнкомет выплaчивaет мне 500 доллaров (Плaтa зa риск) и штрaфует вaс (Простaкa) нa 100 доллaров. Исход IV. Вы сыгрaли ОТКАЗЫВАЮСЬ, a я КООПЕРИРУЮСЬ. Бaнкомет выплaчивaет вaм зa риск 500 доллaров и штрaфует меня (Простaкa) нa 100 доллaров. В Чемпионатах использовалась несколько другая шкала призов/штрафов: взaимное Кооперировaние - 3 очкa; Риск - 5 очков; Нaкaзaние зa взaимный откaз - 1 очко (эквивaлент небольшого штрaфa в игре, описaнной рaнее); Штрaф Простaку - 0 очков (эквивaлент большого штрaфa в игре, описaнной рaнее). |
||||||||||
5
shamannk
23.10.13
✎
13:33
|
WOT лучше!
|
||||||||||
6
FarFar
23.10.13
✎
13:34
|
(4) это к (1), извиняюсь
|
||||||||||
7
FarFar
23.10.13
✎
13:38
|
(1) Например, достаточно успешной оказалась простая стратегия "Око за око". Она в первый свой ход играет "Кооперируюсь", а в дальнейшем - повторяет предыдущий ход второго игрока.
|
||||||||||
8
Lama12
23.10.13
✎
13:58
|
(0) по ссылке 404 Not Found
|
||||||||||
9
Lama12
23.10.13
✎
14:02
|
Прикольно.
http://www.rulit.net/ Данный ресурс заблокирован в исполнение требований закона "Об информации, информационных технологиях и защите информации". |
||||||||||
10
FarFar
23.10.13
✎
14:20
|
(8), (9) Странно, у меня открывается нормально.
Можешь тогда просто скачать книгу, она выложена в инете. Глава 12 "Добрые пaрни финишируют первыми" |
||||||||||
11
Loyt
23.10.13
✎
14:26
|
(7) Если второй игрок будет всегда отказываться, проиграешь.
|
||||||||||
12
FarFar
23.10.13
✎
14:29
|
(11) Какой смысл ты вкладываешь в слово "Проиграешь"?
Проиграешь второму игроку? Тогда да. Если для тебя важнее всего - не дать второму игроку набрать больше себя, то надо всегда отказываться. Такие стратегии Докинз назвал "завистливые". Но, во-первых, можно назвать целью - набрать много очков, т.е. "жить за счет банкомата". И тогда стратегия "всегда отказываюсь" - будет не очень конкурентной. Во-вторых, в рамках чемпионата стратегий много, и они "обойдут" твою стратегию, даже если она не дает каждой другой обыграть себя. Они будут кооперироваться друг с другом и набирать очки, пока ты их набираешь мало. |
||||||||||
13
antgrom
23.10.13
✎
14:46
|
(5) Кстати да. Вот такая стратегия : в твоей команде нубы , с первых секунд игры один из них крикнул "рашим по центру" , все кроме тебя погнали напрямик по центру.
Твоя наилучшая стратегия чтобы выиграть игру ? |
||||||||||
14
Lama12
23.10.13
✎
14:47
|
Играл в такую игру на тренингах около 15 лет назад (может и больше).
С небольшими изменениями :) В жизни все так же. Оптимальная тактика для каждого будет соответствовать его поведению в жизни. Перевожу. Вы начинаете "дело" с незнакомым вам человеком. Для начала дела, вам нужно дать этому человеку кредит доверия. Он может им воспользоваться. И тогда его выигрыш будет равняться 2 кредитам (вашему и его). Может сыграть в кооперацию. Тогда каждый выиграет что-то от результатов "дела". Если вдвоем вы откажитесь от "дела", то каждый потерял время на обдумывание "дела" и выбора стратегии. Если упростить до безобразия, то задача сводится к количеству доверия. Сколько раз можно доверять партнеру. Естественно в жизни еще есть куча факторов. Но в подобных играх их редко учитывают. |
||||||||||
15
Lama12
23.10.13
✎
14:47
|
(13) Заныкаться в дальний угол.
|
||||||||||
16
ЧеловекДуши
23.10.13
✎
14:48
|
КтоВсеЭтиЛюДи? :)
А зачем это надо? |
||||||||||
17
ЧеловекДуши
23.10.13
✎
14:49
|
(14) А мне напоминает схему МММ, ты ему, он тебе, ты еще двоих, и у тебя и у первого доход, как бы все довольны, кроме последних :)
|
||||||||||
18
FarFar
23.10.13
✎
14:50
|
(13), (15) Если в твоей команде нубы (играют "кооперируюсь"), а ты один такой хитрый обманщик ("отказываюсь"), то будешь жить в шоколаде. И давать большое потомство в следующих итерациях (набирать баллов). Но поэтому доля "обманщиков" в популяции будет расти, и они все чаще будут сталкиваться друг с другом, пытаясь взаимно обмануть.
|
||||||||||
19
Lama12
23.10.13
✎
14:52
|
(18) Ну так :)
И ныкаться будут кооперируясь. Это нормально. Так и происходит. |
||||||||||
20
FarFar
23.10.13
✎
14:53
|
(17) Нет!
Это игра из типа "Игр с ненулевой суммой" (термин теории игр) http://www.rulit.net/books/egoistichnyj-gen-read-45448-96.html , потому что тут присутствует неисчерпаемый банкомат, который оплачивает взаимный выигрыш двух "скооперировавшихся" игроков. |
||||||||||
21
FarFar
23.10.13
✎
14:53
|
(19) В итоге будет так: после крика "рашим по центру" вся команда разбежалась по разным углам, где ее противник поодиночке расстрелял.
|
||||||||||
22
Lama12
23.10.13
✎
14:55
|
(21) Да, и такое бывает.
К сожалению - часто :) |
||||||||||
23
Зойч
23.10.13
✎
14:55
|
(18) пока на свете живы дураки, обманом жить нам стало быть с руки
|
||||||||||
24
ЧеловекДуши
23.10.13
✎
14:59
|
(20) В сущности МММ тоже так то игра ;)
|
||||||||||
25
Gantosha
23.10.13
✎
15:00
|
а еще есть эксперименты, которые показывают , что некоторые не только иррациональны, но и просто отказываются "думать" в той моделе которую им предлагают. Т.е. берется две группы людей одной объясняется эффект взаимодействия , а другой нет .. так вот некоторая часть людей всегда выбирает не оптимальную стратегию , что в свою очередь приводит к занятости у социологов и т.п.
|
||||||||||
26
Loyt
23.10.13
✎
15:01
|
(24) МММ - игра с нулевой суммой.
|
||||||||||
27
Loyt
23.10.13
✎
15:02
|
(25) Во многих случаях рациональная стратегия не приводит к оптимальному результату.
|
||||||||||
28
FarFar
23.10.13
✎
15:02
|
Вот по теме ссылка: wiki:Дилемма_заключённого
Читайте подраздел "Повторяющаяся дилемма заключенного" |
||||||||||
29
Gantosha
23.10.13
✎
15:03
|
и вообще у людей с рациональностью все хорошо, пока им кто-то не объяснить то что они раньше не знали и они не поймут (локально), что раньше жили не правильно. Почему всегда можно поражаться прозорливости подонков.
|
||||||||||
30
FarFar
23.10.13
✎
15:04
|
(28)
В книге «Эволюция кооперации» (1984) Роберт Аксельрод исследовал расширение сценария ДЗ, которое он назвал повторяющаяся дилемма заключённого (ПДЗ). В ней участники делают выбор снова раз за разом и помнят предыдущие результаты. Аксельрод пригласил академических коллег со всего мира, чтобы разработать компьютерные стратегии, чтобы соревноваться в чемпионате по ПДЗ. Программы, вошедшие в него, различались по алгоритмической сложности, начальной враждебности, способности к прощению и так далее. Аксельрод открыл, что если игра повторялась долго среди множества игроков, каждый с разными стратегиями, «жадные» стратегии давали плохие результаты в долгосрочном периоде, тогда как более «альтруистические» стратегии работали лучше, с точки зрения собственного интереса. Он использовал это, чтобы показать возможный механизм эволюции альтруистического поведения из механизмов, которые изначально чисто эгоистические, через естественный отбор. Лучшей детерминистской стратегией оказалась «Око за око» (англ. Tit for Tat), которую разработал и выставил на чемпионат Анатолий Рапопорт. Она была простейшей из всех участвовавших программ, состояла всего из 4 строк кода на языке Бейсик. Стратегия проста: сотрудничать на первой итерации игры, после этого игрок делает то же самое, что делал оппонент на предыдущем шаге. Чуть лучше работает стратегия «Око за око с прощением». Когда оппонент предаёт, на следующем шаге игрок иногда, вне зависимости от предыдущего шага, сотрудничает с небольшой вероятностью (1-5 %). Это позволяет случайным образом выйти из цикла взаимного предательства. Она лучше всего работает, когда в игру вводится недопонимание — когда решение одного игрока сообщается другому с ошибкой. Анализируя стратегии, набравшие лучшие результаты, Аксельрод назвал несколько условий, необходимых, чтобы стратегия получила высокий результат: Добрая Важнейшее условие — стратегия должна быть «доброй», то есть не предавать, пока этого не сделает оппонент. Почти все стратегии-лидеры были добрыми. Поэтому чисто эгоистичная стратегия по чисто эгоистическим причинам не будет первой «бить» соперника. Мстительная Успешная стратегия не должна быть слепым оптимистом. Она должна всегда мстить. Пример немстительной стратегии — всегда сотрудничать. Это очень плохой выбор, поскольку «подлые» стратегии воспользуются этим. Прощающая Другое важное качество успешных стратегий — уметь прощать. Отомстив, они должны вернуться к сотрудничеству, если оппонент не продолжает предавать. Это предотвращает бесконечное мщение друг другу и максимизирует выигрыш. Не завистливая Последнее качество — не быть завистливым, то есть не пытаться набрать больше очков, чем оппонент. Таким образом, Аксельрод пришёл к утопично звучащему выводу, что эгоистичные индивиды во имя их же эгоистического блага будут стремиться быть добрыми, прощающими и не завистливыми. |
||||||||||
31
Пенза58
23.10.13
✎
15:04
|
(18) Вот представь себе простую модель: очередь.
Можно стоять в очереди, а можно пролезть без очереди. И вот: > Но поэтому доля "обманщиков" в популяции будет расти, В конце концов, все будут тупо толпиться. И стратегия обманщиков станет не продуктивной и общая скорость прохождения снизится. З.Ы. http://anticache.img0.joyreactor.cc/pics/post/Комиксы-buttersafe-волки-овцы-761480.jpeg |
||||||||||
32
FarFar
23.10.13
✎
15:06
|
(31) Именно так.
|
||||||||||
33
Пенза58
23.10.13
✎
15:09
|
(0) А почему вообще вспоминают про какого-то Докинза?
У нас же есть Чернышевский: "Теория разумного эгоизма Чернышевского («жизнь во имя другого») есть не что иное, как этическое выражение необходимости объединения и взаимопомощи, взаимоподдержки людей в труде. Героев Чернышевского объединяет одно великое «дело» - дело служения своему народу. Поэтому источником счастья этих людей является успех того дела, которое составляет смысл и радость жизни каждого из них. Мысль о другом, забота о друге, основанная на общности интересов в едином стремлении, в единой борьбе, - вот что определяет моральные принципы героев Чернышевского." (С) |
||||||||||
34
Loyt
23.10.13
✎
15:11
|
(33) Может быть потому, что речь про науку, а не литературу?
|
||||||||||
35
Зойч
23.10.13
✎
15:12
|
(33) этому и строгое мат обоснование есть.
Гуглим Джон Нэш. И даже кино про него есть "Игры разума" |
||||||||||
36
Gantosha
23.10.13
✎
15:13
|
вот эта книга лучше описывает реальность .. http://www.docme.ru/doc/74250/shelling-t.-strategiya-konflikta
|
||||||||||
37
antgrom
23.10.13
✎
15:13
|
(15) ,(18) неправильно
Правильный ответ : ехать за их нубскими спинами ( так чтоб тебя не засветили враги ) и по максимуму наносить урон врагам - тем кого наши нубы засветили( сами они наносить урон не умеют , т.к. нубы ). Потом вернуться на исходную позицию или дейчтвовать по обстоятельствам. Т.е. если происходит событие - его надо использовать. |
||||||||||
38
antgrom
23.10.13
✎
15:16
|
|
||||||||||
39
Принт
23.10.13
✎
15:32
|
(35) Шизиков почитаем?)
|
||||||||||
40
FarFar
23.10.13
✎
15:33
|
(39) Гений - он и с шизой гений.
|
||||||||||
41
Зойч
23.10.13
✎
15:34
|
(39) Гениальность всегда граничит и иногда переходит психические нормы
|
||||||||||
42
Зойч
23.10.13
✎
15:34
|
(39) Хотя если бы он не был шизиком кино бы про него не сняли
|
||||||||||
43
Loyt
23.10.13
✎
15:35
|
(39) У математиков бывает. Профессиональный риск. :)
|
||||||||||
44
Lama12
23.10.13
✎
15:37
|
Кстати, одна из основных проблем Анархии, в горизонте предвидения.
Если каждый индивид общества будет знать как другой индивид будет действовать основываясь на его действиях, то все убудт действовать в интересах всего общества. |
||||||||||
45
FarFar
23.10.13
✎
15:40
|
(44) Вчера переписывался с девушкой, социологом из Польши.
Она говорит, что европейские малые городки - не для славянского менталитета. Там даже богатые люди, которые могут позволить купить себе три лексуса, будут покупать бюджетный автомобиль, чтобы не огорчать соседей таким проявлением богатства. То есть, все эти бюргеры играют "кооперируюсь". |
||||||||||
46
Loyt
23.10.13
✎
15:40
|
(44) Ога, а гарантии где? Без гарантии во многих случаях будут приниматься именно эгоистические стратегии.
|
||||||||||
47
Принт
23.10.13
✎
15:41
|
(44) обоснуй?
|
||||||||||
48
Питерский_
Никола 23.10.13
✎
15:41
|
(47) Рекурсия.
|
||||||||||
49
Зойч
23.10.13
✎
15:42
|
(45) у нас в деревне тоже не принято среди нищих крестьян покупать лексусы. Сожгут ведь нах
|
||||||||||
50
antgrom
23.10.13
✎
15:42
|
(45) почему вы считаете , что у славян в менталитете - выпендриваться перед соседями?
Наша семья например ни перед соседями по лестничной клетке ни перед соседями по даче не выпендривалась никогда. |
||||||||||
51
FarFar
23.10.13
✎
15:43
|
(50) хммм.... нечем?
|
||||||||||
52
Принт
23.10.13
✎
15:43
|
(48) и что?
|
||||||||||
53
antgrom
23.10.13
✎
15:44
|
(51) ок , но соседи тоже не выпендриваются.
|
||||||||||
54
antgrom
23.10.13
✎
15:45
|
(51) и вы не ответили на мой вопрос.
|
||||||||||
55
Gantosha
23.10.13
✎
15:46
|
польский социолог звучит драматично .. польская девушка куда интереснее.
|
||||||||||
56
jsmith82
23.10.13
✎
15:46
|
...
Лень думать |
||||||||||
57
Lama12
23.10.13
✎
15:46
|
(47) Ты взаимодействуешь с человеком. Знаешь на перед как он будет действовать если ты с ним поступишь так или эдак. Он знает как ты будешь действовать исходя из результатов его действий.
В результате, все будут думая о своей выгоде, угождать обществу. Множеству индивидов. В результате получаем идеальное общество, и идеальный строй - анархию. |
||||||||||
58
antgrom
23.10.13
✎
15:47
|
драматичности добавляет то что поляки - тоже славяне.
|
||||||||||
59
Принт
23.10.13
✎
15:49
|
(57) В результате все действия будут обусловлены только внешними относительно системы индивидов факторами, исключая предположения. Эгоизм останется на сцене.
|
||||||||||
60
Gantosha
23.10.13
✎
15:50
|
(57) выгода есть величина субъективная. И то что у здорового человека сутра есть хорошо, вечером может быть плохо и наоборот.
|
||||||||||
61
antgrom
23.10.13
✎
15:51
|
что мы всё о играх далёких от реальности ?
Вот реальная игра : ветка на мисте интересная тема в разговоре участвуют : несколько форумчан считающих себя ( или другие их так считают ) либералами , несколько форумчан считающих себя ( или другие их так считают ) патриотами , массовка. Определить для начала : цель каждого собеседника - к чему он стремится в разговоре и зачем его поддерживает ? |
||||||||||
62
Зойч
23.10.13
✎
15:52
|
(57) и почему это ПРОБЛЕМА анархии?
|
||||||||||
63
Зойч
23.10.13
✎
15:52
|
(61) в этой ветке?
|
||||||||||
64
Gantosha
23.10.13
✎
15:52
|
(61) и патриоты-модераторы)
|
||||||||||
65
FarFar
23.10.13
✎
15:53
|
(55) Речь шла о непольских городках ))
|
||||||||||
66
Lama12
23.10.13
✎
15:53
|
(59) В том-то и фокус. Что эгоизм начинает действовать на благо общества.
(60) Напоминаю - у этих лиц имеется 100% возможность предсказания будущего. |
||||||||||
67
Зойч
23.10.13
✎
15:53
|
(65) Речь наверно про новых русских славян ))
|
||||||||||
68
antgrom
23.10.13
✎
15:54
|
(63) не , можно соседнюю взять , про Онищенко.
|
||||||||||
69
Lama12
23.10.13
✎
15:54
|
(62) Потому что в остальных формах общества, цель общества достигается не за счет эгоизма.
В анархии, цель может быть достигнута только за счет эгоизма. |
||||||||||
70
Loyt
23.10.13
✎
15:55
|
(57) Дык ты нифига не знаешь наперёд, ни миелофона, ни машины времени бесплатно не выдали. Из неверной посылки получаются неверные выводы.
|
||||||||||
71
Принт
23.10.13
✎
15:55
|
(66) Благо? Общество или расцветёт, или погибнет.
|
||||||||||
72
Lama12
23.10.13
✎
15:55
|
(70) ;) В этом и проблема.
|
||||||||||
73
FarFar
23.10.13
✎
15:55
|
(61)
Давай ближе к реальности (в теме ветки). 1С-ники выкладывают свои разработки в интернет, и отвечают на форуме на профессиональные вопросы лично даже незнакомых людей. Казалось бы почему? Но изучив Докинза и результаты чемпионата стратегий Аксельрода - понимаем что это КООПЕРИРУЮСЬ в условиях игры с ненулевой суммой (так как присутствует БАНКОМАТ с нескончаемой суммой денег - заказчик-работодатель). |
||||||||||
74
Gantosha
23.10.13
✎
15:56
|
(65) но, заметь , вы почему то стали обсуждать количество машин .. а не например права беженцев цыган во франции .. почему то с цыганами фрнацузы кооперироваться не хотят .. хотя все из евросоюза. Пусть лучше эту тему пилит.
|
||||||||||
75
Loyt
23.10.13
✎
15:56
|
(69) Зашибись, назвать альтруизм эгоизмом - вот и обоснование. :)
|
||||||||||
76
antgrom
23.10.13
✎
15:57
|
(73) не-не-не.
Есть такие вещи как известность , слава , тщеславие , узнаваемость. Например известность , узнаваемость можно конвертировать в деньги. Так что тут меркантильный интерес. Может быть тренировка - т.е. саморазвитие. |
||||||||||
77
Lama12
23.10.13
✎
15:58
|
(75) :) Вопрос оценки.
|
||||||||||
78
Loyt
23.10.13
✎
16:00
|
(77) Ога, противоположные понятия смешать в одно - вопрос оценки. Вопрос игры словами это.
|
||||||||||
79
FarFar
23.10.13
✎
16:00
|
(74) в ссылке из (0) про это тоже написано. Что "допропорядочные" и "кооперирующиеся" стратегии могут выжить и впоследствии благоденствовать, даже в мире, где преобладают "хитрецы". Фича в том, что они могут "жить обособленно", и получать большие выигрыши, играя преимущественно друг с другом, а не с обманщиками.
Вот так и бюргеры. С собой и знакомыми - кооперируются. С цыганами - играть не хотят. |
||||||||||
80
Gantosha
23.10.13
✎
16:04
|
(66) ну, анархия то это просто форма в которой отсутствует координатор .. т.е. считается что люди могут достигать совместных достижений не прибегая к помощи государства. Но откуда вывод о том что каждый член общества начнет действовать к выгоде другого члена ? Только потому что он от сотрудничества получает больше ? Ну например немцы сотрудничали с гитлером (нагнем всех не немцев).. но русские с ним в этом вопросе сотрудничать не хотели. Так или иначе верх могла одержать только одна из сторон .. и как вот обществу понять надо ли сотрудничать с кем то даже если он наперед тебе рассказывает о своих планах.
|
||||||||||
81
Зойч
23.10.13
✎
16:04
|
(73) скучно просто
|
||||||||||
82
Зойч
23.10.13
✎
16:05
|
мало кто помогает ради. я помог сегодня - мне помогут завтра
|
||||||||||
83
Loyt
23.10.13
✎
16:05
|
(79) Тут внутреннее противоречие. Они не могут одновременно играть преимущественно с хитрецами и преимущественно между собой.
|
||||||||||
84
NS
23.10.13
✎
16:06
|
(0) Докинз не в курсе работ Нэша? Хотя книгу я читал, правда давно, понравилась.
|
||||||||||
85
FarFar
23.10.13
✎
16:10
|
(84) Докинз эту главу писал на основе исследований Аксельрода. А тот уж наверняка с трудами Нэша знаком.
|
||||||||||
86
FarFar
23.10.13
✎
16:11
|
(83) Поясни. Я твою фразу не понял.
|
||||||||||
87
Lama12
23.10.13
✎
16:13
|
(78) Не понял. Как это противоположные?
Альтруизм - бескорыстная забота о других. Эгоист (с учетом прогнозирования будущего) будет вынужден, для заботы о себе, заботиться о других. Причем тут забота получается корыстная, т.к. он знает что его деяния, вернутся к нему. |
||||||||||
88
Loyt
23.10.13
✎
16:14
|
(86) Ну у тебя в (79) в мире вроде как преобладают хитрецы, а добропорядочные всё равно играют преимущественно между собой. Это как так?
|
||||||||||
89
Зойч
23.10.13
✎
16:16
|
(87) сотрудничать не значит заботиться, а всего лишь не кидать
|
||||||||||
90
Gantosha
23.10.13
✎
16:16
|
(83) лучше бы ты спросил у нее о ценностях европейцев и начал бы оттуда , ..а не почему у нас люди покупают по 3 автомобиля и выставляют их на показ. Вдруг может оказаться , что просто в структуре ценностей есть такие , издержки на которые существенно превышают стоимость этих автомобилей и это как бы важнее и достижение этих ценностей уже гарантирует , что не будет свербить в одном месте от желания купить еще одну тачку. (кстати дорогих тачек в германии продается все равно больше чем в россии .. так что расти социолога дальше )
|
||||||||||
91
Зойч
23.10.13
✎
16:17
|
как изменится стратегия, если кидок будет не -100/500, а -300/300?
|
||||||||||
92
FarFar
23.10.13
✎
16:19
|
(88) Да, Докинз описывает такой мир:
http://www.rulit.net/books/egoistichnyj-gen-read-45448-95.html Совершенно очевидно поэтому, сколь вaжное знaчение имеет то, по кaкую сторону от рубежa окaжется дaннaя популяция в сaмом нaчaле. Нaм необходимо тaкже знaть, кaким обрaзом популяция может иногдa переходить с одной стороны рубежa нa другую. Допустим, что мы нaчинaем с популяции, уже нaходящейся нa стороне Всегдa откaзывaюсь. Немногочисленные индивидуумы, придерживaющиеся стрaтегии Око зa око, не встречaются друг с другом достaточно чaсто, чтобы быть взaимно полезными. Тaким обрaзом, естественный отбор толкaет популяцию еще дaльше, к сaмой крaйней точке Всегдa откaзывaюсь. Если бы только этa популяция смоглa просто кaким-то обрaзом, в результaте случaйного дрейфa переступить рубеж, онa моглa бы скaтиться по склону нa сторону стрaтегии Око зa око и всем это было бы очень выгодно, a рaсплaчивaлся бы бaнкомет (или "Природa"). Но, рaзумеется, популяции не облaдaют ни волей, ни нaмерениями или целями, общими для всей группы. Они не могут стремиться к тому, чтобы перейти рубеж. Они перейдут его только в том случaе, если их поведут зa собой ненaпрaвленные силы Природы. Кaк это может произойти? Можно было бы ответить: "Случaйно". Однaко слово "случaйность" просто скрывaет нaше незнaние. Оно ознaчaет: "Определяется кaкими-то покa неизвестными или точно не устaновленными фaкторaми". У нaс есть возможность ответить чуть лучше. Мы можем попытaться предстaвить себе, кaк прaктически некоему меньшинству индивидуумов, использующих стрaтегию Око зa око, удaется увеличиться в числе и достигнуть критической мaссы. Это рaвносильно поискaм возможных путей, которыми индивидуумы Око зa око могли бы обрaзовывaть достaточно большие скопления, чтобы всем вместе выигрывaть зa счет бaнкометa. Тaкое нaпрaвление предстaвляется перспективным, но вместе с тем довольно неопределенным. Кaк именно могли бы сходные друг с другом индивидуумы собирaться вместе, обрaзуя локaльные скопления? Очевиднaя причинa обрaзовaния тaких скоплений в природе - генетическaя близость, родство. Животные большинствa видов обычно живут поблизости от своих родных и двоюродных брaтьев и сестер, a не от кaких-то случaйных членов дaнной популяции. Это необязaтельно бывaет обусловлено их собственным выбором, a aвтомaтически вытекaет из присущей популяции "вязкости". Вязкость ознaчaет любую нaблюдaемую у индивидуумов тенденцию продолжaть жить вблизи того местa, где они родились. |
||||||||||
93
Зойч
23.10.13
✎
16:21
|
Все эти описания для анархических структур. Но даже у животных это не так
|
||||||||||
94
Кай066
23.10.13
✎
16:22
|
Написано же, что стратегия кооперирования (и око за ока) действует только когда индивидов с такой стратегией больше 50 %. А когда в обществе 80 % нелогичных и нерациональных индивидов (а попросту мутаков)
|
||||||||||
95
FarFar
23.10.13
✎
16:22
|
(92)
... Поэтому, если дaже этa стрaтегия редко встречaется в популяции в целом, онa может быть широко рaспрострaненa локaльно. Нa некоем локaльном учaстке индивидуумы, использующие стрaтегию Око зa око, могут встречaться друг с другом достaточно чaсто, чтобы взaимное кооперировaние обеспечивaло им процветaние, несмотря нa то, что по рaсчетaм, исходящим из одной только глобaльной чaстоты в популяции в целом, может получиться, что их чaстотa ниже критической. |
||||||||||
96
Кай066
23.10.13
✎
16:22
|
токое общество наберёт меньше баллов
|
||||||||||
97
FarFar
23.10.13
✎
16:24
|
(94) Поправка: нигде не написано про 50%. Рубежный коэффициент не обязательно 0.5
В некоторых других моделях, например: "Голуби-Ястребы" (чуть другая, но похожая игра) - там весьма дробный коэффициент равновесия. Например, на 5 голубей - 7 ястребов. |
||||||||||
98
Кай066
23.10.13
✎
16:24
|
К тому же в реальном обществе у нес не Повторяющаяся модель: нае..л оппонента и пошёл дальше
|
||||||||||
99
FarFar
23.10.13
✎
16:25
|
(98) На чемпионате из (0) - там такие же условия. Программы не знали, второй игрок - обманывал до этого других, или нет.
|
||||||||||
100
Loyt
23.10.13
✎
16:26
|
(87) Если знать будущее, можно разработать эгоистическую стратегию, нагибающую альтруистические. И нагибать для личной выгоды. Причём даже если все стратегии со временем переродятся в эгоистичные, те, кто стали эгоистами первыми окажутся в прибыли на общем уровне.
|
||||||||||
101
FarFar
23.10.13
✎
16:28
|
(100) Вот программисты и старались придумать хитропопо-обманывающие стратегии. Но по результатам чемпионатов (с многими итерациями) - хитропопые "недобросовестные" стратегии все-равно равно или поздно вымирали:
В конце концов по прошествии примерно 1000 поколений дaльнейшие изменения обстaновки прекрaтились. Былa достигнутa стaбильность. До этого блaгосостояние рaзличных стрaтегий возрaстaло и пaдaло, точно тaк же, кaк при компьютерном моделировaнии стрaтегий Плутов, Простaков и Злопaмятных. Некоторые стрaтегии пошли нa убыль с сaмого нaчaлa, a к 200-му поколению большaя их чaсть вымерлa. Однa или две из непорядочных стрaтегий стaли встречaться все чaще, однaко их процветaние, кaк и у Простaкa в моей модели, было недолгим. Единственнaя непорядочнaя стрaтегия, сохрaнившaяся по прошествии 200 поколений, былa стрaтегия под нaзвaнием Хaррингтон. Выигрыши этой стрaтегии резко возрaстaли нa протяжении первых 150 поколений, a зaтем довольно медленно снижaлись, и стрaтегия прaктически вымерлa к 1000-му поколению. Стрaтегия Хaррингтон былa успешной в течение некоторого времени по той же причине, что и моя оригинaльнaя стрaтегия Плут. Онa эксплуaтировaлa придурков вроде стрaтегии Око зa двa окa, покa они еще существовaли. Зaтем, после того кaк эти придурки были доведены до вымирaния, стрaтегия Хaррингтон, лишившись легкой добычи, последовaлa зa ними. Аренa окaзaлaсь свободной для тaких добропорядочных, но дерзких стрaтегий, кaк Око зa око. |
||||||||||
102
Кай066
23.10.13
✎
16:28
|
(97) Если в одноходовой игре в любом случае доминирует стратегия предать, то в многоходовой оптимальная стратегия зависит от поведения других участников. К примеру, если среди населения все друг друга обманывают, а один ведёт себя по принципу «око за око», он оказывается в небольшом проигрыше из-за потери на первом ходе. В такой популяции оптимальная стратегия — всегда предавать. Если же число исповедующих принцип «око за око» больше, то результат уже зависит от их доли в обществе.
зависит от доли в обществе, т.е. от структуры общества, т.е. не в каждом обществе стратегия актуальна |
||||||||||
103
Loyt
23.10.13
✎
16:29
|
(99) Нет, не такие же. Представь, что победитель, "око за око", играет с каждой программой только одну игру. То есть всегда кооперируется. В зависимости от количества программ, начинающих игру с отказа, он вполне может жёстко вдуть.
|
||||||||||
104
FarFar
23.10.13
✎
16:30
|
(103) Соревнование из одной игры с каждого с каждым представляет мало интереса.
|
||||||||||
105
Gantosha
23.10.13
✎
16:30
|
так люди не живут вечно и самое главное не обязаны следовать однотипной стратегии.
|
||||||||||
106
Loyt
23.10.13
✎
16:31
|
(101) Дык в мире идёт игра с нулевой суммой.
|
||||||||||
107
FarFar
23.10.13
✎
16:31
|
(106) Нет, в мире игра идет не с нулевой суммой.
|
||||||||||
108
Loyt
23.10.13
✎
16:31
|
(104) Ога, зато лучше иллюстрирует пример (98)
|
||||||||||
109
FarFar
23.10.13
✎
16:32
|
(107) Мы можем либо с тобой скооперироваться и вдвоем поймать одного оленя: "я пугаю - ты в засаде", либо не кооперироваться и помереть с голоду. Природа = банкомат
|
||||||||||
110
Gantosha
23.10.13
✎
16:33
|
в мире можно играть в игры с отрицательной суммой .. кстати вот я тут кинул ссылку, там как раз про это ..и математика там не работает совсем.
|
||||||||||
111
Loyt
23.10.13
✎
16:33
|
(107) В определённом приближении. То есть, скажем, богатство - оно относительное, только на фоне более низкого уровня богатства других.
|
||||||||||
112
FarFar
23.10.13
✎
16:35
|
(108) В мире простаков (одноходном) - обманывать выгодно. Но в дальнейшем, из-за успеха обманщиков - мир перестает быть миром простаков, а обманщики жестко страдают, когда взаимно отказываются. У Докинза одна из предыдущих глав про "Голуби - Ястребы", что наступает порог, когда экономически эффективнее становится быть голубем, а не ястребом, просто потому, что ястребы слишком сильно теряют от взаимодействия (драк) друг с другом.
|
||||||||||
113
Пенза58
23.10.13
✎
16:37
|
(57) > Он знает как ты будешь действовать исходя из результатов его действий.
> В результате, все будут думая о своей выгоде, угождать обществу. Это при условии, что все действуют рационально. Люди однако далеко не всегда поступают, только когда очень тщательно подумав. |
||||||||||
114
Loyt
23.10.13
✎
16:37
|
(112) Ога. Дык и происходит скатывание в потенциальную яму.
|
||||||||||
115
NS
23.10.13
✎
16:38
|
(104) В соревновании каждого с каждым победит оптимальная стратегия, которая для этой игры элементарно высчитывается чуть-ли не в уме.
|
||||||||||
116
FarFar
23.10.13
✎
16:38
|
(111) А в природе на "относительность" богатства (относительно одного соседа) никому нет дела (из-за многочисленных конкурирующих видов). Важнее иметь богатство абсолютное, чтобы число особей твоей популяции было достаточно большим, чтобы быть сохраниться как при соревновании с соседями или хищниками, или при потерях при стихийных бедствиях.
|
||||||||||
117
Loyt
23.10.13
✎
16:39
|
(116) А при чём тут природа, если речь шла про общество и индивидуальные стратегии. Эгоисту плевать на абсолютное богатство общества, важнее личное относительное богатство.
|
||||||||||
118
FarFar
23.10.13
✎
16:41
|
(117) Игра имитирует процессы в популяциях любых видов живых организмов, не только в человеческом обществе.
|
||||||||||
119
Пенза58
23.10.13
✎
16:41
|
(73)
> Казалось бы почему? Но изучив Докинза и результаты чемпионата стратегий Аксельрода - понимаем что это КООПЕРИРУЮСЬ Это не верное мнение. В теме Кооперация - это рациональный выбор. Ты говоришь совсем про другое. Это чистые инстинкты без рационализации на уровне индивидуума. |
||||||||||
120
Loyt
23.10.13
✎
16:42
|
(118) Ну я-то комментировал конкретно анархию, в которой якобы эгоистам выгодны стратегии альтруистов. Это вызывает сомнения.
|
||||||||||
121
FarFar
23.10.13
✎
16:43
|
(119) Точнее так. В теме из (0) КООПЕРАЦИЯ - это поиск лучшей стратегии выживания, вне зависимости от "хочу/не хочу" индивидуума.
|
||||||||||
122
Пенза58
23.10.13
✎
16:43
|
(76) >Есть такие вещи как известность , слава , тщеславие , узнаваемость.
Эти вещи выработаны эволюцией. И они что характерно в целом рациональные на уровне вида. Т.е. для вида с чисто эгоистичной точьки зрения выгодно, чтобы особи имели такие характеристики. Т.е. это тот же самый разумный эгоизм. |
||||||||||
123
FarFar
23.10.13
✎
16:44
|
(121) Лучшей стратегии для популяции, для ее сохранения и процветания.
|
||||||||||
124
Пенза58
23.10.13
✎
17:03
|
(79)
> Что "допропорядочные" и "кооперирующиеся" стратегии могут выжить и впоследствии благоденствовать, даже в мире, где преобладают "хитрецы". Фича в том, что они могут "жить обособленно", и получать большие выигрыши, играя преимущественно друг с другом, а не с обманщиками. Самое смешное, что Докинз является противником религии, хотя именно в религия в доступной форме пропагандирует именно это стратегию. А вот эти вот научные модели доступны далеко не всем. В результате Дннкиз против всякой логики выступает против своей же стратгии. |
||||||||||
125
FarFar
23.10.13
✎
17:12
|
(124) Докинз - атеист.
А религия, как "Вера в Бога" и как "Свод нравственных норм" - это же совсем разные вещи. Можно быть атеистом, и наслаждаться исполнением "Ave Maria" одновременно. |
||||||||||
126
FarFar
23.10.13
✎
17:16
|
(124) Кроме того, Докинз не призывает всех кооперироваться и быть добрыми и пушистыми. Его дело, как ученого - установить факты. Например, факт, что при большинстве начальных условии успешной стратегией является стратегия "око за око". А уж его личное отношение к этому факту - дело десятое.
|
||||||||||
127
Пенза58
23.10.13
✎
17:23
|
(125)
> А религия, как "Вера в Бога" и как "Свод нравственных норм" - это же совсем разные вещи. Два вопроса: 1. Религия пропагандирует правильную стратегию? 2. Какой процент населения РФ способны вкурить то о чем говорится в этой теме. |
||||||||||
128
Пенза58
23.10.13
✎
17:24
|
(126)
> Докинз не призывает всех кооперироваться и быть добрыми и пушистыми. Его дело, как ученого - установить факты. Например, факт, что при большинстве начальных условии успешной стратегией является стратегия "око за око". Это и есть самая правильная пропаганда. |
||||||||||
129
FarFar
23.10.13
✎
17:25
|
(124) Кстати, Иисус рекомендовал стратегию: "Око за 490 ок"
http://www.foru.ru/slovo.20736.4.html (Матф.18:20-22) "Тогда подошел к Нему Петр и спросил: - Господь, сколько раз должен я прощать брата, если он передо мной провинится? Семь раз? Нет, не семь, а семьдесят раз по семь, - отвечает ему Иисус. Наш милосердный Господь в Своем долготерпении установил: не семь. А семьдесят раз по семь." Хорошо, добавлю в список стратегий "Стратегия Иисуса". Потом посмотрю, насколько она будет успешной в чемпионате. Господа! Кроме Иисуса и меня кто-нибудь еще стратегию предложит??? |
||||||||||
130
FarFar
23.10.13
✎
17:26
|
(127) Сделаю чемпионат, включу туда "Стратегию Иисуса", увидим.
|
||||||||||
131
FarFar
23.10.13
✎
17:28
|
(129) Точнее, Стратегия Иисуса это "Око за 491 око".
Потому что "Око за око" - мстит сразу. "Око за два ока" - прощает один обман второго игрока. Значит, если нужно прощать 490 раз, это стратегия "Око за 491 око". |
||||||||||
132
Пенза58
23.10.13
✎
17:32
|
(129) Ты теплое с мягким не путай.
Простить это отношение в голове. Можно не злиться, а спокойно вырабатывать правильную стратегию. |
||||||||||
133
FarFar
23.10.13
✎
17:46
|
(132) Где это сказано, что это только "отношение в голове"?
Типа "я тебя простил, но фиг я тебе еще рубль в долг дам" ? |
||||||||||
134
FarFar
23.10.13
✎
17:49
|
(132) Прощать в голове можно хучь мильон раз. Если это по карману не бьет - жалко что ли )))
|
||||||||||
135
Пенза58
23.10.13
✎
17:53
|
(134) > Прощать в голове можно хучь мильон раз.
Да ну? Надеюсь ты понимаешь, что это не так. |
||||||||||
136
Пенза58
23.10.13
✎
17:59
|
(133) > Где это сказано, что это только "отношение в голове"?
Это следует из значения слова "прощать". Ну и вообще это общая идея Евангелия. > Типа "я тебя простил, но фиг я тебе еще рубль в долг дам" ? Смотря под какие условия рубль давался, если в долг с возвратом, и причины того человек не вернул именно в нем, тогда: "без залога в долг не дам". |
||||||||||
137
Пенза58
23.10.13
✎
18:00
|
(133)
> Типа "я тебя простил, но фиг я тебе еще рубль в долг дам" ? Это, кстати, довольно много. Многие придут с топором свой рубль возвращать. |
||||||||||
138
FarFar
23.10.13
✎
18:02
|
(136) Не доказал. Для меня, например, слово "Простить" - это значит так простить, как будто бы вины вообще не было.
Я не вижу в цитате из (129), что Иисус имел ввиду именно твое понимание слова "Простить" |
||||||||||
139
FarFar
23.10.13
✎
18:05
|
(138) Ну, а в общем, у нас тут не богословский спор. В рамках чемпионата, интересно проверить идею Иисуса именно в понимании "полного" прощения. Потому что "прощение только в голове" в рамки игры не впихивается.
|
||||||||||
140
Lama12
23.10.13
✎
18:07
|
(139) Чемпионат-то делать будем?
|
||||||||||
141
Lama12
23.10.13
✎
18:09
|
Даешь банкомат на платформе 1С!
Каждый пишет своего бота на игру. Кстати, задачка интересная и вроде должна быть простой :) Могу поучаствовать в написании. Но не быстро. |
||||||||||
142
FarFar
23.10.13
✎
18:09
|
(140) Конечно!
|
||||||||||
143
Зойч
23.10.13
✎
18:09
|
В таком чемпионате результат стратегии очень много зависит от состава участников.
Ибо нет стратегии выигрышной всегда |
||||||||||
144
Lama12
23.10.13
✎
18:11
|
(142) Давай описание API. Буду писать свою стратегию :)
|
||||||||||
145
FarFar
23.10.13
✎
18:11
|
(141) Программирования тут немного. Интересно бы суметь сделать конструктор алгоритмов, чтобы не описывать каждый алгоритм кодом (скорее всего, многие из них сильно отличаться не будут). А если на конструктор не заморачиваться - то тут программежа часов на 16, чтобы закодировать несколько простых стратегий, сталкивать их между собой, и считать баллы (вариант 1, когда кол-во экземпляров стратегий в процессе чемпионата не меняется).
Вариант, когда баллы выплачиваются кол-вом экземпляров стратегий в популяции в следующей итерации - посложнее, но тоже не запуск протона. |
||||||||||
146
FarFar
23.10.13
✎
18:12
|
(144) Стратегию ты тут можешь в словах написать.
|
||||||||||
147
FarFar
23.10.13
✎
18:15
|
(141) Еще бы не интересная задача! Проверить Аксельрода и Творца )))
|
||||||||||
148
Lama12
23.10.13
✎
18:19
|
(146) Пожалуйста.
В самом начале 3 раза верим одному и тому же.Далее смотрим, если не обманывал, то верим дальше. Если обманывал один раз, то вероятность следующего не доверия 1/10. Линейно снижается. Так не менее 20 раз. потом верим опять до первого вранья. Если обманул 2 раза, то не верим 10 ходов, потом верим с увеличивающейся вероятностью от 0.5 до 1 в течении 10 ходов. Если обманул 3 раза подряд, то не верим 40 ходов. Потом в течении 30 ходов вероятность доверия линейно увеличивается от 0 до 1 естественно случайно. Можно взять нормальное распределение. Как то так. |
||||||||||
149
FarFar
23.10.13
✎
18:20
|
(144) На вход функции (твоего алгоритма) могу подать структуру, содержащую нужные тебе параметры (ключ/значение). Например,
Номер хода = 5 Количество моих баллов = 3 Результат моей предыдущей игры с этим партнером = 0 и т.д., все что тебе нужно для работы алгоритма. На выходе - от тебя либо "Ложь" ("Отказываюсь), либо "Истина" ("кооперируюсь") |
||||||||||
150
Lama12
23.10.13
✎
18:20
|
Кстати, если цена произрыша/выигрыша меняется, то стратегия тоже меняется :)
|
||||||||||
151
FarFar
23.10.13
✎
18:21
|
(150) Возьмем таблицу бонусов/премий из ссылки в (0).
"взaимное Кооперировaние - 3 очкa; Риск - 5 очков; Нaкaзaние зa взaимный откaз - 1 очко (эквивaлент небольшого штрaфa в игре, описaнной рaнее); Штрaф Простaку - 0 очков" |
||||||||||
152
FarFar
23.10.13
✎
18:22
|
(150) Прочитай, плиз, всю 12-ю главу из (0)
|
||||||||||
153
Lama12
23.10.13
✎
18:23
|
(151) Я про другое. Например, цена кооперации, риска и наказания первые 10 ходов - одна, а на каждый 11 ход стоимость может увеличиваться в 5 раз. В такую играл в жизни :)
|
||||||||||
154
Lama12
23.10.13
✎
18:23
|
(152) Ок.
|
||||||||||
155
FarFar
23.10.13
✎
18:26
|
(153) Пока не будем усложнять. При таких раскладах, возможной стратегией на первые 10 ходов будет "копить хорошую карму и доверие обывателей, а на 11 всех надуть по крупному". Хотя может "допропорядочные" стратегии и при таких раскладах победят.
|
||||||||||
156
Lama12
23.10.13
✎
18:27
|
(155) Не победят. :(
Столько слез было. Хотя сейчас вспоминать приятно :) |
||||||||||
157
Wasya
23.10.13
✎
19:05
|
С точки зрения классической теории игр надо всегда предлагать кооперацию. Но кидал надо наказывать.
Поэтому нужна "добрая стратегия с кулаками". 1) Неизвестному игроку, всегда предлагать кооперацию. 2) Если он тоже предлагает кооперацию, то продолжать в том же духе. 3) Если противник вас кинул. Выставив отказ. То он вас наказал на 300+100 баксов. То далее такому игроку предлагать отказ. До тех пор пока он вам не выплатит неустойку, выставив на ваш прогнозируемый отказ, кооперацию. После чего такому игроку можно снова предлагать кооперацию. |
||||||||||
158
FarFar
23.10.13
✎
19:15
|
(157) слово "прогнозируемый" смущает. Не факт, что другой игрок умеет вообще "прогнозировать". Если читать фразу просто как "До тех пор пока он вам не выплатит неустойку, выставив на ваш отказ, кооперацию" - то стратегия понятна. Запишу ее. Название "Добрая стратегия с кулаками от Wasya"
|
||||||||||
159
FarFar
23.10.13
✎
19:19
|
Пока накидал структуру конфы, справочники:
"Стратегии" "Параметры стратегий" "Чемпионаты" "Матчи" и регистр сведений "Партии". Забил в "Стратегии" следующие: Всегда отказываюсь Всегда кооперируюсь Око за око Око за два ока Лучшие практики (автор - FarFar) Око за 491 ок (автор - Иисус) Добрая стратегия с кулаками (Автор - Wasya) Вера с увеличивающейся вероятностью (автор - Lama12) завтра продолжу. |
||||||||||
160
Loyt
24.10.13
✎
08:09
|
(158) Дык судя по описанию, Вася просто пересказал то самое "око за око" своими словами.
|
||||||||||
161
Пенза58
24.10.13
✎
08:20
|
(138) > Не доказал. Для меня, например, слово "Простить" - это значит так простить, как будто бы вины вообще не было.
Ты путаешь слова "Простить" и "Забыть". > Я не вижу в цитате из (129), что Иисус имел ввиду именно твое понимание слова "Простить" Потому что это цитата. Надо брать учение христианства в целом. И оно относится к страстям в голове человека. Можно не верить или даже избивать человека. не держа на него зла или даже делать это с любовью к нему. |
||||||||||
162
Loyt
24.10.13
✎
08:30
|
(124) Что за чушь? С чего это Докинз выступает против своей стратегии? Религия что, исчерпывается теоретической стратегией? Или без религии люди не кооперируются?
Ну и, кстати, победила-то совсем не стратегия всепрощения. |
||||||||||
163
Loyt
24.10.13
✎
08:32
|
(161) "Можно не верить или даже избивать человека. не держа на него зла или даже делать это с любовью к нему." - фига себе заявка.
Я думал, что подобное психопатией зовётся. А тут вон оно что, Михалыч. |
||||||||||
164
Пенза58
24.10.13
✎
08:45
|
(139) > В рамках чемпионата, интересно проверить идею Иисуса именно в понимании "полного" прощения. Потому что "прощение только в голове" в рамки игры не впихивается.
Может потому, что модель ущербная? И надо добавить элемент мести? И вообще усложнить модель. Вот есть некоторый счетчик который считает годы. За год каждый участник получает монетку, если сидел в тюрьме монетку не получаешь. Можно совершить преступление(вернее пакет состоящий из большого преступления и маленького преступления). Для совершения преступления нужно выбрать напарника(на основе всяких данных), за преступление за один год каждый из напарников получает по 5 монет. Дальше классическая дилемма большим и маленьким преступлением. Если сложилась ситуация: 0-10. После отсидки тот кто мотал червонец может: (и вот тут как раз включается модель Христа) простить (но не забыть) или отомстить(тогда он получает 5 монеток, а тот кто не сидел уменьшает свои капиталы на 5 монеток (или на 10 если учитывать оплату больницы)). И тут опять возникает дилемма: согласится с наказанием или настучать полиции, если настучал то может вернутся 2 монеты, но после отсидки возможна новая месть. З.Ы. Возможно пропорции надо поменять. З.З.Ы. Можно еще добавить. что за год жизни не только зарабатывается монетка, но и тратится 0.5 монетки. |
||||||||||
165
Пенза58
24.10.13
✎
08:50
|
(163) > "Можно не верить или даже избивать человека. не держа на него зла или даже делать это с любовью к нему." - фига себе заявка.
> Я думал, что подобное психопатией зовётся. А тут вон оно что, Михалыч. Вот допустим у тебя есть родственник или даже ребенок к которым ты позитивно относишься. Допустим родственник наркоман, он тебя просит денег на что-то там. Не смотря на твое позитивное в целом отношение, ты ему поверишь или будешь считать, что наркоманам верить нельзя? Или вот у тебя есть ребенок, который плохо себя ведет, если просто объяснять ему, что он поступил не хорошо, из него вырастет скотина, т.е. надо пороть, не смотря на то, что ты его любишь и хочешь для него лучшего. |
||||||||||
166
Fedot200
24.10.13
✎
09:16
|
как сермяжный смысл во всей этой белебетристике?
|
||||||||||
167
Fedot200
24.10.13
✎
09:16
|
как = какой
|
||||||||||
168
Пенза58
24.10.13
✎
09:49
|
(166) Эгоизм в классическом понимании, не предполагает прощения, доверия, добра.
Предполагаются, что это только мешают. Но данная модель показывает, что в описанных условиях, эти качества отнюдь не лишние. |
||||||||||
169
Loyt
24.10.13
✎
09:50
|
(168) Начнём сначала, о какой, собственно, модели вообще речь?
|
||||||||||
170
Пенза58
24.10.13
✎
09:56
|
(169) Дилемма заключенного, вернее Повторяющаяся дилемма заключенного.
|
||||||||||
171
Loyt
24.10.13
✎
10:07
|
(169) Получается, ты просто озвучил выводы из (0) своими словами?
|
||||||||||
172
Lama12
24.10.13
✎
10:23
|
(159) FarFar Когда результаты будут?
Может функцию какую написать? |
||||||||||
173
FarFar
24.10.13
✎
10:27
|
(160) Да, еще раз прочитал - алгоритм Васи это "око за око", только более витиевато выраженное.
(172) Дай мне еще денек, сегодня постараюсь днем часик выделить на доработку конфы, чтобы можно было запускать игру. |
||||||||||
174
Fedot200
24.10.13
✎
10:28
|
(173) было бы интересно поиграть.
|
||||||||||
175
FarFar
24.10.13
✎
10:34
|
(172) Напиши саму функцию разового выполнения стратегии, с учетом того, что она потребует себе на вход заранее оговоренные параметры.
То есть, я сейчас планирую хранить код стратегии в текстовом поле, выполнять через "Выполнить". В ходе выполнения этого кода твоему алгоритму может потребоваться какой то параметр. Например "НомерХодаВМатче". Когда приходит время обратиться к нему, то он: 1. Ищется среди уже рассчитанных на этом ходу "общих" параметров 2. Если еще не рассчитан - рассчитывается и передается тебе обратно в твою функцию. Описания самих параметров (их код выполнения) - хранятся в отдельном справочнике "ПараметрыСтратегий". |
||||||||||
176
antgrom
24.10.13
✎
10:36
|
вам не кажется что ваши алгоритмы слишком сильно завязаны на конкретном соотношении размеров штрафов и премий.
Я читал про такие игры - соотношение штрафов и премий может быть другим и т.о. стратегия поменяется ... |
||||||||||
177
FarFar
24.10.13
✎
10:41
|
(176) Это можно будет проверить, в рамках условий "Парадокса заключенного"
wiki:Дилемма_заключённого Если оба выбрали «сотрудничать», оба получают C. Если один выбрал «предать», другой «сотрудничать» — первый получает D, второй с. Если оба выбрали «предать» — оба получают d. Значения переменных C, D, c, d могут быть любого знака (в примере выше все меньше либо равны 0). Обязательно должно соблюдаться неравенство D > C > d > c, чтобы игра представляла собой «Дилемму заключённого» (ДЗ). Если игра повторяется, то есть играется больше 1 раза подряд, общий выигрыш от сотрудничества должен быть больше суммарного выигрыша в ситуации, когда один предаёт, а другой — нет, то есть 2C > D + c |
||||||||||
178
Lama12
24.10.13
✎
13:17
|
(175) Немного алгоритмизировал...
Думаю 2 функции сам напишешь, у меня не хватает информации о структуре данных. |
||||||||||
179
Lama12
24.10.13
✎
13:21
|
Хе... немного ошибся :)
на
И без отладки сложно :) |
||||||||||
180
Lama12
24.10.13
✎
13:21
|
Хребанный копипаст...
Длина = ГлубинаНеверия[КоличествоОбманов]; Случайность = ГСЧ.СлучайноеЧисло(0,Длина); Это правильно |
||||||||||
181
FarFar
24.10.13
✎
13:50
|
(178) У меня идет нормально, стратегии уже умеют играть друг с другом в рамках чемпионата.
Алгоритмы стратегий пока задавал жесткими функциями, попробую твой алгоритм вставить. Но это ближе к вечеру, пока надо пообедать и поработать. |
||||||||||
182
Deal with it
24.10.13
✎
14:09
|
(181) если не затруднит, можешь в итоге выложить конфу куда-нибудь в общий доступ? Мы с коллегам с удовольствием сыграем и отпишем результаты)
|
||||||||||
183
FarFar
24.10.13
✎
14:53
|
(182) Будет в более-менее товарном виде - выложу.
|
||||||||||
184
FarFar
24.10.13
✎
17:26
|
Забирайте, что есть на текущий момент.
http://webfiles.ru/files/38548172 пароль 123456 В dt-шнике тестовый чемпионат, с 3 стратегиями ("всегда кооперируюсь", "всегда отказываюсь", "случайная"). Их алгоритмы описаны в пользовательском режиме, в справочнике "Стратегии". Загружаете dt-шник, открываете в пользовательском режиме обработку СЭЭ, выбираете единсвенный тестовый чемпионат, нажимаете "Старт чемпионата". Результаты конкретных игр можно посмотреть, открыв элемент "тестовый чемпионат", а далее через "Перейти" / "партии" Открывать в толстом клиенте, обычном приложении. Lama12 - твою стратегию пока не реализовал, она требует вычисления внешних параметров. Это - завтра. |
||||||||||
185
Lama12
24.10.13
✎
17:26
|
Ну как там?
Какие стратегии побеждают? И сколько ходов всего в чемпионате? 250 или больше? |
||||||||||
186
Lama12
24.10.13
✎
17:26
|
Хы... :)
|
||||||||||
187
Зойч
24.10.13
✎
17:28
|
(184) око за око почто не реализовал? подключаемые обработки/модули стратегий реализовал?
|
||||||||||
188
Зойч
24.10.13
✎
17:28
|
а если не по очкам, а эло реализовать? кто будет в фаворе?
|
||||||||||
189
FarFar
24.10.13
✎
17:29
|
(185) В этих трех - лидер "Всегда отказываюсь". На втором месте стабильно "случайная". Наивная "Всегда кооперируюсь" - обычно в хвосте.
(185) Сколько ходов - настраивается в карточке чемпиионата. Все гибко ))) (187) Для "око за око" надо реализовать вычисление параметров в процессе выполнения стратегии. Надо это сделать гибко и удобно, то есть завтра. |
||||||||||
190
Зойч
24.10.13
✎
17:29
|
|||||||||||
191
FarFar
24.10.13
✎
17:53
|
(190) Исходная задача - проверить Аксельрода, с его методами проведения чемпионата, оценками в баллах.
ЭЛО и прочие системы оценки - второстепенная задача. Хочешь - реализуй. Господа программисты! Пока я получил внятный алгоритм только от Lama12, FarFar и Иисуса. Алгоритм Wasya, увы, не принят - так как это описанное "Око за око". Подтягивайтесь! Автор стратегии-победителя получит награду! |
||||||||||
192
antgrom
24.10.13
✎
17:57
|
Предлагаю стратегию "анти око за око" т.е. "злом за добро и добром за зло"
Самому тестить лень |
||||||||||
193
antgrom
24.10.13
✎
17:58
|
+(192) первый ход : отказываюсь.
|
||||||||||
194
FarFar
24.10.13
✎
18:03
|
(192) Сумасшедшая стратегия. Ок, принимается. Как будет называться, "Злом за добро, добром за зло" ?
|
||||||||||
195
Deal with it
24.10.13
✎
18:31
|
(194) назови "Противная" )))
|
||||||||||
196
FarFar
24.10.13
✎
18:33
|
(195) Название должно отражать суть, чтобы не запутаться. Эта - какая то крэзи...шизанутая. Будет "Злом за добро, добром за зло".
|
||||||||||
197
antgrom
24.10.13
✎
19:45
|
(194) " Как будет называться, "Злом за добро, добром за зло" ?"
Да |
||||||||||
198
FarFar
24.10.13
✎
21:43
|
(197) Еще вариант названия этой алогичной стратегии - "Садомазохист"
|
||||||||||
199
Lama12
25.10.13
✎
09:57
|
Вариант названия - антипод.
|
||||||||||
200
Lama12
25.10.13
✎
10:50
|
FarFar зарегистрируйся под другой учеткой и дай результаты чемпионата. :)
|
||||||||||
201
Пенза58
25.10.13
✎
11:00
|
(191) Для чистоты эксперимента, нужно несколько случайных стратегий, которые будут выдавать результат от балды.
|
||||||||||
202
Lama12
25.10.13
✎
11:11
|
(201) Случайная стратегия есть. Я тут подумал, было бы хорошо увеличить число участников хотя бы до 10*(количество стратегий).
Т.е. представителей каждой стратегии должно быть не меньше 10. Вот тогда будут интересные результаты, и статистически значимые при количестве экспериментов больше 100. |
||||||||||
203
Lama12
25.10.13
✎
16:37
|
FarFar, реинкарнируйся!
Как там чемпионат? |
||||||||||
204
FarFar
25.10.13
✎
16:48
|
Ура! Во имя торжества науки меня выпустили из Азкабана на 5 минут передать народу радостную весть!
Ловите программу со стратегиями "Око за око", "Око за два ока", "Добром за зло, злом за добро". Плюс можно описывать свои стратегии в пользовательском режиме. Lama12 - опиши свою, плиз, по аналогии, потом мне скинешь код. http://webfiles.ru/files/38562145 пароль 123456 В карточке чемпионата есть галка "Стратегия играет сама с собой". Можно ее снимать (для отладки), но в боевом чемпионате она должна быть включена. Тогда, например, стратегия "Всегда отказываюсь" будет играть в том числе со стратегией "Всегда отказываюсь" тоже. Для игры пока доступны и отлажены следующие стратегии: - Всегда кооперируюсь - Всегда отказываюсь - Око за око - Случайная ("антистратегия") - Злом за добро, добром за зло, "анти око за око" (автор - antgrom) - Око за два ока по умолчанию, у "случайной" галка "Играю" выключена, так как вносит элемент хаоса в стройную теорию, и, вдобавок, хорошо играет ))) |
||||||||||
205
Зойч
25.10.13
✎
16:51
|
Эло реализиовал?
|
||||||||||
206
FarFar
25.10.13
✎
16:52
|
(205) Даже не думал. Я программу пишу в перерывах между работой, между прочим. Сначала - все четко по Аксельроду. Следующее по плану - выплата "зарплаты" стратегий не в баллах, а в количестве особей в следующем поколении. Но это уже в понедельник, не раньше.
|
||||||||||
207
FarFar
25.10.13
✎
16:55
|
(202) я в (0) писал "для полноценного чемпионата нужно хотя бы десяток"
Так что давайте, не пылитесь на задворках научного прогресса, подкидывайте стратегии! |
||||||||||
208
Зойч
25.10.13
✎
16:55
|
(206) в чем суть тогда твоей задумки? проверить правильность того что в книге написано?
|
||||||||||
209
FarFar
25.10.13
✎
16:56
|
(208) Да, это основная цель. А то книги Аксельрода и Докинза известны всему миру, а вдруг там туфта ?!?
|
||||||||||
210
Зойч
25.10.13
✎
16:56
|
(207) доступ к истории ходов в течении партии есть?
|
||||||||||
211
Зойч
25.10.13
✎
16:57
|
(209) какие основание не доверять ему? И что именно ты хочешь проверить?
|
||||||||||
212
FarFar
25.10.13
✎
16:57
|
(210) Да, есть. Через карточку "Чемпионат", "перейти", "партии"
|
||||||||||
213
Зойч
25.10.13
✎
16:57
|
(212) програмно для стратегии
|
||||||||||
214
FarFar
25.10.13
✎
16:58
|
(211) Я хочу получить сходные результаты. Пока, например, я таковых не получаю. На 5-6 стратегиях стратегия "Око за око" не побеждает. А в лидерах "Всегда отказываюсь".
Да ты не ленись! Скачай ссылку и поиграйся. Неужели не интересно? |
||||||||||
215
Зойч
25.10.13
✎
16:59
|
(214) пока эло не реализуешь не очень
|
||||||||||
216
FarFar
25.10.13
✎
16:59
|
(213) Да, есть. И даже ты это можешь увидеть, такой механизм используют стратегии "око за око", "око за два ока", "анти око за око".
|
||||||||||
217
FarFar
25.10.13
✎
16:59
|
(215) Ушел посыпать голову пеплом.
|
||||||||||
218
Зойч
25.10.13
✎
16:59
|
только эло может дать более менее объективную оценку силы стратегии
|
||||||||||
219
FarFar
25.10.13
✎
17:02
|
(218) С какой стати? ЭЛО применяется, потому что в реальном мире, каждый игрок не может сыграть с каждым. А у меня в чемпионате каждая стратегия играет с каждый, причем сколько угодно раз.
|
||||||||||
220
FarFar
25.10.13
✎
17:02
|
(219) В файлике, который выложил, длина матча "каждый с каждым" указана 100 партий. Можно делать намного больше.
|
||||||||||
221
FarFar
25.10.13
✎
17:28
|
Однако вижу 5 скачиваний с webfiles!
|
||||||||||
222
antgrom
25.10.13
✎
17:29
|
я скачал
|
||||||||||
223
Зойч
25.10.13
✎
17:30
|
сама с собой стратегия играет?
|
||||||||||
224
akronim
25.10.13
✎
17:31
|
Как бы интуитивно понятно, что при большом количестве игр "око за око" будет иметь успех. Из-за этой "интуитивности" считал ДЗ в каноническом виде вырожденной игрой - и так все ясно. И был неправ. Несколько месяцев назад случайно наткнулся на коротенькую новость, что бригада европейских математиков нашла более хорошую стратегию. Подробностей, к сожалению, не было. Если найду на выходных новость, попробую добыть подробности.
|
||||||||||
225
antgrom
25.10.13
✎
17:32
|
1000 ходов
выиграла "Всегда отказываюсь" 16 020 баллов при прочих стандартных настройках |
||||||||||
226
Зойч
25.10.13
✎
17:34
|
Зависит от соотношения злых/добрых стратегий
|
||||||||||
227
Зойч
25.10.13
✎
17:34
|
Добавить бы 100 случайных стратегий
|
||||||||||
228
FarFar
25.10.13
✎
17:38
|
(223) "В карточке чемпионата есть галка "Стратегия играет сама с собой". Можно ее снимать (для отладки), но в боевом чемпионате она должна быть включена. Тогда, например, стратегия "Всегда отказываюсь" будет играть в том числе со стратегией "Всегда отказываюсь" тоже."
(227) Планирую сделать, чтобы кол-во экземпляров стратегии можно было задавать в начале чемпионата. Пока поле такое сделал, число там хранится, но никак не используется. |
||||||||||
229
FarFar
25.10.13
✎
17:40
|
(224) Пока "око за око" не всегда даже 2-е место завоевывает. Ее теснит либо "случайная" (да, она часто на 2-м месте, особенно без галки игры сама с собой), либо аномальная "добром за зло" мистянина antgrom
|
||||||||||
230
Зойч
25.10.13
✎
17:41
|
Если играют все со всеми то всегда будет в фаворе Кидающая стратегия
|
||||||||||
231
FarFar
25.10.13
✎
17:41
|
(224) "при большом количестве игр" - возможно, при разнообразии стратегий. У Аксельрода она имела успех, но когда стратегий было заметно больше (15, а потом 63)
|
||||||||||
232
antgrom
25.10.13
✎
17:42
|
считаю , что важно - поставить жизненные очки
Сейчас поставил : взаимная кооперация +5 взаимный отказ -1 обман другого +6 обманули меня -6 1000 ходов выиграло "Око за око" |
||||||||||
233
FarFar
25.10.13
✎
17:43
|
(230) Выбери в чемпионат следующих игроков:
"всегда отказываюсь" "око за око" "око за два ока" и будет наглядная демонстрация, как две "добропорядочные" стратегии уделывают обманщика |
||||||||||
234
antgrom
25.10.13
✎
17:43
|
(230) зависит от начисляемых очков - будут ли отрицательные.
|
||||||||||
235
FarFar
25.10.13
✎
17:44
|
(232)
Я взял таблицу очков, которую использовал Аксельрод в своих исследованиях. Чтобы не нарушать принципы "Парадокса заключенного", таблица бонусов/штрафов должна удовлетворять параметрам: wiki:Дилемма_заключённого Если оба выбрали «сотрудничать», оба получают C. Если один выбрал «предать», другой «сотрудничать» — первый получает D, второй с. Если оба выбрали «предать» — оба получают d. Значения переменных C, D, c, d могут быть любого знака (в примере выше все меньше либо равны 0). Обязательно должно соблюдаться неравенство D > C > d > c, чтобы игра представляла собой «Дилемму заключённого» (ДЗ). Если игра повторяется, то есть играется больше 1 раза подряд, общий выигрыш от сотрудничества должен быть больше суммарного выигрыша в ситуации, когда один предаёт, а другой — нет, то есть 2C > D + c (объяснение см. ниже). Эти правила были установлены Дугласом Хофштадтером и образуют каноническое описание типичной дилеммы заключённого. |
||||||||||
236
Wasya
25.10.13
✎
17:45
|
(233) Глубокая жизненная идея! Порядочные люди живут хорошо, когда их в обществе большинство!
|
||||||||||
237
antgrom
25.10.13
✎
17:48
|
(235) у меня так же :
D > C > d > c, +6 , +5 , -1 , -6 |
||||||||||
238
antgrom
25.10.13
✎
17:49
|
и
2C > D + c соблюдается |
||||||||||
239
FarFar
25.10.13
✎
17:55
|
(237), (238)
Ок, значит ты исследуешь "дилемму заключенного" с допустимыми параметрами. Я - тоже с допустимыми, но с теми, которые использовал Аксельрод. Интересно, если увеличить число стратегий - найдется ли самая лучшая стратегия, которая будет побеждать при любых допустых параметрах? Вот закодирую свою "лучшие практики" - она всех как Тузик тряпку порвет! |
||||||||||
240
antgrom
25.10.13
✎
17:58
|
я к жизни приближаю.
Про мало хороших и много плохих людей : с параметрами +6 , +5 , -1 , -6 два "око за око" рвут пятерых "всегда отказываюсь" |
||||||||||
241
FarFar
25.10.13
✎
17:59
|
Кстати, господа, на предлагаемые стратегии накладываю ограничение:
Стратегия не должна использовать "внесистемные" знания о других стратегиях. Нельзя тупо кодировать: "Если противник - "всегда отказываюсь", то отказывать ему". Зато разрешаю использовать любую статистику по прошедшим партиям, до текущего хода. Например, если идет партия № 10, то результаты всех прошедших 9 - в Вашем распоряжении. Кто как с кем сыграл, какую карту положил, сколько баллов набрал. |
||||||||||
242
Зойч
25.10.13
✎
18:00
|
Партия - это ход?
|
||||||||||
243
FarFar
25.10.13
✎
18:01
|
(241), (242) Чемпионат в программе сейчас проходит так:
Играется круг (партия) № 1. Все играют со всеми, набирают баллы. Потом идет круг № 2, и так далее, до самого конца. То есть нет такого, что две стратегии сначала рубятся 100 партий, потом следующие две. |
||||||||||
244
Зойч
25.10.13
✎
18:03
|
(243) в партии сколько ходов?
|
||||||||||
245
FarFar
25.10.13
✎
18:04
|
(244) В "партии" один ход.
|
||||||||||
246
FarFar
25.10.13
✎
18:08
|
(244)
Имеем стратегии: "око за око" "всегда отказываюсь" "всегда кооперируюсь" значение "Количество партий в матче" = 2 галку "стратегия играет сама с собой" - снимем. Будет сыграно: Круг (партия) номер 1: "око за око" - "всегда отказываюсь" "око за око" - "всегда кооперируюсь" "всегда отказываюсь" - "всегда кооперируюсь" Круг (партия) номер 2: "око за око" - "всегда отказываюсь" "око за око" - "всегда кооперируюсь" "всегда отказываюсь" - "всегда кооперируюсь" |
||||||||||
247
Wasya
25.10.13
✎
18:09
|
(240) Эх если бы в жизни так было.
|
||||||||||
248
FarFar
25.10.13
✎
18:13
|
(240)
"я к жизни приближаю. Про мало хороших и много плохих людей :" Кстати, еще замечание: за счет того, что на свете живут незлобливые "всегда кооперируюсь" - процветают обманщики "всегда отказываюсь" с их большим бонусом за обман простаков. |
||||||||||
249
Lama12
25.10.13
✎
23:05
|
Чемпионат = сВход.Чемпионат;
Стратегия = сВход.Стратегия; НомерХода = сВход.НомерПартии;; // Партнер = сВход.Оппонент;; //Переменные Результат = Истина; ГлубинаНеверия = Новый Массив(3); ГлубинаНеверия[0] = 10; //Обманывали 1 раз в пределах 30 ходов. ГлубинаНеверия[1] = 20; //Обманывали 2 раза в пределах 30 ходов. ГлубинаНеверия[2] = 30; //Обманывали 3 раза в пределах 30 ходов. Если НомерХода > 3 Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 30 | ВЫБОР | КОГДА Партии.Карта = ИСТИНА | ТОГДА 0 | ИНАЧЕ 1 | КОНЕЦ КАК Поле1, | Партии.НомерПартии, | 23 КАК Поле2 |ИЗ | РегистрСведений.Партии КАК Партии |ГДЕ | Партии.Чемпионат = &Чемпионат | И Партии.Стратегия = &Стратегия | И Партии.Оппонент = &Оппонент | |УПОРЯДОЧИТЬ ПО | Партии.НомерПартии УБЫВ"; Запрос.УстановитьПараметр("Чемпионат", Чемпионат); Запрос.УстановитьПараметр("Оппонент", Партнер); Запрос.УстановитьПараметр("Стратегия", Стратегия); Сумма = Запрос.Выполнить().Выгрузить().Свернуть("Поле2","Поле1"); КоличествоОбманов = ?(Сумма>3,3,Сумма); Запрос.Текст = "ВЫБРАТЬ | МАКСИМУМ(Партии.НомерПартии) КАК НомерПартии |ИЗ | РегистрСведений.Партии КАК Партии |ГДЕ | Партии.Чемпионат = &Чемпионат | И Партии.Стратегия = &Стратегия | И Партии.Оппонент = &Оппонент | И НЕ Партии.Карта"; Рез = Запрос.Выполнить(); НомЕнд = НомерХода; Если НЕ Рез.Пустой() Тогда Выборка = Рез.Выбрать(); Выборка.Следующий(); НомЕнд = Выборка.НомерПартии; КонецЕсли; ПоследнийОбман = НомерХода- НомЕнд; //Функция возвращает количество ходов от последнего обмана. Если КоличествоОбманов = 0 Тогда Результата = Истина; Иначе ГСЧ = Новый ГенераторСлучайныхЧисел(); Длина = ГлубинаНеверия[КоличествоОбманов-1]; Случайность = ГСЧ.СлучайноеЧисло(0,Длина); Результат = ?(ПоследнийОбман>Длина,Истина,Случайность > Длина - ПоследнийОбман); КонецЕсли; КонецЕсли; РезультатВыполнения = Результат; |
||||||||||
250
Lama12
25.10.13
✎
23:18
|
накосячил :)
исправляюсь |
||||||||||
251
Lama12
25.10.13
✎
23:18
|
буду отлаживаться...
|
||||||||||
252
FarFar
26.10.13
✎
00:06
|
(249)
вываливалось с ошибками. Пришлось заменить: вместо: Сумма = Запрос.Выполнить().Выгрузить().Свернуть("Поле2","Поле1"); вставил: тз= Запрос.Выполнить().Выгрузить(); тз.Свернуть("Поле2","Поле1"); Сумма = тз.Итог("Поле1"); перед: ПоследнийОбман = НомерХода- НомЕнд; добавил: Если НомЕнд = NULL Тогда НомЕнд = 0; КонецЕсли; потому что НомЕнд может быть равно NULL В итоге, текст стратегии стал такой: Чемпионат = сВход.Чемпионат; Стратегия = сВход.Стратегия; НомерХода = сВход.НомерПартии;; // Партнер = сВход.Оппонент;; //Переменные Результат = Истина; ГлубинаНеверия = Новый Массив(3); ГлубинаНеверия[0] = 10; //Обманывали 1 раз в пределах 30 ходов. ГлубинаНеверия[1] = 20; //Обманывали 2 раза в пределах 30 ходов. ГлубинаНеверия[2] = 30; //Обманывали 3 раза в пределах 30 ходов. Если НомерХода > 3 Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 30 | ВЫБОР | КОГДА Партии.Карта = ИСТИНА | ТОГДА 0 | ИНАЧЕ 1 | КОНЕЦ КАК Поле1, | Партии.НомерПартии, | 23 КАК Поле2 |ИЗ | РегистрСведений.Партии КАК Партии |ГДЕ | Партии.Чемпионат = &Чемпионат | И Партии.Стратегия = &Стратегия | И Партии.Оппонент = &Оппонент | |УПОРЯДОЧИТЬ ПО | Партии.НомерПартии УБЫВ"; Запрос.УстановитьПараметр("Чемпионат", Чемпионат); Запрос.УстановитьПараметр("Оппонент", Партнер); Запрос.УстановитьПараметр("Стратегия", Стратегия); тз= Запрос.Выполнить().Выгрузить(); тз.Свернуть("Поле2","Поле1"); Сумма = тз.Итог("Поле1"); КоличествоОбманов = ?(Сумма>3,3,Сумма); Запрос.Текст = "ВЫБРАТЬ | МАКСИМУМ(Партии.НомерПартии) КАК НомерПартии |ИЗ | РегистрСведений.Партии КАК Партии |ГДЕ | Партии.Чемпионат = &Чемпионат | И Партии.Стратегия = &Стратегия | И Партии.Оппонент = &Оппонент | И НЕ Партии.Карта"; Рез = Запрос.Выполнить(); НомЕнд = НомерХода; Если НЕ Рез.Пустой() Тогда Выборка = Рез.Выбрать(); Выборка.Следующий(); НомЕнд = Выборка.НомерПартии; КонецЕсли; Если НомЕнд = NULL Тогда НомЕнд = 0; КонецЕсли; ПоследнийОбман = НомерХода- НомЕнд; //Функция возвращает количество ходов от последнего обмана. Если КоличествоОбманов = 0 Тогда Результата = Истина; Иначе ГСЧ = Новый ГенераторСлучайныхЧисел(); Длина = ГлубинаНеверия[КоличествоОбманов-1]; Случайность = ГСЧ.СлучайноеЧисло(0,Длина); Результат = ?(ПоследнийОбман>Длина,Истина,Случайность > Длина - ПоследнийОбман); КонецЕсли; КонецЕсли; РезультатВыполнения = Результат; с таким кодом она в чемпионате с длиной матча 100 ходов против всех стратегий сыграла "Кооперация" и разделила последние места с "Всегда кооперируюсь" ))) |
||||||||||
253
FarFar
26.10.13
✎
00:08
|
P.S. Научи тут на Мисте код под спойлер прятать
|
||||||||||
254
Otkr
26.10.13
✎
00:22
|
(253) 300 р на телефон
|
||||||||||
255
FarFar
26.10.13
✎
00:25
|
(254) Перевел
|
||||||||||
256
FarFar
26.10.13
✎
01:20
|
(251) Lama12 - будешь отлаживать свой алгоритм - перескачай мою внешнюю обработку:
http://webfiles.ru/files/38567210 пароль 123456 Я туда вывел таблички Общей статистики по выбранной стратегии, и результаты ее партий с выбранным оппонентом. Чтобы по регистрам не лазить. Обновление - по кнопочкам "Обновить" :-) Делал дома, монитор не широкий, поэтому может малость перекосячено. |
||||||||||
257
sda553
26.10.13
✎
11:17
|
Только сейчас заметил эту тему. На мой взгляд, если все время выбирать "отказываюсь" то либо выигрыш, либо ничья. Т.е. получается беспроигрышная стратегия
|
||||||||||
258
FarFar
26.10.13
✎
11:55
|
(257) Если для тебя цель - обыграть одного единственного партнера - то да.
Но при этом вы оба, скорее всего, наберете очень мало очков, так как оба будете отказываться. В этом и есть парадокс. В условиях же турнира, когда есть много разных стратегий, "допропорядочные" стратегии, которые часто кооперируются друг с другом, будут набирать много очков за счет взаимной кооперации и обойдут по баллам "всегда отказчика", даже если "отказчик" не проиграет ни одной из них по баллам в "своих" партиях. |
||||||||||
259
Lama12
26.10.13
✎
12:13
|
исправил :)
работает
|
||||||||||
260
Lama12
26.10.13
✎
12:14
|
|
||||||||||
261
Lama12
26.10.13
✎
12:15
|
осталось подобрать имперически величину анализируемой истории.
30 ходов будет на определенной длине матча оптимальной :) |
||||||||||
262
Lama12
26.10.13
✎
12:25
|
тест сворачивания кода
|
||||||||||
263
Lama12
26.10.13
✎
12:26
|
... что б код свернулся нужно заглавную английскую С написать а скобках.
|
||||||||||
264
FarFar
26.10.13
✎
12:31
|
(261) Длина матча заранее неизвестна.
|
||||||||||
265
Lama12
26.10.13
✎
12:32
|
Как то так :)
http://s020.radikal.ru/i715/1310/87/987d891eeca7.png |
||||||||||
266
Lama12
26.10.13
✎
12:33
|
(264) Ну можно функцию сделать что б длина недоверия зависила линейно от длины матча :)
|
||||||||||
267
Lama12
26.10.13
✎
12:35
|
Если очень интересно, могу модернизировать бота под переменную длину матча (если конечно она будет передаваться)
|
||||||||||
268
Lama12
26.10.13
✎
12:36
|
Кстати, с удовольствием бы посмотрел бота от NS
|
||||||||||
269
FarFar
26.10.13
✎
12:44
|
(267) Увы, знание о длине матча использовать в алгоритмах нельзя. Это особо оговариавлось у Аксельрода. Объяснение:
wiki:Дилемма_заключённого "Если ПДЗ играется ровно N раз (некая известная константа N), есть ещё один интересный факт. Равновесие Нэша — всегда предавать. Доказываем по индукции: если оба сотрудничают, на последнем ходу выгодно предать, тогда у соперника не будет возможности отомстить. Поэтому оба предадут друг друга на последнем ходу. Раз соперник предаст на последнем ходу в любом случае, любой игрок захочет предать на предпоследнем ходу, и так далее. Чтобы сотрудничество оставалось выгодным, необходимо, чтобы будущее было неопределённым для обоих игроков." |
||||||||||
270
Lama12
26.10.13
✎
12:52
|
(269) ну тогда можно по другому сделать глубину гибкой. :)
В общем если обыграешь моего бота, буду делать улучшения. |
||||||||||
271
FarFar
26.10.13
✎
13:15
|
(270) Отличные результаты игры твоей стратегии подтверждаю. Занимает первое место.
Включил в стратегии своей базы. Только флаг "Отладка" поставил равным "Ложь", чтобы не писала отладочную информацию в журнал регистрации. Буду готовить ответный удар )) (268) Разве NS сумеет написать такую сложную стратегию?!? Это же не шахматы ))) |
||||||||||
272
FarFar
26.10.13
✎
13:16
|
А кто-нибудь из уважаемых модераторов может "скрыть" в этой ветке длинные фрагменты кода для лучшего восприятия?
|
||||||||||
273
FarFar
26.10.13
✎
13:18
|
(270) Lama12 - прошу по своей стратегии предоставить краткое описание, которое я помещу в "Комментарий". Чтобы по коду не восстанавливать ход твоих мыслей.
|
||||||||||
274
Lama12
26.10.13
✎
13:25
|
Новому участнику верим 3 раза, потом, от количества обманов, пропорционально увеличиваем доверие от 0 до 1 помноженное на 10 и на количество обманов за последние 30 ходов.
|
||||||||||
275
FarFar
26.10.13
✎
15:03
|
(274) Получай гранату "А ты кто такой?":
http://i058.radikal.ru/1310/f4/acf7d7a756ab.png В общем, то, стратегия похожа на твою, только проще (придумал вчера, независимо от тебя, реализовал сегодня). Первый ход - "Кооперация", а дальше смотрится соотношение кол-во выложенных соперником "Отказов" к прошедшему кол-ву партий. Если коэффициент >=0.1, то выкладываю Отказ, иначе - кооперируюсь. Не очень доверчивая стратегия ))) А вообще, 500 партий на матч - это сурово. Давайте предварительные чемпионаты проводить на 100, и без случайной. А потом, когда будем играть итоговый - со случайной и на большее число. На таких условиях "А ты кто такой?" тоже побеждает: http://i074.radikal.ru/1310/6d/81bac9d67331.png А вообще, интересно увидеть более недобропорядочные стратегии. Благо есть куда развиваться!!! Выложил базу со стратегией Lama12 и моей "А ты кто такой?", а также версией обработки "СЭЭ" с окнами статистики^ http://webfiles.ru/files/38571841 пароль 123456 |
||||||||||
276
Lama12
28.10.13
✎
10:46
|
Мда... не выходит каменный цветок :)
Зато придумал стратегию с названием "Противоречивая девочка"
И хочет, и может, и иногда говорит да. В адаптации своей, пока в функциях запутался. Ну на всякий случай тоже выкладываю.
|
||||||||||
277
Lama12
28.10.13
✎
10:47
|
Еще участники будут?
|
||||||||||
278
FarFar
28.10.13
✎
10:56
|
(276) Так для "Противоречивой девочки" какой код брать? Второй или первый? Напиши кратко алгоритм "девочки" для вставки в комментарий.
|
||||||||||
279
Lama12
28.10.13
✎
11:00
|
Первый - это противоречивая девочка.
Второй это вариант моей адаптации к длине матча. Но адаптация не работает пока :) Играет хуже чем предыдущий алгоритм. Описание к девочке. В зависимости, от соотношений обманул, не обманул, случайно выбирает согласиться или отказать. Т.е. если партнер больше обманывал, то она более вероятно откажет. Если партнер, больше соглашался, то и она согласится. |
||||||||||
280
FarFar
28.10.13
✎
11:04
|
(279) Тогда девочка очень даже логичная и непротиворечивая ))
|
||||||||||
281
Lama12
28.10.13
✎
11:11
|
(280) Так "ломается", поэтому девочка, а т.к. отказывает иногда и "хорошим мальчикам", поэтому противоречивая. :)
|
||||||||||
282
FarFar
28.10.13
✎
11:30
|
(281) То есть, непротиворечивая девочка должна не отказывать ни одному хорошему мальчику? Класс!
|
||||||||||
283
Lama12
28.10.13
✎
11:42
|
(282) а то :)
Только это будет уже не девочка. :( |
||||||||||
284
FarFar
28.10.13
✎
11:42
|
"Девочку" добавил. При текущем составе чемпионата - обычно конкурирует с "Око за око" за 3-4 место.
Посмотрим, что будет дальше, когда стратегий будет больше. Необязательно придумывать очень уж хитрые стратегии с претензией сразу на 1-место. Приветствуются любые, лишь бы идея была интересная. Стратегия, плохо играющая на числе участников 5, может всех драть на числе участников 50. |
||||||||||
285
1dvd
28.10.13
✎
12:02
|
Интересная темка. Жаль, времени нет
|
||||||||||
286
Ахиллес
28.10.13
✎
12:03
|
Коза ностра. Всегда кооперируемся, предателей убиваем. Ну то есть после первого предательства вышибаем мозги бейсбольной битой создателю "предательской" стратегии.
|
||||||||||
287
FarFar
28.10.13
✎
12:52
|
(286) Я правильно понял твою стратегию:
Первый ход - кооперация. Далее - всегда кооперация, до первого "Отказа" противника. Если был отказ - более не кооперируемся никогда? Такая "Стратегия - спусковой крючок". |
||||||||||
288
Ахиллес
28.10.13
✎
13:19
|
(287) Если был отказ, то убиваем противника, что бы он не мог больше ни одного хода сделать. И идём играть с другим :-)
|
||||||||||
289
FarFar
28.10.13
✎
13:23
|
(288) Увы... таких прав программе твоей не могу дать.
|
||||||||||
290
Ахиллес
28.10.13
✎
15:39
|
(289) Ты не понял. Если ты играешь с Коза ностра, то ты играешь по её правилам. Или спишь с рыбами :-)
|
||||||||||
291
Lama12
29.10.13
✎
10:29
|
Пожалуй это последний вариант.
Назовем его "Под дурочку". Тоже самое что и первый, но если соперник часто говорит "Да", то с вероятностью 0.03 пытаемся его обмануть. |
||||||||||
292
FarFar
29.10.13
✎
10:35
|
(291) Внесу. Мне еще несколько подкинули, их тоже добавлю.
|
||||||||||
293
SUA
29.10.13
✎
12:43
|
"Блеф"
Алгоритм: рандомизированное "Око за око" 1й ход матча = 10% отказ в дальнейшем, отход от базовой стратегии: если противник ставил "Отказ" - 20%*(кол-во его коопераций/кол-во прошедших партий) "кооперация" если ставил "Кооперация" - 10% "Отказ" Вот мой алгоритм |
||||||||||
294
SUA
29.10.13
✎
12:43
|
просто интересно как играть будет
|
||||||||||
295
FarFar
29.10.13
✎
14:21
|
(293) Еще одна рандомайзная стратегия (((
|
||||||||||
296
FarFar
29.10.13
✎
14:27
|
Не рандомайзные (или с минимумом рандома) - интереснее. Потому что это СТРАТЕГИЯ, а не "кинем кости, чё выпадет".
|
||||||||||
297
SUA
29.10.13
✎
14:35
|
(295) 10% рандома - много?
можно пофиксить на нерандомную, 2 счетчика на противника 1й ход кооперация ровно каждый 10й вместо "10%" отказ в ответ на кооперацию и накопительная переменная на стратегию противника "доля прощения" - каждый раз после отказа противника плюсуем к ней 1/5*(кол-во его коопераций/кол-во прошедших партий), и при достижении 1+ зануляем и ставим кооперацию |
||||||||||
298
FarFar
29.10.13
✎
14:50
|
(291) "Под дурочку" вполне успеша в простом чемпионате.
http://s019.radikal.ru/i618/1310/7f/92a85b521e37.png Но в "эволюции" (режим я реализовал), когда количество экземпляров стратегии на каждом следующем ходу зависит от успешности игры стратегии - "дурочка" намного менее успешная, чем "Вера с увеличивающейся" или "Наивная девочка". Она первые ходов 30-40 ведет себя успешно, выбираясь иногда даже на первое место по численности популяции. А потом обычно начинает резко терять успешность: http://s019.radikal.ru/i602/1310/de/949b2593f0ce.png , и к 100 ходу обычно вымирает до нескольких экземпляров: http://i031.radikal.ru/1310/1f/b5b7ccdd9578.png |
||||||||||
299
FarFar
29.10.13
✎
14:56
|
(297) Название "Блеф" оставишь?
|
||||||||||
300
Lama12
29.10.13
✎
16:02
|
(298) Мда... а как определить сколько игр с экземпляром противника, сыграла та или иная стратегия? :)
|
||||||||||
301
FarFar
29.10.13
✎
16:09
|
(300) В табличке "Статистика по стратегии".
Но в общем, чем меньше экземпляров данной стратегии остается в популяции, тем меньшее количество игр она играет. Это логично. То есть, если у меня сталкиваются две стратегии, в одной 100 экземпляров, а в другой - 20 экземпляров, то я результат игры для каждой стороны умножаю на минимальное количество, то есть на 20. Сначала думал, что надо чтобы каждый экземпляр играл с каждым, но это лажа получалась. |
||||||||||
302
Зойч
29.10.13
✎
16:10
|
(301) для рандомных стратегий нельзя просто так умножать. Нужны честные игры
|
||||||||||
303
Lama12
29.10.13
✎
16:14
|
(301) Убери вот этот кусок кода из "Под дурачка".
Это для эволюции. |
||||||||||
304
Зойч
29.10.13
✎
16:15
|
тут бы по хорошему генетические алгоритмы применять
|
||||||||||
305
Lama12
29.10.13
✎
16:20
|
(304) Их писать надо :)
И длина чемпионата не известна заранее. Я исходил из следующих принципов (старался человеческое поведение моделировать). 30 ходов - длина памяти. Люди склонны забывать плохое. Некоторая вероятность в принятие решения. Иногда решение принимается "на обум", но с учетом опыта. Да, опыт строится за жизнь. У меня упрощенно :-) Девочка - просто "Ощущение" основанное на не формализованном опыте. Я бы сказал - интуиция. |
||||||||||
306
FarFar
29.10.13
✎
16:23
|
(303) Я один и тот же алгоритм использую, для обычного чемпионата, и для эволюции.
Либо уберу совсем, либо две стратегии делать, отличающиеся одной строчкой (но этой фейк) |
||||||||||
307
Lama12
29.10.13
✎
16:23
|
Убирай совсем. Там по хорошему должна быть не линейная зависимость. Но думать уже не хочется :)
|
||||||||||
308
FarFar
29.10.13
✎
16:27
|
(307) Вот тебе пока с прежним алгоритмом
http://webfiles.ru/files/38605776 пароль 123456 можешь погонять в режиме "Эволюции" (для этого в карточке чемпионата в поле "Максимальное количество экземпляров" должно стоять значение, отличное от 0). А потом скажешь - вычеркивать или нет. |
||||||||||
309
FarFar
29.10.13
✎
16:28
|
(308) У меня на подходе еще 6 стратегий, 2 сам придумал (простенькие), 4 - накидали.
|
||||||||||
310
FarFar
29.10.13
✎
16:29
|
(309) Так что мочилово будет еще то!
|
||||||||||
311
Lama12
29.10.13
✎
16:31
|
(310) А караваны грабить можно? :)
|
||||||||||
312
FarFar
29.10.13
✎
16:37
|
(311) Ага! Если "А ты кто такой?" начнет проигрывать - я напишу стратегию, переписывающую историю ))) Типа, будет прямо в регистр нужным людям баллы писать )))
|
||||||||||
313
FarFar
29.10.13
✎
16:38
|
(311) Я, кстати, удивлен результатами "А ты кто такой". Придумал ее за 3 минуты, простая как репа. А поди ж ты, до сих пор на пъедестале.
|
||||||||||
314
FarFar
29.10.13
✎
17:08
|
(307) Интересно видеть, как если "Стратегия" на первых ходах свалилась в "демографическую яму", то потом уже ей оттуда выбрать очень трудно.
Для примера - создал стратегию "Подростковый возраст", которая первые N ходов - выкладывает "Отказ", а дальше всегда "Кооперируюсь". Так вот, если N = 2, то есть отказывается всего лишь первые 2 хода, то она улетает вниз, на последнее место, где то с 10 живыми особями, но потом за счет не слишком испорченной кармы, к 100-му ходу догоняет остальные "добропорядочные" стратегии по кол-ву экземпляров. А вот если N = 3, то все, пипец. Уходит к 1-2 живой особи, откуда уже возврата в активную политику нет ))) (ну к карма подпорчена) |
||||||||||
315
FarFar
29.10.13
✎
17:17
|
(314) вот пример, как в чемпионате меняется кол-во экземпляров такого "трудного подростка" при n=2 по ходам:
1)1 2)40 3)145 4) 73 5)40 6)25 7)17 8)16 9)11 10) 8 11) 7 12) 6 13) 4 14) 4 15) 5 16) 6 17) 5 18) 5 и только на 30) 10 и далее по нарастающей. Её достаточно "простили", и она может расти за счет кооперации. |
||||||||||
316
FarFar
29.10.13
✎
17:25
|
(315) а если ставим N =3, то первые 20 ходов - примерно такие же результаты, но на 21-ом - сваливается до 1 экземпляра в популяции, и на этом будущее ее закончено. В одиночку размножиться трудно ))) За несколько чемпионатов - только один раз с N=3 "выбилась в люди"
|
||||||||||
317
Lama12
29.10.13
✎
17:30
|
(316) Убери мои стратегии. 3 это из моих стратегий влияние.
|
||||||||||
318
FarFar
29.10.13
✎
17:36
|
(317) Да ))) Именно присутствие твоих трех стратегий угоняет неудачников "ниже плинтуса", до полного вымирания или прозябания на уровне 1-2 особи.
Если твои 3 отключать, то все стратегии доживают до 100 хода, пусть с разными, но не мизерными показателями. Твои - это просто "полиция нравов" какие то!!! Ух, жесткие. |
||||||||||
319
FarFar
29.10.13
✎
17:37
|
(317) Вот, можешь себе в свежескачанную базу добавить "Подростковый возраст":
сПарамВход = сВход; Если сПарамВход.НомерПартии <= 3 Тогда РезультатВыполнения = Ложь; Иначе РезультатВыполнения = Истина; КонецЕсли; |
||||||||||
320
Lama12
29.10.13
✎
17:49
|
(319) Увы... только завтра утром. Не более 2 часов :)
Попробую завтра доработать "Под дурачка". Есть одна мысля. |
||||||||||
321
FarFar
29.10.13
✎
18:00
|
(320) Интересный таки эффект у твоей "Под дурочку". В простом чемпионате выступает хорошо, на уровне 2-3 места. А в "эволюции" до 50-60-х держится хорошо, а затем начинает сливать.
|
||||||||||
322
Lama12
29.10.13
✎
18:09
|
(321) Это из-за куска кода который нужно удалить.
Там задумка была что б в зависимости от соотношения да/нет (при большом "ДА") увеличивать вероятность сыграть на "Нет". Но я не думал что ты добавишь "эволюцию". При эволюции, не верно идет расчет ответов "Да" (пока так предполагаю). Завтра переделаю. |
||||||||||
323
FarFar
29.10.13
✎
18:13
|
(322) При эволюции подсчет ответов "Да" идет точно таким же образом.
|
||||||||||
324
Lama12
29.10.13
✎
18:14
|
(323) Это да :) Но количество особей увеличивается ;-)
|
||||||||||
325
Lama12
29.10.13
✎
18:14
|
точнее меняется.
|
||||||||||
326
FarFar
29.10.13
✎
18:15
|
(322) Я же в "Эволюции" за один "НомерПартии" не играю для двух стратегий с количеством N и M - N*M партий. Это мне бы мэйнфрейм понадобился ))) Я играю ОДНУ партию, так же как и в обычном чемпионате. Но количество баллов - вычисляю, как количество экземпляром этой стратегии на начало хода, умноженное на результат партии. Что то типа "Heroes of might and magic", где стоит один скелет ,а написано 1000, и он бьет с силой 1000.
|
||||||||||
327
FarFar
29.10.13
✎
18:18
|
(326) Количество особей стратегии на следующую итерацию считается так: количество на начало текущего хода + количество экземпляров, заработанное за текущий код. При превышении всеми экземплярами всех популяций некоего ограничевающего числа (по умолчанию 1000, видно в настройках чемпионата) - количество особей каждой стратегии на начало следующего хода пересчитывается пропорционально. Типа, настали холода, и вымерзли 4 из 5 из каждой популяции.
|
||||||||||
328
FarFar
29.10.13
✎
18:20
|
(326) Ошибка.
Вместо "Но количество баллов - вычисляю, как количество экземпляром этой стратегии на начало хода, умноженное на результат партии" читай "Но количество баллов - вычисляю, как минимум от количества экземпляром этих двух стратегий на начало хода, умноженное на результат партии" |
||||||||||
329
Lama12
29.10.13
✎
18:20
|
(326) Хм... понял. Тогда действительно странно. Видимо функция увеличения вероятности "Нет" совсем не правильно написана :)
|
||||||||||
330
Lama12
29.10.13
✎
18:23
|
Блин. Я нашел как выиграть. Вопрос - стоит ли это делать? :)
Вариант не совсем честный. Хотя в жизни и применяется. |
||||||||||
331
FarFar
29.10.13
✎
18:26
|
(330) Может, ты решил заострить внимание на каких то отдельных стратегиях, чтобы брать с них побольше очков? У меня "А ты кто такой?", например, классно играет с "Злом за добро, добром за зло". Но все в рамках алгоритма, без всяких уловок типа "если играю с "зло за добро" - всегда отказываться".
|
||||||||||
332
Lama12
29.10.13
✎
18:27
|
Подсказку выкладывать или нет?
Не интересно будет играть. Либо нужно еще одно правило вводить в игру. |
||||||||||
333
FarFar
29.10.13
✎
18:28
|
(332) Надо будет - введем правило. Давай подсказку
|
||||||||||
334
Lama12
29.10.13
✎
18:28
|
Ритуальный танец.
|
||||||||||
335
Lama12
29.10.13
✎
18:29
|
Хотя стратегия «око за око» считалась самой удачной простой стратегией, команда Университета Саутгемптона из Англии (под руководством профессора Николаса Дженнингса [1]) представила новую стратегию на 20-ю годовщину Чемпионата по ПДЗ. Эта стратегия оказалась более успешной, чем «око за око». Она основывалась на взаимодействии между программами, чтобы получить максимальный счёт для одной из них. Университет выставил на чемпионат 60 программ, которые распознавали друг друга по ряду действий на первых 5-10 ходах. Узнав другую, одна программа всегда сотрудничала, а другая предавала, что давало максимум очков предателю. Если программа понимала, что оппонент — не саутгемптонский, она дальше всё время предавала его, чтобы минимизировать результат соперника. В результате [6] эта стратегия заняла первые три места в соревновании, как и несколько мест подряд ниже.
Хотя эта эволюционно стабильная стратегия оказалась более эффективной в соревновании, это было достигнуто за счёт того, что в этом конкретном соревновании команда могла участвовать несколькими агентами. Если игрок может контролировать только одного агента, «око за око» оказывается лучшей. Она также соблюдает правило запрета на коммуникации между игроками. То, что саутгемптонские программы исполняли «ритуальный танец» в первые 10 ходов, чтобы узнать друг друга, только подтверждает, насколько важна коммуникация в сдвиге баланса игры. |
||||||||||
336
FarFar
29.10.13
✎
18:29
|
(334) О боже! Ты опоздал с этой идеей лет так на 30.
Я столько раз сюда выкладывал ссылку на ту же "Вики". Конечно, я блюду, чтобы стратегии одного производителя друг другу не подыгрывали. |
||||||||||
337
Lama12
29.10.13
✎
18:30
|
:)
|
||||||||||
338
FarFar
29.10.13
✎
18:31
|
(337) + надеюсь на добропорядочность разработчиков множества стратегий (из таковых Lama12) )))
|
||||||||||
339
FarFar
29.10.13
✎
18:32
|
Официально объявляю: заставлять свои программы плясать ритуальный танец, чтобы распознать друг друга, а потом выставлять одного форварда в победители, специально "отказывая" всем другим стратегиям - моветон и карается помидорами.
|
||||||||||
340
FarFar
29.10.13
✎
18:47
|
Тем временем завершился первый длинный чемпионат "Эволюция". На эволюцию длиной 1000 ходов потребовалось 36 минут времени.
Максимальное число особей стратегий, которые могли прокормиться на этой планете, было равно 1000. http://s017.radikal.ru/i436/1310/d6/ed8970ade777.png Первые 4 места: 1. "А ты кто такой?" (автор - FarFar), 136 особей, 2 938 305 баллов. 2. "Вера с увеличивающейся вероятностью" (автор - Lama12), 121 особь, 2 857 411 баллов. 3. "Око за око", 121 особь, 2 695 081 баллов. 4. "Око за два ока", 119 особь, 2 705 121 баллов. Остальные сильно отстали. Всю дорогу лидеры соревновались друг с другом. В основном, "А ты кто такой?" был впереди, иногда его обгоняла "Вера", но следующим ходом отбрасывалась. К счастью, в ходе эволюциии никто не погиб, даже слабенькие стратегии в начале чемпионата уцелели, а потом "стражи порядка" (3 стратегии @Lama) их, видно, не так стремали. Жилы они себе потихонечку, питались крошками. Живы - и слава Богу. Последнее место заняла "Случайная ("антистратегия"), что подтверждает мысль о том, что лучше хоть хреновый план, чем совсем никакого плана ))) |
||||||||||
341
FarFar
30.10.13
✎
01:57
|
Не спится, зато в голову пришла "brilliant idea" насчет стратегии. Завтра прикручу несколько строчек к "А ты кто такой", думаю, это улучшит ее показатели процентов на 25.
|
||||||||||
342
FarFar
30.10.13
✎
02:02
|
(341) Разверну идею коэффициента 0.1 в чуть ином направлении.... но чу...пусть сюрприз будет.
|
||||||||||
343
Lama12
30.10.13
✎
09:20
|
|
||||||||||
344
Lama12
30.10.13
✎
09:21
|
Можно попробовать увеличить риск обмана. Но пока и так играет лучше предыдущих моих стратегий :)
|
||||||||||
345
Lama12
30.10.13
✎
09:21
|
Да, это все к "Дурочке"
|
||||||||||
346
Lama12
30.10.13
✎
09:25
|
Честно говоря, стратегия не совсем честная. :)
Ну да ладно. Ритуальных танцев там нет. |
||||||||||
347
trialexl
30.10.13
✎
09:54
|
стратегия "китайцы" копирует самую успешную стратегию.
Сам алгоритм не смогу написать, только идея. |
||||||||||
348
Lama12
30.10.13
✎
10:03
|
(347) Хы... прикольно :)
Сейчас попробую сделать ;-) |
||||||||||
349
FarFar
30.10.13
✎
10:42
|
(347) У нас с Lama12 как в холодней войне, мысли по стратегиям параллельно. Не успел пока оценить, что там Лама менял и улучшал в своей, но кажется, она больше будет обманывать. Мое улучшение, которое планирую сегодня вставить - тоже увеличит кол-во обманов в моей стратегии.
|
||||||||||
350
Lama12
30.10.13
✎
10:45
|
Стратегия "Китайцы".
Для каждого оппонента выбирает предыдущий ответ самой удачливой, по балам, стратегии и выдает его за свой.
|
||||||||||
351
Lama12
30.10.13
✎
10:45
|
На удивление, по экземплярам заняла 1 место при количестве игр 500. о_О.
Думаю что это случайность. Устойчивого тренда не наблюдается. |
||||||||||
352
FarFar
30.10.13
✎
10:47
|
(347) Тут такая ситуация, что мы даже видим код стратегий, написанных другими. Поэтому не надо заморачиваться на то, что "моя - обязательно первое место, иначе смерть". Лучше побольше интересных несложных стратежек, чтобы понаблюдать за их жизнью в аквариуме.
Lama12 - нет нареканий к тому, как я "эволюцию" организовал? Мне нравится ))) Сам себя не похвалишь ))) Работает столько же времени, сколько обычный чемпионат, а эффект - практически такой же, как если бы каждый экземпляр с каждым играл. Плюс тесты показали, что у стратегии есть шанс вылезти практически с самого дна (с 4 особей из 1000), если она хорошо играет. И положительная обратная связь от количества особей в стратегии (чем больше особей, тем лучше она растет) не гипертрофирована, то есть система устойчива при незначительном перевесе какой то одной стратегии (как я наблюдал вчера в чемпионате в 1000 ходов). |
||||||||||
353
FarFar
30.10.13
✎
10:48
|
(350) Это практически так же, как я хотел свои "Лучшие практики" сделать. Но ты опередил, добавлю китайцев.
|
||||||||||
354
Lama12
30.10.13
✎
10:49
|
Блин... Все таки китайцам надо первых 3 хода не врать :(
Замени кусочек кода НомерХода > 1 на НомерХода > 3 |
||||||||||
355
FarFar
30.10.13
✎
10:49
|
(354) Кинь всю обновлененную стратегию под спойлер.
|
||||||||||
356
Lama12
30.10.13
✎
10:51
|
(352) Нареканий нет. :)
|
||||||||||
357
Lama12
30.10.13
✎
10:52
|
И да.
Надеюсь, я верно понял значение поля "Балл" в регистре сведений. :) Я на него ориентируюсь в китайцах. |
||||||||||
358
FarFar
30.10.13
✎
10:54
|
(357) Балл - это сколько стратегия набрала в конкретно этой игре. То есть, цена исхода игры (0,1,3,5) умножается на минимум из количества популяции обеих стратегий-оппонентов на начало текущего хода.
|
||||||||||
359
Lama12
30.10.13
✎
10:56
|
(358) Блин... значит суммировать его надо :(
Завтра переделаю. Сегодня уже пора работать. |
||||||||||
360
FarFar
30.10.13
✎
11:02
|
(359) Обновил "Дурочку" твоим кодом. Добавил китайцев.
Прогнал на 100-ходовом чемпионате. Да, они по количеству экземпляров сильно прыгают, нет такой устойчивости, как у "Веры", обновленной "Дурочки" или "А ты кто такой". То на 1-ом месте, то на 5-ом. Собственно, это потому, что группа лидеров обычно плотная. Но баллов они набирают заметно меньше, чем "Вера", "Дурочка", "А ты кто такой" или даже "оки" Причем, что прикольно - сначала, ходов 30, китайцы обычно в хвосте, а потом вырываются и начинают обгонять ведущие мировые державы ))) |
||||||||||
361
FarFar
30.10.13
✎
11:03
|
(360) Но два раза в двух 100-ходовых чемпионатах заняли 1-е место по количеству особей. Это о чем то говорит!
Как вы яхту назовете ))) |
||||||||||
362
antgrom
30.10.13
✎
11:03
|
Новая стратегия :
Рабочее название "своя нация" ( хотел назвать стратегию "еврей" но не стал разжигать ) нация определяется , если нет отдельного реквизита - по названию стратегии. Со своей нацией - всегда кооперация. С чужими - око за око с первым ходом кооперируюсь. |
||||||||||
363
Lama12
30.10.13
✎
11:04
|
(362) Это ритуальный танец :)
Запретили... |
||||||||||
364
antgrom
30.10.13
✎
11:11
|
(363) Не нашел запрета. В каком посте ?
|
||||||||||
365
Lama12
30.10.13
✎
11:15
|
(364) (339)
|
||||||||||
366
FarFar
30.10.13
✎
13:01
|
Произвел обещанный "апгрейд" "А ты кто такой?".
Ожидаемого большого прироста результативности "в эволюции" не зафиксировал, небольшой есть. Из шести 100-ходовок "А ты кто такой" занял таки все шесть раз первое место в плотной группе лидеров, вытесняя "китайцев". Один раз, кстати, китайцы совсем сдохли, и имели к 100-му ходу всего 22 особи. Остальные разы - были в группе лидеров. Вот скрин последнего, типичного, чемпионата: http://s52.radikal.ru/i137/1310/bb/8f52eeb40144.png Кстати, в "обычном", не эволюционном чемпионате - там расклад такой: "А ты кто такой" лидирует сильно(после улучшения прирост не 25%, но 10% точно есть), "китайцы" - весьма посредственные. http://s019.radikal.ru/i603/1310/8d/e09c89583df0.png Вообще, как и писал раньше, по баллам то китайцы не ахти, но в "эволюции" успешны. Причину пока не понимаю, только догадки есть. Запущу в фоновом режиме 1000-ходовку, посмотреть результаты. А после обеда добавлю обещанные 6 стратегий и выложу dt. |
||||||||||
367
Lama12
30.10.13
✎
13:07
|
(366) А чего тут понимать :)
Китайцы на то и китайцы, что б размножаться. |
||||||||||
368
FarFar
30.10.13
✎
13:09
|
(367) Возможно, надо что то в "эволюции" подкрутить. А то каждый раз такая плотная группа лидеров, и никто вперед сильно уйти не может.
|
||||||||||
369
FarFar
30.10.13
✎
13:10
|
(368) Ну неправильно это, когда китайцы отстают по ВВП (баллам ) от лидеров на 1/7 примерно, но в то же время "ноздря в ноздрю" идут по населению.
|
||||||||||
370
Lama12
30.10.13
✎
13:13
|
(369) У них идеологическая "накачка". Поклонение лидеру. :)
|
||||||||||
371
Lama12
30.10.13
✎
13:14
|
Блин... где еще стратегии. Народ, присоединяйтесь. Может кто предложит другую реализацию описанных тут стратегий.
|
||||||||||
372
FarFar
30.10.13
✎
13:43
|
(366) Забыл написать, в чем заключалось улучшение "А ты кто
такой?". Вдобавок к присущей ей злопамятности (играть отказ, если соперник хоть раз в 10 ходов сыграл с тобой отказ), стратегия приобрела еще склонность "грабить корованы", то есть играть "отказ", если перед ней простак - который выставляет "отказ" любым другим стратегиям не чаще 1 раза в 10 ходов. |
||||||||||
373
FarFar
30.10.13
✎
13:47
|
(366) Пока обедал, кажется, допер, почему такая плотная группа лидеров образуется в "эволюции".
Получается так, что игра стратегии с оппонентом из остающих приносит ей сравнительно немного очков при любом исходе. Так как исход игры умножаю на минимум из числа особей обеих стратегий. Типа, встречаются два отряда, в одном 100 воинов, в другом 10. От каждого отряда выдвигается по 10, они борются, результат для каждой стратегии умножается на 10. Вроде, с одной стороны, логично. С другой стороны, эти "микростычки", получается, теряются на фоне сражений лидеров, которые друг с другом обычно кооперируются. Буду думать, курить бамбук, как привнести интригу в эволюцию. |
||||||||||
374
FarFar
30.10.13
✎
13:51
|
(362) "Со своей нацией - всегда кооперация.
С чужими - око за око с первым ходом кооперируюсь." Око за око точно так и играет, оно само с собой всегда кооперируется. |
||||||||||
375
FarFar
30.10.13
✎
14:14
|
(373) Надо будет все-таки еще раз попробовать версию умножение балла-результата на количество популяций в обеих стратегиях.
Типа, встретились 2 отряда, в одном 100 воинов, в другом 10. Каждый из них поборолся с каждым, т.е. результат для каждой стратегии умножается на 1000. Думаю, так будет более динамично. И вроде как более подходит под описание 3-го чемпионата Аксельрода. К сожалению, он не описал, как он "начислял выигрыш в потомках". |
||||||||||
376
FarFar
30.10.13
✎
14:27
|
(373) И понятно, почему "Под дурочку" и "Китайцы" при текущем раскладе то вылезают в лидеры, то скатываются. Они у Lama12 коварные товарисчи, могут с добропорядочными стратегиями типа "Око за око" выкинуть отказ, набрать кучу очков (потому что "Око за око", "Око за 2 ока") - в группе лидеров и баллов там огого получается. Вылезают на 1 место. А потом через ход-два те же "Оки" начинают их карать. И выскочки немного откатываются обратно.
|
||||||||||
377
FarFar
30.10.13
✎
14:46
|
(376) Ошибочка. Смотрю итоги - китайцы практически не играют с "оками" отказ. А вот с "дурочкой", и в особенности с "девушкой" - часто.
|
||||||||||
378
trialexl
30.10.13
✎
15:11
|
Стратегия "воры" кооперация с порядочными 2 хода, дальше обман и 10 ходов отказ с данной стратегией. Если бы еще как то можно было реализовать действие "кидать, но только по крупному".
не думаю что будет успешна, так как китайцы, но для массовки пойдет. |
||||||||||
379
FarFar
30.10.13
✎
15:47
|
Выложил обновленную базу и обработку:
http://webfiles.ru/files/38620132 отличия: Усовершенствованы стратегии "Под дурочку" и "А ты кто такой" Добавлена стратегия "Китайцы" В таблицу хода чемпионата добавлена колонка "Потомство". Колонка "Количество экземпляров" переименована в "Живые экземпляры". В общем, сейчас: - в колонку "Балл" выводятся баллы, как при обычном чемпионате, без всякой эволюции. - в колонку "Потомство" выводится заработанное потомство (итог игры в баллах умноженный на количество потомств двух стратегий, сообразно варианту подсчета потомства) - в колонку "Живые экземпляры" - результат пересчета набранного "Потомства" в соотвествиями с ограниченями на общую численность популяции. То есть теперь, после чемпионата сразу видны его результаты как в обычном режиме (колонка "Балл"), так и в режиме "Эволюции" - колонка "Живые экземпляры". Кроме того, в карточке чемпионата появился "Вариант подсчета потомков". От него как раз зависит, что брать в качестве множителя - минимум от численности двух противоборствующих популяций, максимум, или их произведение. Пока "произведение" мне не очень понравилось. Не зрелищное ))) Лидер всех гнобит. Более-менее зрелищен и устойчив вариант "Максимум" с выключенной галкой "Стратегия играет сама с собой". Хотя жизненную аналогию придумать трудно. Самый зрелищный и непредсказуемый, конечно, это вариант, с которым мы до этого проводили чемпионаты - это "Минимум" с включенной галкой "Стратегия играет сама с собой". Вот там интрига до конца ))) Только не совсем заслуженно в лидерах по живым особям бывают стратегии, не очень много набравшие баллов. Галка "Стратегия играет сама с собой", по сути, является усилителем положительной обратной связи. Так как лидирующие стратегии обычно сами с собой кооперируются, то чем больше экземпляров у стратегии, тем больше она получает за игру сама с собой. В общем, поисследуйте. |
||||||||||
380
FarFar
30.10.13
✎
15:47
|
(379) пароль 123456
|
||||||||||
381
SUA
30.10.13
✎
15:49
|
мою "Блеф" по стате посмотреть хочу
|
||||||||||
382
SUA
30.10.13
✎
15:50
|
только кодить лень
|
||||||||||
383
FarFar
30.10.13
✎
15:51
|
(382) А ты покодь, покодь ))) Отладишь - выкладывай сюда, я вставлю. Lama12 же выкладывает. Благо - примеры кодинга стратегий в выложенной базе есть.
|
||||||||||
384
SUA
30.10.13
✎
15:54
|
(383)там шанс прощения сложно высчитывать, рандом тогда оставлю небольшой
|
||||||||||
385
FarFar
30.10.13
✎
15:54
|
(379) P.S. при "Произведении" лидер всех гнобит при включенной галке "Стратегия играет сама с собой". Точнее, там устанавливает ходов через 30 некая ситуация (когда у "А ты кто такой" 400 с лишком очков, а у конкурентов - порядка 100), и дальше картина не меняется.
Если при произведении убирать галку "Стратегия играет сама с собой" - то кстати, вроде ничего, нормально. И цифирки меняются, и отрыв не такой большой. Правда, самые неуспешные стратегии вымирают в хлам. |
||||||||||
386
Lama12
30.10.13
✎
15:55
|
(379) китайцев надо будет переделывать :(
|
||||||||||
387
trialexl
30.10.13
✎
16:00
|
(386) для реализма у китайцев должна быть стартовая фора по количеству экземпляров))
|
||||||||||
388
FarFar
30.10.13
✎
16:12
|
(387) Все равны, у всех одинаковые шансы ))
(386) Да уж...есть куда стараться )) ... если бастрагироваться от неоднозначных "эволюций" (в которых "А ты кто такой" тоже выигрывает) - в простом и честном чемпионате по обычным баллам он стабильно опережает 2 и 3 место ("Под дурочку" и "Вера") как минимум на 10%. А "Око за око" хваленое отстает на треть. Вот образцовый пример чемпионата. Колонка "Баллы" - подсчитывается как в обычном чемпионате. Колонки "Потомство" и "Живые экземпляры" - вариант "Произведение", галка "Стратегия играет сама с собой включена". Чемпионат в 100 ходов, макс.кол-во популяции 1000 особей. http://i016.radikal.ru/1310/84/72e10090259e.png |
||||||||||
389
Lama12
30.10.13
✎
16:29
|
(388)Насколько корректно будет определять эффективность стратегии по количеству потомства?
|
||||||||||
390
FarFar
30.10.13
✎
16:33
|
(389) Самое честное - по простым баллам.
|
||||||||||
391
FarFar
30.10.13
✎
16:36
|
(389) Количество потомства сильно зависит от того, как сложилась судьба популяции в начале игры.
В варианте "Произведение" у природы клыки покрыты кровью намного больше, чем при "Минимуме". Неудачники вымирают на раз-два, и потомства вообще не оставляют. |
||||||||||
392
Зойч
30.10.13
✎
16:38
|
а кто нибудь из вас задавался вопросом Почему одна стратегия успешнее другой?
Или вы просто наугад варианты предлагаете? |
||||||||||
393
FarFar
30.10.13
✎
16:38
|
(391) Кстати, мне начинает нравиться вариант "Произведение".
|
||||||||||
394
FarFar
30.10.13
✎
16:39
|
(392) Этот философско-естественно-научный вопрос. Докинз его в книге рассматривает.
Ну а по честняку - я просто в программе цифирками мухлую. |
||||||||||
395
SUA
30.10.13
✎
16:39
|
придумал что дальше делать...
придется или запрос писать или параметры (которые думаю все потом будут использовать) - "ведомость противника" (% ответов стратегии по типу "Око за око") 1- близко к 50% - случайная стратегия, в ответ играем наилучшую "Всегда отказ" - "отзывчивость" (то же самое, на сотрудничество, включая 1 ход) - "мстительность" (то же, на отказы) 2- в случае "мстительность" около 0 - всегда отказ, 3- 100% - первым отказывать нет смысла (смотрим дальше) 4- в случае "отзывчивость" около 0% первым в сотрудничество играть нет смысла, всегда отказ, 5- 100% - есть смысл начать сотрудничать если еще не определились ну и проценты расставить по вкусу... |
||||||||||
396
FarFar
30.10.13
✎
16:43
|
(395) Вся планета смотрит на тебя!
Я только за, если опишешь параметрами. Вот Lama12, негодяй - все в свои стратегии лепит. А вдруг придется оптимизировать скорость работы программы. Некий общий параметр можно рассчитать один раз на один ход, а потом использовать для всех стратегий, которые захотят к нему обратиться. |
||||||||||
397
SUA
30.10.13
✎
16:45
|
+ возможно доли ответов
соответственно стратегия сразу будет вычислять простака(сотрудничающего всегда), завистника(всегда отказывающегося) и неопределенные стратегии (в т ч антистратегия и "добром на зло") и не давать им развиваться подчистую |
||||||||||
398
FarFar
30.10.13
✎
16:45
|
(397) Ты не рассказывай, ты пиши код ))
|
||||||||||
399
SUA
30.10.13
✎
16:45
|
часа через 3 займусь
|
||||||||||
400
Lama12
30.10.13
✎
16:48
|
(394) Вот вот - "в программе цифирками мухлую" :)
(392) Честно, не стараюсь сделать оптимальную стратегию. Просто интересно моделировать реальные стратегии людей. Например "Вера" - очень похожа на реальное поведения большинства людей. "Девочка" - тут и так понятно. Девочка подросток, или женщина любящая манипулировать мужчинами, но у нее не очень это получается. "Под дурачка", некоторые личности пытаются сыграть на доверии. Если б количество игроков было не ограничено, и количество ходов было заведомо мало, то можно был б написать "Афериста". Китайцы - это китайцы :). Ничего своего, копирование лучших практик. Но как показывает практика, если своего привносить не будешь, то и будешь плестись где-то в середине. Если задача стоит, написать самую побеждающую стратегию, от наиболее оптимально будет (в нашем случае), проанализировать код противников, и вычислять их в ходе игры. Ну естественно под них применять свои стратегии. |
||||||||||
401
FarFar
30.10.13
✎
16:51
|
(400) Да, это здорово! Я и просил именно больше моделей, хороших и разных.
У меня руки дойдут, опишу две простых своих - "Почтальон Печкин" и более интересную, "Жадный подлиза". Ну и чужие тоже, не программистка мне накидала. |
||||||||||
402
Lama12
30.10.13
✎
16:53
|
(396) Не разобрался я с этими внешними функциями. Реализация интересная. Хотя полностью под капот не заглядывал.
Время не больше 2 часов могу уделить утром, в рабочие дни. |
||||||||||
403
FarFar
30.10.13
✎
16:53
|
(400) У меня просто основное время на движок ушло, а не на придумывание стратегий (((
|
||||||||||
404
Зойч
30.10.13
✎
16:54
|
(394) работа компьютерных программ отнюдь не философский вопрос
|
||||||||||
405
SUA
30.10.13
✎
16:55
|
кстати к "китайцам" можно добавить "а как бы поступил он?" - возвращает ответ самой стратегии оппонента на входящие данные
|
||||||||||
406
SUA
30.10.13
✎
16:56
|
заставляя ее каждый раз играть с собой
|
||||||||||
407
FarFar
30.10.13
✎
16:56
|
(402) Я, кстати, понял, почему при "Произведении" без галки "Стратегия играет сама с собой" - ходу к 30-му все устаканивается, и дальше не меняется. Все лидеры к тому моменту играют друг с другом "Кооперируюсь", какие то жалкие разницы в количество исходных потомках на начало хода роли не играют. Может, как то увеличу ценность экземпляров, которые живут на начало хода. Типа, они уже опытные и значат больше, чем новорожденные детеныши, которые потом дохнут в жуткой пропорции.
Но пока предлагаю сравнивать стратегии по колонке "Балл". Она самая непротиворечивая. |
||||||||||
408
Lama12
30.10.13
✎
16:59
|
(407) Мда... Тут вероятностные факторы имеют только мои стратегии. Так что все остальные при игре сами с собой будут кооперироваться. Да и мои при большом количестве ходов тоже будут уходить в кооперацию.
|
||||||||||
409
Lama12
30.10.13
✎
17:08
|
NS будешь на троих? Даешь "супер пупер" стратегию!
|
||||||||||
410
SUA
30.10.13
✎
17:08
|
по эволюции целевая функция нормально не описана
чтобы под нее стратегию максимизировать |
||||||||||
411
SUA
30.10.13
✎
17:15
|
как вариант - можно из нее оставить бои навылет:
- расставляем стратегии в случайном порядке линейно, по несколько экземпляров - каждая из первых двух играет со всеми остальными (следующими 10ю) (оставшимися с живыми экземплярами...) по 1 кругу, кто набрал меньше очков вылетает - победившую в конец списка "должен остаться только один" |
||||||||||
412
NS
30.10.13
✎
17:15
|
(409) Неа, мне никак. Нет времени совсем.
|
||||||||||
413
Lama12
30.10.13
✎
17:17
|
(412) Понимаю. А жаль :)
|
||||||||||
414
FarFar
30.10.13
✎
17:18
|
(409) он заходит иногда в ветку, вижу тут его.
Не обязательно нужна "супер-пупер". Лучше именно стратегию, которая: 1. обладает ярко выраженной логикой и характером, как человек. Пример - "китайцы" (аналог в жизни - китайцы), "а ты кто такой" (гопник - трудно прощающий зло, но сам может обижать тех, кто не отвечает). 2. минимум рандомайза. 3. не слишком "трудозатратная" по ресурсам. Ибо в реальной жизни стратегия, которая для каждого хода вычисляла бы факториал по баллам каждого противника - проигрывала бы по цейтноту. А то натыкать условий по рандому бездумно можно, а как назвать такое дело, что у него за "характер" - непонятно. |
||||||||||
415
FarFar
30.10.13
✎
17:19
|
(411) не, у нас все играют со всеми, каждый круг.
|
||||||||||
416
FarFar
30.10.13
✎
17:30
|
(410) А не надо "под нее стратегию максимизировать".
Надо просто, чтобы стратегия достаточно сильно играла. Тогда и в эволюции у нее дела будут хороши. Можно и ту, которая не сильная, но с интересной идеей. |
||||||||||
417
SUA
30.10.13
✎
17:40
|
"Надо просто, чтобы стратегия достаточно сильно играла"
расплывчато - не проигрывать никому индивидуально - завистливая стратегия - набрать максимум очков за 1 круг со всеми - другая - набрать максимум очков за 1 круг с неравным количеством партий с каждой из стратегий - третья - пересчитывая экземпляры после партии а не после круга - четвертая - включая или не включая "играть с собой" - пятая в том числе, когда в эволюции достаточно много сотрудничающих экземпляров, они начинают самоподдерживаться, что неинтересно в плане результата |
||||||||||
418
FarFar
30.10.13
✎
17:43
|
(147) Посмотри на игры лидеров чемпионата. Они умудряются набирать много очков почти со всеми другими стратегиями, кроме других лидеров.
|
||||||||||
419
SUA
30.10.13
✎
19:27
|
есть контакт
|
||||||||||
420
SUA
30.10.13
✎
19:28
|
Параметр ПредсказуемостьОппонента, код
СтруктураПредсказуемости = Новый Структура("Общее,Сотрудничество,Отказ",1,1,1) ; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |ВЫБОР КОГДА Партии.Карта=Партии1.ОппонентКарта ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Количество, | ВЫБОР КОГДА Партии1.ОппонентКарта=ИСТИНА И Партии.Карта=ИСТИНА ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК КоличествоСотр, | ВЫБОР КОГДА Партии1.ОппонентКарта=ИСТИНА И Партии.Карта=ЛОЖЬ ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК КоличествоОбм, | ВЫБОР КОГДА Партии1.ОппонентКарта=ЛОЖЬ И Партии.Карта=ИСТИНА ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК КоличествоОш, | ВЫБОР КОГДА Партии1.ОппонентКарта=ЛОЖЬ И Партии.Карта=ЛОЖЬ ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК КоличествоОтк |ИЗ | РегистрСведений.Партии КАК Партии ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Партии КАК Партии1 |ПО | Партии.Чемпионат = &Чемпионат И Партии1.Чемпионат = &Чемпионат | И Партии.Стратегия = &Стратегия И Партии1.Стратегия = &Стратегия | И Партии.Оппонент = &Оппонент И Партии1.Оппонент = &Оппонент | И Партии.НомерПартии = (Партии1.НомерПартии-1) "; Запрос.УстановитьПараметр("Чемпионат", сПарамВход.Чемпионат); Запрос.УстановитьПараметр("Оппонент", сПарамВход.Оппонент); Запрос.УстановитьПараметр("Стратегия", сПарамВход.Стратегия); Рез = Запрос.Выполнить().Выгрузить(); Если Рез.Количество() Тогда Количество = Рез.Итог("Количество"); СтруктураПредсказуемости.Общее=Количество/(сПарамВход.НомерПартии-2); Количество = Рез.Итог("КоличествоСотр")+Рез.Итог("КоличествоОш"); СтруктураПредсказуемости.Сотрудничество = ?(Количество=0,1,Рез.Итог("КоличествоСотр")/Количество); Количество = Рез.Итог("КоличествоОбм")+Рез.Итог("КоличествоОтк"); СтруктураПредсказуемости.Отказ = ?(Количество=0,1,Рез.Итог("КоличествоОтк")/Количество); КонецЕсли; РезультатВыполненияПараметра = СтруктураПредсказуемости; |
||||||||||
421
SUA
30.10.13
✎
19:28
|
стратегия "ФСБ", код
сПарамВход = сВход; Если сПарамВход.НомерПартии < 3 Тогда РезультатВыполнения = Истина; Иначе сПарамВход.Вставить("КоличествоПредшествующихХодов",1); Карта = ВычислитьПараметр("КартаОппонентаНаХодуПредшествующемНаХ",сПарамВход); Статистика = ВычислитьПараметр("ПредсказуемостьОппонента",сПарамВход); Если Статистика.Общее<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Отказ<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Сотрудничество<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Отказ>9 /10 Тогда РезультатВыполнения = Карта; ИначеЕсли Карта = ИСТИНА Тогда РезультатВыполнения = Карта; Иначе РезультатВыполнения = (Статистика.Сотрудничество>Статистика.Отказ); КонецЕсли; КонецЕсли; |
||||||||||
422
SUA
30.10.13
✎
19:29
|
сразу почетное 2е место (не умеет обманывать)
|
||||||||||
423
SUA
30.10.13
✎
19:31
|
и при такой постановке 1е место зависит от состава участников...
|
||||||||||
424
FarFar
30.10.13
✎
19:55
|
(422) Стратегию добавил в базу.
Сразу работает, не вываливается. На 100-ходовом чемпионате заняла уверенное 2 место по баллам (со всеми имеющимися участниками и включенной галкой "игры с самим собой"). Поздравления с удачной стратегией и "говорящим" названием! http://s020.radikal.ru/i706/1310/13/66f0c6d91f10.png Напиши, пожалуйста, краткое описание стратегии - вставлю в "Комментарий" |
||||||||||
425
NS
30.10.13
✎
23:31
|
Я правильно понял - каждый с каждым играет в игру с ненулевой суммой? То есть соревнование это просто последовательность партий один на один?
|
||||||||||
426
FarFar
30.10.13
✎
23:44
|
(425) Да.
|
||||||||||
427
FarFar
30.10.13
✎
23:46
|
(425) Организованная по кругам. Играют один круг каждый с каждым, потом второй круг, и далее до N. N участникам заранее неизвестно.
|
||||||||||
428
NS
30.10.13
✎
23:52
|
(427) У тебя победитель близок к случайному. Слишком мало партий.
|
||||||||||
429
FarFar
30.10.13
✎
23:58
|
(428) ??? У нас то 100, то 1000 кругов бывает.
|
||||||||||
430
NS
30.10.13
✎
23:59
|
(429) Понятно. Я просто думал сотни или тысячи партий всего.
|
||||||||||
431
FarFar
31.10.13
✎
00:01
|
(430) Не, намного больше.
|
||||||||||
432
NS
31.10.13
✎
00:04
|
А статистика после каждого цикла сбрасывается? Недоступна боту?
|
||||||||||
433
NS
31.10.13
✎
00:16
|
А можно выложить код оболочки в текстовом виде? Не у всех есть восьмерка.
|
||||||||||
434
FarFar
31.10.13
✎
00:20
|
(432) Вся статистика по играм доступна. Хороший тон - использовать статистику прошедших игр, до начала текущего круга. Чтобы не зависеть от очередности игр в круге.
|
||||||||||
435
NS
31.10.13
✎
00:22
|
(434) Ничего не понял.
Я могу смотреть не только свою статистику, но и чужую? |
||||||||||
436
NS
31.10.13
✎
00:23
|
то есть статистику тех матчей в которых не участвовал? Разве в оригинале так было?
|
||||||||||
437
FarFar
31.10.13
✎
00:23
|
(433) У меня есть конфигурация, в которой кода практически нет. Только справочники, пара перечислений и регистр сведений. Также есть внешняя обработка - наверно, она подойдет под название оболочка. Сами алгоритмы стратегий хранятся в справочнике (точнее в двух, "Стратегии" и "Параметры стратегий") в пользовательском режиме, и выполняются через "Выполнить". Что тебя интересует?
|
||||||||||
438
FarFar
31.10.13
✎
00:24
|
(435) Да, у нас это разрешено. Хотя не все стратегии это используют. Многие ограничиваются только статистикой своих матчей с данным оппонентом.
|
||||||||||
439
NS
31.10.13
✎
00:24
|
Куда я могу обратиться чтоб получить полную статистику. и как считается результат.
|
||||||||||
440
NS
31.10.13
✎
00:24
|
(438) А зачем?
|
||||||||||
441
FarFar
31.10.13
✎
00:25
|
(436) Что же их за давностью лет разберет, как у них там было. По крайней мере, строгих запретов на это я не видел.
|
||||||||||
442
FarFar
31.10.13
✎
00:25
|
(440) А почему нет?
|
||||||||||
443
FarFar
31.10.13
✎
00:27
|
(439) Как считается результат - это во внешней обработке. Код ее могу скинуть, только скажи куда.
Полная статистика чемпионата хранится в регистре сведений "Партии". |
||||||||||
444
NS
31.10.13
✎
00:27
|
А в чем смысл того что участники не знают количества кругов?
|
||||||||||
445
FarFar
31.10.13
✎
00:29
|
(444) Вообще, это ограничение пришло из режима, когда играют всего двое участников. Там оно особенно актуально (иначе приходим к логическому выводу, что надо всегда играть "Отказ"):
wiki:Дилемма_заключённого Если ПДЗ играется ровно N раз (некая известная константа N), есть ещё один интересный факт. Равновесие Нэша — всегда предавать. Доказываем по индукции: если оба сотрудничают, на последнем ходу выгодно предать, тогда у соперника не будет возможности отомстить. Поэтому оба предадут друг друга на последнем ходу. Раз соперник предаст на последнем ходу в любом случае, любой игрок захочет предать на предпоследнем ходу, и так далее. Чтобы сотрудничество оставалось выгодным, необходимо, чтобы будущее было неопределённым для обоих игроков. Одно из решений — делать число N случайным и подсчитывать результаты по среднему выигрышу за ход. |
||||||||||
446
NS
31.10.13
✎
00:30
|
На регистрах криво как-то.
Достаточно было сделать на массивах, а каждый отдельный бот case в процедуре выбора хода. |
||||||||||
447
FarFar
31.10.13
✎
00:31
|
(446) Ну я же восьмерочник ))) Куда мне без регистров.
|
||||||||||
448
FarFar
31.10.13
✎
00:32
|
(447) Точнее без одного регистра. Он один в конфе.
|
||||||||||
449
FarFar
31.10.13
✎
00:33
|
(446) Конечно, можно писать боты в сам код конфигурации. Но тут вопрос удобства превалирует над вопросами производительности. Мне кинули тут на форуме код стратегии, я вставил в пользовательском режиме. Дел на пару секунд, особенно когда делаешь это на работе "промежду прочим"
|
||||||||||
450
NS
31.10.13
✎
00:35
|
Прочитал почему N должно быть неизвестным.
|
||||||||||
451
FarFar
31.10.13
✎
00:36
|
(450) Так красивее, кроме того. Чтобы не пускались во все тяжкие на последнем ходу. И для разработки стратегий это не меает.
|
||||||||||
452
NS
31.10.13
✎
00:40
|
Тут есть косяк в самом начале рассуждений. В матричных играх стратегии вероятностные, поэтому термин "наказать" тут неприменим.
|
||||||||||
453
FarFar
31.10.13
✎
00:43
|
(452) Аксельрод вовсю использует, например, подобные термины. Он даже стратегии категоризует на "добропорядочные", "завистливые" и т.п.
|
||||||||||
454
NS
31.10.13
✎
00:45
|
Аскельрод далек от математики.
|
||||||||||
455
FarFar
31.10.13
✎
00:49
|
(454) Саму "Дилемму" придумал не он. Он являлся организатором первого компьютерного турнира по "итерационной дилемме заключенного"
|
||||||||||
456
FarFar
31.10.13
✎
00:52
|
И, кстати, чемпионом у него была стратегия "Око за око". На эту тему было, видимо, потом много публикаций социологического, философского, религиозного толка.
А у нас "Око за око" - в середнячках ходит. |
||||||||||
457
NS
31.10.13
✎
00:57
|
(455) (456) Все невероятностные стратегии в этой игре - на уровне психологов. К математике не имеют отношения.
|
||||||||||
458
FarFar
31.10.13
✎
01:00
|
(457) Ок, я не буду про термины спорить ))
Я через 5 минут спать. Если еще вопросы есть - задавай. Если нужен текстовый код обработки - могу послать. Только нафига он тебе нужен, там никаких секретов. А примеров кода стратегии тут достаточно выложено. Например, код стратегии "Случайная" ГСЧ = Новый ГенераторСлучайныхЧисел(); Случайность = ГСЧ.СлучайноеЧисло(0,1); Если Случайность = 0 Тогда РезультатВыполнения = Ложь; Иначе РезультатВыполнения = Истина; КонецЕсли; |
||||||||||
459
NS
31.10.13
✎
01:01
|
(458) Бонусы то какие? В ветке и в (0) я нашел три разных варианта.
|
||||||||||
460
NS
31.10.13
✎
01:02
|
Матрица игры как выглядит?
|
||||||||||
461
FarFar
31.10.13
✎
01:05
|
Также, как была у Аксельрода в чемпионате.
D = 5; C = 3; d = 1; c = 0; "Если оба выбрали «сотрудничать», оба получают C. Если один выбрал «предать», другой «сотрудничать» — первый получает D, второй с. Если оба выбрали «предать» — оба получают d. Значения переменных C, D, c, d могут быть любого знака (в примере выше все меньше либо равны 0). Обязательно должно соблюдаться неравенство D > C > d > c, чтобы игра представляла собой «Дилемму заключённого» (ДЗ). Если игра повторяется, то есть играется больше 1 раза подряд, общий выигрыш от сотрудничества должен быть больше суммарного выигрыша в ситуации, когда один предаёт, а другой — нет, то есть 2C > D + c (объяснение см. ниже). Эти правила были установлены Дугласом Хофштадтером и образуют каноническое описание типичной дилеммы заключённого." |
||||||||||
462
FarFar
31.10.13
✎
01:06
|
(46) Хотя думаю, стратегии, успешные при одних допустимых параметрах, будут успешными и при иных допустимых.
|
||||||||||
463
NS
31.10.13
✎
01:09
|
(462) ?! То есть лучшая вероятностная стратегия в матричных играх не зависит от самой матрицы? :)
|
||||||||||
464
FarFar
31.10.13
✎
01:09
|
Если сформируешь стратегию "на словах", Lama12 закодирует ее для чемпионата. Он так хотел тебя привлечь ))
У меня уже несколько штук ожидают кодировки, людей вообще далеких от программирования. Третий день динамлю. |
||||||||||
465
FarFar
31.10.13
✎
01:11
|
(463) А вот фиг его знает, товарищ майор! Это интересное предположение, я может его проверю на досуге путем комбинации разных наборов параметров (теоретически мне сложно, практически проще). Только желательно побольше разных стратегий.
|
||||||||||
466
FarFar
31.10.13
✎
01:14
|
(463) Какой то набор надо было использовать, для организации практического чемпионата. Чтобы не только на словах все осталось. Аксельродовский - подходил на 100%
|
||||||||||
467
FarFar
31.10.13
✎
01:15
|
(466) Как бэ...связь поколений и т.п. И можно проверить его результаты. Пока, например, меня очень удивляет, что "Око за око" оказалась не такая всемогущая. Мистянские алгоритмы ее уделывают.
|
||||||||||
468
FarFar
31.10.13
✎
01:16
|
(467) Даже те, которые используют статистику только своих партий.
|
||||||||||
469
FarFar
31.10.13
✎
01:18
|
Спокойной ночи.
|
||||||||||
470
NS
31.10.13
✎
01:20
|
Тут оптимально симметричное равновесие по Нэшу, которое естественно зависит от коэффициентов матрицы.
|
||||||||||
471
NS
31.10.13
✎
01:21
|
То есть всегда предавать.
|
||||||||||
472
NS
31.10.13
✎
01:23
|
Добавь короче за меня всегда предавать. Завалим числом с такой стратегией.
|
||||||||||
473
NS
31.10.13
✎
01:29
|
То есть у тебя должно быть несколько стратегий "всегда предавать". Родная, добавленная тобой изначально, и от каждого участника который хочет всегда предавать.
|
||||||||||
474
NS
31.10.13
✎
01:43
|
Равновесие по Паретто имеет смысл применять только в случае сговора (то есть договорился с конкретным соперником, что с ним играем по Паретто, а с остальными по Нэшу). Если сговора нет, то по Нэшу. Сговор разрешен?
|
||||||||||
475
Lama12
31.10.13
✎
09:28
|
(474) Сговор запрещен. :( Была идея.
Стратегия "Всегда предавать", не занимает верхних позиций. Но и не самая плохая. |
||||||||||
476
Lama12
31.10.13
✎
09:33
|
(464) Закодировать то могу :)
Легче будет если, например, дополнительно будет код на другом языке. Боюсь с мат терминами не справиться. В конце концов, из моих образований чисто математического нет. С теорией игр знаком только частично из раздела экономики. |
||||||||||
477
Lama12
31.10.13
✎
09:59
|
Переделал "китайцев".
Так более правильный вариант. ФСБ жаль нет в базе которую скачал. Кто ни будь смоделируйте чемпионат с новыми китайцами. :) Первое место они не займут однозначно, но вторыми могут быть запросто.
|
||||||||||
478
NS
31.10.13
✎
10:43
|
(475) Стратегия всегда предавать не занимает верхних позиций, пока в базе есть много неправильных стратегий. Чем больше "всегда предавать", тем меньше шанс у остальных.
Стратегия "всегда предавать" - не проиграет матч никакой стратегии. И это единственная стратегия которая всегда выигрывает матч у любой другой. |
||||||||||
479
FarFar
31.10.13
✎
10:46
|
(477) Внес в базу обновленных китайцев. Играть стали значительно лучше:
http://s019.radikal.ru/i611/1310/1a/961cf3fe0393.png вместо вчерашних 2997 баллов, сегодня набрали при тех же условиях 3 544 Кроме того (неожиданный сюрприз) - Китайцы теперь активно сотрудничают с ФСБ, отдавая ему при личных встречах практически все очки (Китайцы "верят", ФСБ - "лжет"). Что позволяет ФСБ к 100-му ходу догонять "А ты кто такой" P.S. ФСБ можешь вставить к себе за 2 копипаста (в "Параметры" и в "Стратегии"), там все сразу работает без ошибок. |
||||||||||
480
NS
31.10.13
✎
10:49
|
(475) Сговор разрешен :)
Все стратегии, которые обмениваются кодовыми последовательностями - например всегда "око за око" - это сговор путем обмена кодовыми сигналами. |
||||||||||
481
NS
31.10.13
✎
10:49
|
В Бридже это называется "конвенкция"
|
||||||||||
482
FarFar
31.10.13
✎
10:49
|
(478) 1. "пока в базе есть много неправильных стратегий" - а что имеешь ввиду под "неправильных"?
2. "Чем больше "всегда предавать", тем меньше шанс у остальных" Не совсем так. Многие стратегии "раскусывают" "всегда предавать" достаточно быстро, начинают с ним играть тоже всегда отказ, а между собой кооперируются и набирают очки. 3. "Стратегия "всегда предавать" - не проиграет матч никакой стратегии" - да, но при этом набирает мало очков, см.п.2 |
||||||||||
483
NS
31.10.13
✎
10:50
|
(482) Это стратегии которые нарушают правила.
|
||||||||||
484
FarFar
31.10.13
✎
10:51
|
(480) Значит, разное понятие сговора у вас.
У нас запрещен такой сговор, когда один игрок выставляет несколько стратегий, среди них одного фаворита. А остальные его стратегии "проигрывают" фавориту, при этом "всегда отказывая" остальным - "саунтгемптонский вариант" |
||||||||||
485
FarFar
31.10.13
✎
10:51
|
(483) Какие правила они нарушают?
|
||||||||||
486
NS
31.10.13
✎
10:52
|
(482) 2. Не "раскусывают", а договариваются, а это сговор в процессе матча.
|
||||||||||
487
NS
31.10.13
✎
10:52
|
(485) Правило (475)
|
||||||||||
488
FarFar
31.10.13
✎
10:53
|
(477), (479) Если бы китайцы не сливали все партии ФСБ, то их результат значительно бы улучшился.
|
||||||||||
489
FarFar
31.10.13
✎
10:54
|
(486), (487) Такие же правила работали у Аксельрода. Например, "Око за око" у него - вполне законная стратегия. Хотя она, по твоему определению, "договаривается" с соперниками. В этом то и цимес.
|
||||||||||
490
FarFar
31.10.13
✎
10:55
|
(489) Чемпионат из 100 экземпляров "Всегда отказываюсь" практического интереса не представляет ))
|
||||||||||
491
NS
31.10.13
✎
10:56
|
Например приходит дядя, и объявляет - мы кооперируемся в артель, в артели все должны давать последовательность из первых четырех заявок "кооп", "наказ", "наказ", "кооп".
Как только определяем что перед нами из артели, все последующие заявки "кооп", а если не наш, то все последующие заявки "наказ". Всё, сговор. После этого сильнейшей становятся вышеозвученная стратегия. Кодовый сигнал можно поменять на любой другой (поменять конвенкцию) |
||||||||||
492
NS
31.10.13
✎
10:57
|
(489) Прочитай (491). Это самый натуральный сговор, конвенция. И "око за око" - это конвенция.
|
||||||||||
493
NS
31.10.13
✎
10:57
|
Играл когда-нибудь в бридж?
|
||||||||||
494
NS
31.10.13
✎
10:58
|
(490) Добавь например пять стратегий (491) в базу, и увидишь.
|
||||||||||
495
FarFar
31.10.13
✎
11:01
|
(494) У нас это проходит по терминологией "Ритуальный танец"
wiki:Дилемма_заключённого "Хотя стратегия «око за око» считалась самой удачной простой стратегией, команда Университета Саутгемптона из Англии (под руководством профессора Николаса Дженнингса[6]) представила новую стратегию на 20-ю годовщину Чемпионата по ПДЗ. Эта стратегия оказалась более успешной, чем «око за око». Она основывалась на взаимодействии между программами, чтобы получить максимальный счёт для одной из них. Университет выставил на чемпионат 60 программ, которые распознавали друг друга по ряду действий на первых 5-10 ходах. Узнав другую, одна программа всегда сотрудничала, а другая предавала, что давало максимум очков предателю. Если программа понимала, что оппонент — не саутгемптонский, она дальше всё время предавала его, чтобы минимизировать результат соперника. В результате[7] эта стратегия заняла первые три места в соревновании, как и несколько мест подряд ниже. Хотя эта эволюционно стабильная стратегия оказалась более эффективной в соревновании, это было достигнуто за счёт того, что в этом конкретном соревновании команда могла участвовать несколькими агентами. Если игрок может контролировать только одного агента, «око за око» оказывается лучшей. Она также соблюдает правило запрета на коммуникации между игроками. То, что саутгемптонские программы исполняли «ритуальный танец» в первые 10 ходов, чтобы узнать друг друга, только подтверждает, насколько важна коммуникация в сдвиге баланса игры." |
||||||||||
496
FarFar
31.10.13
✎
11:03
|
(494) В общем, запрещено выставлять несколько программ, которые явно будут пытаться "распознать" "своих" и играть далее уже "на своих" представителей.
А "Око за око" - она программа единоличная. У нее нет "подельщиков", с которыми она "в сговоре". Но в чемпионате, конечно, могут быть "добропорядочные" стратегии, с которыми она будет "кооперироваться", согласено заложенным в нее алгоритмам. |
||||||||||
497
Зойч
31.10.13
✎
11:03
|
Вот оно. Пришел человек и задался вопроси ПОЧЕМУ. И оказалось все элементарно.
|
||||||||||
498
NS
31.10.13
✎
11:04
|
(495) Эта цитата была написана психологом, а не математиком.
Значит в "среднем обществе" "око за око" является конвенцией, или близко к тому (конвенцией с редкими ошибками). Не более того. Всё было разжевано Нэшем. Авторы соревнований либо его не читали, либо не поняли. |
||||||||||
499
FarFar
31.10.13
✎
11:10
|
(498) Я не вижу преступного в том, что "Око за око" может знать историю своих игр с соперником. Не вижу преступного в том, что с теми, кто его обманывает, она начинает поступать аналогично - тоже обманывать. А с теми, кто кооперируется, - начинает "кооперироваться".
|
||||||||||
500
FarFar
31.10.13
✎
11:12
|
(499) Для целей чемпионата - это вполне допустимо. Мы же тут не математические теоремы доказываем.
|
||||||||||
501
NS
31.10.13
✎
11:12
|
(499) Ты озвучил "око за око" - после этого она стала конвенцией. Я озвучил (491) После этого и она стала конвенцией.
Вот ты запретил сговор в турнире? Запретил стратегии которые набирают много очков в паре с "око за око"? |
||||||||||
502
NS
31.10.13
✎
11:14
|
Тобой были озвучены несколько конвенций в самом начале.
Все программы которые набирают много очков со всеми названными конвенциями - просто вступают с ними в сговор. Сговор стал возможен, так как это не вероятностные стратегии. А в матричные игры без сговора играют вероятностными, смешанными стратегиями. |
||||||||||
503
FarFar
31.10.13
✎
11:14
|
(501) Я за судьбу "Око за око" не беспокоюсь ))).
Хочется, чтобы чемпионат был соревнованием индивидуальных стратегий, которые все-таки "сами за себя", а не соревнованием "артелей" - потому что это тупиковый вариант. |
||||||||||
504
Lama12
31.10.13
✎
11:15
|
(498) Хы... :) Вот что-то подобное в голове вертелось :)Сформулировать не мог.
Действительно получается сговор с редкими ошибками. Редкость зависит, от качества данных истории. :) Все верно. |
||||||||||
505
Lama12
31.10.13
✎
11:16
|
504+ От качества анализа данных истории.
|
||||||||||
506
FarFar
31.10.13
✎
11:17
|
(504) "Редкость зависит, от качества данных истории" - поясни? Что за "качество данных" имеем ввиду.
Так же и 10 экземпляров "всегда отказываюсь" можно сговором назвать. |
||||||||||
507
Зойч
31.10.13
✎
11:17
|
(503) соревнование артелей как раз более интересный вариант
|
||||||||||
508
FarFar
31.10.13
✎
11:19
|
(505) А - ну вот тут и раздолье для аналитика и программиста. Проанализировать историю, сделать качественные выводы. Плюс, чтобы этот анализ занимал не много времени. И алгоритм был более-менее универсален.
|
||||||||||
509
Lama12
31.10.13
✎
11:20
|
Возьмем "идеальную" стратегию. Она умеет анализировать историю, и вырабатывать оптимальное поведение. В результате подобное поведение можно назвать сговором. Поскольку она безошибочно будет определять стратегию противника и всегда будет играть наиболее оптимально.
(507) в артельных вариантах, скорее всего, будут выигрывать те артели в которых больше участников или которые смогут себя быстрее распознать. |
||||||||||
510
NS
31.10.13
✎
11:21
|
(503) Да при чем тут око за око. В ветке озвучена куча невероятностных стратегий. Можно написать стратегию которая войдет в сговор со всеми озвученными.
Любое озвучивание невероятностной стратегии - это приглашение к сговору. |
||||||||||
511
Lama12
31.10.13
✎
11:22
|
(510) У меня вероятностные (c натяжкой) :) Кроме китайцев. :-D
|
||||||||||
512
FarFar
31.10.13
✎
11:22
|
(507) Почему?
Внутри артели - логика ясна, всегда играть "на фаворита", чтобы он выкладывал "Отказ", а остальные члены "Кооперируюсь". Далее, явно результат зависит от количества членов артели. Хорошо, пусть в артелях одинаковое кол-во членов. Далее что получаем: если разные артели будут играть с другими "артелями" всегда "отказ" - значит мы получаем как бы наш чемпионат единоличников "всегда отказываюсь". Все артели закончат чемпионат с одинаковыми баллами. Значит что имеем :-) Что уже артелям надо "кооперироваться" друг с другом, чтобы опередить остальных. И получаем ровно такой же чемпионат, как у нас, только гемора больше. "Артель" имеет преимущество в чемпионате, если она там одна, и про нее никто не знает. |
||||||||||
513
Зойч
31.10.13
✎
11:26
|
(512) тут как раз велико поле для оптимизации. Как можно быстрее вычислить своего/чужого
|
||||||||||
514
FarFar
31.10.13
✎
11:26
|
(510) То есть, имеешь ввиду, что код стратегии должен быть "закрыт", чтобы оппоненты его не могли проанализировать, и понять логику работы программы?
Уверяю тебя, у нас таким ограничителем является лень. Мы пишем стратегии, которые не ориентируются на игру с какими то конкретными стратегиями. |
||||||||||
515
Зойч
31.10.13
✎
11:26
|
В текущем варианте вы просто крутите циферки без понимания происходящего
|
||||||||||
516
FarFar
31.10.13
✎
11:27
|
(513) А что тут оптимизировать то???
Если в чемпионате 10 "артелей" участвует - более-менее достаточно 4 ходов (2 в четвертой) степени. Если больше - ну 5 ходов. |
||||||||||
517
Lama12
31.10.13
✎
11:28
|
(513) В том то и дело. Что если программировать артели, то можно заранее договориться о последовательности идентифицирующих ходов. Все просто :)
|
||||||||||
518
FarFar
31.10.13
✎
11:30
|
(504) "Действительно получается сговор с редкими ошибками."
В нашем чемпионате не все добропорядочные стратегии "сговариваются" друг с другом. Например, моя "А ты кто такой" - по факту вовсю обманывает добропорядочную "Всегда кооперируюсь". |
||||||||||
519
FarFar
31.10.13
✎
11:30
|
(518) то есть, "А ты кто такой" является недобропорядочной.
|
||||||||||
520
FarFar
31.10.13
✎
11:32
|
(517) Так еще раз!
Если артели разрешены - это НИ КАПЛИ не меняет смысл чемпионата. Просто соревнование индивидуальных стратегий превращается в абсолютно аналогичное соревнование Артелей. Которые "между артелями" начинают играть "Око за око", "Китайцев" и т.п. |
||||||||||
521
Lama12
31.10.13
✎
11:32
|
(520) Хм... логично :)
|
||||||||||
522
Lama12
31.10.13
✎
11:33
|
(520) При равном количестве игроков в артели.
|
||||||||||
523
FarFar
31.10.13
✎
11:33
|
(520) Поэтому играть "без артелей" - проще и понятнее. Иначе, просто выходим на "новый виток" - где программировать сложнее, а по факту - те же яйца, только в профиль.
(522) Разумеется. Иначе это было бы слишком большим преимуществом. |
||||||||||
524
Зойч
31.10.13
✎
11:36
|
(523) и получается что мы де юро артели запрещаем, а по факту их строим.
Хотя на реальную жизнь похоже |
||||||||||
525
Lama12
31.10.13
✎
11:37
|
(524) Ага.
|
||||||||||
526
Lama12
31.10.13
✎
11:38
|
(524) Так же как с китайцами. Знают кого подкармливать :)
Это я про стратегию. |
||||||||||
527
FarFar
31.10.13
✎
11:39
|
(524) Кто строит, а кто и не строит.
Например, добропорядочная "Всегда кооперируюсь". Она и "ФСБ" играют "Всегда кооперируюсь", имеют по свои 3 балла. С другой стороны, моя "А ты кто такой" почти всегда ее обманывает, имеет 5 баллов. Зато рискует "ухудшить карму", что другие стратегии как то этот факт учтут, и станут мне отказывать. В этом и смысл соревнования и большого кол-ва разных стратегий. |
||||||||||
528
FarFar
31.10.13
✎
11:40
|
(524) "А ты кто такой", например, не пытается жулить с теми стратегиями, которые могут "дать сдачи". Пока не пытается :)
С ними безопаснее кооперироваться. Но иногда можно обмануть. И т.п. |
||||||||||
529
Зойч
31.10.13
✎
11:41
|
(527) ты так и не понял ничего что ли???
|
||||||||||
530
FarFar
31.10.13
✎
11:45
|
(529) Не знаю, что ты имеешь ввиду. Что я не понял.
|
||||||||||
531
Зойч
31.10.13
✎
11:46
|
(530) читай (524) до просветления
|
||||||||||
532
FarFar
31.10.13
✎
11:46
|
(529) Что по факту получается артель тех, которые более-менее кооперируются друг с другом? Но у нас внутри этой "квазиартели" идет напряженная борьба, плюс не всегда участники этой "артели" добропорядочны по отношению друг к другу. Так что все пучком )))
|
||||||||||
533
KnightAlone
31.10.13
✎
11:49
|
"око за два око" - в чем суть стратегии?
а то тут на ум пришла мысль "око за око с лагами" 1. Кооперируюсь. 2. Если противник "Кооперируюсь" на предыдущем ходе, то следующие 2 хода "отказ". Если противник "отказ" - 2 хода кооперируюсь. То есть по сути то же "око за око", но отвечаем на каждый второй ход, отвечая 2 хода подрят. Надеюсь понятно написал или "око за око мальчика-тормоза" 1. Кооперируюсь. 2. Отказ 3. Начинается "Око за око", но отвечаем не на предыдущий ход, а на предпредыдущий ход. То есть Если на первом ходу был отказ, то мы кооперируемся делаем не на 2м ходу, а только на третьем. |
||||||||||
534
KnightAlone
31.10.13
✎
11:49
|
всю тему не читал, если че)
|
||||||||||
535
FarFar
31.10.13
✎
11:49
|
(533) Занятные стратегии. Добавлю.
|
||||||||||
536
FarFar
31.10.13
✎
12:30
|
(533) Вопрос по "око за око с лагами"
Круг 1. Ход соперника - "Кооперируюсь". По твоей логике - во второй и третьем круге надо выкладывать "Отказ". Круг 2. Соперник сыграл "Отказ". По твоей логике, в третьем и четвертом круге надо выкладывать "Кооперируюсь". Вопрос - что же все таки выкладывать в третьем круге? |
||||||||||
537
FarFar
31.10.13
✎
12:35
|
(533) "око за око мальчика-тормоза" - добавил.
|
||||||||||
538
FarFar
31.10.13
✎
12:47
|
(537) Играет средне. На 9-ом месте из 14.
|
||||||||||
539
KnightAlone
31.10.13
✎
13:03
|
(538) я и не пытаюсь лидера придумать, создаю разнообразие)
(536) аналогия - потери пакетов в сети. Круг 1. Ход соперника - "Кооперируюсь". По твоей логике - во второй и третьем круге надо выкладывать "Отказ". Круг 2. Соперник сыграл "Отказ". на этот шаг мы никак не реагируем, пакет будет потерян, мы среагировали на него в 1ом ходу с подтомаживаением. то есть региоруем на каждый нечетный ход соперника |
||||||||||
540
KnightAlone
31.10.13
✎
13:07
|
пока обедал придумал еще 2 стратегии, но после размешлений прищел к выводу, что это все тоже око за око))
"давай дружить" 1. Кооперируюсь. 2. Отвечаем на предыдущий шаг соперника так же, как сходил он. отвечаем так до тех пор, пока он не сменит вид ответа. то есть кооперируемся до тех пор, пока кооперируется. отказываем, пока отказывает. "хочу выжить" (анти око-за око) 1. Кооперируюсь. 2. Отвечаем на предыдущий шаг соперника противоположно. отвечаем так до тех пор, пока он не сменит вид ответа. то есть кооперируемся до тех пор, пока он отказывает. отказываем, пока кооперируется. но такая вроде у вас уже описывалась. обед кончился, больше пока ниче не придумал) |
||||||||||
541
SUA
31.10.13
✎
13:07
|
(527)стартовые коэффициенты своей подкрутить надо просто
кстати вопрос организатору - алгоритм может быть самомодифицирующимя? |
||||||||||
542
KnightAlone
31.10.13
✎
13:08
|
(540) смысл второй стратегии - Вы там популяцию гнорбите своими алгоритмами, а тут пытаемся свой рейтинг поправить. как поправили - опять гнобим его себе)
|
||||||||||
543
SUA
31.10.13
✎
13:13
|
и смысла в комментировании моей стратегии особого нет:
- предсказуемость оппонента возвращает 3 параметра - "общее" - следование стилю ока (менее 50% - можно грабить корованы), "отказ" - показатель мстительности, "сотрудничество" - показатель добропорядочности оппонента и далее линейный выбор оптимальной против него стратегии |
||||||||||
544
aka MIK
31.10.13
✎
13:15
|
Читали уже?
"Но вот парадокс: несмотря на то, что обоим участникам выгодна кооперация, в этой игре лучше всего быть подлецом и идти в отказ. Смотрите сами, если другой игрок выбирает отказ, вам тоже выгоден отказ (получаете 1 доллар), если игрок выбирает сотрудничество... вам тоже выгоднее отказаться и сорвать банк (5 долларов). Отказ — это так называемая доминантная стратегия в этой игре. С точки зрения бездушной математики — оба игрока просто должны пойти в отказ. Это наводит на пессимистичные мысли об окружающем нас мире. Однако когда за игру сажали не математиков, а живых теплокровных людей — результат был обратный. Они стремились к кооперации. А мы и без специальных экспериментов видим, что мир построен на сотрудничестве. Выяснилось, что выгоды кооперации проявляются тогда, когда игра становится многоходовой (итерированной) — отсюда и наши привычки. Гораздо выгоднее получать по 3 доллара на протяжении многих ходов, чем сорвать пятидолларовый куш, который приведет к ссоре и череде однодолларовых отказов. Это уже как–то обнадеживает." http://politota.d3.ru/comments/487008/ |
||||||||||
545
SUA
31.10.13
✎
13:15
|
кстати если можно легально пользоваться результатами партий оппонента с посторонними стратегиями - сейчас апдейт своей сделаю до "АНБ" (будет собирать статистику по всем играм а не только своим)
|
||||||||||
546
FarFar
31.10.13
✎
13:16
|
(539) "на этот шаг мы никак не реагируем, пакет будет потерян,"
Стратегия не может "никак не ответить". Давай какой то алгоритм ответа. |
||||||||||
547
FarFar
31.10.13
✎
13:17
|
(540) Да, первая - это "Око за око". Вторая - "Добром за зло, злом за добро". Обе уже участвуют в турнире.
|
||||||||||
548
FarFar
31.10.13
✎
13:18
|
(545) Я не запрещаю использовать эту информацию в чемпионате. У Lama12 так, кажется, Китайцы работают. И мой "апдейт" к "А ты кто такой" тоже использует частично такую информацию.
|
||||||||||
549
FarFar
31.10.13
✎
13:19
|
(544) Все это подробно описано в книге Докинза, см. ссылку в (0)
|
||||||||||
550
Зойч
31.10.13
✎
13:21
|
(544) еще лучше договориться между группой и кидать всех остальных
|
||||||||||
551
SUA
31.10.13
✎
13:22
|
(550)именно так топовые и пытаются поступать - договориться со всеми кого кинуть невозможно
|
||||||||||
552
FarFar
31.10.13
✎
13:24
|
(551) Точнее так, кого кинуть страшно и чревато.
|
||||||||||
553
KnightAlone
31.10.13
✎
13:27
|
(546) пожоже я там малек напупал с терминами) попробуем еще раз.
суть алгоритма. "око за око с лагом (потерей пакетов)" 1. ход Кооперируюсь. Противник Кооперируюсь 2. ход по алгоритму око за око делаем Кооперируюсь. Противник Отказ 3. ход по алгоритму око за око, но не предыдущего хода, а предпредыдущего делаем Кооперируюсь (то есть мы не увидели ход соперника на 2м ходу). Противник Отказ 4. ход по алгоритму око за око делаем Отказ. Противник не важно что 5. ход по алгоритму око за око, но не предыдущего хода, а предпредыдущего делаем Отказ (то есть мы не увидели ход соперника на 4м ходу). Противник Отказ То есть каждый четный ход мы делаем стандартно по алгоритму око за око Каждый нечетный ход с 3го мы делаем копию своего предыдущего хода |
||||||||||
554
KnightAlone
31.10.13
✎
13:31
|
то есть мы теряем ответы от оппонента каждый четный ход. так как инет у нас 36600 бит/сек )))
так как без ответа мы остаться не можем, даем тот же сигнал, что и в прошлый раз |
||||||||||
555
Lama12
31.10.13
✎
13:40
|
(551) Хм... идея.
Завтра реализую если не забуду :) Игра от обратного. |
||||||||||
556
SUA
31.10.13
✎
15:21
|
"АНБ"
из модификации прошлой до глобального сбора статистики - получилась достаточно "злая" стратегия, уверенно держащаяся в лидерах (4-5 место) Параметр стратегии "ПредсказуемостьОппонентаГлобальная" СтруктураПредсказуемости = Новый Структура("Общее,Сотрудничество,Отказ",1,1,1) ; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |СУММА(ВЫБОР КОГДА Партии.Карта=Партии1.ОппонентКарта ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК Количество, | СУММА(ВЫБОР КОГДА Партии1.ОппонентКарта=ИСТИНА И Партии.Карта=ИСТИНА ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК КоличествоСотр, | СУММА(ВЫБОР КОГДА Партии1.ОппонентКарта=ИСТИНА И Партии.Карта=ЛОЖЬ ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК КоличествоОбм, | СУММА(ВЫБОР КОГДА Партии1.ОппонентКарта=ЛОЖЬ И Партии.Карта=ИСТИНА ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК КоличествоОш, | СУММА(ВЫБОР КОГДА Партии1.ОппонентКарта=ЛОЖЬ И Партии.Карта=ЛОЖЬ ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК КоличествоОтк |ИЗ | РегистрСведений.Партии КАК Партии ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Партии КАК Партии1 |ПО | Партии.Чемпионат = &Чемпионат И Партии1.Чемпионат = &Чемпионат | И Партии.Стратегия = Партии1.Стратегия | И Партии.Оппонент = &Оппонент И Партии1.Оппонент = &Оппонент | И Партии.НомерПартии = (Партии1.НомерПартии-1) "; Запрос.УстановитьПараметр("Чемпионат", сПарамВход.Чемпионат); Запрос.УстановитьПараметр("Оппонент", сПарамВход.Оппонент); Запрос.УстановитьПараметр("Стратегия", сПарамВход.Стратегия); Рез = Запрос.Выполнить().Выгрузить(); Если Рез.Количество() Тогда Количество = Рез.Итог("Количество"); СтруктураПредсказуемости.Общее=Количество/(сПарамВход.НомерПартии-2); Количество = Рез.Итог("КоличествоСотр")+Рез.Итог("КоличествоОш"); СтруктураПредсказуемости.Сотрудничество = ?(Количество=0,1,Рез.Итог("КоличествоСотр")/Количество); Количество = Рез.Итог("КоличествоОбм")+Рез.Итог("КоличествоОтк"); СтруктураПредсказуемости.Отказ = ?(Количество=0,1,Рез.Итог("КоличествоОтк")/Количество); КонецЕсли; РезультатВыполненияПараметра = СтруктураПредсказуемости; Сама стратегия (по сути прошлая ФСБ, но в сборе данных оппонента не ограничивается собственной историей взаимоотношений)- сПарамВход = сВход; Если сПарамВход.НомерПартии < 3 Тогда РезультатВыполнения = Истина; Иначе сПарамВход.Вставить("КоличествоПредшествующихХодов",1); Карта = ВычислитьПараметр("КартаОппонентаНаХодуПредшествующемНаХ",сПарамВход); Статистика = ВычислитьПараметр("ПредсказуемостьОппонентаГлобальная",сПарамВход); Если Статистика.Общее<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Отказ<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Сотрудничество<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Отказ>9 /10 Тогда РезультатВыполнения = Карта; ИначеЕсли Карта = ИСТИНА Тогда РезультатВыполнения = Карта; Иначе РезультатВыполнения = (Статистика.Сотрудничество>Статистика.Отказ); КонецЕсли; КонецЕсли; |
||||||||||
557
SUA
31.10.13
✎
15:23
|
ну и ТОП6 тестового чемпионата для иллюстрации
Количество баллов Сыграл "Кооперация" Сыграл "Отказ" Взаимная кооперация Взаимный отказ Я обманул Меня обманули Стратегия 4 299 827 573 818 255 318 9 А ты кто такой? (автор - FarFar) 4 179 904 496 893 245 251 11 ФСБ 4 028 962 438 938 244 194 24 Вера с увеличивающейся вероятностью (автор - Lama12) 4 024 952 448 928 250 198 24 Под дурочку (автор - Lama12) 3 968 529 871 475 453 418 54 АНБ 3 751 1 141 259 1 064 184 75 77 Око за око |
||||||||||
558
SUA
31.10.13
✎
15:25
|
почти вдвое реже кооперируется, но при этом вдвое успешнее обманывает
|
||||||||||
559
SUA
31.10.13
✎
15:32
|
(длительность 100 партий)
хотя на длительности 10-20 подсаживается сначала прилично |
||||||||||
560
FarFar
31.10.13
✎
15:48
|
(556) я вставил. Но что то так долго стало работать, капец. Посмотри, может что соптимизировать можно?
|
||||||||||
561
SUA
31.10.13
✎
16:08
|
возможно запрос получится оптимизировать так, но не факт:
|
||||||||||
562
FarFar
31.10.13
✎
16:13
|
(561) Извини, но в таком виде я ее не приму ((( Обычно у меня чемпионат в 100 ходов прокручивается минут за 5, а тут уже полчаса висит, дошло до 80-го хода.
|
||||||||||
563
SUA
31.10.13
✎
16:16
|
кстати что интересно
выключил ФСБ - в результате АНБ вылезла на 2е место: Количество баллов Сыграл "Кооперация" Сыграл "Отказ" Взаимная кооперация Взаимный отказ Я обманул Меня обманули Стратегия 4 049 626 574 617 168 406 9 А ты кто такой? (автор - FarFar) 3 516 469 731 407 340 391 62 АНБ 3 419 757 443 732 248 195 25 Под дурочку (автор - Lama12) 3 383 755 445 722 252 193 33 Вера с увеличивающейся вероятностью (автор - Lama12) 3 160 943 257 865 180 77 78 Око за око 3 133 925 275 842 192 83 83 Противоречивая девочка (автор - Lama12) 3 012 982 218 858 163 55 124 Око за два ока 2 867 446 754 107 306 448 339 Китайцы (автор - Lama12) |
||||||||||
564
FarFar
31.10.13
✎
16:19
|
(563) Два агенства друг другу мешают ))) Резидентов перекупают друг у друга, одни и те же явки пытаются использовать. Бардак и неразбериха.
|
||||||||||
565
SUA
31.10.13
✎
16:21
|
(564)это да :)
причем еще заметил - АНБ часто использует "мусорную" информацию (вроде истории взаимоотношений с антистратегией), ну это поправлю думаю |
||||||||||
566
FarFar
31.10.13
✎
16:22
|
(565) ты учти мой пост (562). Если не ускоришь её - в общий генофонд человечества она не войдет ))
|
||||||||||
567
SUA
31.10.13
✎
16:29
|
(566)заменить код параметра:
СтруктураПредсказуемости = Новый Структура("Общее,Сотрудничество,Отказ",1,1,1) ; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Карта,ОппонентКарта,НомерПартии,НомерПартии+1 КАК Ответ, Стратегия ПОМЕСТИТЬ Партии ИЗ РегистрСведений.Партии КАК Партии ГДЕ Партии.Чемпионат=&Чемпионат И Партии.Оппонент=&Оппонент ИНДЕКСИРОВАТЬ ПО Стратегия,НомерПартии,Ответ; ВЫБРАТЬ |СУММА(ВЫБОР КОГДА Партии.Карта=Партии1.ОппонентКарта ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК Количество, | СУММА(ВЫБОР КОГДА Партии1.ОппонентКарта=ИСТИНА И Партии.Карта=ИСТИНА ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК КоличествоСотр, | СУММА(ВЫБОР КОГДА Партии1.ОппонентКарта=ИСТИНА И Партии.Карта=ЛОЖЬ ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК КоличествоОбм, | СУММА(ВЫБОР КОГДА Партии1.ОппонентКарта=ЛОЖЬ И Партии.Карта=ИСТИНА ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК КоличествоОш, | СУММА(ВЫБОР КОГДА Партии1.ОппонентКарта=ЛОЖЬ И Партии.Карта=ЛОЖЬ ТОГДА 1 ИНАЧЕ 0 КОНЕЦ) КАК КоличествоОтк |ИЗ | Партии КАК Партии ВНУТРЕННЕЕ СОЕДИНЕНИЕ Партии КАК Партии1 |ПО | Партии.Стратегия = Партии1.Стратегия | И Партии.Ответ = Партии1.НомерПартии "; Запрос.УстановитьПараметр("Чемпионат", сПарамВход.Чемпионат); Запрос.УстановитьПараметр("Оппонент", сПарамВход.Оппонент); Запрос.УстановитьПараметр("Стратегия", сПарамВход.Стратегия); Рез = Запрос.Выполнить().Выгрузить(); Если Рез.Количество() Тогда Количество = Рез.Итог("Количество"); СтруктураПредсказуемости.Общее=Количество/(сПарамВход.НомерПартии-2); Количество = Рез.Итог("КоличествоСотр")+Рез.Итог("КоличествоОш"); СтруктураПредсказуемости.Сотрудничество = ?(Количество=0,1,Рез.Итог("КоличествоСотр")/Количество); Количество = Рез.Итог("КоличествоОбм")+Рез.Итог("КоличествоОтк"); СтруктураПредсказуемости.Отказ = ?(Количество=0,1,Рез.Итог("КоличествоОтк")/Количество); КонецЕсли; РезультатВыполненияПараметра = СтруктураПредсказуемости; |
||||||||||
568
SUA
31.10.13
✎
16:29
|
теперь в 5 минут проходит
|
||||||||||
569
SUA
31.10.13
✎
16:32
|
да, и при 2х спецслужбах китайцы сливаются АНБ а с ФСБ в отказ идут))) что тоже забавно
|
||||||||||
570
FarFar
31.10.13
✎
16:33
|
(569) Наверно, больше платит.
|
||||||||||
571
SUA
31.10.13
✎
16:34
|
и сразу оптимизированная стратегия АНБ
сПарамВход = сВход; Если сПарамВход.НомерПартии < 3 Тогда РезультатВыполнения = Истина; Иначе сПарамВход.Вставить("КоличествоПредшествующихХодов",1); Карта = ВычислитьПараметр("КартаОппонентаНаХодуПредшествующемНаХ",сПарамВход); Статистика = ВычислитьПараметр("ПредсказуемостьОппонентаГлобальнаяОпт",сПарамВход); Если Статистика.Общее<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Отказ<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Сотрудничество<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли сПарамВход.НомерПартии>10 Тогда РезультатВыполнения = (сПарамВход.Чемпионат.БаллКогдаЯОбманул*(1-Статистика.Отказ)+сПарамВход.Чемпионат.БаллЗаВзаимныйОтказ*Статистика.Отказ < сПарамВход.Чемпионат.БаллКогдаМеняОбманули*(1-Статистика.Сотрудничество)+сПарамВход.Чемпионат.БаллЗаВзаимнуюКооперацию*Статистика.Сотрудничество); Иначе РезультатВыполнения = Карта; КонецЕсли; КонецЕсли; |
||||||||||
572
SUA
31.10.13
✎
16:34
|
100 партий - отрыв от 1го места 3 очка
|
||||||||||
573
SUA
31.10.13
✎
16:36
|
слила старую версию фсб (где кстати тоже можно код на этот поменять, только параметр другой использовать в вычислении статистики)
|
||||||||||
574
SUA
31.10.13
✎
16:37
|
из (571) для АНБ использовать:
Статистика = ВычислитьПараметр("ПредсказуемостьОппонентаГлобальная",сПарамВход); для ФСБ: Статистика = ВычислитьПараметр("ПредсказуемостьОппонента",сПарамВход); |
||||||||||
575
FarFar
31.10.13
✎
16:39
|
(571) Вываливается с ошибкой {(13)}: Значение не является значением объектного типа (Общее)
Если Статистика.Общее<=1/2 Тогда (574) Кинь в одном посте последние версии параметров и стратегий. Желательно под спойлером. Для спойлера нужно использовать квадратные скобки [ ] а между ними английскую букву C |
||||||||||
576
FarFar
31.10.13
✎
16:39
|
[C]
пример кода под спойлером |
||||||||||
577
FarFar
31.10.13
✎
16:40
|
(576) Чё то не сворачивает ))) Lama12 - как правильно под спойлер пихать?
|
||||||||||
578
SUA
31.10.13
✎
16:41
|
тест [s]123[/s]
|
||||||||||
579
Зойч
31.10.13
✎
16:41
|
|
||||||||||
580
Зойч
31.10.13
✎
16:42
|
Если ИначеЕсли |
||||||||||
581
SUA
31.10.13
✎
16:42
|
опа, гопарь побит
сейчас еще посмотрю улучшения возможные |
||||||||||
582
FarFar
31.10.13
✎
16:42
|
(C)
тест под спойлером Англ. С в круглых скобках |
||||||||||
583
Зойч
31.10.13
✎
16:43
|
в оффах не рабатает
|
||||||||||
584
FarFar
31.10.13
✎
16:43
|
(581) У меня вываливается стратегия с ошибкой!
|
||||||||||
585
FarFar
31.10.13
✎
16:43
|
(583) В этой ветке Lama12 прекрасно кидал под спойлер.
|
||||||||||
586
SUA
31.10.13
✎
16:45
|
(584)знаю я параметр копированием делал, сейчас скину итоговые версии
|
||||||||||
587
SUA
31.10.13
✎
16:49
|
еще любопытно: поставил флаг "Играть с собой", АНБ-АНБ уходит в отказ
|
||||||||||
588
SUA
31.10.13
✎
16:50
|
АНБ
сПарамВход = сВход; Если сПарамВход.НомерПартии < 3 Тогда РезультатВыполнения = Истина; Иначе сПарамВход.Вставить("КоличествоПредшествующихХодов",1); Карта = ВычислитьПараметр("КартаОппонентаНаХодуПредшествующемНаХ",сПарамВход); Статистика = ВычислитьПараметр("ПредсказуемостьОппонентаГлобальная",сПарамВход); Если Статистика.Общее<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Отказ<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли Статистика.Сотрудничество<=1/2 Тогда РезультатВыполнения = Ложь; ИначеЕсли сПарамВход.НомерПартии>10 Тогда РезультатВыполнения = (сПарамВход.Чемпионат.БаллКогдаЯОбманул*(1-Статистика.Отказ)+сПарамВход.Чемпионат.БаллЗаВзаимныйОтказ*Статистика.Отказ < сПарамВход.Чемпионат.БаллКогдаМеняОбманули*(1-Статистика.Сотрудничество)+сПарамВход.Чемпионат.БаллЗаВзаимнуюКооперацию*Статистика.Сотрудничество); Иначе РезультатВыполнения = Карта; КонецЕсли; КонецЕсли; Параметр как и раньше (не менять) |
||||||||||
589
Lama12
31.10.13
✎
16:53
|
(585) Включили OFF.
Видимо NS посчитал чт с точки зрения классической математики задача решена и интереса не представляет (мои предположения). :) А вообще сполер работает на английские буквы 1C d квадратных скобках.
|
||||||||||
590
Lama12
31.10.13
✎
16:53
|
а нет :) сработал
|
||||||||||
591
Lama12
31.10.13
✎
16:54
|
так начало
|
||||||||||
592
Lama12
31.10.13
✎
16:54
|
Так конец
|
||||||||||
593
FarFar
31.10.13
✎
17:09
|
(533)
"око за око с лагами" - уже запарился с ней. Вот уж назвал яхту! пост 1 "1. Кооперируюсь. 2. Если противник "Кооперируюсь" на предыдущем ходе, то следующие 2 хода "отказ". Если противник "отказ" - 2 хода кооперируюсь. То есть по сути то же "око за око", но отвечаем на каждый второй ход, отвечая 2 хода подрят. Надеюсь понятно написал" пост 2. "суть алгоритма. "око за око с лагом (потерей пакетов)" 1. ход Кооперируюсь. Противник Кооперируюсь 2. ход по алгоритму око за око делаем Кооперируюсь. Противник Отказ 3. ход по алгоритму око за око, но не предыдущего хода, а предпредыдущего делаем Кооперируюсь (то есть мы не увидели ход соперника на 2м ходу). Противник Отказ 4. ход по алгоритму око за око делаем Отказ. Противник не важно что 5. ход по алгоритму око за око, но не предыдущего хода, а предпредыдущего делаем Отказ (то есть мы не увидели ход соперника на 4м ходу). Противник Отказ То есть каждый четный ход мы делаем стандартно по алгоритму око за око Каждый нечетный ход с 3го мы делаем копию своего предыдущего хода" Я не могу объединить посты: "Если противник "Кооперируюсь" на предыдущем ходе, то следующие 2 хода "отказ"" и "То есть каждый четный ход мы делаем стандартно по алгоритму око за око" Пока у меня вот такой код вышел. Поправь его: сПарамВход = сВход; Если сПарамВход.НомерПартии = 1 Тогда РезультатВыполнения = Истина; Иначе Если ВычислитьПараметр("НомерХодаХЧетный",сПарамВход) = Ложь Тогда //Если номер хода нечетный - просчитываем нашу реакцию сПарамВход.Вставить("КоличествоПредшествующихХодов",1); Карта = ВычислитьПараметр("КартаОппонентаНаХодуПредшествующемНаХ",сПарамВход); РезультатВыполнения = НЕ Карта; Иначе //в случае четного хода - повторяем свой предыдущий ход сПарамВход.Вставить("КоличествоПредшествующихХодов",1); Карта = ВычислитьПараметр("КартаСтратегииНаХодуПредшествующемНаХ",сПарамВход); РезультатВыполнения = Карта; КонецЕсли; КонецЕсли; |
||||||||||
594
NS
31.10.13
✎
17:11
|
(589) Это не математическая задача.
Точнее математическая - посмотрев текущие алгоритмы соперников я могу написать версию которая со всеми (позволяющими это) войдет в сговор. Но это не интересно. |
||||||||||
595
NS
31.10.13
✎
17:11
|
Я ОФФ не включал. :)
|
||||||||||
596
FarFar
31.10.13
✎
17:12
|
(594) То, что она войдет в сговор - вовсе не гарантирует то, что она наберет больше всех очков.
|
||||||||||
597
FarFar
31.10.13
✎
17:12
|
(594), (596)
А ты придумай ка такую, чтобы она победила в чемпионате по очкам! |
||||||||||
598
NS
31.10.13
✎
17:13
|
(596) Если правильно войдет - гарантирует.
|
||||||||||
599
NS
31.10.13
✎
17:13
|
(597) Выложи код всех соперников.
|
||||||||||
600
FarFar
31.10.13
✎
17:14
|
Я сейчас базу выложу целиком. Или у тебя восьмерки нет, тебе именно код нужен? Тогда давай на почту, чтобы тут не мусорить большими текстами.
|
||||||||||
601
NS
31.10.13
✎
17:14
|
(600) Нет восьмерки.
На файлхостинг любой лучше положи, чтоб всем доступно было. |
||||||||||
602
FarFar
31.10.13
✎
17:16
|
(601) Ок, выложу. Хотя кроме тебя все остальные смотрят прямо в базе. Там коды стратегий не закрыты - смотри на здоровье.
|
||||||||||
603
NS
31.10.13
✎
17:22
|
(602) У меня сейчас нет восьмерки. И ключ я где-то потерял.
|
||||||||||
604
Lama12
31.10.13
✎
17:28
|
(603) Я дома учебной пользуюсь. Бесплатной. Для этой задачи хватает. Лицензия позволяет.
|
||||||||||
605
NS
31.10.13
✎
17:30
|
Пока попробуй - первая заявка кооперируюсь,
пока соперник кооперируется тоже кооперируемся, как только в первый раз он решил наказать - все последующие заявки наказать. Предыдущую, "всегда наказать" тоже оставь :) Их в итоге должно быть несколько - начальная добавленная тобой, и от всех кто добавил такую стратегию от себя. |
||||||||||
606
Lama12
31.10.13
✎
17:30
|
|||||||||||
607
SUA
31.10.13
✎
17:31
|
(605)стратегия "Спусковой крючок" была, она не оптимальна на больших дистанциях
|
||||||||||
608
FarFar
31.10.13
✎
17:32
|
(605) NS я сейчас добавлю твои 2 стратегии. А ты, плиз, скачай учебную 1С-ку ))) Ужасно не хочется с текстовиками гемороиться.
|
||||||||||
609
NS
31.10.13
✎
17:32
|
(608) пришлют сразу после заполнения анкеты?
|
||||||||||
610
NS
31.10.13
✎
17:33
|
(607) Пусть пока будет.
|
||||||||||
611
FarFar
31.10.13
✎
17:33
|
(607) Мы про неё говорили, но в чемпионат не вставляли. Назову "Спусковой крючок от NS".
Антиподом ей будет "Почтальон Печкин". Начинает с отказа, и отказывает до тех пор, пока соперник не выставит хоть одно "Кооперируюсь". Далее всегда кооперируется. Слоган: "Я почему раньше злой был? Потому что у меня велосипеда не было. А теперь у меня велосипед есть, я теперь всегда добрый буду". |
||||||||||
612
SUA
31.10.13
✎
17:37
|
(611)жду свежего результата чампионата =)
|
||||||||||
613
FarFar
31.10.13
✎
17:53
|
(612) он идет... судя по всему результат многих удивит )))
|
||||||||||
614
KnightAlone
31.10.13
✎
17:59
|
(593) вроде все верно. я изначально напутал в описании. око за око копирует прошлый ход противника, а я в описании его инвертировал
|
||||||||||
615
FarFar
31.10.13
✎
18:10
|
(612) Вот результаты:
http://s020.radikal.ru/i719/1310/a1/ab9bc4992318.png Места по баллам, пятерка лидеров: 1. АНБ 5 605 2. Спусковой крючок 5 546 3. ФСБ 5 366 4. А ты кто такой? 5 350 5. Под дурочку 4 945 АНБ догнал и перегнал "Спускового крючка" только на последней десятке ходов! Забрать базу, обработку и рисунок можно тут http://webfiles.ru/files/38635844 пароль 123456 В базе - регистр "Партии" заполнен данными чемпионата. Надо будет в обработку вставить возможность загружать данные из регистра, а не только показывать последний состоявшийся чемпионат. |
||||||||||
616
Lama12
31.10.13
✎
18:20
|
(615) Забавно :)
|
||||||||||
617
SUA
31.10.13
✎
18:23
|
(615) а я думал еще оптимизировать надо =)
особенно 3е место не ожидал |
||||||||||
618
FarFar
31.10.13
✎
18:25
|
(616) Ага! "Спусковой крючок" меня удивил. Он и у Докинза упоминался в числе стратегий, и у нас засветился. Но так его в список участников и не добавили. А он вона как выстрелил!
FarFar (286) Я правильно понял твою стратегию: Первый ход - кооперация. Далее - всегда кооперация, до первого "Отказа" противника. Если был отказ - более не кооперируемся никогда? Такая "Стратегия - спусковой крючок". Ахиллес (287) Если был отказ, то убиваем противника, что бы он не мог больше ни одного хода сделать. И идём играть с другим :-) |
||||||||||
619
FarFar
31.10.13
✎
18:27
|
(617) Ты кстати посмотри! При включенной галке "стратегия играет сама с собой", твои два ведомства между собой не "отказывались", насколько я помню. Может в коде ошибка, в генетическом? Правильно ли я все скопипастил?
|
||||||||||
620
SUA
31.10.13
✎
18:32
|
не, в последней версии они спелись
стратегия АНБ очень сильно зависит от состава участников, и если много корованов для ограбления и нелогичных по ее мнению стратегий - она считает себя грабящей и предающей и отказывает в доверии |
||||||||||
621
FarFar
31.10.13
✎
18:34
|
(620) Саморефлексирующая какая!
|
||||||||||
622
SUA
31.10.13
✎
18:37
|
и еще наблюдение
повторил чемпионат, и первые ходов 70 АНБ была самой злой (не считая всегда предающей), потом по этому показателю ее все же обошли, но осталась самой злой в ТОП10, причем обманывает весьма успешно ФСБ походу играет почти "спусковой крючок" (с некоторыми модификациями), мне влом ее оптимизировать |
||||||||||
623
SUA
31.10.13
✎
18:39
|
и впечатлил результат скрина эволюции: "живые экземпляры - 5" (в варианте "Минимум" 1е место и 110)
|
||||||||||
624
FarFar
31.10.13
✎
18:42
|
(623) может она вначале сильно сливает, и остается один-два экземпляра, которые потом размножиться не могут.
В любом случае, мы сравниваем стратегии по колонке "Балл". Количество особей - весьма спорный показатель. |
||||||||||
625
SUA
31.10.13
✎
18:48
|
запустил на 200 ходов, интересно что покажет
|
||||||||||
626
FarFar
31.10.13
✎
19:00
|
(615),(625)
Пока можешь поисследовать в другой базе, что же происходило в том чемпионате выложил обработку, в которой добавил кнопку, позволяющую смотреть состояние чемпионата на произвольный ход: http://webfiles.ru/files/38636624 пароль 123456 только кол-во живых особей не показывает, да и хрен с ним. Пока некогда с этим сегодня разбираться. |
||||||||||
627
FarFar
31.10.13
✎
19:01
|
(626) Она берет данные именно из регистра "Партии". Так что если в базе провести чемпионат, а потом снова его же - данные потеряются. Но, конечно, если создать новый элемент в справочнике "Чемпионаты" и провести турнир в нем - в регистре "Партии" данные по первому чемпионату останутся.
|
||||||||||
628
SUA
31.10.13
✎
19:06
|
(626) на 130 АНБ продолжает уверенно отрываться, спусковой крючок остается 2м, ФСБ и гопарь периодически меняются за 3-4 места: 7372, 7180, 6943, 6915. На 5е место вера вылезла (6415) . Теперь выключаю и домой - не успел...
|
||||||||||
629
FarFar
31.10.13
✎
19:17
|
(626) Что, хороша игрушка? ;-)
Я тоже домой. |
||||||||||
630
NS
31.10.13
✎
21:15
|
Нужно просто посмотреть все стратегии которые способны на коалицию, и входить с ними с соглашение.
Например обратный спусковой крючок. С ним скооперироваться легко, делаем поправку к спусковому крючку - если последние пять раз соперник хотел кооперироваться, то кооперируемся несмотря на то что ушли в режим наказания. |
||||||||||
631
NS
31.10.13
✎
21:42
|
Короче, еще одна стратегия (к всегда наказывать и спусковой крючок с первым кооперироваться и постоянным наказанием после первого наказания соперника)
Всего ходов пусть уже прошло N, из них соперник кооперировался K раз. Сначала (первым ходом) кооперируемся, а потом если (K*2.9)>(N+1.8), то кооперируемся, иначе наказываем. |
||||||||||
632
FarFar
31.10.13
✎
21:48
|
(631) Я добавлю. Хотя, это будет разновидность моего алгоритма "А ты кто такой?", только с другим коэффициентом.
У меня "А ты кто такой" - первый ход кооперируется, а затем кооперируется с соперником, только если соотношение обманов со стороны соперника к числу сыгранных ходов < 0.1 |
||||||||||
633
FarFar
31.10.13
✎
21:50
|
(623) P.S. отказов со стороны соперника именно по отношению у тебе.
|
||||||||||
634
FarFar
31.10.13
✎
21:52
|
(631) А у тебя твой коэффициент в новой предлагаемой стратегии - наобумный, или ты его как то хитро просчитал?
|
||||||||||
635
NS
31.10.13
✎
21:52
|
(632) Отменяется.
Я не понял как начисляются очки. Ты мне писал все положительные коэффициенты, а я вижу в первых постах речь о штрафе. |
||||||||||
636
FarFar
31.10.13
✎
21:55
|
(635) О каком штрафе? Я тебе таблицу баллов давал, там минимальное значение = 0
|
||||||||||
637
NS
31.10.13
✎
21:57
|
(636) см (4)
В (632) я рассчитал, но исходя что за кооперируюсь 5, а если один другого наказал то 3. А там наоборот. |
||||||||||
638
FarFar
31.10.13
✎
22:00
|
(4) ну, то что про штрафы - это копипаст.
Таблица такая (как я тебе и давал). Тот, кто обманул - получает 5 Кого обманули - получает 0 Взаимная кооперация - оба получают 3 Взаимный отказ - оба получают 1 |
||||||||||
639
programmist1cswworld
01.11.13
✎
02:47
|
(0) Только дошло. В контексте "соблюдать 10 заповедей или нет" почитаю.
|
||||||||||
640
SUA
01.11.13
✎
11:25
|
(630)зачем со всеми?
простака можно наказывать безусловно |
||||||||||
641
FarFar
01.11.13
✎
11:38
|
(630) Ну, только его вычислить сначала надо. Хотя это несложно.
Правда может быть нюанс, что другие наши шибко умные стратегии начнут анализировать этот твой "грабеж корованов", и сочтут тебя за опасного. |
||||||||||
642
NS
01.11.13
✎
13:22
|
(641) Вообще, по уму, все кто хочет кооперироваться должны начинать с кооперации. Поэтому спусковой крючок - самое то.
Плохо он вступит только против "всегда кооперируемся", которого можно было бы загнобить. Но он этого делать не будет. |
||||||||||
643
programmist1cswworld
01.11.13
✎
13:38
|
wiki:Меметика "В книге Докинз утверждает, что мем — единица информации, находящаяся в мозгу и являющаяся мутирующим репликатором в культурной эволюции человечества"
в принципе можно и не читать. Все понятно. |
||||||||||
644
programmist1cswworld
01.11.13
✎
13:44
|
Кто не согласится, тому таллий в воду, смотрите: "Мем".
|
||||||||||
645
FarFar
01.11.13
✎
14:04
|
(642) Пример спускового крючка, который удачно грабит "Всегда кооперируемся" - это "А ты кто такой?". Он, по сути, тот же "Спусковой крючок", только с более щадящим коэффициентом, допускает 1 отказ на 10 ходов. Но, кроме того, умеет обижать безответных ("апгрейд").
Вчера ради интереса дома "закрутил" в нем "коэффициент обидчивости" с 1/10 до 1/100 (то есть, сделал классический "спусковой крючок" добавлением одного нолика), и он вышел в чемпионате на 1-е место, даже ФСБ и АНБ заметно отстали. |
||||||||||
646
SUA
01.11.13
✎
14:19
|
(645)состав участников тот же?
иногда у меня анб на 2м была а насчет обидчивости - с "противоречивой девочкой" анб предпочитает кооперацию несмотря на ее обманы иногда, что на длинной дистанции работает в плюс (обидчивые стратегии часто уходят с ней во взаимный отказ) |
||||||||||
647
FarFar
01.11.13
✎
14:22
|
(646) Да, все то же самое было, как и вечером.
|
||||||||||
648
Lama12
01.11.13
✎
14:34
|
(646) На длинных дистанциях, она должна идти в кооперацию. Если ее не обманывали. Вероятность обмана существенно снижается. Вроде там чувствительность ГСЧ 1/1000. Т.е. обманывать, при честной игре противника (всегда кооперируюсь), она может примерно до 1000 хода. Дальше должна всегда играть на кооперацию.
|
||||||||||
649
Lama12
01.11.13
✎
14:36
|
Хотел сегодня стратегию новую добавить, но понял что она практически полностью повторяет ФСБ :)
Не стал делать. |
||||||||||
650
FarFar
01.11.13
✎
14:43
|
(646) Я все жду, когда же "Око за око" окажется успешнее "спусковых крючков" :-) Время идет, а чё то оно не особо впечатляет. А у Аксельрода в обоих чемпионатах победило.
|
||||||||||
651
SUA
01.11.13
✎
14:45
|
(648)видимо там нельзя было подглядывать чужие результаты и применять вероятностные стратегии
|
||||||||||
652
SUA
01.11.13
✎
14:45
|
*к 650
|
||||||||||
653
Lama12
01.11.13
✎
14:48
|
(650) Что-то подсказывает что Аксельрод, что-то напутал. Спусковой крючек, даже не умеющий обманывать простаков, должен быть более эффективен чем "око за око". Просто математически. При условии что большая часть стратегий начинают игру с кооперации.
|
||||||||||
654
Wasya
01.11.13
✎
14:49
|
В последнем туре можно всех кинуть выставив "Отказ". Обидеться уже никто не успеет.
|
||||||||||
655
Lama12
01.11.13
✎
14:51
|
(654) Не известно какой турнир будет последним :)
Это условие игры. Экспериментируем обычно с 100. Но можно и больше партий сыграть. |
||||||||||
656
Кай066
01.11.13
✎
14:51
|
(654) как определить последний тур?
|
||||||||||
657
NS
01.11.13
✎
15:00
|
(653) Он не математик, совсем не математик.
Поэтому даже примерно не понимает что происходит. Нафантазировал в матричной игре! плохих и хороших. Хотя вопрос только в сговоре. |
||||||||||
658
NS
01.11.13
✎
15:01
|
А математика говорит, что независимо от стратегии соперника равновесие по Нешу при такой матрице - это всегда наказывать. Всё остальное сговор, а сговор зависит от конвенций.
|
||||||||||
659
Wasya
01.11.13
✎
15:07
|
(658) А причем тут матричные игры? Текущая задача это скорее всего пошаговая стратегия. Ведь у нас есть информация об уже сыгранных играх и в процессе игры мы можем менять свою стратегию. К тому же игра с ненулевой суммой.
|
||||||||||
660
NS
01.11.13
✎
15:15
|
(659) ?
Это самая обыкновенная матричная игра с ненулевой суммой. В любой матричной игре с ненулевой суммой можно менять свою стратегию. |
||||||||||
661
NS
01.11.13
✎
15:16
|
И даже с нулевой суммой никто не запретит менять стратегию. Как ни странно :)
|
||||||||||
662
NS
01.11.13
✎
15:23
|
(649) Поэтому я и говорю не об оптимальной стратегии, а об равновесной по Нэшу. Игра двух соперников с ненулевой суммой - сводится к игре трех соперников с нулевой суммой с фиксированной стратегией одного из игроков (болвана), а вот это, матричные игры нескольких соперников, как раз Нэш и изучал.
|
||||||||||
663
SUA
01.11.13
✎
15:36
|
(645) на 200 ходов АНБ таки обошла ее, но 2е место она себе оставила
|
||||||||||
664
FarFar
01.11.13
✎
15:40
|
(663) Ты у "А ты кто такой" коээфициент поправил с 0.1 до 0.01 ?
Поправь до 0.001, или вообще напиши так, что если есть хоть один отказ, невзирая на кол-во ходов, то отказывать. И проверь еще раз на 200-ходовке ))) Вообще, АНБ меня радует тем, что стартует не очень удачно, но чем больше номер партии, тем лучше играет. |
||||||||||
665
programmist1cswworld
03.11.13
✎
03:43
|
(643) Ой. Извиняюсь, перевод неправильный был, все-таки прочту.
|
||||||||||
666
programmist1cswworld
03.11.13
✎
06:35
|
(0) Общался с православным духовенством, один раз но как показалось не безрезультатно. Сказал одну фразу что главное для бесов чтобы человек умер нераскаянным. Но каятся можно каждый каждую минуту за предыдущую, да так и не раскаяться. Т.е. в этом плане православие для меня тоже кабально несколько. (хотя кому-то помогает достичь) И вот поняв почему это главное и в чем здесь подвох, можно начать оценивать действия с точки зрения: не хочешь ли ты чтобы человек испытывал некий комплекс неполноценности. Или не хотят ли этого от тебя? ПрИсмерти конечно.
|
||||||||||
667
Lama12
04.11.13
✎
09:19
|
(666) Проанализируй христианскую мораль с точки зрения "взрослости" бога. Исходя из тех принципов что заложены в определения "хорошо", "плохо" и т.д. Базовые определения.
Может показаться что бог - ребенок. Причем маленький :) Дабы не сочли за разжигание, усе - ИМХО. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |