강의/Theory of Computation 9

PDA 1

📌 PDA for the Language L = a*1️⃣ 문제 정의주어진 언어는 L = a*이며, 이는 공백 문자열 (ε)을 포함하여 0개 이상의 'a'로 이루어진 문자열을 포함하는 정규 언어입니다.✔️ 유효한 문자열 예시:{ ε, a, aa, aaa, aaaa, ... }✔️ 이 언어의 특징:'a'를 여러 개 포함할 수 있습니다.스택을 사용할 필요 없이 상태 전이만으로 인식할 수 있습니다.2️⃣ PDA의 동작 원리이 PDA는 주어진 문자열이 'a'로만 이루어졌는지 확인하는 역할을 합니다.📢 핵심 원리:문자열이 공백일 경우 (ε), 즉 아무 입력이 없더라도 수락 상태로 이동 가능합니다.문자 'a'를 받을 경우, 상태를 유지하며 다음 문자를 읽습니다.PDA에서 스택을 활용하지 않고 상태 전이만으로 문..

Regular Expressions: Creating Binary String Patterns

정규 표현식(Regular Expression) - 시작이 10인 이진 문자열1. 문제 정의주어진 언어 ( L )은 "10"으로 시작하는 모든 이진 문자열입니다.즉, 첫 두 자리가 반드시 "10"이어야 하며, 이후에는 0과 1이 자유롭게 조합될 수 있습니다.이를 정규 표현식으로 표현해 보겠습니다.2. 정규 표현식의 구성(1) "10"으로 시작하는 문자열첫 두 자리가 "10"으로 고정되어 있어야 하므로, 표현식의 시작은 다음과 같습니다.10(2) "10" 이후의 문자열"10" 뒤에는 0과 1이 자유롭게 조합될 수 있으므로, 클레이니 스타(Kleene Star, *)를 사용합니다.(0|1)*이 표현식은 0과 1이 반복될 수 있음을 의미합니다.3. 최종 정규 표현식위 두 부분을 결합하면 최종 정규 표현식이 완..

Complementation of Regular Language: DFA 변환 원리

Complementation of Regular Language 요약 및 정리1. 개요정규 언어(Regular Language)의 여집합(Complementation)은 주어진 정규 언어에서 해당 언어에 속하지 않는 모든 문자열을 포함하는 언어를 의미한다. 즉, 어떤 DFA(Deterministic Finite Automaton)가 특정 언어 L을 인식한다고 할 때, 해당 DFA의 수락 상태(Accepting States)와 비수락 상태(Non-Accepting States)를 뒤바꾸면 L^c (언어 L의 여집합)를 인식하는 DFA를 만들 수 있다.2. 정규 언어의 여집합 특성정규 언어는 여집합을 취해도 정규 언어이다.즉, 만약 언어 L이 정규 언어라면, 그 여집합 L^c도 정규 언어이다.DFA를 이용해..

NFA to DFA Conversion: Subset Construction

이제 주어진 NFA(비결정론적 유한 오토마타)를 DFA(결정론적 유한 오토마타)로 변환하는 방법을 살펴보겠습니다.때때로 DFA를 직접 구성하는 것보다 NFA를 먼저 만들고 나서 이를 DFA로 변환하는 것이 더 나은 접근 방식이 될 수 있습니다. 그래서 우리는 먼저 NFA를 만들고, 이후에 DFA로 변환하는 과정을 진행할 것입니다.이제 변환 과정이 얼마나 간단한지 살펴보겠습니다.주어진 NFA는 상태 집합, 입력 알파벳(예: ε 포함 가능), 전이 함수, 그리고 NFA의 최종 상태(accepting states) 등으로 정의됩니다.이러한 NFA를 등가적인 DFA로 변환하는 것이 우리의 목표입니다.그렇다면 변환 방법을 알아보겠습니다.NFA를 DFA로 변환하는 과정은 몇 가지 단계로 이루어지며, 이를 이해하기 ..

Non-Deterministic PushDown Automata (NFA)

요약 및 정리: 비결정적 유한 자동자(NFA, Non-deterministic Finite Automaton)1. NFA의 개념NFA(비결정적 유한 자동자)는 DFA(결정적 유한 자동자)와 유사하지만 각 입력 기호에 대해 여러 개의 가능한 상태 전이가 존재할 수 있음.특정 입력에서 0개 이상의 상태로 전이할 수 있음. (즉, 특정 입력에 대해 전이가 없을 수도 있고, 하나 이상의 상태로 이동할 수도 있음)2. NFA의 정의NFA는 5개의 요소(Q, Σ, δ, q₀, F) 로 정의됨:Q (상태 집합): 자동자가 가질 수 있는 모든 상태.Σ (입력 알파벳): 허용되는 입력 기호 집합.δ (전이 함수): 현재 상태와 입력 기호에 따라 다음 상태를 결정 (0개 이상의 상태로 전이 가능).q₀ (초기 상태): 시..

Construction of Minimal DFA Examples

1. 문제의 개요이 문제는 짝수 개의 1을 포함하는 문자열을 인식하는 DFA(Deterministic Finite Automaton, 결정적 유한 자동자)를 구성하는 과정에 대한 설명이다. 주어진 언어를 분석하여 규칙을 찾고, 이를 수학적으로 모델링한 후, DFA를 통해 인식 가능한 형태로 변환하는 것이 목표이다.2. 언어의 패턴 분석주어진 언어는 짝수 개의 1을 포함하는 모든 문자열을 포함한다.이를 분석하기 위해 몇 가지 예제 문자열을 살펴보면 다음과 같다.문자열길이포함 여부ε (빈 문자열)0✔ (짝수 개)11✘ (홀수 개)112✔ (짝수 개)1113✘ (홀수 개)11114✔ (짝수 개)1013✘ (홀수 개)11004✔ (짝수 개)이 패턴을 통해 1의 개수가 짝수일 때만 수락하는 DFA를 설계할 수 있..

Construct Minimal DFA

결정적 유한 자동자(DFA)의 정의DFA는 5개의 요소(Q, Σ, δ, q₀, F)로 구성된 수학적 시스템이다:Q (상태 집합): 자동자가 가질 수 있는 모든 상태.Σ (입력 알파벳): 허용되는 입력 기호 집합.δ (전이 함수): 현재 상태와 입력 기호에 따라 다음 상태를 결정.q₀ (초기 상태): 시작 상태.F (수락 상태): 입력을 수락하는 상태 집합.DFA의 동작 원리초기 상태(q₀)에서 시작하여, 입력 문자열의 각 기호를 δ에 따라 처리하면서 상태를 전이.모든 입력을 처리한 후, 최종 상태가 F에 포함되면 문자열을 수락.전이 함수의 특징DFA에서 모든 상태(Q)와 모든 입력 심볼(Σ)에 대해 정확히 하나의 전이가 정의되어야 함.이는 DFA가 결정적임을 보장하며, 모든 입력에 대해 정확히 한 경로만..

TOC Fundamentals, Regular Languages

알파벳알파벳(Σ): 문자열을 구성하는 기본 기호 집합으로, 항상 유한하고 비어 있지 않아야 함.예시: 영어 알파벳(52개), 이진 숫자(0, 1) 등.형식 언어: 알파벳에서 생성되는 문자열의 집합으로, 규칙(문법)에 따라 정의됨.ASCII 코드: 컴퓨터가 문자를 처리하기 위해 사용하는 숫자 코드 체계.의의: 형식 언어와 알파벳은 계산 이론에서 언어와 오토마타를 다룰 때 기본적으로 사용됨.문자열문자열(String): 알파벳(기호 집합)에서 기호들을 순서대로 배열한 것.예: 알파벳 {0, 1} → 문자열 0, 01, 1010 등.문자열의 길이: 문자열에 포함된 기호의 개수.예: 011의 길이 = 3, 빈 문자열(ε)의 길이 = 0.빈 문자열(ε):기호가 전혀 포함되지 않은 문자열.빈 문자열은 **ε(엡실론)..

Introduction

형식 언어란?형식 언어는 문자열의 집합으로, 이를 생성하거나 구분하기 위한 **규칙(문법)**에 의해 정의됩니다. 계산 이론에서는 형식 언어가 언어의 구조를 수학적으로 분석하고 처리하는 데 사용됩니다.계산 이론에서 형식 언어의 종류정규 언어문법: 정규 문법 (Type-3)오토마타: 유한 자동화기 (FA)문맥 자유 언어문법: 문맥 자유 문법 (Type-2)오토마타: 푸시다운 자동화기 (PDA)문맥 민감 언어문법: 문맥 민감 문법 (Type-1)오토마타: 선형 제한 자동화기 (LBA)재귀 열거 언어문법: 재귀 열거 문법 (Type-0)오토마타: 튜링 기계 (TM)문법문법은 규칙들의 모음으로, 형식 언어에서 문자열을 생성하거나 해석하는 데 사용됩니다. 문법은 다음과 같은 요소로 구성됩니다:터미널(Termina..