1
我想設計一個DFA密碼認爲有以下限制:DFA代表密碼
- 它必須是8個字符長
- 它必須包含至少兩個小寫字符:
[a-z]
- 它必須包含至少一個大寫字符:
[A-Z]
- 它必須包含至少兩個十進制數:
[0-9]
- 它必須包含至少一個這些特殊字符:
[[email protected]*_]
- 它必須以特殊字符
如何設計這個DFA開始?
我想設計一個DFA密碼認爲有以下限制:DFA代表密碼
[a-z]
[A-Z]
[0-9]
[[email protected]*_]
如何設計這個DFA開始?
任何DFA這種語言需要記住至少
這給了你至少18個州的最低限度,這甚至不考慮長度限制。我認爲您不會爲此語言找到簡單的DFA。它會變得很大。
現在,您可以通過針對每個限制構建一個DFA(這些都不是太糟糕),然後執行多方面的產品構建以構建針對整體語言的DFA,從而構建DFA,該DFA非常簡單但很龐大。我認爲這是做這件事最理想的優雅方式,用軟件來表達它實際上很容易。如果我必須實際構建DFA,那麼我就是這麼做的。
你能告訴我一個簡單的例子嗎? –
這將是一個非常大的DFA ... –
這就是要點,有什麼辦法可以最小化它嗎? –