トランジション グラフを最小化するプログラムを作成しようとしています (基本的には状態と同様の数値を組み合わせています)。基本的に、アルゴリズムは、最初に同じ 'a' と 'b' の入力を持つ状態を見つけて結合し、それらを '残り物' リストから削除してから、'a' または 'b' のいずれかを持つ状態を見つけて結合します。
次に例を示します。
Initial TG:
final state is state 1
State Input a Input b
[0] [3] [1]
[1] [1] [4]
[2] [3] [1]
[3] [6] [3]
[4] [2] [7]
[5] [1] [3]
[6] [2] [5]
[7] [1] [3]
final state leftover
[ 1 ] [ 0 2 3 4 5 6 7 ]
final state same a,b leftover
[ 1 ] [ 0 2 ] [ 3 4 5 6 7 ]
final state same a,b same a,b leftover
[ 1 ] [ 0 2 ] [5 7 ] [ 3 4 6 ]
final state same a,b same a,b same a leftover
[ 1 ] [ 0 2 ] [ 5 7 ] [ 4 6 ] [ 3 ]
The Final Minimized TG is now:
State Input a Input b
[0,2] [3] [1]
[1] [1] [4,6]
[3] [4,6] [3]
[4,6] [0,2] [5,7]
[5,7] [1] [3]
私が直面している問題は、特定の遷移グラフの状態の量に応じて任意の数の組み合わせが存在する可能性があるため、配列をどのように/何をするかを知ることです。これをコーディングする方法についてのアイデアや、すべてを処理する方法についてのアドバイスはありますか?
乾杯