Есть следующая задача:
Имеется диспечер (Д1), который с определенными вероятностями
соответственно на каждом шагу (такте) выбирает один из 3 буферов, чтобы поместить туда заявку. Ёмкость каждого буфера равна
. Так продолжается
шагов. После чего в работу включается второй диспечер (Д2), который с определенными вероятностями
безвозвратно забирает заявки из буферов. Требуется найти вероятность блокировки системы на
- ом шагу, где
. Блокировкой считается такое состояние системы, когда первый диспечер пытается положить заявку в уже заполненный буфер, а второй диспечер одновременно с этим пытается извлечь заявку из пустого буфера.
Например, для первого буфера можно записать:
Аналогично для остальных буферов.
Но это выглядит как какой-то сильно идеализированный случай. Как понимаю, для шагов выше
нужно, чтобы для заполняемого до предела буфера извлечение заявок завершилось заранее. Не знаю, как еще объяснить что имею в виду, но попробую так: пусть на одном из следующих шагов за
шагом в одном из буферов ровно
заявко. Тогда, если Д1 пытается поместить в этот буфер заявку, то он получит блокировку, а число заявок в буфере останется n. Тем временем, Д2 может на том же шагу забрать заявку из этого буфера, и заявок станет
. Таким образом, может случится так,что в заполняемом буфере на
шаге в буфере
заявка. Тогда на
не получим блокировки в указанном смысле. В общем, порядок событий имеет значение. И не понятно, как его учесть. Пожалуйста, посоветуйте что-нибудь.