Finite Automaton의 각 State에서 Accept State까지 갈 수 있는 String의 집합을 변수로 두면 Language Equation을 만들 수 있다. Arden’s Theorem은 반복 구조가 포함된 이 방정식을 푸는 도구이다.

Theorem

Language , , 미지 Language 에 대해

이고 이면 유일한 해는

이다.

오른쪽 반복이 나타나는 형태

의 해는

이다.

인가

식에 반복 대입해 본다.

계속 반복하면

가 된다. 반복 부분을 모두 모으면

이다.

조건

이면 를 만족하는 해가 여러 개일 수 있다. 예를 들어 , 이면 방정식은 가 되어 모든 Language가 해이다. 따라서 유일성을 위해 조건이 필요하다.

State Equation 작성법

DFA의 각 State 에 대해 변수 를 둔다. 는 State 에서 시작하여 Accept State에 도달하게 하는 String의 Language이다.

State 에서 Symbol 로 간다면 가 식에 포함된다. 자체가 Accept State라면 도 포함한다.

예제

두 State , 이 있고

  • 에서 0은 , 1은 로 이동한다.
  • 에서 0과 1은 모두 에 남는다.
  • 이 Accept State이다.

State Equation은

이다.

두 번째 식에 Arden’s Theorem을 적용하면

이다. 첫 번째 식은

이므로

이다. 이는 적어도 하나의 1을 포함하는 Binary String의 Language이다.

다른 변환 방법

  • Thompson Construction은 RE를 ε-NFA로 바꾼다.
  • Subset Construction은 NFA를 DFA로 바꾼다.
  • State Elimination은 Automaton을 Generalized NFA로 보고 State를 제거해 RE를 구한다.
  • Arden’s Theorem은 State Equation을 대수적으로 해결한다.

정리

  • Arden’s Theorem은 꼴의 Language Equation을 푼다.
  • 이면 유일한 해는 이다.
  • Automaton의 State마다 Accept까지의 Language를 변수로 두면 RE를 계산할 수 있다.

연습 문제

1번

다음 Language Equation을 푼다.

2번

다음 연립 Language Equation을 순서대로 해결한다.

풀이

1번

이므로 Arden’s Theorem을 적용한다.

2번

먼저

이다. 이를 첫 식에 대입하면

이므로

이다.