Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
lfa:lab06-mindfa [2021/11/03 11:26] pdmatei created |
lfa:lab06-mindfa [2021/11/04 15:34] (current) pdmatei |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Minimal DFAs ====== | + | ====== 6. Minimal DFAs ====== |
- | ===== Equivalence between states ===== | + | ===== 6.1. Equivalence between states ===== |
+ | |||
+ | Consider the following DFA: | ||
+ | |||
+ | ---- | ||
+ | |||
+ | {{ :lfa:screenshot_2021-11-03_at_11.25.00.png?400 |}} | ||
+ | ---- | ||
+ | |||
+ | |||
+ | |||
+ | 6.1.1. Identify a pair of states which are **indistinguishable**. | ||
+ | |||
+ | 6.1.2. Identify a pair of final or non-final states which are **distinguishable**. The pair must be distinguished by a word different from the empty word. | ||
+ | |||
+ | 6.1.3. Compute the table of indistinguishable states for the previous DFA. | ||
+ | |||
+ | ===== 6.2. Minimisation ====== | ||
+ | |||
+ | 6.2.1. Minimise the previous DFA. | ||
+ | |||
+ | 6.2.2. Determine if the following regexes are **equivalent**: $math[(1\cup\epsilon)(00^*1)^*0^*] and $math[(10\cup 0)^*(01 \cup 1)^*(0 \cup \epsilon)] | ||
+ | |||
+ | 6.2.3. Write an algorithm draft for DFA minimisation. Focus on the best implementation for building states and transitions in the minimal DFA. Implement your algorithm. | ||
+ | |||
+ | ===== 6.3. DFA to Regex ====== | ||
+ | |||
+ | 6.3.1. Convert the following DFA to a Regex (using the state-elimination strategy). Hint: is it easier to apply conversion on another DFA? | ||
+ | |||
+ | {{ :lfa:screenshot_2021-11-04_at_15.33.10.png?600 |}} | ||
- | Consider the following DFA: {{:lfa:screenshot_2021-11-03_at_11.25.00.png?300 |}} |