오토마타와 형식언어 01
오토마타와 형식언어 01 DFA(결정적 유한 오토마타)
DFA(Deterministic Finite Accepter)
\[M = (Q,\Sigma, \delta, q_0, F)\]DFA
Deterministic
이므로transition function
에 따라 고정적으로 다음state
로 전이된다. 또한Accepter
이므로 yes or no를 출력한다.순서대로
\[\delta = Q \times \Sigma\]internal states
,input alphabet
,transition function
,initial state
,final states
를 의미한다.다음의 예시를 보도록 하겠다.
\[M = (\{q_0,q_1,q_2\},\{0,1\}, \delta, q_0, \{q_1\})\] \[\delta(q_0,0)=q_0,\delta(q_0,1)=q_1\] \[\delta(q_1,0)=q_0,\delta(q_1,1)=q_2\] \[\delta(q_2,0)=q_2,\delta(q_2,1)=q_1\]이러한 상황에서 101를 입력하게되면 전이 함수를 따라 이동하여 \(q_0->q_1->q_0->q_1\)
final state
에 도달하게 되고,Accepted
. 하지만 100을 입력하게되면 \(q_0->q_1->q_0->q_0\)final state
에 도달하지 못하여Rejected
.
\[\delta^*=Q \times \Sigma^*->Q\]Extended Transition Function
이것은 그냥 전이 함수에
state
와symbol
이 아닌state
와string
을 넣어서 간단하게 표현하는 것이다.다음과 같은 전이 함수가 있다면
\[\delta(q_0,a)=q_1,\delta(q_1,b)=q_2\] \[\delta^*(q_0,ab)=\delta(\delta^*(q_0,a),b)=\delta(q_1,b)=q_2\]Extended transition function
은 다음과 같이 계산된다.
\[L(M)=\{w\in\Sigma^*:\delta^*(q_0,w)\in F\}\]Language
DFA에 의해 Accept되는 모든 String의 집합이다.즉, 전이 함수를 따라 계속 다음
state
로 진행하였을 때 최종적으로final states
에 도달하게 하는 모든string
을 원소로 갖는 집합이Language
이다.
\[\overline{L(M)}=\{w\in\Sigma^*:\delta^*(q_0,w)\notin F\}\]Complement
는 다음과 같다.Trap State
: 어떠한 문자를 입력해도 그 state에서 벗어날 수 없는state
를 말한다.Regular Languages
어떠한
Launguage
에 대하여 $L=L(M)$을 만족하는DFA
가 존재한다면 그것을regular
라고 한다.