다이크어

Dyck language
길이 8 [ 및 ]의 14 Dyck 단어의 격자(Lattice)위아래로 해석된다.

컴퓨터 과학, 수학, 언어학형식 언어 이론에서 Dyck 단어는 대괄호 [와 ]의 균형 잡힌 문자열이다.Dyck 단어 집합은 Dyck 언어를 형성한다.

Dyck 단어와 언어는 수학자 Walther von Dyck의 이름을 따서 명명되었다.그들은 산술적 또는 대수적 표현식과 같이 대괄호 서열이 정확하게 중첩되어야 하는 표현식의 파싱에 응용이 있다.

형식 정의

={[ ,} 을(를) 기호 [ 및 ]로 구성되도록 한다.클라인 폐쇄를 나타낸다.Dyck 언어는 다음과 같이 정의된다.

문맥 없는 문법

어떤 상황에서는 문맥이 없는 문법을 통해 Dyck 언어를 정의하는 것이 도움이 될 수 있다.Dyck 언어는 단일 비단어 S로 문맥이 없는 문법에 의해 생성되며, 생산은 다음과 같다.

Sε "[" S "]" S

즉, S는 빈 문자열(ε)이거나 "[], Dyck 언어의 요소, 일치하는 "], 그리고 Dyck 언어의 요소 중 하나이다.

Dyck 언어에 대한 대체 문맥 없는 문법은 제작에 의해 제공된다.

S → ("["S "]")*

즉, S는 Dyck 언어의 요소인 "[]와 일치하는 "]의 조합으로 0 이상 발생하며, 여기서 생산 우측에 있는 Dyck 언어의 복수 요소들은 서로 자유롭게 차이가 난다.

대체 정의

다른 맥락에서 을(를) 다음과 같이 동등성 등급으로 분할하여 Dyck 언어를 정의하는 것이 도움이 될 수 있다.For any element of length , we define partial functions and { \ by:

, ) {j)}은(는) {\) j 위치에 삽입된 j} 입니다.
, ) 은(는) "[] {\이( j {\displaystyle 위치에서 삭제된 {\ j} 입니다.

만약 j>;− 2{\displaystyle j&gt입니다;-2}. 우리는 동치 관계를 정의하는}⁡(u, j){\displaystyle \operatorname{삽입}(u,j)을 이해로 j을에;{\displaystyle j>,마}과 ⁡(u, j){\displaystyle \operatorname{삭제}(u,j)삭제}확실하지 않은 것 정의되지 않습니다. R{\di on as follows: for elements we have if and only if there exists a sequence of zero or more applications of the and 함수는 에서 하여 b 로 끝나는 함수제로 연산 순서가 허용된다는 은 R R}의 반사율을 설명한다는 것이다.대칭성은 문자열에 대한 의 응용 순서는 된 응용 순서의 유한 순서에 따라 취소할 수 있다는 관측에서 비롯된다}. transitability는 정의에서 분명히 알 수 있다.

동등성 관계는 언어 을 동등성 클래스로 분할한다.빈 문자열을 나타내기 위해 을(를) 선택하면 동등성 클래스 ( )에 해당하는 언어를 Dyck 언어라고 한다.

특성.

  • Dyck 언어는 concertation의 작동으로 폐쇄된다.
  • 을(를) 연결 상태에서 대수적 단조로이드 처리함으로써 우리는 모노이드 구조가 / R의 지수로 전달되어 Dyck 언어구문 단조로 된 것을 알 수 있다. ( ) 클래스는 로 표시된다
  • The syntactic monoid of the Dyck language is not commutative: if and then .
  • 위의 표기법으로 = } 그러나 v v은(는) / R 에서 변환할수 없다.
  • Dyck 언어의 통사적 모노이드는 위에서 설명한 ([) { (]) 의 속성으로 인해 자전거 세미그룹에 이형이다.
  • 촘스키-슈첸베르거 표현 정리에 의해, 어떤 문맥 없는 언어는 하나 이상의 괄호 쌍에 Dyck 언어와 어떤 정규 언어의 교차점에 대한 동형상이다.[1]
  • 두 가지 뚜렷한 유형의 괄호를 가진 Dyck 언어는 복잡도 등급 에서 인식할 수 있다[2]
  • 괄호 쌍과 k 가장 안쪽 쌍(viz. 하위 문자열[ {\ 이 정확히 n쌍인 Dyck 단어의 수는 Narayana 번호 , ) 이다
  • 괄호 쌍이 정확히 n개인 고유 Dyck 단어의 수는 n번째 카탈로니아 n 이다 n 괄호 쌍이 있는 단어의 Dyck 언어는 앞의 p에서 정의한 바와 같이, 가능한 모든 k에 걸쳐 k개의 가장 안쪽 쌍과 n 괄호 쌍이 있는 단어의 Dyck 언어의 조합과 같다.연고. k는 0에서 n까지 범위가 가능하기 때문에, 우리는 다음과 같은 평등을 얻는데, 이것은 정말로 중요하다.

We can define an equivalence relation on the Dyck language . For we have if and only if , i.e. ( v {\의 길이는 같다.This relation partitions the Dyck language: . We have where . Note that is empty for odd .

길이 의 Dyck 을 소개한 후에 우리는 그것들에 대한 관계를 소개할 수 있다.For every we define a relation on ; for we have if and only if 은(는) 일련의 적절한 스왑을 통해 에서 연결할 수 있다. 단어의 적절한 스왑은 '[]'과 ']의 발생을 스왑한다. 대해 관계 {\부분적으로 정렬된 세트로 만든다.관계 {\는 적절한 스왑의 빈 시퀀스가 걸리기 때문에 반사적이다. {\을(를 시퀀스 와 연결함으로써v {\ 이르는 적절한 스왑 시퀀스를 확장할 수 있기 때문에 transitivity가 따른다 에서 하는 적절한 스왑 대칭성이라는 것을 확인하기 위해 보조 함수 : n → 를 도입한다. 화살표 모든 접두사 에 대한 합으로 정의됨

다음 표는 적절한 스왑에 관해서 엄격히 단조롭다는 것을 보여준다.

의 엄격한 단조함
일부 합계 ()
] [
[ ]
일부 합계 ( )
부분합계차이 0 2 0 0

가 끝난 뒤 너 ′{\displaystyle 너의}에 너{\displaystyle u}을 고려한 적정 스왑은 이제 만약 우리들이 둘 다(으로 가정하는 따라서σ n=2을(u);0{\displaystyle \sigma_{n}(너의)-\sigma _ᆱ(u)=2>. 0}일 경우 그렇게σ n(u)<>σ n(u′){\displaystyle \sigma_{n}(u)<, \sigma _ᆳ(너의)}.σ n−(u′). u, v=,( , )S v 그러면 v 과 같은 적절한 스왑의 빈 시퀀스가 포함되며 그 반대의 경우도 있다.그러나 그 다음 )< ) (는) 터무니없는 말이다.(, ) , ) (이(가 모두 {\ S_{n}에 있을 때마다 = v u= 대칭적이다.

부분 순서 집합 를 [위로, ]을(를) 아래로 해석하면 소개에 수반되는 그림에 표시된다.

일반화

알파벳 "(), "), "," ", "," 그리고 "]와 같은 다중 구분 기호를 가진 Dyck 언어의 변형들이 존재한다.이러한 언어의 단어는 모든 구분 기호에 대해 잘 키워드화된 단어들이다. 즉, 단어를 왼쪽에서 오른쪽으로 읽을 수 있고, 모든 구분 기호를 스택에 밀어 넣을 수 있으며, 닫는 구분 기호에 도달할 때마다 스택의 맨 위에서 일치하는 구분 기호를 터뜨릴 수 있어야 한다.

참고 항목

메모들

  1. ^ 캄비테스, 대수학 제37권 제1호(2009) 193-208
  2. ^ Barrington 및 Corbett, 정보 처리 편지 32 (1989) 251-256

참조