두 정규 언어의 연결은 언제 모호하지 않습니까?


16

언어 와 주어지면 , 모든 단어 에 와 와 정확히 하나의 분해 가 그렇지 않으면 모호한 경우 , 그들의 연결 가 모호하지 않다고 가정 해 봅시다 . (이 속성에 대해 확립 된 용어가 있는지 모릅니다. 검색하기 어려운 것입니다!) 사소한 예로서, 자체 연결은 모호합니다 ( )이지만 연결 자체는 분명합니다.ABABwABw=abaAbB{ε,a}w=a=εa=aε{a}

두 정규 언어의 연결이 명확한 지 여부를 결정하는 알고리즘이 있습니까?


1
가, 이것은 완전히 신입생 CS 문제입니다. 솔직히 나는 많이 시도하지 않았다. 나는 문헌 어딘가에이 알고리즘이 확립되기를 바랐으며 바퀴를 재발 명 할 필요가 없었습니다. 여기에 소프트웨어를 작성하고 있습니다. 나는 몇 년 전 CS 과정을 몇 번 밟았으므로 기본적으로 Wikipedia에서 시작합니다. 나는 대답을 위해 일하고 싶지 않은 사람을 아무도 좋아하지 않는다는 것을 알고 있습니다. 교과서 나 종이 또는 알고리즘을 전달하는 대신 나에게 지적 할 수있는 것이 있다면 도움이 될 것입니다! 감사!
rstern

나는 비교적 주제가 맞지 않기 때문에 이것을 주석으로 추가했지만 아마도 도움이 될 수 있습니다. 유니 코드 컨소시엄에는 언어 간 공통성을 결정하는 몇 가지 프로세스가 있습니다. 나는 그들의 사이트에서 매우 유익한 링크를 읽었지만 내 인생에서 이것을 대신 해답으로 만들 수는 없었습니다. 여기를 조사 할 시간이 있다면 FAQ 페이지 unicode.org/faq
htm11h

답변:


10

힌트 : B에 대한 DFA가 주어지면 적어도 두 개의 다른 분해가 있는 A B의 단어를 받아들이는 NFA를 구성하십시오 . NFA는 표준 NFA의 두 복사본의 추적 유지 B (위한 DFAS를 결합함으로써 형성 및 Bε 에서 전환하는 것이 보장 전환) 에 B가 서로 다른 두 지점에서 일어난다.ABABABABϵAB


힌트 주셔서 감사합니다! 따라서 이해한다면 에서 모호한 단어에 대한 NFA를 구성한 다음 해당 자동 장치를 테스트하여 공허함을 테스트 할 수 있습니다. 까다로운 부분은 " A 에서 B 로의 전환이 두 가지 다른 지점에서 발생 하도록 보장하는 것"인 것 같습니다 . 두 개의 A B DFA 의 교차 곱 (?)을 가져 와서 ( A- 단말기, A- 단말기) 제품 상태를 모두 삭제 하는 것 외에는 어떻게해야할지 잘 모르겠습니다. A B NFA에서 A B DFA 로의 전환은 A 의 아이디어와 관련이 있습니다 .ABABABAAABABA-단말기. 음, 비효율적입니다. 소프트웨어에 적합한 알려진 알고리즘이 있습니까?
rstern

그렇습니다. 현명한 방법으로 할 수있는 옵션이 항상 있지만 효율적이지 않습니다. 이 문제에 대한 특정 알고리즘을 모르지만 존재할 수 있습니다.
Yuval Filmus

7

업데이트되었습니다 (Yuval Filmus 덕분에).

을 감안할 때 두 가지 언어 Y* ,하자 X - 1 YXYA 언어X-1XYY-1A+가 비어있는경우에만XY가 명확하다고 주장합니다.

X1Y={uAthere exists xX such that xuY}YX1={uAthere exists xX such that uxY}
XYX1XYY1A+

증거 . 가 모호 하다고 가정하십시오 . 그러면 X Y 에 대해 두 개의 분해 가있는 단어 u 가 있습니다 . 예를 들어, u = x 1 y 2 = x 2 y 1입니다 . 여기서 x 1 , x 2Xy 1 , y 2Y 입니다. 일반성을 잃지 않으면 서 x 1x 2 의 접두사 , 즉 x 2 = x 라고 가정 할 수 있습니다XYuXYu=x1y2=x2y1x1,x2Xy1,y2Yx1x2 일부 Z + . 팔로우 그 U = X 1 , Y 2 = X (1) 의 Z , Y 1 , 어디서 Y 2 = Z의 Y 1 . 따라서 z X - 1 X Y Y - 1 입니다.x2=x1zzA+u=x1y2=x1zy1y2=zy1zX1XYY1

에 비어 있지 않은 단어 z 가 포함되어 있다고 가정 합니다. 그런 존재 X 1 , X 2XY 1 , Y 2Y 되도록 X 2 = X 1 개 , ZY 2 = Z , Y 1 . 그것은 그 다음 , X 2 , Y 1 = X 1 의 Z , Y 1 =을X1XYY1zx1,x2Xy1,y2Yx2=x1zy2=zy1 이므로 곱 X Y 는 모호합니다.x2y1=x1zy1=x1y2XY

경우 Y가 규칙적 후 모두 X - 1 XY Y - 1은 일반 따라서있는 X - 1 X Y Y - (1)가 정규이다 (이 언어를 받아들이는 자동 장치에 대한 Yuval 교수의 답변을 참조).XYX1XYY1X1XYY1


z

죄송합니다. 업데이트합니다.
J.-E.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.