非決定関数のシミュレーションはバックトラック実行で
多数のプロセスを富豪的に使うプログラミングでは同時並行実行を考え、失敗したプロセスは放置する。が、単一または少数プロセスでの実行では「刺さったまま」ではなくて、「ダメなら戻ってやり直し」が望ましいし、直感的に理解しやすい。
すなわち、プロセス(エージェント)はシーケンシャルにバックトラック実行する。行き詰まり(失敗)で死んだり凍結したりしないで、やり直しによるベストエフォート実行をする。
バックトラック実行の記録(ログ、トレース、軌道)では、バックトラックの記録はオフィシャル記録から削除される。結果的に、失敗は起きなかったように見える。