Модели на основе состояний с поисковой оптимизацией и MDP

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Поисковая оптимизация

В этом разделе мы предполагаем, что, выполняя действиеаааиз штатассс, мы детерминированно приходим в состояниеУспешный(с,а) extrm{Succ}(s,a)Успех ( s ,а ). Целью здесь является определение последовательности действий.(а1,а2,а3,а4,...)(а_1,а_2,а_3,а_4,...)( а1,а2,а3,а4,. . . )который начинается с начального состояния и приводит к конечному состоянию. Чтобы решить такого рода проблемы, нашей целью будет найти путь с минимальными затратами, используя модели на основе состояний.

Поиск по дереву

Эта категория алгоритмов, основанных на состояниях, исследует все возможные состояния и действия. Он достаточно эффективно использует память и подходит для огромных пространств состояний, но в худших случаях время выполнения может стать экспоненциальным.

Дерево

Задача поиска Задача поиска определяется следующим образом:

  • стартовое состояниесначинатьs_{ extrm{start}}сначинать
  • возможные действияДЕЙСТВИЯ(с) extrm{Действия}(я)Действия ( а )из штатассс
  • стоимость действияРасходы(с,а) extrm{Стоимость}(с,а)Расходы ,а )из штатасссс действиемааа
  • преемникУспешный(с,а) extrm{Succ}(s,a)Успех ( s ,а )государствассспосле действияааа
  • было ли достигнуто конечное состояниеЯ отправляю(с) extrm{IsEnd}(ы)IsEnd ( ы )
Проблема с поиском

Цель состоит в том, чтобы найти путь, который минимизирует затраты.

Поиск с возвратом Поиск с возвратом — это простой рекурсивный алгоритм, который пытается использовать все возможности для поиска пути с минимальной стоимостью. Здесь затраты на действия могут быть как положительными, так и отрицательными.

Поиск в ширину (BFS) Поиск в ширину — это алгоритм поиска по графу, который выполняет поуровневый обход. Мы можем реализовать это итеративно с помощью очереди, которая на каждом шаге сохраняет будущие узлы, которые необходимо посетить. Для этого алгоритма мы можем предположить, что стоимость действий равна постояннойс?0cgeqslant0с?0.

БФС

Поиск в глубину (DFS) Поиск в глубину — это алгоритм поиска, который обходит граф, следуя по каждому пути настолько глубоко, насколько это возможно. Мы можем реализовать это рекурсивно или итеративно с помощью стека, который на каждом шаге хранит будущие узлы, которые необходимо посетить. Для этого алгоритма стоимость действий предполагается равной 0.

ДФС

Итеративное углубление. Трюк с итеративным углублением — это модификация алгоритма поиска в глубину, так что он останавливается после достижения определенной глубины, что гарантирует оптимальность, когда все затраты на действия равны. Здесь мы предполагаем, что затраты на действия равны постояннойс?0cgeqslant0с?0.

Краткое описание алгоритмов поиска по деревубббколичество действий на одно состояние,дддглубина решения иДДДмаксимальную глубину, имеем:

АлгоритмСтоимость действийКосмосВремя
Поиск с возвратомлюбойО(Д)mathcal{O}(D)О ( Д )О(бД)mathcal{O}(b^D)О ( бД)
Поиск в ширинус?0cgeqslant0с?0О(бд)mathcal{O}(b^d)О ( бд)О(бд)mathcal{O}(b^d)О ( бд)
Поиск в глубину0О(Д)mathcal{O}(D)О ( Д )О(бД)mathcal{O}(b^D)О ( бД)
DFS-Итеративное углублениес?0cgeqslant0с?0О(д)mathcal{O}(д)О ( д )О(бд)mathcal{O}(b^d)О ( бд)

Поиск граф

Эта категория алгоритмов на основе состояний направлена на построение оптимальных путей, обеспечивающих экспоненциальную экономию. В этом разделе мы сосредоточимся на динамическом программировании и поиске единой стоимости.

Граф Граф состоит из набора вершинВВВ(также называемые узлами), а также набор реберЭЭЭ(также называемые ссылками).

График

Замечание: граф называется ацильным, если в нем нет цикла.

Состояние Состояние — это совокупность всех прошлых действий, достаточная для оптимального выбора будущих действий.

Динамическое программирование Динамическое программирование (DP) — это алгоритм поиска с возвратом и запоминанием (т. е. сохранением частичных результатов), цель которого — найти путь с минимальной стоимостью из состояния.сссдо конечного состояниясконецs_ extrm{конец}сконец. Потенциально он может обеспечить экспоненциальную экономию по сравнению с традиционными алгоритмами поиска по графам и имеет свойство работать только с ациклическими графами. Для любого данного состоянияссс, будущая стоимость рассчитывается следующим образом:

Будущая стоимость(с)"="{0если я кончу (с)м я на€ДЕЙСТВИЯ(с)[Расходы(с,а)+Будущие затраты ( S u c c(с,а))]в противном случаеoxed{ extrm{FutureCost}(s)=left{egin{array}{lc}0 & extrm{if IsEnd}(s)underset{ain extrm{Actions}(s) )}{ extrm{min}}ig[ extrm{Cost}(s,a)+ extrm{FutureCost(Succ}(s,a))ig] & extrm{иначе}end{array} верно.}Будущая стоимость ( а )"="{0a ? Действия ( s )мин[ Расходы ,а )+FutureCost(Succ ( s ,а ) ) ]если IsEnd ( s )в противном случае

Динамическое программирование

Примечание: рисунок выше иллюстрирует подход «снизу вверх», тогда как формула дает интуитивное представление о решении проблемы «сверху вниз».


Типы состояний В таблице ниже представлена терминология состояний в контексте поиска единой стоимости:

СостояниеОбъяснение
ИсследовалЭmathcal{E}ЭСостояния, для которых оптимальный путь уже найден
ГраницаФmathcal{F}ФВидны штаты, до которых мы все еще выясняем, как туда добраться с наименьшими затратами.
Неизведанныйтыmathcal{U}тыШтаты еще не видели

Поиск равномерной стоимости. Поиск равномерной стоимости (UCS) — это алгоритм поиска, целью которого является поиск кратчайшего пути из состояния.сначинатьs_ extrm{начало}сначинатьдо конечного состояниясконецs_ extrm{конец}сконец. Он исследует состояниясссв порядке возрастанияПрошлые затраты(с) extrm{PastCost}(ы)Прошлые затраты ( а )и полагается на тот факт, что все затраты на действия неотрицательны.

Поиск единой стоимости

Замечание 1: алгоритм UCS логически эквивалентен алгоритму Дейкстры.

Примечание 2: алгоритм не будет работать для задачи с отрицательными затратами на действия, и добавление положительной константы, чтобы сделать их неотрицательными, не решит проблему, поскольку в конечном итоге это будет другая проблема.

Теорема о корректностисссвырван с границыФmathcal{F}Фи перенесен в исследованный наборЭmathcal{E}Э, его приоритет равенПрошлые затраты(с) extrm{PastCost}(ы)Прошлые затраты ( а )это путь с минимальными затратами отсначинатьs_ extrm{начало}сначинатькссс.

Краткое описание алгоритмов поиска по графуНННобщее количество состояний,ннниз которых исследуются до конечного состояниясконецs_ extrm{конец}сконец, у нас есть:

АлгоритмАцикличностьРасходыВремя/пространство
Динамическое программированиедалюбойО(Н)mathcal{O}(N)НА )
Поиск единой стоимостинетс?0cgeqslant0с?0О(нбревно(н))mathcal{O}(nlog(n))Нажурнал о г ( п ) )

Примечание: обратный отсчет сложности предполагает, что количество возможных действий на одно состояние постоянно.

Стоимость обучения

Предположим, нам не заданы значенияРасходы(с,а) extrm{Стоимость}(с,а)Расходы ,а ), мы хотим оценить эти величины из обучающего набора последовательности действий по пути минимизации затрат.(а1,а2,...,ак)(а_1, а_2, ..., а_к)( а1,а2,. . . ,ак).

Структурированный персептрон Структурированный персептрон — это алгоритм, целью которого является итеративное изучение стоимости каждой пары состояние-действие. На каждом этапе это:

  • уменьшает расчетную стоимость каждого действия состояния истинного пути минимизациийййзаданные данными обучения,
  • увеличивает расчетную стоимость каждого действия состояния текущего прогнозируемого путий'да'й'выводятся из изученных весов.

Примечание: существует несколько версий алгоритма, одна из которых упрощает задачу до изучения только стоимости каждого действия.ааа, а другой параметризуетРасходы(с,а) extrm{Стоимость}(с,а)Расходы ,а )к вектору признаков обучаемых весов.

А? extrm{A}^{star}А?поиск

Эвристическая функция Эвристика – это функциячасчасчаснад штатамиссс, где каждыйчас(с)ч(с)ч ( с )направлен на оценкуБудущая стоимость(с) extrm{FutureCost}(ы)Будущая стоимость ( а ), стоимость пути отсссксконецs_ extrm{конец}сконец.

Звезда

Алгоритм А*А^{*}А*это алгоритм поиска, целью которого является поиск кратчайшего пути из состояниясссдо конечного состояниясконецs_ extrm{конец}сконец. Он исследует состояниясссв порядке возрастанияПрошлые затраты(с)+час(с) extrm{PastCost}(s) + h(s)Прошлые затраты ( а )+ч ( с ). Это эквивалентно поиску единой стоимости с краевыми затратами.Расходы'(с,а) extrm{Cost}'(s,a)Расходы'( с ,а )предоставлено:

Расходы'(с,а)"="Расходы(с,а)+час(Успешный(с,а))-час(с)oxed{ extrm{Cost}'(s,a)= extrm{Cost}(s,a)+h( extrm{Succ}(s,a))-h(s)}Расходы'( с ,а )"="Расходы ,а )+ч ( Succ ( s ,а ) )-ч ( с )

Примечание: этот алгоритм можно рассматривать как предвзятую версию UCS, исследующую состояния, которые оцениваются как более близкие к конечному состоянию.

Согласованность Эвристикачасчасчасназывается непротиворечивым, если он удовлетворяет двум следующим свойствам:

  • Для всех штатовссси действияааа,

    час(с)?Расходы(с,а)+час(Успешный(с,а))oxed{h(s) leqslant extrm{Cost}(s,a)+h( extrm{Succ}(s,a))}ч ( с )?Расходы ,а )+ч ( Succ ( s ,а ) )

    Последовательность
  • Конечное состояние проверяет следующее:

    час(сконец)"="0oxed{h(s_{ extrm{end}})=0}ч ( сконец)"="0

    Последовательность

Корректность Есличасчасчасявляется последовательным, тоА*А^*А*возвращает путь с минимальной стоимостью.

Приемлемость Эвристикачасчасчасназывается допустимым, если имеем:

час(с)?Будущая стоимость(с)oxed{h(s)leqslant extrm{FutureCost}(s)}ч ( с )?Будущая стоимость ( а )

Теорема . Пустьчас(с)ч(с)ч ( с )быть заданной эвристикой. У нас есть:

час(с) последовательный?час(с) а д м и с б л еoxed{h(s) extrm{согласованно}Longrightarrow h(s) extrm{допустимо}}ч ( с )  последовательный?h ( s )  допустимо

Эффективность А*А^*А*исследует все штатысссудовлетворяющее следующему уравнению:

Прошлые затраты(с)?Прошлые затраты(сконец)-час(с)oxed{ extrm{PastCost}(s)leqslant extrm{PastCost}(s_{ extrm{end}})-h(s)}Прошлые затраты ( а )?Прошлые затраты ( сконец)-ч ( с )

Эффективность

Примечание: большие значениячас(с)ч(с)ч ( с )лучше, поскольку это уравнение показывает, что оно ограничит набор состоянийссссобираются исследовать.

Релаксация

Это основа для создания последовательных эвристик. Идея состоит в том, чтобы найти приведенные затраты в закрытой форме путем устранения ограничений и использовать их в качестве эвристики.

Релаксированная задача поиска Релаксация задачи поискапппс затратамиРасходы extrm{Стоимость}Расходыобозначаетсяпр е лP_{ extrm{rel}}потн.с затратамиРасходыр е л extrm{Стоимость}_{ extrm{rel}}Расходыотн.и удовлетворяет тождеству:

Расходыр е л(с,а)?Расходы(с,а)oxed{ extrm{Cost}_{ extrm{rel}}(s,a)leqslant extrm{Cost}(s,a)}Расходыотн.( с ,а )?Расходы ,а )

Расслабленная эвристика. Учитывая расслабленную задачу поиска.пр е лP_{ extrm{rel}}потн., мы определяем расслабленную эвристикучас(с)"="Будущая стоимостьр е л(с)h(s)= extrm{FutureCost}_{ extrm{rel}}(s)ч ( с )"="Будущая стоимостьотн.( с )как путь с минимальными затратами отсссдо конечного состояния на графике затратРасходыр е л(с,а) extrm{Cost}_{ extrm{rel}}(s,a)Расходыотн.( с ,а ).

Согласованность расслабленной эвристики Пустьпр е лP_{ extrm{rel}}потн.быть заданной расслабленной проблемой. По теореме имеем:

час(с)"="Будущая стоимостьр е л(с)?час(с) последовательныйoxed{h(s)= extrm{FutureCost}_{ extrm{rel}}(s)Longrightarrow h(s) extrm{consistent}}ч ( с )"="Будущая стоимостьотн.( с )?ч ( с )  последовательный

Компромисс при выборе эвристики При выборе эвристики мы должны сбалансировать два аспекта:

  • Вычислительная эффективность:час(с)"="Будущая стоимостьр е л(с)h(s)= extrm{FutureCost}_{ extrm{rel}}(s)ч ( с )"="Будущая стоимостьотн.( с )должно быть легко вычислить. Он должен иметь закрытую форму, более простой поиск и независимые подзадачи.
  • Достаточно хорошее приближение: эвристикачас(с)ч(с)ч ( с )должно быть близко кБудущая стоимость(с) extrm{FutureCost}(ы)Будущая стоимость ( а )и поэтому нам не следует снимать слишком много ограничений.

Макс эвристика Letчас1(с)h_1(а)час1( с ),час2(с)h_2(а)час2( с )быть две эвристики. У нас есть следующее имущество:

час1(с), час2(с) последовательный?час(с)"="Макс{час1(с), час2(с)} последовательныйoxed{h_1(s), extrm{ }h_2(s) extrm{consistent}Longrightarrow h(s)=max{h_1(s), extrm{ }h_2(s)} extrm{ последовательный}}час1( с ) , час2( s )  последовательный?ч ( с )"="м а Икс { час1( с ) , час2( s ) }  последовательный

Марковские процессы принятия решений

В этом разделе мы предполагаем, что выполнение действияаааиз штатасссможет привести к нескольким состояниямс1',с2',...с_1',с_2',...с1',с2',. . .вероятностным способом. Чтобы найти путь между начальным и конечным состояниями, нашей целью будет найти политику максимального значения, используя марковские процессы принятия решений, которые помогут нам справиться со случайностью и неопределенностью.

Обозначения

Определение Целью марковского процесса принятия решений является максимизация вознаграждения. Это определяется с помощью:

  • стартовое состояниесначинатьs_{ extrm{start}}сначинать
  • возможные действияДЕЙСТВИЯ(с) extrm{Действия}(я)Действия ( а )из штатассс
  • вероятности переходаТ(с,а,с')Т(с,а,с')Т ( с ,а ,с')отссскс'с'с'с действиемааа
  • наградыНаграда(с,а,с') extrm{Награда}(s,a,s')Награда ( с ,а ,с')отссскс'с'с'с действиемааа
  • было ли достигнуто конечное состояниеЯ отправляю(с) extrm{IsEnd}(ы)IsEnd ( ы )
  • коэффициент дисконтирования0???10leqslantgammaleqslant10???1
Марковский процесс принятия решений

Вероятности перехода Вероятность переходаТ(с,а,с')Т(с,а,с')Т ( с ,а ,с')определяет вероятность перехода в состояниес'с'с'после действияааавзят в штатссс. Каждыйс'?Т(с,а,с')s' mapsto T(s,a,s')с'?Т ( с ,а ,с')представляет собой распределение вероятностей, что означает, что:

с,а,?с'€ СостоянияТ(с,а,с')"="1forall s,a,quadoxed{displaystylesum_{s'in extrm{States}}T(s,a,s')=1}? с ,а ,с'государства ?Т ( с ,а ,с')"="1

Политика Политика?Пи?это функция, которая отображает каждое состояниессск действиюааа, то есть

:с?аoxed{pi : s mapsto a}?:с?а

Утилита Полезность пути(с0,...,ск)(с_0, ..., с_к)( с0,. . . ,ск)— это дисконтированная сумма вознаграждений на этом пути. Другими словами,

ты(с0,...,ск)"="?я"="1кря?я-1oxed{u(s_0,...,s_k)=sum_{i=1}^{k}r_igamma^{i-1}}нас0,. . . ,ск)"="я = 1?кря?я - 1

Полезность

На рисунке выше показан случай.к"="4к=4к"="4.

Q- значениевопросвопросвопрос- стоимость полиса?Пи?в штатесссс действиемааа, также обозначаетсявопрос?(с,а)Q_{pi}(s,a)вопрос?( с ,а ), — ожидаемая полезность от состоянияссспосле принятия мераааа затем следуя политике?Пи?. Оно определяется следующим образом:

вопрос?(с,а)"="?с'€ СостоянияТ(с,а,с')[Награда(с,а,с')+?В?(с')]oxed{Q_{pi}(s,a)=sum_{s'in extrm{States}}T(s,a,s')left[ extrm{Reward}(s,a,s ')+gamma V_pi(s') ight]}вопрос?( с ,а )"="с'государства ?Т ( с ,а ,с')[ Награда ( s ,а ,с')+? В?( с') ]

Ценность полиса Ценность полиса?Пи?из штатассс, также обозначаетсяВ?(с)V_{pi}(ы)В?( с ), — ожидаемая полезность при соблюдении политики?Пи?из штатассспо случайным путям. Оно определяется следующим образом:

В?(с)"="вопрос?(с,?(с))oxed{V_pi(s)=Q_pi(s,pi(s))}В?( с )"="вопрос?( с ,? ( s ) )

Примечание:В?(с)V_pi(s)В?( с )равно 0, еслисссявляется конечным состоянием.

Приложения

Оценка политики Учитывая политику?Пи?, оценка политики представляет собой итерационный алгоритм, целью которого является оценкаВ?В_пиВ?. Это делается следующим образом:

  • Инициализация : для всех состоянийссс, у нас есть

    В?(0)(с)?0oxed{V_pi^{(0)}(s)longleftarrow0}В?( 0 )( с )?0

  • Итерация : длятттот 1 доТП ЭТ_{ extrm{PE}}ТЧП, у нас есть

    с,В?(т)(с)?вопрос?(т-1)(с,?(с))forall s,quadoxed{V_pi^{(t)}(s)longleftarrow Q_pi^{(t-1)}(s,pi(s))}? с ,В?( т )( с )?вопрос?( т - 1 )( с ,? ( s ) )

    с

    вопрос?(т-1)(с,?(с))"="?с'€ СостоянияТ(с,?(с),с')[Награда(с,?(с),с')+?В?(т-1)(с')]oxed{Q_pi^{(t-1)}(s,pi(s))=sum_{s'in extrm{States}}T(s,pi(s),s') Big[ extrm{Награда}(s,pi(s),s')+gamma V_pi^{(t-1)}(s')Big]}вопрос?( т - 1 )( с ,? ( s ) )"="с'государства ?Т ( с ,? ( s ) ,с') [ Награда ( s ,? ( s ) ,с')+? В?( т - 1 )( с') ]

Примечание: отметивСССколичество штатов,АААколичество действий на одно состояние,С'С'С'количество преемников иТТТколичество итераций, то временная сложность равнаО(ТП ЭСС')mathcal{O}(T_{ extrm{PE}}SS')О ( ТЧПSS').

Оптимальное значение Q Оптимальноевопросвопросвопрос-ценитьвопросо п т(с,а)Q_{ extrm{opt}}(s,a)вопросвыбрать( с ,а )государствасссс действиемаааопределяется как максимальноевопросвопросвопрос- ценность, достигаемая любой политикой. Он рассчитывается следующим образом:

вопросо п т(с,а)"="?с'€ СостоянияТ(с,а,с')[Награда(с,а,с')+?Во п т(с')]oxed{Q_{ extrm{opt}}(s,a)=sum_{s'in extrm{States}}T(s,a,s')left[ extrm{Reward}(s, a,s')+gamma V_ extrm{opt}(s') ight]}вопросвыбрать( с ,а )"="с'государства ?Т ( с ,а ,с')[ Награда ( s ,а ,с')+? Ввыбрать( с') ]

Оптимальное значение Оптимальное значениеВо п т(с)V_{ extrm{opt}}(ы)Ввыбрать( с )государствасссопределяется как максимальное значение, достигаемое любой политикой. Он рассчитывается следующим образом:

Во п т(с)"="Макса€ ДЕЙСТВИЯ(с)вопросо п т(с,а)oxed{V_{ extrm{opt}}(s)=underset{ain extrm{ Actions}(s)}{ extrm{max}}Q_ extrm{opt}(s,a)}Ввыбрать( с )"="a ?  Действия ( s )Максвопросвыбрать( с ,а )

Оптимальная политика Оптимальная политика?о п тpi_{ extrm{opt}}?выбратьопределяется как политика, которая приводит к оптимальным значениям. Это определяется:

с,?о п т(с)"="а р г м а ха€ ДЕЙСТВИЯ(с)вопросо п т(с,а)forall s,quadoxed{pi_{ extrm{opt}}(s)=underset{ain extrm{ Actions}(s)}{ extrm{argmax}}Q_ extrm{opt} (с,а)}? с ,?выбрать( с )"="a ?  Действия ( s )аргументмаксвопросвыбрать( с ,а )

Итерация значения Итерация значения — это алгоритм, который находит оптимальное значение.Во п тV_{ extrm{opt}}Ввыбратьа также оптимальная политика?о п тpi_{ extrm{opt}}?выбрать. Это делается следующим образом:

  • Инициализация : для всех состоянийссс, у нас есть

    Во п т(0)(с)?0oxed{V_{ extrm{opt}}^{(0)}(s)longleftarrow0}Ввыбрать( 0 )( с )?0

  • Итерация : длятттот 1 доТВ ЯТ_{ extrm{VI}}ТVI, у нас есть

    с,Во п т(т)(с)?Макса€ ДЕЙСТВИЯ(с)вопросо п т(т-1)(с,а)forall s,quadoxed{V_ extrm{opt}^{(t)}(s)longleftarrow underset{ain extrm{ Actions}(s)}{ extrm{max}}Q_ textrm{opt}^{(t-1)}(s,a)}? с ,Ввыбрать( т )( с )?a ?  Действия ( s )Максвопросвыбрать( т - 1 )( с ,а )

    с

    вопросо п т(т-1)(с,а)"="?с'€ СостоянияТ(с,а,с')[Награда(с,а,с')+?Во п т(т-1)(с')]oxed{Q_ extrm{opt}^{(t-1)}(s,a)=sum_{s'in extrm{States}}T(s,a,s')Big[ extrm {Награда}(s,a,s')+gamma V_ extrm{opt}^{(t-1)}(s')Big]}вопросвыбрать( т - 1 )( с ,а )"="с'государства ?Т ( с ,а ,с') [ Награда ( s ,а ,с')+? Ввыбрать( т - 1 )( с') ]

Замечание: если у нас есть либо?<1гамма < 1?<1или граф MDP является ациклическим, то алгоритм итерации значений гарантированно сходится к правильному ответу.

Когда неизвестные переходы и награды

Теперь предположим, что вероятности перехода и вознаграждения неизвестны.

Метод Монте-Карло, основанный на модели. Метод Монте-Карло, основанный на модели, направлен на оценкуТ(с,а,с')Т(с,а,с')Т ( с ,а ,с')иНаграда(с,а,с') extrm{Награда}(s,a,s')Награда ( с ,а ,с')используя моделирование Монте-Карло с:

Т^(с,а,с')"="# время (с,а,с') имеет место# время (с,а) имеет местоoxed{widehat{T}(s,a,s')=frac{# extrm{ раз }(s,a,s') extrm{ происходит}}{# extrm{ раз }( s,a) extrm{ встречается}}}Т( с ,а ,с')"="#  раз  ( с ,а )  происходит#  раз  ( с ,а ,с')  имеет место

и

Награда^(с,а,с')"="р в (с,а,р,с')oxed{widehat{ extrm{Reward}}(s,a,s')=r extrm{ in }(s,a,r,s')}Награда( с ,а ,с')"="р  в  ( с ,а ,р ,с')

Эти оценки затем будут использоваться для выводавопросвопросвопрос-ценности, в том числевопрос?Q_пивопрос?ивопросо п т.Q_ extrm{опт}.вопросвыбрать.

Примечание: метод Монте-Карло на основе модели считается внеполитическим, поскольку оценка не зависит от конкретной политики.

Безмодельный метод Монте-Карло. Безмодельный метод Монте-Карло направлен на прямую оценкувопрос?Q_{пи}вопрос?, следующее:

вопрос^?(с,а)"="средний уровень  тыт где ст-1"="с,ат"="аoxed{widehat{Q}_pi(s,a)= extrm{среднее значение }u_t extrm{ где }s_{t-1}=s, a_t=a}вопрос?( с ,а )"="среднее из  васт где  ст - 1"="с ,ат"="а

гдетыту_ттытобозначает утилиту, начиная с шагатттданного эпизода.

Примечание: считается, что Монте-Карло без модели соответствует политике, поскольку оценочная стоимость зависит от политики.?Пи?используется для генерации данных.

Эквивалентная формулировка . Введя константу?"="11+(#обновление  (с,а))eta=frac{1}{1+(# extrm{обновления }(s,a))}?"="1 + ( # обновления для  ( s , a ) )1и для каждого(с,а,ты)(с, а, ты)( с ,а ,ты )обучающего набора правило обновления безмодельного Монте-Карло имеет выпуклую комбинационную формулировку:

вопрос^?(с,а)<-(1-?)вопрос^?(с,а)+?тыoxed{widehat{Q}_pi(s,a)leftarrow(1-eta)widehat{Q}_pi(s,a)+eta u}вопрос?( с ,а )<-( 1-? )вопрос?( с ,а )+? ты

а также формулировку стохастического градиента:

вопрос^?(с,а)<-вопрос^?(с,а)-?(вопрос^?(с,а)-ты)oxed{widehat{Q}_pi(s,a)leftarrowwidehat{Q}_pi(s,a) - eta (widehat{Q}_pi(s,a) - u )}вопрос?( с ,а )<-вопрос?( с ,а )-? (вопрос?( с ,а )-ты )

SARSA — это метод оценки состояния-действия-вознаграждения-состояния (SARSA).вопрос?Q_пивопрос?используя как необработанные данные, так и оценки как часть правила обновления. Для каждого(с,а,р,с',а')(с,а,р,с',а')( с ,а ,р ,с',а'), у нас есть:

вопрос^?(с,а)?(1-?)вопрос^?(с,а)+?[р+?вопрос^?(с',а')]oxed{widehat{Q}_pi(s,a)longleftarrow(1-eta)widehat{Q}_pi(s,a)+etaBig[r+gammawidehat{Q }_pi(s',a')Big]}вопрос?( с ,а )?( 1-? )вопрос?( с ,а )+? [ р+?вопрос?( с',а') ]

Примечание: оценка SARSA обновляется на лету, в отличие от оценки Монте-Карло без модели, где оценку можно обновить только в конце эпизода.

Q-обучение вопросвопросвопрос-обучение – это внеполитический алгоритм, который дает оценкувопросо п тQ_ extrm{opt}вопросвыбрать. На каждого(с,а,р,с',а')(с,а,р,с',а')( с ,а ,р ,с',а'), у нас есть:

вопрос^о п т(с,а)<-(1-?)вопрос^о п т(с,а)+?[р+?Макса'€ ДЕЙСТВИЯ(с')вопрос^о п т(с',а')]oxed{widehat{Q}_{ extrm{opt}}(s,a)leftarrow(1-eta)widehat{Q}_{ extrm{opt}}(s,a)+eta Big[r+gammaunderset{a'in extrm{ Actions}(s')}{ extrm{max}}widehat{Q}_{ extrm{opt}}(s',a') Большой]}вопросвыбрать( с ,а )<-( 1-? )вопросвыбрать( с ,а )+? [ р+?а'?  Действия ( s')Максвопросвыбрать( с',а') ]

Эпсилон-жадная политика — это алгоритм, который уравновешивает исследование с вероятностью.?эпсилон?и эксплуатация с вероятностью1-?1-эпсилон1-?. Для данного состоянияссс, политика?действоватьpi_{ extrm{акт}}?действоватьрассчитывается следующим образом:

действовать(с)"="{а р г м а х а€ ДЕЙСТВИЯвопрос^о п т(с,а)с пробой  1-?случайный выбор из действий  (с)с пробой  ?oxed{pi_ extrm{act}(s)=left{egin{array}{ll}underset{ain extrm{ Actions}}{ extrm{argmax }}widehat{Q} _ extrm{opt}(s,a) & extrm{с пробой }1-epsilon extrm{случайно из действий}(s) & extrm{с пробой }epsilonend{array} ight .}?действовать( с )"="{a ?  Действияаргументмакс вопросвыбрать( с ,а )случайно из действий ( ов )с пробой  1-?с пробой  ?


Игра в игру

В играх (например, шахматах, нардах, го) присутствуют и другие агенты, и их необходимо учитывать при построении нашей политики.

Дерево игры Дерево игры — это дерево, описывающее возможности игры. В частности, каждый узел является точкой принятия решения для игрока, а каждый путь от корня к листу является возможным результатом игры.


Игра с нулевой суммой для двух игроков. Это игра, в которой полностью наблюдается каждое состояние и в которой игроки ходят по очереди. Это определяется с помощью:

  • стартовое состояниесначинатьs_{ extrm{start}}сначинать
  • возможные действияДЕЙСТВИЯ(с) extrm{Действия}(я)Действия ( а )из штатассс
  • преемникиУспешный(с,а) extrm{Succ}(s,a)Успех ( s ,а )из штатовсссс действиямиааа
  • было ли достигнуто конечное состояниеЯ отправляю(с) extrm{IsEnd}(ы)IsEnd ( ы )
  • полезность агентаПолезность(с) extrm{Утилиты}(ы)Утилита ( ы )в конечном состоянииссс
  • игрокплеер(с) extrm{Игрок}(ов)Игрок ( а )кто контролирует государствоссс

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

Типы полисов Существует два типа полисов:

  • Детерминированная политика, обозначаемая?п(с)pi_p(s)?п( с ), какие действия выполняет игрокппппринимает в штатссс.
  • Стохастическая политика, обозначаемая?п(с,а)€[0,1]pi_p(s,a)in[0,1]?п( с ,а )€[ 0 ,1 ], которые представляют собой вероятности того, что игрокппппринимает мерыааав штатессс.

Expectimax Для данного штатассс, ожидаемое максимальное значениеВе х п т м а х(с)V_{ extrm{exptmax}}(ы)Вэкспмакс( с )— это максимальная ожидаемая полезность любой политики агента при игре в отношении фиксированной и известной политики противника.?о п пpi_{ extrm{opp}}?опп. Он рассчитывается следующим образом:

Ве х п т м а х(с)"="{Полезность(с)Я отправляю(с)Макса€ДЕЙСТВИЯ(с)Ве х п т м а х(Успешный(с,а))плеер(с)"="агент?а€ДЕЙСТВИЯ(с)?о п п(с,а)Ве х п т м а х(Успешный(с,а))плеер(с)"="о п пoxed{V_{ extrm{exptmax}}(s)=left{egin{array}{ll} extrm{Utility}(s) & extrm{IsEnd}(s)underset{a in extrm{Actions}(s)}{ extrm{max}}V_{ extrm{exptmax}}( extrm{Succ}(s,a)) & extrm{Player}(s)= extrm {agent}displaystylesum_{ain extrm{Действия}(s)}pi_{ extrm{opp}}(s,a)V_{ extrm{exptmax}}( extrm{Succ} (s,a)) & extrm{Player}(s)= extrm{opp}end{array} ight.}Вэкспмакс( с )"="???????????Утилита ( ы )a ? Действия ( s )МаксВэкспмакс( Succ ( s ,а ) )a ? Действия ( s )??опп( с ,а ) Вэкспмакс( Succ ( s ,а ) )IsEnd ( ы )Игрок ( а )"="агентИгрок ( а )"="опп

Примечание: ожидаемое значение — это аналог итерации значений для MDP.

Expectimax

Минимакс Целью минимаксной политики является поиск оптимальной политики против противника, предполагая наихудший случай, т.е. противник делает все, чтобы минимизировать полезность агента. Это делается следующим образом:

Вм я н я м а х(с)"="{Полезность(с)Я отправляю(с)Макса€ДЕЙСТВИЯ(с)Вм я н я м а х(Успешный(с,а))плеер(с)"="агентм я на€ДЕЙСТВИЯ(с)Вм я н я м а х(Успешный(с,а))плеер(с)"="о п пoxed{V_{ extrm{minimax}}(s)=left{egin{array}{ll} extrm{Utility}(s) & extrm{IsEnd}(s)underset{a in extrm{Actions}(s)}{ extrm{max}}V_{ extrm{minimax}}( extrm{Succ}(s,a)) & extrm{Player}(s)= extrm {agent}underset{ain extrm{Actions}(s)}{ extrm{min}}V_{ extrm{minimax}}( extrm{Succ}(s,a)) & extrm {Player}(s)= extrm{opp}end{array} ight.}Вминимакс( с )"="?????????Утилита ( ы )a ? Действия ( s )МаксВминимакс( Succ ( s ,а ) )a ? Действия ( s )минВминимакс( Succ ( s ,а ) )IsEnd ( ы )Игрок ( а )"="агентИгрок ( а )"="опп

Примечание: мы можем извлечь?Максpi_{ extrm{макс}}?Макси?м я нpi_{ extrm{мин}}?минот минимаксного значенияВм я н я м а хV_{ extrm{минимакс}}Вминимакс.

Минимакс

Минимаксные свойстваВВВДля функции значения минимакса следует учитывать три свойства:

  • Свойство 1 : если бы агент изменил свою политику на любую?агентpi_{ extrm{агент}}?агент, то положение агента будет не лучше.

    агент,В(?Макс,?м я н)?В(?агент,?м я н)oxed{forall pi_{ extrm{agent}},quad V(pi_{ extrm{max}},pi_{ extrm{min}})geqslant V(pi_{ extrm{agent) }},pi_{ extrm{мин}})}? ?агент,В ( ?Макс,?мин)?В ( ?агент,?мин)

  • Свойство 2 : если противник меняет свою политику с?м я нpi_{ extrm{мин}}?минк?о п пpi_{ extrm{opp}}?опп, то ему будет не лучше.

    о п п,В(?Макс,?м я н)?В(?Макс,?о п п)oxed{forall pi_{ extrm{opp}},quad V(pi_{ extrm{max}},pi_{ extrm{min}})leqslant V(pi_{ extrm{max) }},pi_{ extrm{opp}})}? ?опп,В ( ?Макс,?мин)?В ( ?Макс,?опп)

  • Свойство 3 : если известно, что противник не придерживается состязательной политики, то минимаксная политика может быть неоптимальной для агента.

    ,В(?Макс,?)?В(?е х п т м а х,?)oxed{forall pi,quad V(pi_{ extrm{max}},pi)leqslant V(pi_{ extrm{exptmax}},pi)}? ? ,В ( ?Макс,? )?В ( ?экспмакс,? )

В итоге имеем следующие отношения:

В(?е х п т м а х,?м я н)?В(?Макс,?м я н)?В(?Макс,?)?В(?е х п т м а х,?)oxed{V(pi_{ extrm{exptmax}},pi_{ extrm{min}})leqslant V(pi_{ extrm{max}},pi_{ extrm{min}}) leqslant V(pi_{ extrm{max}},pi)leqslant V(pi_{ extrm{exptmax}},pi)}В ( ?экспмакс,?мин)?В ( ?Макс,?мин)?В ( ?Макс,? )?В ( ?экспмакс,? )

Ускорение минимакса

Функция оценки Функция оценки представляет собой специфичную для предметной области и приблизительную оценку значения.Вм я н я м а х(с)V_{ extrm{минимакс}}(ы)Вминимакс( с ). Он обозначаетсяЭ в а л(с) extrm{Оценки}(ов)Оценить ( s ).

Примечание:Будущая стоимость(с) extrm{FutureCost}(ы)Будущая стоимость ( а )является аналогией задач поиска.

Альфа-бета-обрезка Альфа-бета-обрезка — это универсальный точный метод, оптимизирующий минимаксный алгоритм за счет исключения ненужного исследования частей дерева игры. Для этого каждый игрок отслеживает наилучшую ценность, на которую он может рассчитывать (хранится в?альфа?для максимизирующего игрока и в?бета?для минимизирующего игрока). На данном шаге условие?<?бета <альфа?<?означает, что оптимальный путь не будет находиться в текущей ветке, поскольку у предыдущего игрока в распоряжении был лучший вариант.

Альфа-бета-обрезка

TD-обучение. Обучение временной разнице (TD) используется, когда мы не знаем переходов/наград. Стоимость основана на политике разведки. Чтобы иметь возможность его использовать, нам нужно знать правила игры.Успешный(с,а) extrm{Succ}(s,a)Успех ( s ,а ). Для каждого(с,а,р,с')(с,а,р,с')( с ,а ,р ,с'), обновление осуществляется следующим образом:

ш?ш-?[В(с,ш)-(р+?В(с',ш))]?шВ(с,ш)oxed{wlongleftarrow w-etaig[V(s,w)-(r+gamma V(s',w))ig] abla_wV(s,w)}ш?ш-? [ V ( s ,ш )-( р+? V ( s',ш ) ) ] ?шПротив ,ш )

Одновременные игры

Это противоположность пошаговым играм, в которых ходы игрока не упорядочены.

Одноходовая одноходовая игра Пусть играют двое.АААиБББ, с заданными возможными действиями. Мы заметилиВ(а,б)В(а,б)В ( а ,б )бытьАААполезность, еслиАААвыбирает действиеааа,БББвыбирает действиеббб.ВВВназывается платежной матрицей.

Стратегии Существует два основных типа стратегий:

  • Чистая стратегия – это одно действие:

    а€ДЕЙСТВИЯoxed{ain extrm{Действия}}а€Действия

  • Смешанная стратегия — это распределение вероятностей по действиям:

    а€ДЕЙСТВИЯ,0??(а)?1forall ain extrm{Действия},quadoxed{0leqslantpi(a)leqslant1}? а€Действия ,0?? ( а )?1


Оценка игры Ценность игрыВ(?А,?Б)В(пи_А,пи_Б)В ( ?А,?Б)когда игрокАААследует?Аpi_A?Аи игрокБББследует?Бpi_B?Бтаков, что:

В(?А,?Б)"="?а,б?А(а)?Б(б)В(а,б)oxed{V(pi_A,pi_B)=sum_{a,b}pi_A(a)pi_B(b)V(a,b)}В ( ?А,?Б)"="а , б??А( а ) ?Б( б ) В ( а ,б )

Теорема о минимаксе . Отмечая?А,?Бpi_A,pi_B?А,?БВ рамках смешанных стратегий для каждой одновременной игры с нулевой суммой двух игроков и конечным числом действий имеем:

Макс?Амин?БВ(?А,?Б)"="мин?БМакс?АВ(?А,?Б)oxed{max_{pi_A}min_{pi_B}V(pi_A,pi_B)=min_{pi_B}max_{pi_A}V(pi_A,pi_B)}?АМакс?Бм я нВ ( ?А,?Б)"="?Бм я н?АМаксВ ( ?А,?Б)

Игры с ненулевой суммой

Матрица выигрышей ОпределимВп(?А,?Б)V_p(pi_A,pi_B)Вп( ?А,?Б)быть полезным для игрокаппп.

Равновесие по Нэшу Равновесие по Нэшу – это(?А*,?Б*)(pi_A^*,pi_B^*)( ?А*,?Б*)так что ни у одного игрока нет стимула менять свою стратегию. У нас есть:

А,ВА(?А*,?Б*)?ВА(?А,?Б*)и??Б,ВБ(?А*,?Б*)?ВБ(?А*,?Б)oxed{forall pi_A, V_A(pi_A^*,pi_B^*)geqslant V_A(pi_A,pi_B^*)}quad extrm{and}quadoxed{forall pi_B, V_B(pi_A^*,pi_B^*)geqslant V_B(pi_A^*,pi_B)}? ?А,ВА( ?А*,?Б*)?ВА( ?А,?Б*)и? ?Б,ВБ( ?А*,?Б*)?ВБ( ?А*,?Б)

Замечание: в любой игре с конечным числом игроков и конечным числом действий существует хотя бы одно равновесие Нэша.


Источник: stanford.edu

Комментарии: