diff --git a/README.md b/README.md index 2e3923f..378807c 100644 --- a/README.md +++ b/README.md @@ -19,17 +19,13 @@ This example ghci session converts the NFA shown on the [wikipedia article about the powerset construction](https://en.wikipedia.org/wiki/Powerset_construction) into a DFA, using the aforementioned powerset construction. -The conversion assumes that tokens other than `0` and `1` may appear -in the input. Because of this, the resulting DFA looks different from -the one on wikipedia. - ``` haskell >>> Just a = nfa [ (1,[(only "0",2)],[3]), (2,[(only "1",2),(only "1",4)],[]), (3,[(only "0",4)],[2]), (4,[(only "0",3)],[]) ] (1::Int) [3,4] >>> saveDotAsPng "nfa.png" $ nfaToDot a ``` ![](resources/conversion_example_nfa.png) ``` haskell ->>> saveDotAsPng "dfa.png" $ dfaToDot $ nfaToDfa a +>>> saveDotAsPng "dfa.png" $ dfaToDotWithTokens "01" $ nfaToDfa a ``` ![](resources/conversion_example_dfa.png) @@ -38,16 +34,12 @@ the one on wikipedia. This example ghci session minimizes the DFA shown on the [wikipedia article about DFA minimization](https://en.wikipedia.org/wiki/DFA_minimization). -Transitions for the token `1` are specified explicitly (where -necessary), while transitions for the token `0` are represented by the -default transition marked with `*`. - ``` haskell >>> Just a = dfa [ ("a",[('1',"c")],"b"), ("b",[('1',"d")],"a"), ("c",[('1',"f")],"e"), ("d",[('1',"f")],"e"), ("e",[('1',"f")],"e"), ("f",[],"f") ] "a" ["c","d","e"] ->>> saveDotAsPng "dfa.png" $ dfaToDot a +>>> saveDotAsPng "dfa.png" $ dfaToDotWithTokens "01" a ``` ![](resources/minimization_example_dfa.png) ``` haskell ->>> saveDotAsPng "dfa_minimized.png" $ dfaToDot $ minimizeDfa a +>>> saveDotAsPng "dfa_minimized.png" $ dfaToDotWithTokens "01" $ minimizeDfa a ``` ![](resources/minimization_example_dfa_minimized.png) diff --git a/resources/conversion_example_dfa.png b/resources/conversion_example_dfa.png index a05b65c..1039ba9 100644 Binary files a/resources/conversion_example_dfa.png and b/resources/conversion_example_dfa.png differ diff --git a/resources/minimization_example_dfa.png b/resources/minimization_example_dfa.png index 32eec05..ccd3f62 100644 Binary files a/resources/minimization_example_dfa.png and b/resources/minimization_example_dfa.png differ diff --git a/resources/minimization_example_dfa_minimized.png b/resources/minimization_example_dfa_minimized.png index 464f58e..1481a8d 100644 Binary files a/resources/minimization_example_dfa_minimized.png and b/resources/minimization_example_dfa_minimized.png differ