최소 힙 (또는 기타 이국적인) 상태 시스템의 기능 결정


44

최소 힙 오토마타의 정의에 대한 설명은이 게시물의 끝 부분을 참조하십시오.

상태 머신이 사용하기위한 정보를 저장하기 위해 다양한 데이터 구조를 사용하는 것을 상상할 수 있습니다. 예를 들어 푸시 다운 오토마타는 정보를 스택에 저장하고 튜링 머신은 테이프를 사용합니다. 대기열을 사용하는 상태 머신과 두 개의 다중 스택 또는 테이프를 사용하는 상태 머신은 튜링 머신의 전원과 동등한 것으로 나타났습니다.

최소 힙 머신을 상상해보십시오. 푸시 다운 오토 마톤과 동일하게 작동하지만 다음과 같은 예외가 있습니다.

  1. 힙에 추가 한 마지막 항목을 보는 대신 현재 힙에있는 가장 작은 요소 (시스템별로 순서가 정의 된 순서) 만 볼 수 있습니다.
  2. 힙에 추가 한 마지막 항목을 제거하는 대신 현재 힙에있는 가장 작은 요소 중 하나만 (시스템별로 순서가 정의 된 순서로) 제거합니다.
  3. 힙의 맨 위에 요소를 추가하는 대신 힙의 다른 요소에 따라 위치가 결정되는 힙만 요소를 추가 할 수 있습니다 (시스템별로 순서가 정의 됨).

이 기계는 힙을 사용하지 않고 모든 일반 언어를 수용 할 수 있습니다. 또한 힙에 a 를 추가 하고 b를 읽을 때 힙에서 a를 제거 하여 언어 {anbn{a,b}n0} 을 사용할 수 있습니다. 다양한 다른 문맥없는 언어를 받아 들일 수 있습니다. 그러나 예를 들어 { w { a , b } w = w R }aab{w{a,b}w=wR}(증거없이 명시). 편집 : 아니면 할 수 있습니까? 나는 그것이 할 수 있다고 생각하지 않지만, 전에 놀랐으며, 계속 나를 만들기로 가정 할 때 계속 놀랄 것입니다.

상황에 맞는 언어 나 튜링 완료 언어를 사용할 수 있습니까?

더 일반적으로,이 방향으로 어떤 연구가 추구 되었습니까? 어떤 결과가 있습니까? 또한 다른 종류의 이국적인 상태 머신, 아마도 저장을 위해 다른 데이터 구조를 사용하거나 액세스에 대한 다양한 종류의 제한 (예 : LBA가 TM을 제한하는 방식)에 관심이 있습니다. 참조가 감사합니다. 이 질문이 무지를 입증하고 있다면 미리 사과드립니다.


공식적인 정의 :

이 자료를 참조하는 질문에 대한 추가 논의를 명확히하기 위해 최소 힙 오토마타에 대한 더 자세한 정의를 여기에 제공합니다.

우리는 정의 유형 1 확정적 최소 힙 오토 마톤을 7 튜플 ...

(Q,q0,A,Σ,Γ,Z0,δ)
  1. 는 비어 있지 않은 유한 한 상태입니다.Q
  2. 는 초기 상태이며;q0Q
  3. 수용 상태의 세트이고;AQ
  4. 는 비어 있지 않은 유한 한 입력 알파벳입니다.Σ
  5. 심볼의 중량 한정된, 비어 입력 알파벳 인 γ Γ , w ( γ ) N은 이러한하다 w ( γ 1 ) = w ( γ 2 )ΓγΓw(γ)N ;w(γ1)=w(γ2)γ1=γ2
  6. 는 특수한 최하부 기호입니다.Z0Γ
  7. 는 전환 기능입니다.δ:Q×(Σ{ϵ})×(Γ{Z0})P(Q×Γ)

전이 함수는 만으로 구성된 초기 비어있는 힙을 가정하여 작동합니다 . 전이 함수는 요소들 ( γ 1 , γ 2 , )의 임의의 컬렉션 (유한이지만 가능하거나 비어 있거나 반복하는)을 힙에 추가 할 수있다 . . . , γ kΓ . 대안 적으로, 전이 함수는 가장 낮은 가중치 w ( γ )를 갖는 요소 γ 의 인스턴스를 제거 할 수있다Z0γ1,γ2,...,γkΓγw(γ)힙에 남아있는 모든 요소 (즉, 힙 위에있는 요소). 전이 함수는 주어진 전이를 결정할 때 최상위 (즉, 최소 가중치) 심볼 인스턴스만을 사용할 수있다.

또한, 정의 제 1 형 결정 최소 힙 오토 마톤을 만족시키는 형태 1 확정적 최소 힙 기계적으로 다음 특성 : 전체 문자열 되도록 | x | = nσ Σ , | δ n + 1 ( q 0 , x σ y , Z 0 ) | 1 .xσyΣ|x|=nσΣ|δn+1(q0,xσy,Z0)|1

다음 변경 사항을 제외하고 유형 1 비 결정적 최소 힙 오토 마톤과 유형 2 비 결정적 최소 힙 오토 마톤을 정확하게 정의하십시오 .

  1. 심볼의 중량 한정된, 비어 입력 알파벳 인 γ Γ , w ( γ ) N은 이러한하다 w ( γ 1 ) = w ( γ 2 ) 수행 반드시 의미하지는 γ 1 = γ 2 ; 다시 말해서, 다른 힙 기호는 동일한 가중치를 가질 수 있습니다.ΓγΓw(γ)Nw(γ1)=w(γ2)γ1=γ2
  2. 동일한 가중치를 가진 별개의 힙 심볼 인스턴스가 힙에 추가되면 상대 순서는 후입 선출 (LIFO) 스택 유사 순서에 따라 유지됩니다.

문맥이없는 언어를 포착하고 확장하는보다 자연스러운 정의를 지적 해준 Raphael에게 감사드립니다.


일부 결과는 지금까지 입증되었습니다.

  1. Type-1 min-heap automata는 문맥이없는 언어의 하위 집합이거나 상위 집합이 아닌 언어 세트를 인식합니다. [ 1 , 2 ]
  2. Type-2 min-heap automata는 그 정의에 따라 문맥이없는 언어의 적절한 수퍼 세트 인 언어 세트와 type-1 min-heap 오토마타에 의해 허용되는 언어의 적절한 수퍼 세트를 인식합니다.
  3. 유형 1 최소 힙 오토마타에 의해 허용되는 언어는 노동 조합, 연결 및 클레인 별에서는 닫혀 있지만 보완, [ 1 ], 교차 또는 차이는 없습니다.
  4. 유형 1 비 결정적 최소 힙 오토마타에 의해 허용되는 언어는 유형 1 결정적 최소 힙 오토마타에 의해 허용되는 언어의 적절한 상위 세트 인 것으로 보입니다.

내가 놓친 몇 가지 다른 결과가있을 수 있습니다. 더 많은 결과가 나올 것입니다.


후속 질문

  1. 반전중인 폐쇄? -- 열다
  2. 보완중인 폐쇄? -- 아니!
  3. 비결정론이 힘을 증가 시키는가? -- 예?
  4. HALCSL
  5. 힙을 추가하면 유형 1의 전력이 증가합니까? - 대한 (?) k > 2HAL1HAL2=HALkk>2
  6. 스택을 추가하면 유형 1의 전력이 증가합니까? -- 열다

1
그런데 좋은 질문입니다. 나는이 오토마타를 위해 펌핑 보조기구를 파고 싶어한다.
Raphael

@Raphael : 그런 부 정리에 내 (업데이트 된) 증거를 사용할 수 있다고 생각합니다. 다음 하위 문자열을 올바르게 일치시키기 위해 일부 하위 문자열에서 선형 양보다 많은 정보를 '기억'해야하는 모든 언어는 파싱 할 수 없습니다 최소 힙 오토마타. 진정한 펌핑 스타일의 정리가 가능한지 잘 모르겠습니다. 결국 내 정리의 특별한 경우가 될 수도 있습니다.
Alex ten Brink

@AlextenBrink 힙 심볼 번호의 조합을 사용하여 물건을 인코딩 할 수 있기 때문에 선형 바운드가 충분하지 않습니다.
Raphael

답변:


25

이러한 유형의 상태 머신을 사용하여 문맥에 맞지 않는 정식 비언어적이지만 상황에 맞는 언어 을 인식 할 수 있습니다. 요점은 당신이 모든을 위해 힙에 토큰을 추가 할 것입니다 문자와 구문 분석하는 동안 문자를 당신은 모든 구문 분석 때 그들은 단지 힙의 하단에 끝낼 수 있도록, 당신은 힙에 '큰'토큰을 추가 문자.a b b{anbncn | n1}abb

힙 기호는 및 이며 여기서 입니다. 우리 모두에게 소비 입력에 상징을 추가합니다 힙에 문자. 우리가 발생할 경우 , 우리는 전략을 전환 : 모든 위해 우리가 연속적으로 발생 우리는 제거 힙에서와 추가 힙에. 를 만나면 제거 s가 부족한 다음 나머지 입력의 모든 에 대해 힙에서 를 제거해야합니다 . 힙이 비어있는 경우 문자열은 언어입니다. 분명히, 우리는 무언가 잘못되면 거부합니다.b a < b a a b b a b c a c baba<baabbabcacb

최신 정보:

언어 은 (는) 최소 힙 오토마타에서 인식 할 수 없습니다. 을 인식 할 수있는 최소 힙 오토 마톤이 있다고 가정하십시오 . 우리는 를 읽은 후 자동 장치가있는 '상태'를 봅니다 (입력의 첫 부분이므로 은 다음입니다). 우리가 가지고있는 유일한 상태는 힙의 내용과 그 안에있는 오토 마톤의 특정 상태입니다. 이는 를 인식 한 '상태'가 과 일치하는 충분한 정보를 보유해야 한다는 것을 의미합니다 .E P A L w w R w w REPAL={wwR|w{a,b}}EPALwwRwwR

특히, 이렇게하려면 와 문자 로 구성된 단어 가 있으므로 다른 '상태'(여기서 )가 있어야 합니다. 한정된 수의 상태와 한정된 수의 힙 문자 만 있기 때문에 힙에 지수와 같은 일부 힙 문자 (예 : 가 포함 된 단어 가 있음을 의미합니다 . n = | | 2 n a b w x2nn=|w|2nabwx

먼저 결정 론적 최소 힙 오토마타에 대한 정리를 증명 한 다음이 증거를 결정 론적 최소 힙 오토마타로 확장합니다. 특히, 일부 언어를 인식하는 결정 론적 오토마타는 무한 루프에 빠지지 않으며 이는 유용한 속성입니다.

힙은 입력에서 읽은 문자 수에서 선형 인 최대 수의 힙 토큰 만 포함 할 수 있음을 증명해야합니다. 이것은 가 힙에 기하 급수적으로 나타나는 것을 하여 최소 힙 오토마타로 을 인식 할 수 없다는 증거를 완성합니다 .E P A LxEPAL

오토 마톤에는 유한 한 수의 상태 만 있고 결정 론적 오토 마톤은 무한 루프에 들어 가지 않기 때문에 입력 신호를 읽을 때 힙에 일정한 수의 힙 문자를 추가합니다. 마찬가지로 일부 힙 기호 를 사용하면 보다 엄격하게 일정한 수의 힙 문자 만 추가 할 수 있으며 스택 의 기호 수만 줄일 수 있습니다 (그렇지 않으면 무한 루프를 얻음).y yyyy

따라서 힙 기호를 소비하면 더 큰 힙 기호가 (많은) 쌓일 수 있지만, 서로 다른 유형의 힙 기호가 일정 수에 따라 의존하지 않는 상수 만 있습니다. 이것은 힙 심볼의 수가 지금까지 읽은 입력 심볼의 수의 최대 (대) 상수 시간임을 의미합니다. 이것으로 결정 론적 증거를 완성합니다.n

결정적이지 않은 경우 증거는 비슷하지만 조금 까다 롭습니다. 힙에 일정한 수의 힙 토큰을 추가하는 대신 힙에 임의의 수의 힙 토큰을 추가합니다. 그러나 중요한 점은이 숫자가 의존하지 않는다는 것 입니다. 우리는 비 결정 론적으로 인식 한 후 힙에 딱 맞는 힙 기호를 얻을 수 있다면 특히, (오른쪽 인식하는 ), 우리는 또한 비 결정적으로 다른 단어와 일치하는 힙 기호를 선택할 수 있습니다 함으로써, 그리고 인식 하므로 최소 힙 오토 마톤이 정확히 인식한다는 것과 됩니다.w w R w ' w w ' R E P 경우 → LnwwRwwwREPAL

업데이트 3 : (비 결정론에 관한) 마지막 논쟁을 엄격하게 할 것입니다. 상기 인수, 즉 무한 세트가 존재해야모든 위해되도록, 인식 한 후, 힙 포함를요소 (무한한 단어 집합을 가지므로에 대해 이야기 할 수 있습니다. 결정적 수단을 통해 힙의 많은 요소를 얻을 수 없으므로 먼저 루프에 어떤 형태의 루프를 가져와야하는데, 입력을 소비하지 않고 힙에 더 많은 요소를 추가하기로 결정한 후 나중에이를 종료하기로 선택했습니다 루프, 그리고 우리는이 루프를번통과해야합니다.W{a,b}wWwω(|w|)O(f(|w|))ω(1)

사용하는 모든 루프 세트를 가져옵니다 . 상태 만 있기 때문에이 세트의 크기는 이고 모든 서브 세트 세트도 입니다. 실행 경로의 '결정적'부분은 토큰의 에만 기여할 수 있습니다. 즉, 많은 기하 급수적으로 많은 단어가 '결정적'부분이 동일한 역할을하는 실행 경로를 가져야합니다. 힙에 토큰. 특히, 더 많은 토큰을 얻는 유일한 방법은 위에서 식별 한 루프를 이용하는 것입니다.WO(1)O(1)O(1)O(|w|)

이러한 관찰, 거기에 두 가지 단어해야한다는이 수단의 결합 , 및 실행 경로의 '결정'부분 힙에 동일한 토큰을 기여하는 말, 그리고 그 루프의 일부 부분 집합 위를 취함으로써 차별화됩니다 다른 횟수이지만 루프의 동일한 하위 집합을 사용합니다 (이 루프에는 만 있음을 기억하십시오 ).Ww1w2O(1)

우리는 지금 보여줄 수 또한 최소 힙이 자동 기계에 의해 인식 될 수있다 : 우리의 실행 경로를 따라 위와 같이, 그러나 우리는이 시대의 같은 수의 실행 경로 루프를 통과 들을 이송합니다. 이렇게하면 최소 힙에 토큰이 가 접미사로 허용되므로 증명이 완료됩니다.w1w2w1w2w2

업데이트 2 :

위의 의미는 로그 공간 만 사용하여 결정 론적 최소 힙 오토 마톤을 시뮬레이션 할 수 있음을 의미합니다. 우리는 최소 힙의 모든 유형의 문자에 대한 카운터를 유지합니다. 위에서 볼 수 있듯이이 카운터는 최대 이므로 공간 만 사용하여 저장할 수 있습니다 (이 카운터의 수가 일정하므로). 이것은 우리에게 :O(n)O(logn)

DHALL

HALNL

여기서 은 일부 결정적 최소 힙 오토 마톤에 의해 인식되는 언어 세트입니다.DHAL


1
탁월한 통찰력을 얻으려면 +1, 내 의미를 완전히 이해 한 것 같습니다. 그러한 기계가 회문을 인식 할 수 없다는 평가가 옳습니까? 추가 된 기호 순서는 유지되지 않으므로 불가능합니다.
Patrick87

@ 패트릭 87 : 지금 그 문제에 대해 생각하고 있습니다 :)
Alex ten Brink

@Raphael 로그 리소스 제약이있는 튜링 머신에 대한 매우 멋진 관찰, 두 사람 모두 이러한 오토마타를 조사하는 환상적인 작업을 수행했습니다. 알다시피, 나는 일종의 min-heap 오토 마톤을 내가 관심있는 것의 일종의 예라고 던져 버렸지 만 잘 수신 된 것 같습니다. 그러한 오토마타에 관해 어떤 다른 질문에 대답 할 수 있습니까? DHAL = HAL입니까? HAL의 폐쇄 속성은 무엇입니까? 더 많은 탐구가 가치가 있는가? 만약 그렇다면 여기에 남아 있거나 새로운 질문에 넣어야 하는가? 훌륭한 통찰력에 다시 한번 감사드립니다.
Patrick87

1
@Raphael : 그 부분을 완전히 엄격하게 만들었습니다. 당신은 이 충분히 커야한다는 것이 옳습니다 -왼쪽과 오른쪽의 세부 사항에 대해 글을 썼습니다. n
Alex ten Brink

1
@Raphael : 그렇습니다. 이므로 공간 계층 정리 및 일부 포함에 따라 . CSL=NLINSPACEDHALCSL
Alex ten Brink

19

다음은 우리가 (믿는) 것입니다.

  • HALCFL (유형 -1, 유형 -2)
  • CFLHAL (유형 -1)
  • CFLHAL (유형에 따라 유형 2)
  • CSLHAL (유형 -1, 유형 -2)

아래의 세부 사항 및 기타 참고 사항을 참조하십시오.


HALCFL

답의이 부분은 타입 -1과 타입 -2와 관련이 있습니다.

유한하고 완전하게 정렬 된 힙 알파벳을 가진 최소 힙 오토 마톤 (HA)은 .L={anbncnnN}CSLCFL

가정 : PDA와 유사하게 트랜지션 기능은 최상위 힙 기호를 사용하고 임의의 수의 힙 기호를 다시 씁니다. 힙은 처음에 다른 모든 힙 기호보다 큰 구별 기호 를 포함합니다.$

하자 와 최소 힙을 기계적A=(Q,ΣI,ΣH,,q0,QF)

  • Q={q0,q1,q2,qf} 상태 세트
  • ΣI={a,b,c} 입력 알파벳입니다.
  • ΣH=a,b,$ 힙 알파벳을 순서로 정렬 .a<b<$
  • QF={qf}
  •  (Q×ΣI×ΣH)×(Q×ΣH)
    • (q0,a,σ)(q0,aσ)모든 대해σΣH
    • (q0,b,a)(q1,b)
    • (q1,b,a)(q1,b)
    • (q1,c,b)(q2,ε)
    • (q2,c,b)(q2,ε)
    • (q2,c,$)(qf,ε)

오토 마톤은 입력의 모든 에 대해 하나의 를 힙에 기록 합니다. 때 발생, 많은으로 소비 가 있었다로 쓰기, 모든 발견을 위해 힙에 . 힙 편리하게 유지하기 때문에이 없습니다 방해 계산을 수행 상단에. 힙에서 모든 를 가져온 후에 만 허용됩니다. 단지 많은으로 후 로 (하고 그와 발견), 않습니다 빈 힙 및 최종 상태로 받아들입니다.aabbabbaaccbaA

따라서 입니다.L(A)=L


CFLHAL

답의이 부분은 유형 1에만 관련됩니다.

고려 에도 회문 세트와 HA 있다고 가정 함께 .EPAL={wwRw{a,b}}AL(A)=L

: 우리는 , 및그런 동일한 상태이고, 판독 후 동일한 콘텐츠를 갖는다 힙 및 각각을. 마찬가지로 모두 허용 및 ,이 때문에도 수락 (및 이다), 모순을 .w1,w2{a,b}w1w2|w1|=|w2|Aw1w2Aw1w1Rw2w2Rw1w2REPALw2w1RL(A)=EPAL


CSLHAL

답의이 부분은 타입 -1과 타입 -2와 관련이 있습니다.

(유형 -1) 에서 사용한 것과 동일한 추론을 사용 하여 상황에 맞는 언어 가 . { w w w { a , b } } H A LEPAL{www{a,b}}HAL


HAL?CSL

이것은 여전히 ​​유형 1과 유형 2 모두에 열려 있습니다.


추가 팩 토이 드

HA는 Embedded Pushdown Automata에 의해 허용되는 약한 상황 에 맞는 언어 의 하위 집합과 직교 인 것 같습니다 . HA는 제한된 수의 스택 스택을 시뮬레이트 할 수 있지만 임의로 많은 수의 EPA처럼 시뮬레이트 할 수는 없습니다. 그러나 HA는 현재 맨 위에 있지 않은 스택의 최상위 심볼 (EPA에서는 불가능)에 액세스 할 수 있습니다.


+1, 탁월한 반응. Brink의 방법과 본질적으로 동일합니까? 여전히 엄격하고 정밀합니다. 그러한 기계가 모든 CFL을 수용 할 수 있는지에 대해 생각해 보셨습니까? 주문 정보가 힙에 의해 손실되기 때문에 불가능한 것 같습니다 ...
Patrick87

Alex가했던 것과 같은 생각입니다. 그럼에도 불구하고 무언가를 얻을 수있어서 기쁘다. 나는 다른 방향에 대한 아이디어를 추가했지만 (거대한?) 격차가 있습니다. 내일 명확한 머리로 그것에 대해 생각하고 일부 동료를 도둑질해야합니다.
Raphael

엄격한 추가 크레딧을 받으려면 정확성을 증명해야한다고 생각합니다. ;) 이상의 유도로 너무 어려워서는 안됩니다 . n
Raphael

당신이 추측으로 표시하는 증거 개요는 내가 생각한 것입니다. 그리고 나는 그것을 설득력이 있습니다 ... 또한, 이것은 사소한 기술적 요점입니다. 회문 ... 증거가 확실히 어느 쪽이든 효과가 있지만 (단순한 회문에도 효과적이므로 HAL은 DPDA만큼 강력하지 않습니다.)
Patrick87

@ Patrick87 문제는 특히 기호보다 힙에 기호를 넣는 -transitions를 허용하는 경우 단어보다 기호를 읽은 후 주어진 HA가 가능한 구성이 더 많을 수 있다는 것 입니다. εnε
라파엘
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.