Нка: Игры Без Знания Планов Других

На стене есть переключатель.

Прессинг, который иногда приводит к голу, иногда нет. Это означает, что переключатель может быть не таким, как мы думаем.

Вопрос можно поставить абстрактно.

Пусть существует набор {a, b, c, d}.

Некоторые из элементов могут быть состояниями, некоторые действиями.

Предположим, что действия — это {a, b}, состояния {c, d}.

Имеем: с|d=a(c), с|d=b(c), c=a(d), с|d=b(d).

Здесь "|" означает «либо».

Итак, c|d=b(d) означает: из состояния d под действием b следует либо c, либо d. Попробуем интерпретировать это по-другому.

Предположим: действия {a, c}, состояния {b, d}.

Пусть имеем: b=a(b), b|d=c(b), d=a(d), b=c(d).

Разница, если ее выразить количественно, заключается в более однозначном поведении второй гипотезы.

В первом случае коэффициент однозначности, принятый как отношение всех переходов к однозначным ко всем произошедшим переходам, будет равен 4/7. Во втором случае оно будет равно 4/5. Или, другими словами, мы имеем почти детерминированное пространство состояний.

По которым уже можно делать прогнозы с приемлемой точностью.

Это было введение.

Теперь к самой статье.

Имеется объект исследования (пространство состояний), уникальность которого достаточно высока.

И есть несколько агентов, целью которых является достижение целевых состояний.

Что, в частности, может совпадать.

Оговорюсь, что эти агенты не знают о других агентах.

Поэтому их ходы определяются только их картами QL, которые агенты формируют в результате исследования пространства состояний.

В отличие от игр, допускающих частичное или полное знание QL-карт других участников.

Следствием является возможность оптимизации маршрута при попеременных ходах, включая опцию эмпатии.

Возможно, эта тема будет обсуждаться в будущем.

Теперь к технической стороне описания.

Загрузите сгенерированные графики load_file. В качестве демонстрации в игре представлены три агента.

Цель каждого — достичь состояния=9. Условие=10 следует избегать.



НКА: игры без знания планов других

Второй агент с загруженным графом_b — это возможность двигаться только по черным стрелкам.

Начиная с состояния = 4, мы имеем неоднозначность, поскольку за действием 11 может следовать либо состояние = 5, либо состояние = 1. Из состояния=3 его нет, поскольку действие 11 отличается от действия 13. Вызов g2.get_ku() вернет коэффициент уникальности 0,917=11/12. Третий агент с графом_w — возможность перемещения как по чёрным, так и по синим стрелкам.

Для сравнения: g3.get_ku() вернет 0,933. Первый агент с графом_w1 имеет те же возможности, что и граф_w за исключением перехода 9=12(2), т.е.

перехода в 9 из 2 при действии 12 нет. Его коэффициент уникальности равен 0,929.

  
   

{ "1": [["2", "11"], ["10", "15"]], "2": [["3", "11"]], "3": [["4", "11"], ["2", "13"], ["6", "12"]], "4": [["5|1", "11"]], "5": [["6", "11"]], "6": [["7", "11"]], "7": [["8", "11"], ["5", "12"]], "8": [["9", "11"]], "9": [], "10":[["5", "15"]] } { "1": [["2", "11"], ["10", "15"]], "2": [["3", "11"]], "3": [["4", "11"], ["2", "13"]], "4": [["5|1", "11"]], "5": [["6", "11"]], "6": [["7", "11"]], "7": [["8", "11"]], "8": [["9", "11"]], "9": [], "10":[["5", "15"]] } { "1": [["2", "11"], ["10", "15"]], "2": [["3", "11"], ["9", "12"]], "3": [["4", "11"], ["2", "13"], ["6", "12"]], "4": [["5|1", "11"]], "5": [["6", "11"]], "6": [["7", "11"]], "7": [["8", "11"], ["5", "12"]], "8": [["9", "11"]], "9": [], "10":[["5", "15"]] }

Создадим список агентов [[g1, {e: 5, b: -6}, s, e, 1], [g2, {e: 5, b: -6}, s, e, 1], [ g3, {е:5, б:-6}, с, е, 1]].

Зададим количество игр k=1.

НКА: игры без знания планов других

Здесь первый игрок, у которого=0, сформирует QL-карту, по которой будет проложен маршрут [1,2,3,6,7,8,9].

Второй агент последовательно проходит все состояния.

Третий агент имеет самый короткий маршрут. При поочередных ходах путь к цели выглядит по-другому.

Маршрут представлен кортежами (агент, состояние).

Из начального состояния=1 агент=0 переходит в состояние=2. Далее, кто=1 переходит в состояние=3. Затем who=2 согласно своей карте QL возвращается обратно в состояние=2 (так выглядит его оптимальный путь).

Первый агент из состояния = 2 выбирает состояние = 3, поскольку в его сознании это единственный путь к цели.

Видно, что из состояния = 4 третий агент попадает в состояние = 1 (из-за неоднозначности выбора из состояния = 4).

Маршрут петляет. И только со второй попытки третий агент оказывается в состоянии=5. Затем последовательно до состояния = 9 с поочередными ходами.

Победителем становится агент, у которого = 0. Теперь давайте сгенерируем 100 игр.

Результат ниже.



НКА: игры без знания планов других

Для второго агента оказалось, что пути к цели по результату последней игры нет. Это произошло потому, что от состояния=3 до состояния=4 ql=1,57, а до состояния=2 ql=2,39. Другими словами, состояния 2 и 3 закольцованы.

Почему карта QL сформировалась именно так? Следствие (косвенное) неоднозначности при переходе из состояния = 4. Увеличим количество ходов = 4 за раз для второго агента.



НКА: игры без знания планов других

Видно, что в последней игре он последовательно выбирает [3, 4, 1, 2].

При победе из 100 игр три в таком порядке ходов в большинстве случаев являются третьим агентом.

Код приведен ниже.

Никаких сложностей это не представляет.

import random, pickle, json class GenGraph():

Теги: #Алгоритмы #игра #нка #коэффициент уникальности #пространство состояний #чередование ходов #QL-карта

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.