2024-01-26 13:20:09
This commit is contained in:
		
							
								
								
									
										12
									
								
								.obsidian/workspace.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.obsidian/workspace.json
									
									
									
									
										vendored
									
									
								
							| @@ -13,7 +13,7 @@ | ||||
|             "state": { | ||||
|               "type": "markdown", | ||||
|               "state": { | ||||
|                 "file": "UNB/Year 4/Semester 2/CS3873/2024-01-26.md", | ||||
|                 "file": "UNB/Year 4/Semester 2/CS2333/2024-01-26.md", | ||||
|                 "mode": "source", | ||||
|                 "source": false | ||||
|               } | ||||
| @@ -85,7 +85,7 @@ | ||||
|             "state": { | ||||
|               "type": "backlink", | ||||
|               "state": { | ||||
|                 "file": "UNB/Year 4/Semester 2/CS3873/2024-01-26.md", | ||||
|                 "file": "UNB/Year 4/Semester 2/CS2333/2024-01-26.md", | ||||
|                 "collapseAll": false, | ||||
|                 "extraContext": false, | ||||
|                 "sortOrder": "alphabetical", | ||||
| @@ -102,7 +102,7 @@ | ||||
|             "state": { | ||||
|               "type": "outgoing-link", | ||||
|               "state": { | ||||
|                 "file": "UNB/Year 4/Semester 2/CS3873/2024-01-26.md", | ||||
|                 "file": "UNB/Year 4/Semester 2/CS2333/2024-01-26.md", | ||||
|                 "linksCollapsed": false, | ||||
|                 "unlinkedCollapsed": true | ||||
|               } | ||||
| @@ -125,7 +125,7 @@ | ||||
|             "state": { | ||||
|               "type": "outline", | ||||
|               "state": { | ||||
|                 "file": "UNB/Year 4/Semester 2/CS3873/2024-01-26.md" | ||||
|                 "file": "UNB/Year 4/Semester 2/CS2333/2024-01-26.md" | ||||
|               } | ||||
|             } | ||||
|           }, | ||||
| @@ -158,8 +158,9 @@ | ||||
|   }, | ||||
|   "active": "64b233ae6a058454", | ||||
|   "lastOpenFiles": [ | ||||
|     "UNB/Year 4/Semester 2/STAT2593/2024-01-26.md", | ||||
|     "UNB/Year 4/Semester 2/CS3873/2024-01-26.md", | ||||
|     "UNB/Year 4/Semester 2/CS2333/2024-01-26.md", | ||||
|     "UNB/Year 4/Semester 2/STAT2593/2024-01-26.md", | ||||
|     "UNB/Year 4/Semester 2/CS2333/2024-01-22.md", | ||||
|     "UNB/Year 4/Semester 2/CS2333/2024-01-24.md", | ||||
|     "UNB/Year 4/Semester 2/CS3873/2024-01-24.md", | ||||
| @@ -190,7 +191,6 @@ | ||||
|     "Semester 2/CS3873", | ||||
|     "Semester 1/CS3418/11-27-2023.md", | ||||
|     "Semester 1/CS3418/11-24-2023.md", | ||||
|     "Semester 1/CS3418/11-15-2023.md", | ||||
|     "Semester 1/CS2418", | ||||
|     "Semester 1/CS3418" | ||||
|   ] | ||||
|   | ||||
							
								
								
									
										85
									
								
								UNB/Year 4/Semester 2/CS2333/2024-01-26.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								UNB/Year 4/Semester 2/CS2333/2024-01-26.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,85 @@ | ||||
| # Finite Automata | ||||
| Simple machines that take in strings (sequences of symbols) as input and recognize whether or note each input string satisfies some condition(s) | ||||
|  | ||||
| Finite automata use states to keep track of important information about symbols | ||||
|  | ||||
| ## Mathematical definition of a finite automaton | ||||
| $M = (Q, \sum, \delta, q, F)$ | ||||
| - $Q$ is a finite set of states | ||||
| - $\sum$ is a finite set of input symbols called the input alphabet | ||||
| - $\delta$ is the transition function | ||||
| 	- Takes every pair consisting of a state and an input smbol and returns the next state, this tells us everything we need to know about what the machine does in one computation step | ||||
| - $q \in Q$ is the start state | ||||
| - $F \subseteq Q$ is the set of accept states | ||||
|  | ||||
| ## Acceptance by a finite automaton | ||||
| Let M be a finite automaton | ||||
| Let $w = w_1, w_2, ..., w_n$ be n input string over \sum | ||||
| As input string w is process by $M$, define the sequence of visited states $r_0, r_1, ..., r_n$ as follows: | ||||
| - $r_0 = q$ | ||||
| - $\forall i = 0,1, ... n-1, r_{i+1} = \delta(r_i, w_{i+1})$ | ||||
| If $r_n \in F$ then $M$ accepts $w$, otherwise $M$ rejects $w$ | ||||
|  | ||||
| Note: The empty string $\epsilon$ has length $0$, it is accepted by $M$ if any only if the start state is an accept state | ||||
|  | ||||
| For a given finite automaton $M$, the set of stings accepted by $M$ is the language of $M$ and is denoted $L(M)$ | ||||
|  | ||||
| A language $A$ is called regular if there exists a finite automaton $M$ such that $A = L(M)$ | ||||
|  | ||||
| ## Example of finite automata | ||||
| A finite automation $M_1$ that accepts | ||||
| $$\{w \in \{0,1\}^* \ | \ n_1(w) \geq 2\}$$ | ||||
| (State diagram on board) | ||||
| A is the start sate and C is the accept state | ||||
| A -> B (On 1) | ||||
| B -> C (On 1) | ||||
| A -> A (On 0) | ||||
| B -> B (On 0) | ||||
| C -> C (On 0, 1) | ||||
|  | ||||
| A: we have seen no ones yet | ||||
| B: we have seen exactly one 1 | ||||
| C: we have seen two ore more 1's | ||||
|  | ||||
| ## Example 2 of finite automata | ||||
| A finite automation $M_2$ that accepts | ||||
| $$\{w \in \{0,1\}^* \ | \ n_1(w) = 2\}$$ | ||||
| (State diagram on board) | ||||
| A is the start state and C is the accept state | ||||
| A -> B (On 1) | ||||
| B -> C (On 1) | ||||
| C -> D (On 1) | ||||
| A -> A (On 0) | ||||
| B -> B (On 0) | ||||
| C -> C (On 0) | ||||
| D -> D (On 0, 1) | ||||
|  | ||||
| Note: D is an example of a dead state, in which you cannot escape after | ||||
|  | ||||
| ## Example 3 of finite automata | ||||
| A finite automation $M_3$ that accepts | ||||
| $$\{w \in \{a,b\}^* \ | \ \text{w starts with abb}\}$$ | ||||
| (State diagram on board) | ||||
| A is the start state and D is the accept state | ||||
| A -> B (On a) | ||||
| B -> C (On b) | ||||
| C -> D (On b) | ||||
| D -> D (On a, b) | ||||
| A -> X (On b) | ||||
| B -> X (On a) | ||||
| C -> X (On a) | ||||
| X -> X (On a ,b) | ||||
|  | ||||
| ## Example 4 of finite automata | ||||
| A finite automation $M_4$ that accepts | ||||
| (Didn't catch the definition) | ||||
| $$\{w \in \{0,1\}^* \ | \ n_1(w) = 2\}$$ | ||||
| (State diagram on board) | ||||
| A is the start state and D is the accept state | ||||
|  | ||||
| (state transitions would go here) | ||||
|  | ||||
| A: the most recent symbol was 1 or we have seen no symbols | ||||
| B: the last symbol was 0, but we have noon seen 010 yet | ||||
| C: the last two symbols were 01, but we have not seen 010 | ||||
| D: we have seen the pattern 010 | ||||
		Reference in New Issue
	
	Block a user