Reteアルゴリズム
一回のパターンマッチングサイクルで、エンジンはワーキングメモリ上の事実群からあらゆるマッチングを見つけ出す。発見されたマッチングによって、あるプロダクションが活性化し、それがアジェンダに書き込まれると、エンジンはアジェンダ内でどのプロダクションを発火させるかを決める。これを「衝突の解決; conflict resolution」と呼び、アジェンダ上のプロダクションの右辺群を「衝突集合; conflict set」と呼ぶ。その順序は、ルールの優先順位、そのプロダクションにマッチした事実群の発生時刻、プロダクションの複雑さなどで決められる。開発者がいくつかの衝突解決方法から選択できるようになっている場合や、いくつかの選択方法を順次適用する場合などがある。
衝突の解決は Reteアルゴリズムの一部ではないが、Reteアルゴリズムと組み合わせて使われている。一部の特殊なプロダクションシステムは衝突の解決を行わない。