私はPythonでDFAを最小化するアルゴリズムを見つけようとしています。私はいくつかの例を見つけました。それらはすべてコードでクラスを持っています。今、私は.txtファイルに置かれたDFAの定義をどのように転送してそれらのクラスに入れるのか分かりません。Pythonでdfaを最小化する
- ライン:カンマで区切られた状態の集合、辞書順
- ライン命じ:カンマで区切られたアルファベット記号の集合、辞書順
- ラインを命じた:セット.txtファイルは次のようにフォーマットされています最初の状態
- および他のすべての行:フォーマット現在の状態の伝達関数、アルファベットシンボル - >次に状態
例:クラスの
dyny,fllf,gdci,gwtj,knos,kole,mjnw,msdl,mtfz,nbat,njgb,nzwx,rzpn,vcsc,zgfx
b,d,e,f,g,k,l,m,n,o,p,q,r,t,u,w
dyny,njgb,zgfx
mtfz
dyny,b->rzpn
dyny,d->msdl
dyny,e->gdci
.
.
.
例は
class DFA:
def __init__(self, states, alphabet, delta, start, accepts):
self.states = states
self.start = start
self.delta = delta
self.accepts = accepts
self.alphabet = alphabet
self.current_state = start
は、私がこれまで
f = open('definition.txt','r')
lines = f.readlines()
これまでに試したことを投稿できますか?私はこれがあなたの宿題であると仮定しています。 –
はい、宿題に似ています。私はdfaクラスと、到達可能でない状態を削除、検証、印刷するメソッドを持っています...しかし、私はクラスとそのメソッドでデータを埋める方法を教えていません... – skywlk
私はあなたの宿題を行う方法もわかりません。 )しかし、あなたが私たちにより多くの情報を与えたら、私たちはあなたを助けることができます。 –