[형식언어] 유한 오토마타의 닫힘 성질

2025. 9. 22. 21:02·CS/형식언어

유한 오토마타의 닫힘 성질

먼저 유한 오토마타의 닫힘 성질에 대한 정리를 살펴보자. 만약 L1, L2가 정규 언어라면, L1 ∪ L2, L1 ·L2, L1*은 정규 언어이다. 즉, 정규 언어는 합집합, 접속, 클로저에 대해 닫혀있다. 정규 언어의 합집합은 간단하게 두 문법의 Product rule을 합쳐주어 두 정규 언어를 합집합 연산 할 수 있다. 

 

 P1: S1 -> 0S1    S1 -> 0, P2: S2 -> 1S2    S2 -> 1의 두 문법이 생성하는 언어의 합집합을 구해보자. 위 정리에서 정규 언어의 합집합은 두 문법의 생성 규칙을 합쳐주면 된다고 하였으니, 합집합에 대한 생성 규칙 P는 P1 ∪ P2 ∪ {S -> S1 | S2}로 다음과 같다.

P: S -> S1    S -> S2    S1 -> 0S1    S1 -> 0    S2 -> 1S2    S2 -> 1

 

이것을 다음과 같이 바꿀 수 있다.

S -> 0S1 | 0 | 1S2 | 1,     S1 -> 0S1 | 0,    S2 -> 1S2 | 1.

 

접속 연산은 한 오토마타의 종결 상태를 다른 오토마타의 시작 상태로 간주하면 된다. 이것은 아래 예시를 보며 살펴보자.

 M1 오토마타의 종결 상태 B에 대해 M1 오토마타의 종결 상태 B에서 심볼을 본 상태와 접속할 오토마타 M2의 시작 심볼 X에서 심볼을 본 상태를 합집합한다. 즉, B와 X에서 입력 심볼 0을 보고 갈 수 있는 상태와 입력 심볼 1을 보고 갈 수 있는 상태를 추가하면 된다. 상태 B에서 입력 심볼 0을 보고 도달할 수 있는 상태는 없고, M2의 상태 X에서 심볼 0을 보고 종결 상태 Y로 이동할 수 있다. 따라서 상태 B에서 입력 심볼 0을 보고 상태 Y로 이동할 수 있도록 지시선을 추가해 준다. 상태 B에서 입력 심볼 1을 보고서는 상태 B로, 상태 Y에서 입력 심볼 1을 보고 종결 상태 Y로 이동할 수 있다. 따라서 이 경우도 추가해주면 가장 아래처럼 M1 · M2 오토마타가 된다.

'CS > 형식언어' 카테고리의 다른 글

[형식언어] 어휘분석 - 토큰과 정규 표현  (0) 2026.01.02
[형식언어] DFA의 상태수 최소화  (0) 2025.09.22
[형식언어] NFA의 DFA 변환  (0) 2025.08.27
[형식언어] 비결정적 유한 오토마타  (1) 2025.08.25
[형식언어] 결정적 유한 오토마타  (2) 2025.07.29
'CS/형식언어' 카테고리의 다른 글
  • [형식언어] 어휘분석 - 토큰과 정규 표현
  • [형식언어] DFA의 상태수 최소화
  • [형식언어] NFA의 DFA 변환
  • [형식언어] 비결정적 유한 오토마타
hyeon0117
hyeon0117
컴공으로 살아남기
  • hyeon0117
    컴공 생활기
    hyeon0117
  • 전체
    오늘
    어제
    • 분류 전체보기 (96)
      • Algorithm (6)
      • PS (36)
        • Solve (36)
      • CS (53)
        • 객체지향설계 & 패턴 (13)
        • 디자인패턴 with Unity (3)
        • COLMAP (2)
        • 인공지능 & 머신러닝 (3)
        • 프로그래밍 언어론 (19)
        • 형식언어 (12)
        • 운영체제 (1)
      • 게임 분석 (1)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    그래프 탐색
    DFA
    최단 경로
    프로그래밍 언어론
    java
    컴파일러
    NFA
    깊이 우선 탐색
    알고리즘
    객체지향
    형식언어
    너비 우선 탐색
    디자인 패턴
    백준
    BFS
    자료구조
    형식언어론
    위상정렬
    BOJ
    객체지향설계
    디자인패턴
    객체지향언어
    의미론
    그리디 알고리즘
    위상 정렬
    머신러닝
    유한 오토마타
    PLT
    CS
    PS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
hyeon0117
[형식언어] 유한 오토마타의 닫힘 성질
상단으로

티스토리툴바