Марковський процес вирішування

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

Ма́рковські проце́си вирі́шування (МПВ, Шаблон:Lang-en) забезпечують математичну систему для моделювання ухвалення рішень у ситуаціях, в яких наслідки є частково випадковими, а частково контрольованими ухвалювачем рішення. МПВ є корисними для дослідження широкого спектра задач оптимізації, розв'язуваних динамічним програмуванням та навчанням з підкріпленням. МПВ були відомі щонайменше з 1950-х років (пор. Шаблон:Harvnb). Основна маса досліджень марковських процесів вирішування стала результатом книги Шаблон:Нп, опублікованої 1960 року, «Динамічне програмування та марковські процеси» (Шаблон:Lang-en).Шаблон:Sfn Їх застосовують у широкій області дисциплін, включно з робототехнікою, автоматизованим керуванням, економікою та виробництвом.

Якщо точніше, то марковський процес вирішування є стохастичним процесом керування Шаблон:Нп. На кожному кроці часу процес перебуває в якомусь стані s, і ухвалювач рішення може обрати будь-яку дію a, доступну в стані s. Процес реагує на наступному кроці часу випадковим переходом до нового стану s і наданням ухвалювачеві рішення відповідної винагороди (Шаблон:Lang-en) Ra(s,s).

Ймовірність переходу процесу до його нового стану s знаходиться під впливом обраної дії. Конкретно, вона задається функцією переходу стану Pa(s,s). Таким чином, наступний стан s залежить від поточного стану s та від дії ухвалювача рішення a. Але для заданих s та a він є умовно незалежним від усіх попередніх станів та дій; іншими словами, переходи станів процесу МПВ задовольняють марковську властивість.

Марковські процеси вирішування є розширенням марковських ланцюгів; різниця полягає в доданні дій (що дає вибір) та винагород (що дає мотивацію). І навпаки, якщо для кожного стану існує лише одна дія (наприклад, «чекати») та всі винагороди є однаковими (наприклад, «нуль»), то марковський процес вирішування зводиться до марковського ланцюга.

Визначення

Приклад простого МПВ з трьома станами та двома діями.

Марковський процес вирішування є 5-кою (S,A,P(,),R(,),γ), де

  • S є скінченною множиною станів,
  • A є скінченною множиною дій (як альтернатива, As є скінченною множиною дій, доступних зі стану s),
  • Pa(s,s)=Pr(st+1=sst=s,at=a) є ймовірністю того, що дія a в стані s в момент часу t призведе до стану s в момент часу t+1,
  • Ra(s,s) є безпосередньою винагородою (або очікуваною безпосередньою винагородою), отримуваною після переходу до стану s зі стану s,
  • γ[0,1] є коефіцієнтом знецінювання (Шаблон:Lang-en), який представляє відмінність важливості майбутніх та поточних винагород.

(Зауваження: Теорія марковських процесів вирішування не стверджує, що S чи A є скінченними, але основні алгоритми, наведені нижче, передбачають, що вони є скінченними.)

Задача

Основною задачею МПВ є знайти «стратегію» (Шаблон:Lang-en) для ухвалювача рішень: функцію π, яка визначає дію π(s), яку ухвалювач рішення обере в стані s. Зауважте, що щойно марковський процес вирішування поєднано таким чином зі стратегією, то це фіксує дію для кожного стану, і отримане в результаті поєднання поводиться як марковський ланцюг.

Метою є обрати таку стратегію π, яка максимізуватиме деяку кумулятивну функцію випадкових винагород, зазвичай — очікувану знецінену функцію над потенційно нескінченним горизонтом:

t=0γtRat(st,st+1)    (де ми обираємо at=π(st))

де  γ  є коефіцієнтом знецінювання, і задовольняє 0 γ <1. (Наприклад, γ=1/(1+r), де інтенсивністю знецінювання є r.) Зазвичай γ є близьким до 1.

Завдяки марковській властивості, оптимальну стратегію для цієї конкретної задачі насправді може бути записано як функцію лише від s, як і передбачалося вище.

Алгоритми

МПВ може бути розв'язувано лінійним програмуванням, або динамічним програмуванням. Далі ми представимо останній підхід.

Припустімо, що ми знаємо функцію переходу стану P та функцію винагороди R, і хочемо обчислити стратегію, яка максимізує очікувану знецінену винагороду.

Стандартне сімейство алгоритмів для обчислення цієї оптимальної стратегії вимагає зберігання двох масивів, проіндексованих за станом: цінностей (Шаблон:Lang-en) V, який містить дійсні значення, та стратегії π, який містить дії. По завершенню алгоритму, π міститиме розв'язок, а V(s) міститиме знецінену суму винагород, яку буде зароблено (в середньому) при слідуванні цим розв'язком зі стану s.

Алгоритм має наступні два види кроків, які повторюються в певному порядку для всіх станів, допоки подальших змін вже не відбуватиметься. Вони визначаються рекурсивно наступним чином:

π(s):=argmaxa{sPa(s,s)(Ra(s,s)+γV(s))}
V(s):=sPπ(s)(s,s)(Rπ(s)(s,s)+γV(s))

Їхній порядок залежить від варіанту алгоритму; можна робити їх одночасно для всіх станів, або стан за станом, і частіше для одних станів, ніж для інших. Якщо жоден зі станів не виключатиметься назавжди з будь-якого з кроків, то алгоритм зрештою прийде до правильного розв'язку.

Відомі варіанти

Ітерація за цінностями

В ітерації за цінностями (Шаблон:Lang-en, Шаблон:Harvnb), яку також називають зворотною індукцією, функція π не використовується; натомість значення π(s) обчислюється в межах V(s) за потребою. Метод ітерації за цінностями для МПВ увійшов до праці Ллойда Шеплі 1953 року про стохастичні ігриШаблон:Sfn як окремий випадок, але це було визнано лише згодом.Шаблон:Sfn

Підставлення обчислення π(s) до обчислення V(s) дає поєднаний крок:

Vi+1(s):=maxa{sPa(s,s)(Ra(s,s)+γVi(s))},

де i є номером ітерації. Ітерація за цінностями починається з i=0 та V0 як припущення про функцію цінності. Потім виконується ітерування з повторним обчисленням Vi+1 для всіх станів s, поки V не збіжиться, коли ліва сторона дорівнюватиме правій (що є «рівнянням Беллмана» для цієї задачі).

Ітерація за стратегіями

В ітерації за стратегіями (Шаблон:Lang-en, Шаблон:Harvnb) перший крок виконується один раз, а потім другий крок повторюється до збіжності. Потім перший крок виконується знову, і так далі.

Замість повторювання другого кроку до збіжності його може бути сформульовано та розв'язано як набір лінійних рівнянь.

Цей варіант має перевагу в тому, що існує чітка умова зупинки: коли масив π не змінюється в процесі застосування кроку 1 до всіх станів, алгоритм завершується.

Видозмінена ітерація за стратегіями

У видозміненій ітерації за стратегіями (Шаблон:Lang-en, Шаблон:Harvnb, Шаблон:Harvnb) перший крок виконується один раз, а потім другий крок повторюється кілька разів. Потім знову перший крок виконується один раз, і так далі.

Пріоритетне підмітання

В цьому варіанті (Шаблон:Lang-en) кроки застосовуються до станів із надаванням переваги тим, які є якимось чином важливими — чи то на основі алгоритму (нещодавно були великі зміни в V або π навколо цих станів), чи то на основі використання (ці стани знаходяться близько до початкового стану, або іншим чином становлять інтерес для особи або програми, яка застосовує цей алгоритм).

Розширення та узагальнення

Марковський процес вирішування є стохастичною грою з лише одним гравцем.

Часткова спостережуваність

Шаблон:Докладніше1

Наведене вище розв'язання передбачає, що в той момент, коли треба вирішувати, яку дію вчинити, стан s є відомим; інакше π(s) обчислено бути не може. Якщо це припущення не є вірним, задачу називають частково спостережуваним марковським процесом вирішування (ЧСМПВ, Шаблон:Lang-en).

Головний поступ у цій області було забезпечено Бурнетасом та Катехакісом в «Оптимальних адаптивних стратегіях для марковських процесів вирішування».Шаблон:Sfn В цій праці було побудовано клас адаптивних стратегій, які володіють властивостями рівномірно максимального темпу збіжності для загальної очікуваної винагороди скінченного інтервалу, за припущень скінченних просторів стан-дія та нескоротності закону переходу. Ці стратегії приписують, щоби вибір дій на кожному стані в кожен момент часу ґрунтувався на показниках, які є роздуваннями правої сторони рівнянь оптимальності очікуваної усередненої винагороди.

Навчання з підкріпленням

Шаблон:Main

Якщо ймовірності винагород є невідомими, то задача є задачею навчання з підкріпленням Шаблон:Harv.

Для цього корисно визначити наступну функцію, яка відповідає вчиненню дії a з продовженням оптимальним чином (або відповідно до будь-якої наявної в даний момент стратегії):

 Q(s,a)=sPa(s,s)(Ra(s,s)+γV(s)). 

І хоча ця функція також є невідомою, досвід під час навчання ґрунтується на парах (s,a) (разом з наслідком s; тобто, «Я був у стані s, спробував вчинити a, і сталося s»). Таким чином, є масив Q, і досвід використовується для його безпосереднього уточнення. Це відоме як Q-навчання.

Навчання з підкріпленням може розв'язувати марковські процеси вирішування без явного вказання ймовірностей переходів; значення ймовірностей переходів необхідні для ітерації за цінностями та за стратегіями. В навчанні з підкріпленнями замість явного вказання ймовірностей переходів доступ до них отримується через імітатор, який зазвичай багаторазово перезапускається з рівномірного випадкового початкового стану. Навчання з підкріпленням також може поєднуватися з наближенням функцій, щоби можна було братися за задачі з дуже великим числом станів.

Автомати з самонавчанням

Шаблон:Докладніше1

Ще одне застосування процесу МПВ в теорії машинного навчання називається автоматами з самонавчанням. Воно також є одним із типів навчання з підкріпленням, якщо середовище має стохастичний характер. Перше детальне дослідження про автомати з самонавчанням (Шаблон:Lang-en) здійснили Шаблон:Нп та Татачар (1974), в якому їх було первісно описано явно як скінченні автомати.Шаблон:Sfn Подібно до навчання з підкріпленням, алгоритм автоматів із самонавчанням також має перевагу розв'язання задач, у яких імовірності або винагороди є невідомими. Відмінність автоматів із самонавчанням від Q-навчання полягає в тому, що вони не включають пам'ять Q-значень, а для знаходження результату навчання уточнюють ймовірності дій безпосередньо. Автомати з самонавчанням є однією зі схем навчання з суворим доведенням збіжності.Шаблон:Sfn

В теорії автоматів із самонавчанням стохастичний автомат (Шаблон:Lang-en) складається з:

  • множини можливих входів x,
  • множини можливих внутрішніх станів Φ = { Φ1, …, Φs },
  • множини можливих виходів, або дій, α = { α1, …, αr }, де rs,
  • вектора початкової ймовірності станів p(0) = ≪ p1(0), …, ps(0) ≫,
  • обчислюваної функції A, яка після кожного кроку часу t породжує p(t+1) з p(t), поточного входу та поточного стану, і
  • функції G: Φ → α, яка породжує вихід на кожному кроці часу.

Стани такого автомату відповідають станам «марковського процесу дискретного часу з дискретними параметрами».Шаблон:Sfn На кожному кроці часу t=0,1,2,3,… автомат читає вхід зі свого середовища, уточнює P(t) до P(t+1) за допомогою A, випадково обирає наступний стан відповідно до ймовірностей P(t+1) та виводить відповідну дію. Середовище автомата, в свою чергу, читає цю дію, і надсилає автоматові наступний вхід.Шаблон:Sfn

Інтерпретація в термінах теорії категорій

Крім як через винагороди, марковський процес вирішування (S,A,P) можна розуміти і в термінах теорії категорій. А саме, нехай 𝒜 позначає Шаблон:Нп з породжувальною множиною A. Нехай 𝐃𝐢𝐬𝐭 позначає Шаблон:Нп монади Жирі Шаблон:Webarchive. Тоді функтор 𝒜𝐃𝐢𝐬𝐭 кодує як множину станів S, так і функцію ймовірностей P.

Таким чином, марковський процес вирішування може бути узагальнено з моноїдів (категорій з одним об'єктом) на довільні категорії. Результат (𝒞,F:𝒞𝐃𝐢𝐬𝐭) можна назвати контекстно-залежним марковським процесом вирішування (Шаблон:Lang-en), оскільки перехід від одного об'єкту до іншого в 𝒞 змінює множину доступних дій та множину можливих станів.

Марковський процес вирішування безперервного часу

В марковських процесах вирішування дискретного часу рішення здійснюються через дискретні проміжки часу. Проте для марковських процесів вирішування безперервного часу (Шаблон:Lang-en) рішення можуть здійснюватися в будь-який час, який обере ухвалювач рішень. У порівнянні з марковськими процесами вирішування дискретного часу, марковські процеси вирішування безперервного часу можуть краще моделювати процес ухвалювання рішень для системи, яка має Шаблон:Нп, тобто системи, динаміка якої визначається диференціальними рівняннями з частинними похідними.

Визначення

Для обговорення марковських процесів вирішування безперервного часу введімо два набори позначень:

Якщо простір станів та простір дій є скінченними,

Якщо простір станів та простір дій є неперервними,

  • 𝒳: простір станів (Шаблон:Lang-en);
  • 𝒰: простір можливого керування (Шаблон:Lang-en);
  • f(x,u): 𝒳×𝒰𝒳, функція інтенсивності переходів (Шаблон:Lang-en);
  • r(x,u): 𝒳×𝒰, функція інтенсивності винагороди (Шаблон:Lang-en), така, що r(x(t),u(t))dt=dR(x(t),u(t)), де R(x,u) є функцією винагороди, яку ми обговорювали в попередньому випадку.

Задача

Як і в марковських процесах вирішування дискретного часу, в марковському процесі вирішування безперервного часу ми хочемо знаходити оптимальну стратегію (Шаблон:Lang-en) або керування (Шаблон:Lang-en), яке давало би нам оптимальну очікувану проінтегровану винагороду:

max𝔼u[0γtr(x(t),u(t)))dt|x0]

Де 0γ<1

Формулювання лінійного програмування

Якщо простори станів та дій є скінченними, то для пошуку оптимальної стратегії ми можемо використовувати лінійне програмування, що було одним із найперших застосованих підходів. Тут ми розглядаємо лише ергодичну модель, яка означає, що наш МПВ безперервного часу стає ергодичним марковським ланцюгом безперервного часу за сталої стратегії. За цього припущення, хоча ухвалювач рішення і може здійснювати рішення в будь-який час у поточному стані, він не може виграти більше, здійснюючи більше ніж одну дію. Для нього краще здійснювати дію лише в той момент часу, коли система переходить з поточного стану до іншого. За деяких умов (детальніше див. Наслідок 3.14 у Continuous-Time Markov Decision Processes Шаблон:Webarchive), якщо наша функція оптимальної цінності V* є незалежною від стану i, то ми матимемо наступну нерівність:

gR(i,a)+jSq(j|i,a)h(j)iSandaA(i)

Якщо існує функція h, то V¯* буде найменшим g, яке задовольняє наведене вище рівняння. Щоби знаходити V¯*, ми можемо застосовувати наступну модель лінійного програмування:

Minimizegs.tgjSq(j|i,a)h(j)R(i,a)iS,aA(i)
MaximizeiSaA(i)R(i,a)y(i,a)s.t.iSaA(i)q(j|i,a)y(i,a)=0jS,iSaA(i)y(i,a)=1,y(i,a)0aA(i)andiS

y(i,a) є придатним розв'язком Д-ЛП, якщо y(i,a) є невиродженою, і задовольняє обмеження задачі Д-ЛП. Придатний розв'язок Д-ЛП y*(i,a) називають оптимальним розв'язком, якщо

iSaA(i)R(i,a)y*(i,a)iSaA(i)R(i,a)y(i,a)

для всіх придатних розв'язків Д-ЛП y(i,a). Щойно ми знайшли оптимальний розв'язок y*(i,a), ми можемо використовувати його для встановлення оптимальних стратегій.

Рівняння Гамільтона — Якобі — Беллмана

Якщо простір станів та простір дій в МПВ безперервного часу є неперервними, то оптимальний критерій можна знаходити шляхом розв'язання диференціального рівняння Гамільтона — Якобі — Беллмана (ГЯБ, Шаблон:Lang-en) в часткових похідних. Для обговорення рівняння ГЯБ нам необхідно переформулювати нашу задачу:

V(x(0),0)=maxu0Tr(x(t),u(t))dt+D[x(T)]s.t.dx(t)dt=f[t,x(t),u(t)]

D() є функцією остаточної винагороди (Шаблон:Lang-en), x(t) є вектором стану системи, u(t) є вектором керування системою, який ми намагаємося знайти. f() показує, як стан системи змінюється з часом. Рівняння Гамільтона — Якобі — Беллмана є таким:

0=maxu(r(t,x,u)+V(t,x)xf(t,x,u))

Ми можемо розв'язувати це рівняння, щоби знаходити оптимальне керування u(t), яке давало би нам оптимальну цінність V*

Застосування

Марковські процеси вирішування безперервного часу мають застосування в системах масового обслуговування, процесах епідемії та Шаблон:Нп.

Альтернативні позначення

Термінологія та позначення МПВ не є остаточно узгодженими. Є дві основні течії — одна зосереджується на задачах максимізації з контекстів на кшталт економіки, застосовуючи терміни дія (Шаблон:Lang-en), винагорода (Шаблон:Lang-en), цінність (Шаблон:Lang-en), та називаючи коефіцієнт знецінювання (Шаблон:Lang-en) β або γ, в той час як інша зосереджується на задачах мінімізації з техніки та навігації, застосовуючи терміни керування (Шаблон:Lang-en), витрати (Шаблон:Lang-en), остаточні витрати (Шаблон:Lang-en), і називаючи коефіцієнт знецінювання (Шаблон:Lang-en) α. На додачу, різниться й позначення ймовірності переходу.

в цій статті альтернативне коментар
дія a керування u
винагорода R витрати g g є від'ємною R
цінність V остаточні витрати J J є від'ємною V
стратегія π стратегія μ
коефіцієнт знецінювання  γ  коефіцієнт знецінювання α
ймовірність переходу Pa(s,s) ймовірність переходу pss(a)

На додачу, ймовірність переходу іноді записують як Pr(s,a,s), Pr(s|s,a) або, рідше, як pss(a).

Обмежені марковські процеси вирішування

Обмежені марковські процеси вирішування (ОМПВ, Шаблон:Lang-en) є розширеннями марковських процесів вирішування (МПВ). Між МПВ та ОМПВ є три докорінні відмінності.Шаблон:Sfn

  • Після застосування дії замість однієї витрати несуться декілька витрат.
  • ОМПВ розв'язуються лише за допомогою лінійних програм, а динамічне програмування не працює.
  • Остаточна стратегія залежить від початкового стану.

Існує ряд застосувань ОМПВ. Нещодавно їх було застосовано в сценаріях планування руху в робототехніці.Шаблон:Sfn

Див. також

Примітки

Шаблон:Примітки

Джерела

Шаблон:Refbegin

Шаблон:Refend

Посилання

Шаблон:Перекласти