Ist die Sprache

8

Ist die Sprache L = { 0 n 1 mn  und  m  sind co-prime }L={0n1mn and m are co-prime} kontextfrei?

Ich denke, dass es nicht kontextfrei ist, weil es für einen PDA zu kompliziert erscheint, um zu entscheiden, ob zwei Zahlen Co-Prime sind oder nicht.

Ich habe erfolglos versucht, das Pump-Lemma zu verwenden.

Jede Hilfe wäre gerne dankbar.

Bearbeiten:

Hier ist einer meiner fehlgeschlagenen Versuche mit dem Pump-Lemma:

Sei NN eine Konstante. Nehmen Sie eine Primzahl pp so, dass p > N ! p>N!und dann nimm das Wort z = 0 p 1 p + N ! Lz=0p1p+N!L . Sei z = u v w x yz=uvwxy eine Zerlegung von z,z die die Bedingungen im Pump-Lemma erfüllt.

Wenn v x nur Nullen enthält, dann | v x | = K eine ganze Zahl zwischen 1 und N . Definiere m als m = N ! / k . Für i = m + 1 ist das Wort u v i w x i y = 0 p + N ! 1 p + N ! L.vx|vx|=k1Nmm=N!/ki=m+1uviwxiy=0p+N!1p+N!L

Ich habe jedoch keine solche Ganzzahl i für die anderen Zerlegungsfälle gefunden.i

Robert777
quelle
1
Willkommen in der Informatik ! Lassen Sie mich Sie auf unsere Referenzfragen hinweisen, die Ihr Problem abdecken könnten. Bitte bearbeiten Sie die dort aufgeführten Fragen, versuchen Sie, Ihr Problem erneut zu lösen, und bearbeiten Sie sie, um Ihre Versuche zusammen mit den spezifischen Problemen, auf die Sie gestoßen sind, einzuschließen. Ich denke, Parikhs Theorem könnte für Sie funktionieren.
Raphael
2
Parikh sollte funktionieren, aber auch Standardpumpen / Ogden, oder?
Ran G.
Es ist eigentlich eine Quizfrage. Da wir den Satz von Parikh nicht gelernt haben, gibt es wahrscheinlich eine Möglichkeit zu zeigen, dass er mit dem Pump-Lemma oder den Verschlusseigenschaften nicht kontextfrei ist.
Robert777
@Raphael, in diesem Fall fügt der Satz von Parikh nichts anderes als ein gerades Pump-Lemma hinzu (dh von 0 n 1 m können alle 0 n + k a 1 m + k b für einige a , b nicht sowohl Null als auch k ≥ erhalten werden - 1 ). Aber ich sehe keine Möglichkeit, gcd ( n + k a , m + k b ) 1 zu erzwingen . 0n1m0n+ka1m+kbabk1gcd(n+ka,m+kb)1
vonbrand
@vonbrand Wir können stattdessen an ¯ LL ( 0 1 ) arbeiten ; siehe hier . L¯¯¯¯L(01)
Raphael

Antworten:

4

Lächerlich, dass ich das vorher nicht gesehen habe ...

Der Beweis, dass die Sprache (nennen wir es L ) nicht kontextfrei ist, ist ein Widerspruch. Angenommen, L ist kontextfrei, durch das Pump-Lemma für CFGs gibt es eine Konstante N, so dass jeder String σ L so ist, dass | σ | N kann sie geschrieben werden , σ = u v x y z mit v y & ne; & egr; so dass für alle k 0 die Zeichenfolge u v k x y k z L . NehmenLLNσL|σ|Nσ=uvxyzvyϵk0uvkxykzLm , n verschiedene Primzahlen (so dass gcd ( m , n ) = 1 ) und m , n > 2 N und nehmen σ = 0 m 1 n . Der gepumpte String ist 0 m + k a 1 n + k b für einige Konstanten a , b , nicht beide Null, und so, dass a < m und b < n (wir haben am,ngcd(m,n)=1m,n>2Nσ=0m1n0m+ka1n+kbaba<mb<n,bN<m/2,n/2a,bN<m/2,n/2 by the way mm, nn were selected). The case of one of them zero was covered by OP, so consider a,b0a,b0. Now:

m+ka0(modn)n+kb0(modm)

m+kan+kb0(modn)0(modm)

This has a unique solution kk modulo mnmn by the chinese remainder theorem (we have a<na<n, and as nn is prime, gcd(a,n)=1gcd(a,n)=1; similarly bb and mm), and thus we can write: m+ka0(modmn)n+kb0(modmn)

m+kan+kb0(modmn)0(modmn)
i.e., mngcd(m+ka,n+kb)mngcd(m+ka,n+kb). Contradiction.
vonbrand
quelle
Thanks for your reply. I liked the way you approached this. However, I don't understand how did you use the chinese remainder theorem if this can only be applied on a system of linear congruences of the form: xb1(modm1)xb2(modm2)
xxb1(modm1)b2(modm2)
Robert777
@Robert777, just write kam(modn)kam(modn) and so on.
vonbrand
1
but you get a congruence of the form: axb(modm)
axb(modm)
and it's not the same. For example if gcd(a,m)|bgcd(a,m)/|b then the congruence has no solutions.
Robert777
1
@Robert777, you are absolutely right. Changed to select mm, nn prime. Thanks!
vonbrand
Okay, after we've used the chinese remainder theorem, why can we write these congruences: m+ka0(modmn)n+kb0(modmn)
m+kan+kb0(modmn)0(modmn)
Robert777