정규 언어의 최대 인수 분해 찾기


13

언어 LΣ 를 규칙적으로 유지하십시오.

의 인수 분해 는 다음과 같은 단어 집합의 L최대 쌍 (X,Y) 입니다.

  • XYL
  • XY ,

여기서 XY={xy | xX,yY} .

(X,Y)(X,Y)(X,Y)XYLXXYY

어떤 쌍이 최대인지 알아내는 간단한 절차가 있습니까?

예:

하자 . 세트 는 다음과 같이 계산됩니다.L=ΣabΣF={u,v,w}

  • u=(Σ,ΣabΣ)

  • v=(ΣaΣ,ΣbΣ)

  • w=(ΣabΣ,Σ)

여기서 입니다.Σ={a,b}

또 다른 예:

L = Σ a Σ F = { q , r , s , t }Σ={a,b} 와 인수 분해 설정 과L=ΣaΣF={q,r,s,t}

  • q=(Σ,L)

  • r=(Σa,Σ+L)

  • s=(Σaa,ϵ+Σ+L)

  • t=(L,ϵ+L)


4
나는 다음과 같은 종이를 읽어 보시기 바랍니다 자크 Sakarovitch에 의해 (특히 하위 섹션 4.1.) : perso.telecom-paristech.fr/~jsaka/PUB/Files/TUA.pdf
고넬료 브랜드

1
문제, 즉 질문의 마지막 문장에 대해 더 구체적으로 설명하고 싶을 지 궁금합니다. 우리는 받았으며 가 최대 인지 테스트하고 싶 습니까? 최대 인 모든 를 열거하는 것이 우리의 임무 입니까? 후자의 경우이 목록이 유한 또는 다항식 크기라는 것이 분명합니까? 기하 급수적으로 많은 가능성이있는 경우 모든 가능성을 열거하는 알고리즘을 요청하는 것이 이치에 맞지 않습니다. 또한, 언어 가 우리에게 제시 될 때 표현되는 방식과 가 표현되는 방식을 지정 하시겠습니까? (예 : DFA, NFA, 정규식)( X , Y ) ( X , Y ) L X , YX,Y(X,Y)(X,Y)LX,Y
DW

2
나는 당신의 예를 이해하지 못합니다. 있습니까 모두 최대 쌍 있어야하는데? 유효하지 않은 것 같습니다 ...Vu,v,wv
라파엘

1
예는 위에서 언급 한 논문에서 발췌 한 것입니다. 는 최대 쌍이어야합니다. 또한 가 있을 필요는 없기 때문에 가 어떻게 계산 되는지 이해하지 못합니다 . 다른 예를 게시하겠습니다. v Lu,v,wvL
Laura

1
@Raphael, 가 유효한 것처럼 보입니다 . 시키는 , , 이후 인수이고, (임의의 문자열이 고려 는 , 그다음 임의의 및 / 또는 시퀀스를 포함하고 결국 a .이 문자열에는 첫 번째 가 나타나는 지점이 있어야 하므로 포함하는 지점입니다 ). 최대 값이라는 증거는 없지만 의 인수 분해 인 더 큰 세트를 찾을 수 없습니다 . v Y = Σ * B Σ * ( X , Y ) X Y = L B의 B B B의 X ' , Y ' LX=ΣaΣY=ΣbΣ(X,Y)XY=LaabbbabX,YL
DW

답변:


8

질문에 대한 의견에서 제안한 바와 같이, 나는 적어도 내가 스스로 문제를 이해 한 한도 내에서 (불행하게도 부분적인) 대답을하려고 노력할 것입니다. 아래 사항 중 하나를 더 간단하거나 명확하게 설명하는 방법은 답을 자유롭게 편집하십시오).

첫째, 언어의 인수 분해를 계산하려면 실제로 언어의 범용 오토 마톤을 계산할 필요가 없습니다.

에서 내 댓글에 언급 된 종이 ¹, 언어의 왼쪽 요인 주어진 정규 언어의 좌우 요인 사이에 1-1 대응이,이, 해당 권리 요인은 유일하게 반대 결정과 반대된다. 보다 정확하게는 다음과 같습니다.

를 의 인수 분해 합시다 . 그런 다음 즉 왼쪽 요소는 오른쪽 몫의 교집합입니다. 오른쪽 요인은 왼쪽 몫의 교집합입니다. 반대로 좌측 몫 중 교차 의 우측 인자 , 그리고 우측 몫 중 교차 의 좌측 인자 .L Y = x X x - 1 L , X = y Y L y - 1 , L L L L(X,Y)L

Y=xXx1L,X=yYLy1,
LLLL

정규 언어의 경우 유한 한 왼쪽 및 오른쪽 몫 세트가 있으므로 문제는 언어의 왼쪽 및 오른쪽 몫을 계산 한 다음 cap-안정적인 클로저, 즉 a 교차로에서 닫힌 몫의 최소 수퍼 셋. 그러면 이들은 정확히 올바른 요인과 왼쪽 요인이며 일반적으로 어떤 쌍이 부분 집합인지 쉽게 알 수 있습니다 .LL

위의 요점을 설명하기 위해 질문의 첫 번째 예를 고려하십시오 (이 논문에서는 그것이 틀렸다고 생각합니다).

하자 . 이제 좌측 몫 세트이다 위한 이며, 그 단어 에 접두사 수 , 즉 . 언제 구별을위한 ? 와 를 단어로 확장 할 수있는 경우에만 해당됩니다. L x 1 L x Σ u Σ x x u L y 1 L = x 1 L x , y x y LL=ΣabΣLx1LxΣuΣxxuLy1L=x1Lx,yxyL정확히 같은 접미사로. 즉,보다 친숙한 용어로 표현하면 Neroe와 동일하며 Nerode 클래스의 단어에 추가하는 데 필요한 접미사가 정확히 왼쪽 몫입니다.

들어 , 우리는 우리의 Nerode - 등가 클래스는 것을 볼L

  • a b aN1 , 단어를 포함하지 않는 집합 요소로하고 끝나는 , aba
  • b a bN2 : 끝나고 를 인자로 포함하지 않는 단어 세트bab
  • a b N 3 = LN3 를 인자로 포함하는 단어 집합 인 , 즉abN3=L

그것들은 다음과 같은 세트로 보강 될 수 있습니다 (즉, 각각의 클래스에서 단어의 왼쪽 몫입니다) :

  • x N 1 L a b L b Σ S 1 = L b Σ S1=x1L 에 대한 의 모든 단어 구성 (단어가 포함 된 단어와 함께 증가 될 수 인자로함으로써에서 단어된다 ) 및 , 그 인xN1LabLbΣS1=LbΣ
  • x N 2 S 2 = LS2=x1L 에 대한 은 언어 자체입니다. 즉, 이고xN2S2=L
  • x N 3 Σ L S 2S 1S 3S 1 , S 2 , S 3S3=x1L 에 대한 은 분명히 입니다. 즉, 우리는 세 가지 올바른 요소를 발견했습니다 . 로 , 자신의 -stable 폐쇄 하찮게이다 , 그 다음 정확하게 권리 요소입니다.xN3ΣLS2S1S3S1,S2,S3

따라서 인수 분해 세트 은 입니다. ( P 1 , S 1 ),( P 2 , S 2 ),( P 3 , S 3 )FL(P1,S1),(P2,S2),(P3,S3)

이제 왼쪽 요인 에 대해이 답변의 시작 부분에 대한 방정식을 사용합니다.Pi

Pi=xSiLx1
입니다.

대한 ,이 수익률의 , 대한 우리가 얻을 하고 대한 , 우리가 얻을 . 검사 (공식 증거를 진술하기에 너무 게으른 것에 대한 가장 보편적 인 변명) 또는 올바른 몫 (왼쪽 몫을 계산하는 것과 완전히 유사하지는 않음)을 명시 적으로 계산하여 이것을 볼 수 있습니다. 따라서 우리의 인수 분해는 의해 주어집니다 .P1LΣaP2ΣP3LFL=u,v,w

  • u=(P1,S1)=(ΣabΣΣa,ΣabΣbΣ)
  • v=(P2,S2)=(Σ,ΣabΣ)
  • w=(P3,S3)=(ΣabΣ,Σ)

요약

요약하자면 (간단한 절차를 요구했을 때) :

  • 언어의 인수 분해 컴퓨팅 , 제 왼쪽 몫 계산 .LL
  • 논문의 언어로 대해 최소 DFA 를 구성한 다음 각 상태 에 (Nerode-equivalence 클래스로 왼쪽 몫에 해당) 의 미래를 계산하여 에서 의 미래를 계산할 수 있습니다 따라서 각 상태에 대해 언어의 하나의 왼쪽 몫을 얻습니다.ALqAqA
  • 이러한 방식으로 획득 된 좌 몫의 수집은 일반적으로 올바른 인자 의 부분 집합 을 산출한다 .SR
  • 계산 후 의 -stable 폐쇄 의 부분 집합의 교집합 형성하여 실제로 수행 할 수 있습니다, 하고이 방법으로 얻은 일부 추가 .SRSRSR
  • 이전 단계의 모든 교차점과 함께 세트 은 의 올바른 인수 세트입니다 .SRL
  • 왼쪽 인자를 얻기 위해 의 오른쪽 몫을 계산할 수 있습니다 .L
  • 이러한 형태의 집합 인 용 . 이제이 다시 단지 유한 한 많은, 그리고에 대한 , 우리가 의 경우에만 모든 , , 즉 정확히 동일한 문자열 집합으로 언어의 단어 앞에 접두사를 붙일 수 있습니다. y Σ x y L y 1 = L x 1 u Σ u x L u y LLy1yΣxyLy1=Lx1uΣuxLuyL
  • 을 계산하려면 가 의 미래에 포함 되도록 상태 를 고려 하십시오 . 그러한 국가들의 과거의 연합은 하나의 올바른 몫을 구성합니다. 이 모든 몫을 찾으십시오. q A x qLx1qAxq
  • 당신은 당신이 당신이 올바른 요인만큼 많은 왼쪽 요인을 발견했을 때 완료되었음을 알고 있습니다.
  • 좌우 요인들 쌍 찾기 그러한 . 이것은 입니다.X Y L F LX,YXYLFL

  1. 유니버설 기계적으로 롬바르디아 및 Sakarovitch에 의해 (의 논리와 게임, 2 권의 교과서 : 논리와 오토마타 : 역사와 전망 , 2007)

3
좋은! 하자 노트는 것을 이러한 요인 정규 언어에 대한 그 decidable입니다 , 폐쇄 속성에 정기적으로 인해 끝나게. 따라서 요약에서 마지막 글 머리 기호를 효과적으로 계산할 수있을뿐만 아니라 최대 쌍을 필터링 할 수도 있습니다. X YABXY
Raphael
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.