Шаг 13.
Сети Петри. Системы параллельных взаимодействующих процессов, моделируемых сетями Петри. Задача об обедающих мудрецах

    На этом шаге мы приведем формулировку этой задачи.

    Задача об обедающих мудрецах была предложена Дейкстрой и связана с пятью мудрецами, которые попеременно то думали, то ели. Мудрецы сидят за большим круглым столом, на котором много блюд китайской кухни. Между соседями лежит одна палочка для еды. Однако для приема китайской пищи необходимо две палочки, следовательно, каждый мудрец должен взять палочку слева и палочку справа: проблема, конечно, заключается в том, что если все мудрецы возьмут палочки слева и затем будут ждать, когда освободятся палочки с правой стороны, то они будут ждать вечно и умрут от голода (состояние тупика).


Рис.1. Задача об обедающих мудрецах

    На рисунке 1 показано решение этой задачи с помощью сети Петри. Позиции C1, C2, ..., C5 представляют палочки для еды, и так как каждая из них первоначально свободна, то в начальной маркировке в каждой из этих позиций имеется фишка. Каждый мудрец представлен двумя позициями Mi и Ei для состояний размышления и принятия пищи соответственно. Для того, чтобы мудрец перешел из состояния размышления в состояние принятия пищи, обе палочки (слева и справа) должны быть свободны. Это легко моделируется сетью Петри.

    На следующем шаге мы рассмотрим задачу о чтении/записи.




Предыдущий шаг Содержание Следующий шаг