문법 계층뿐만 아니라 일반적인 언어 (문자열 집합)를 설명하는 수학적 이론을 찾고 있습니다.
문법 계층뿐만 아니라 일반적인 언어 (문자열 집합)를 설명하는 수학적 이론을 찾고 있습니다.
답변:
많은 가능성이 있습니다. 다른 사람들은 이미 풍부한 선택을 제공하는 오토마타를 언급했습니다. 다음 프레임 워크도 고려하십시오.
일부 언어는 (co) 귀납적 정의에 의해 직접 정의 될 수 있습니다 . 예를 들어, 가장 작은 수정 지점은
하나에 의해 기재된 방법과 동일한 언어(B, A는|a가)*, 최대 fixpoint 인(B|)ω. 이러한 정의는 미적분 또는추론 규칙양식으로도 작성할 수 있습니다.
단어 는 논리 공식의 모델로 사용할 수있는 단어 구조 를 정의 합니다. 본질적으로, 모든 단어는 위치의 영역을 정의 D 승 = { 1 , ... , N } , 술어 P가 : D → { 0 , 1 } 그래서 P ( I ) ⟺ 승 난 = 을 모두 ∈ Σ , 술어 < 즉 < from N제한 및 술어 SUC : D w × D w → { 0 , 1 } 에 해당하는 경우, 두 번째 파라미터는 주먹 직접 후속 경우에만.
예를 들어 w = a a b a b a a b 이면
사실이일차 식을 만족하는 모든 단어 구조들의 세트를 통해 정의 --- --- 같은 언어(B|)*. 대응하는ω언어(ba∣a)ω는LTL 공식으로설명됩니다
고전 언어 클래스와 특정 논리 사이 의 몇 가지 동등성이 알려져 있습니다. 예를 들어,FO는 별표가없는 언어,일반 언어에 대한약한MSO및ω정규 언어에 대한MSO에 해당합니다. 참조를위해여기를보십시오.
클래식 클래스와 직교하는 것은 패턴 언어 입니다. 터미널 알파벳 와 변수 알파벳 X = { x 1 , x 2 , … }로 가정 합니다. 문자열 P ∈ ( Σ ∪ X ) +는 불리며 패턴 . 하자 H = { σ | σ를 : X → Σ * } 대체 세트. 우리는 패턴의 언어 정의 페이지 등을
있습니다σ는패턴에 대한 연구로 확장; 터미널 기호는 변경되지 않습니다.
예를 들어,L(x1abbax1)={wabbaw∣w∈{a,b}∗}을 고려하십시오.
대체를 통해 변수를 삭제할 수 있습니다. 패턴 언어 클래스의 일부 속성은 삭제 대체와 삭제하지 않는 대체를 위해 크게 다릅니다. 패턴 언어는 특히 금 스타일 학습에 관심이 있습니다 .
오토마타 이론을 살펴 봐야 합니다. 그것에 대해 많은 자료가 있습니다.
예를 들어, 가장자리가 레이블 이없는 비 결정적 유한 오토 마톤 으로 일반 언어를 정의 할 수 있습니다 . 오토 마톤이 문자로 표시된 전환을 따라 최종 상태에서 멈출 수있는 경우 문자열은 언어에 속합니다.
또한, 문맥이없는 문법은 푸시 다운 오토 마톤에 의해 인식 될 수있다 .
언어를 정의하는 또 다른 방법은 Turing machine을 사용하는 것 입니다.
로부터 촘스키 계층 구조 형식 언어의 네 가지 유형이있다 (이들 각각은 이후의 것들의 부분 집합이다) :
일반 공식 언어 에 의해 설명 될 수 있습니다 :
1., 2. 및 3.는 동일하며 그중 하나에서 다른 것을 구성 할 수 있습니다.
문맥 자유 형식 언어 에 의해 설명 될 수 있습니다 :
또한 1과 2는 동일합니다.
상황에 맞는 공식 언어 에 의해 설명 될 수 있습니다 :
재귀 적으로 열거 형식 언어 에 의해 설명 될 수 있습니다 :