連続系シミュレーション

連続系シミュレーションで。
田の字型の部屋があり、各部屋1人ずつ入っている。時計回りに移動することを考える。 1部屋には同時に1人しか入れない。1人ずつ動かそうとすると動かない。同時なら動く。
どのようにモデル化するか。
ユニットごとに処理済みかどうかのフラグを用意する。全ユニットを未処理にする。(*)各ユニットが移動可能かどうか自明ならば処理する。
残りの未処理ユニットから1つ取り出し、移動する。再帰的に処理(*から開始)し、矛盾が出たら、移動しないで処理済とする。これを繰り返す。