2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Игровая задача оптимального управления
Сообщение19.12.2010, 01:56 
Задача. Рассматривается игра двух игроков игральным кубиком. Во время одного хода каждый игрок кидает кубик до тех пор, пока не решит остановиться и передать ход другому игроку, или же пока на кубике не выпадет 1, в этом случае ход также переходит к другому игроку. В первом случае сумма набранных очков за ход прибавляется к общей сумме, набранной игроком за игру, а во втором случае - все очки, набранные игроком за этот ход, сгорают. Целью игры является первым набрать суммарное количество очков 100.
Есть подсказка. Априорной информацией является общая сумма набранных очков в игре $S_1$. Вектор состояния состоит из трех компонент: текущая сумма в процессе всего хода $S_2$, $B$ - состояние, указывающее, остановлено или нет бросание, и номер бросания $i$. Вектор управления состоит из одной компоненты, которая принимает только два значения: остановить бросание, продолжить бросание. Случайным возмущением $\omega$ является количество выпавших на кубике очков (от 1 до 6, каждое с вероятностью $\frac16$).

Строим математическую модель. В общем, тут и застряли. Рассматриваем действия одного игрока. Обозначим ${\omega}_i$ - число очков, выпавшее на кубике при $i$-м бросании кубика игроком. Вектор состояния $ \[{{\vec{x}}_{i}}=\left\{ {{\sigma }_{i}},{{B}_{i}} \right\}\]$.
Здесь $B=1$, если бросание остановлено, и $B=0$ в противном случае;
$\sigma_{i}$- текущая сумма в процессе всего хода;
и непонятно: если третью компоненту $i$ включать в этот вектор, то как ей потом уравнение составлять? $i=i+1$??
Управление принимает всего два значения: $u\in \left\{ 0,1 \right\}$, где 1 означает остановить бросания, а 0 – продолжать.
Тогда модель системы будет иметь вид:
$$\[{{\vec{x}}_{i+1}}=\left\{ \begin{array}{*{35}{l}}
   {{\sigma }_{i+1}}=\left\{ \begin{array}{*{35}{l}}
   {{\sigma }_{i}}+{{\omega }_{i+1}}, & {{\omega }_{i+1}}\ne 1,  \\
   0, & {{\omega }_{i+1}}=1,  \\
\end{array} \right.  \\
   {{B}_{i+1}}={{u}_{i}}  \\
\end{array} \right\}\]$$
И уже много непонятного накопилось. Во-первых, составленная таким образом математическая модель не учитывает, какой игрок делает ход, т.е. нужно еще дополнительно проверять, куда прибавлять заработанные очки: к сумме первого или второго игроков. Во-вторых, сомневаюсь, правильно ли составлено уравнение для компоненты $B_{i+1}$ в последнем выражении: если $u_i=1$, то $B_{i+1}=1$ будет означать, что ход перешел к другому игроку... И что делать с априорной информацией – тоже неясно.
Пробовала составлять модель не для каждого бросания, а для всего хода целиком только для второго игрока, но вопросов получается не меньше…
Функционал качества, который нужно минимизировать по управлению, - это математическое ожидание разницы между желаемыми 100 очками и фактической суммой игрока. Но опять же - непонятно, как его записывать в тех обозначениях, которые написаны выше. И как-то нужно учесть в нем априорную информацию и то, чей ход.
Проконсультируйте, пожалуйста, по математической модели, и, если возможно, подскажите, из какого источника эта задача (я уже не говорю про решение, хотя бы само условие в оригинале прочитать и теорию, которая ей предшествует).

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group