Да, математическая запись может показаться намного более сложной, чем она есть.На самом деле, это очень простая идея.У меня есть реализованный демонстрационный апплет value итерации , с которым вы можете поиграть, чтобы получить лучшее представление.
По существу, предположим, что у вас есть двумерная сетка с роботом.Робот может попытаться переместиться на север, юг, восток, запад (это действия а), но, поскольку его левое колесо скользкое, когда он пытается двигаться на север, существует только 0,9 вероятность того, что он окажется на площади.К северу от него, в то время как есть вероятность .1, что он окажется в квадрате к западу от него (аналогично для 3 других действий).Эти вероятности фиксируются функцией T ().А именно, T (s, A, s ') будет выглядеть следующим образом:
s A s' T //x=0,y=0 is at the top-left of the screen
x,y North x,y+1 .9 //we do move north
x,y North x-1,y .1 //wheels slipped, so we move West
x,y East x+1,y .9
x,y East x,y-1 .1
x,y South x,y+1 .9
x,y South x-1,y .1
x,y West x-1,y .9
x,y West x,y+1 .1
Затем вы устанавливаете вознаграждение равным 0 для всех состояний, но 100 для целевого состояния, то есть местоположения, которое вы хотитеРобот, к которому нужно добраться.
Итерация значения состоит в том, что она запускается, давая Утилите 100 для состояния цели и 0 для всех остальных состояний.Затем на первой итерации эти 100 утилит распределяются назад на 1 шаг от цели, поэтому все состояния, которые могут перейти к целевому состоянию за 1 шаг (все 4 квадрата рядом с ним), получат некоторую полезность.А именно, они получат Утилиту, равную вероятности того, что из этого состояния мы сможем добраться до указанной цели.Затем мы продолжаем итерацию, на каждом шаге мы перемещаем утилиту назад еще на 1 шаг от цели.
В приведенном выше примере, скажем, вы начинаете с R (5,5) = 100 и R (.) =0 для всех остальных штатов.Таким образом, цель состоит в том, чтобы получить 5,5.
На первой итерации мы устанавливаем
R (5,6) = гамма * (.9 * 100) + гамма * (.1* 100)
, потому что на 5,6, если вы идете на север, вероятность того, что вы окажетесь на 5,5, составит 0,9, тогда как на западе вероятность того, что вы окажетесь на 5,5, составит 0,1..
Аналогично для (5,4), (4,5), (6,5).
Все остальные состояния остаются с U = 0 после первой итерации итерации значения.