Sind quadratische Zahlen in Binärform eine reguläre Sprache?

8

Ich habe Probleme beim Versuch festzustellen, ob alle in binärer Form (1, 100, 1001, ...) geschriebenen quadratischen Zahlen (1, 4, 9, 16, ...) eine reguläre Sprache sind.

Nach einigen Versuchen , ein gemeinsames Muster dieser Zahlen zu finden, die ich herausgefunden, dass für jede Quadratzahl , entweder gleich 0 oder 1 ist , und so ist ich die Lage , einen DFA - Graph mit 4 Zuständen zu ziehen , um erkenne diese Sprache. Aber anscheinend erkennt der DFA, den ich gezeichnet habe, tatsächlich eine Obermenge der fraglichen Quadratzahlsprache. Ich stecke hier fest.n 2 m o d 4n2n2mod4

Kann mir jemand Hinweise zu diesem Problem geben? Wenn es keine reguläre Sprache ist, wie soll ich es beweisen?

Ich bin auch sehr interessiert zu wissen, wie ich diese Art von Frage in Zukunft am besten angehen soll. Ich weiß, dass in vielen Fällen, wenn wir die Intuition haben, dass die Automaten den Überblick über das behalten müssen, was bereits gesehen wurde (wie ), dann sind unbestimmte Zustände erforderlich, damit die Automaten rechnen können, also ist dies nicht der Fall endlich oder regelmäßig. Wir können dann Pumping Lemma verwenden, um zu beweisen, dass es nicht regelmäßig ist. Ich kann jedoch noch nicht sagen, ob diese Sprache regulär ist, daher habe ich keine Ahnung, was ich als nächstes tun soll.aibi

Vielen Dank!

Alexandra
quelle
Es reicht sicherlich nicht aus zu prüfen, ob Ihre Eingabe mit oder Mod kongruent ist , da z. B. aber kein Quadrat ist. Ich vermute, dass die Sprache nicht regelmäßig ist, da Sie sich an die gesamte Eingabe erinnern müssen, um zu wissen, ob es sich um ein Quadrat handelt oder nicht (dies ist nur eine Intuition und nichts wie ein Beweis). 1 4 5 1014551mod45
David Richerby
1
Der Teil "Allgemeine Ansätze" Ihrer Frage wird in unseren Referenzfragen behandelt .
David Richerby
@ DavidRicherby Die sind sehr allgemein. Ich glaube nicht , dass wir die Verallgemeinerung dieser besonderen Frage zu Sätzen von Arithmetik definiert hatten vor .
Gilles 'SO - hör auf böse zu sein'

Antworten:

9

Hier ist eine Hightech-Lösung. Bezeichnen Sie Ihre Sprache von . Szalay zeigte, dass Von hier aus ist es ziemlich einfach zu zeigen, dass nicht regulär ist, indem man es auf reduziert .L 10 * 10 * 1 = { 10 n 10 n + 2 1 : n 0 } { 110001 , 1000010001 } . L { a n b n : n 0 }L

L10101={10n10n+21:n0}{110001,1000010001}.
L{anbn:n0}
Yuval Filmus
quelle
"Reduktion von"?
Omar
Es ist ein informeller Begriff - durch Reduktion auf die bekannte Unregelmäßigkeit von . anbn
Yuval Filmus
2

Nun, dies ist das dritte Mal, dass ich diese Antwort umschreibe. Benutzer Yuval Filmus wies auf zwei sehr, sehr dumme Fehler hin, die ich in den beiden vorherigen Versionen gemacht habe.

Nun, ich habe endlich eine einfache Lösung für das Problem gefunden. Ich denke es funktioniert.

Zuerst haben wir diese Wörter dieses Typs:

1(00)p1(00)p001

Sind quadratische Zahlen.

Beweis:

Ich habe Informationen über quadratische Zahlen gesucht und dann über "zentrierte achteckige Zahlen" gefunden, die Zahlen sind, die aus Schichten von Vielfachen von acht gebildet werden, aber nicht die erste Schicht. Die erste Schicht ist eine, die zweite acht, die dritte sechzehn und so weiter.

Jede Schicht hat also eine "Acht" mehr als die vorherige. Die Anzahl der Acht in einer zentrierten achteckigen Zahl kann unter Verwendung der Gauß-Formel berechnet werden:

n2+n2

Wir multiplizieren dann mit acht und addieren eins, weil die erste Ebene nur ein Punkt ist.

8(n2+n)2+1

Einfach:

4(n2+n)+1

Diese Formel liefert uns die ungeraden quadratischen Zahlen für jedes n.

Ich werde die Formel für die Nummer vier und alle Potenzen von vier berechnen.

Zuerst quadrieren wir die Zahl, dies verdoppelt einfach die Nullen der Zahl. Dann fügen wir die Nummer dem Produkt hinzu. Dies setzt eine "Eins" an die Position beginnend von rechts. ist die Länge des Binärworts.| n ||n|/2|n|

Im Moment haben wir Wörter dieser Form:

1(00)p1(00)p0

Wir multiplizieren mit vier, dies addiert einfach zwei Nullen am Ende der Zahl. Schließlich summieren wir eins. Wir sind fertig.

Pumpen

Ich setze .i=0

Zuerst der einfache Fall

Wenn wir leer lassen, nehmen wir die Nummer eins und eine oder mehrere Nullen. Dies gibt uns Wörter mit Hamming-Gewicht zwei (die Anzahl von Eins ist zwei). Es gibt nur eine ungerade Zahl mit dem Hamming-Gewicht zwei, die Zahl neun (die einzige ungerade quadratische Zahl der Form 2n + 1 ist 9, das habe ich in Wikipedia gesehen: siehe hier ). Da alle Zahlen, die wir pumpen, größer als neun sind, haben wir diesen Fall bewiesen.x

Schwerer Fall

Wir lassen das erste "Eins" an seiner Stelle und nehmen nur Nullen heraus. Wir können bis zu Nullen herausnehmen.p1

Das Wort wird so aussehen:

10(00)m1(00)n001 .

Wobei und ganze Zahlen sind, die größer oder gleich eins sind, undn n > mmnn>m

Ich werde zuerst glauben, dass die erhaltene Zahl ein Quadrat ist, dann werde ich zeigen, dass das falsch ist:

Da wir wissen, dass alle ungeraden Quadratzahlen mit dieser Formel erhalten werden können:

4(n2+n)+1

Wir beginnen mit der Zerlegung der Zahl, wir subtrahieren eins, dies setzt die letzte auf Null und dann dividieren wir durch vier, wodurch zwei Nullen am Ende des Binärworts entfernt werden.

Dann haben wir solche Worte:

, n und m sind ganzzahlige Zahlen, die größer oder gleich eins sind und n > m . Diese Wörter sind ein Präfix des vollständigen Wortes.10(00)m1(00)n0nmn>m

Da wir glauben, dass diese Kette Teil einer quadratischen Zahl ist, musste das Wort mit folgender Formel gebildet werden:

(n2+n)

kann nicht gerade seinn

Wir werden uns diese Formel noch einmal ansehen:

n2+n

Da wir glauben, dass die Wörter, die wir gepumpt haben, quadratische Zahlen sind. Wir nennen die Wörter, die wir gepumpt haben, und wir haben das:m

m=n2+n

Wir haben auch, dass als die Summe von zwei Binärzahlen, m 1 und m 2 , dargestellt werden kann, wobei jede von ihnen eine Zweierpotenz ist. Und das haben wir mm1m2undm1>m2m1<m2m1>m2

Das erste, was wir bemerken, ist, dass kleiner als m 2 sein muss . Dies liegt daran, dass m 2 größer als die Quadratwurzel von m 1 ist. Wenn n gleich m 2 war , ist n 2 größer als m .nm2m2m1nm2n2m

Wenn wir nun eine gerade Binärzahl quadrieren, haben wir, dass die quadrierte Zahl "mehr Nullen" rechts von der ersten "Eins" hat als die ursprüngliche Zahl. "Der am weitesten rechts stehende" in befindet sich also links vom "am weitesten rechts stehenden" in n . Wenn wir n zu n 2 addieren , haben wir, dass das "ganz rechts" in n 2 + n das "ganz rechts" in n ist . Da n kleiner als m 2 ist . Wir haben, dass das "ganz rechts" in n 2 + n rechts vom "ganz rechts" ist. in m . Deshalbn2nnn2n2+nnnm2n2+nm . Aber da wir gesagt haben, dass n 2 + n = m ist , haben wir einen Widerspruch erreicht und daher kann n nicht gerade sein.mn2+nn2+n=mn

kann nicht uneben seinn

Wieder haben wir, dass eine Zahl ist, die durch Addition von n zu n 2 gebildet wird , also m = n 2 + nmnn2m=n2+n

Dann bemerken wir, dass ; Das ist weil:(n+1)2(n+1)=n2+n

;(n+1)2(n+1)=n2+2n+1n1

Und dann:

.(n+1)2(n+1)=n2+n

Eine andere Möglichkeit, dies zu sehen, besteht darin, sich als Quadrat mit Seiten der Länge n vorzustellen . Dieses Quadrat besteht aus kleineren Quadraten der Größe eins. Wenn wir dann dem vorherigen Quadrat n Quadrate der Größe eins hinzufügen , ist das vorherige Quadrat jetzt ein Rechteck, dessen Seiten n und n + 1 sind . Nun können wir uns ( n + 1 ) 2 als ein weiteres Quadrat mit Seiten der Länge n + 1 vorstellen . Dieses Quadrat wird auch von kleineren Quadraten der Größe eins gebildet. Wenn wir n + 1 Quadrate entfernen , haben wir ein Rechteck der Seiten nn2nnnn+1(n+1)2n+1n+1nund .n+1

Wir haben, dass eine gerade Zahl ist und der Beweis für alle ungeraden Zahlen n kleiner als m 2 - 1 wie zuvor folgtn+1nm21

Wenn wir eine gerade Binärzahl quadrieren, haben wir wieder, dass die Zahl "mehr Nullen" rechts von der ersten "Eins" hat als die ursprüngliche Zahl. "Der ganz rechts" in befindet sich also links vom "ganz rechts" in n + 1 . Wenn wir n + 1 von ( n + 1 ) 2 subtrahieren , haben wir, dass das "ganz rechts" in n 2 + n das "ganz rechts" in n + 1 ist .(n+1)2n+1n+1(n+1)2n2+nn+1n+1 . Wir haben, dass das "ganz rechts" in n 2 + n rechts vom "ganz rechts" in m ist .m2n2+nm

Wenn .n=m21

Wieder haben wir, dass . Da m 2 2 ( m 2 im Quadrat) eine Zahl ist, die eine Zweierpotenz ist, hat es nur eine einzige führende "Eins" und dann Nullen. Wenn wir m 2 von m 2 2 subtrahieren , drehen wir alle Nullen links von der am weitesten links stehenden Ziffer von m 2 innerhalb von m 2 2n2+n=(n+1)2(n+1)m22m2m2m22m2m22 in "Einsen" und die resultierende Zahl ist nicht wie die Wörter, die wir pumpen, sollte es mindestens eine "Null der Trennung" zwischen den Einsen geben.

Daher ist . Aber da wir gesagt haben, dass n 2 + n = m ist , haben wir einen Widerspruch erreicht und daher kann n nicht ungleichmäßig sein.mn2+nn2+n=mn

Da nicht gerade oder ungleichmäßig sein kann, haben wir, dass n nicht als ganze Zahl existiert. Daher sind die Wörter, die wir gepumpt haben, nicht das Produkt der Formel für ungerade quadratische Zahlen. Da alle Wörter, die wir pumpen, ungerade sind, können sie keine quadratischen Zahlen sein.nn

Rotia
quelle
1
1(00)p1(00)p (00)p1
y y y
@yuvalFilmus Sie haben Recht
Rotia
2
Sie geben an, dass eine gerade Zahl bei Division durch 2 gerade bleibt, aber das ist nicht immer der Fall.
Yuval Filmus
2
Ich stelle fest, dass Sie in den letzten 2 Tagen etwa 15 Änderungen vorgenommen haben. Es ist großartig, dass Sie Ihre Antwort verbessern möchten, und ich würde gerne sehen, dass Sie das weiterhin tun. Es kann jedoch etwas unfair gegenüber anderen Fragen sein, diese bei jeder Bearbeitung hier oben auf der Startseite zu platzieren. Denken Sie, dass Sie Ihre Änderungen möglicherweise stapeln können (möglicherweise offline schreiben, z. B. mit stackedit.com), sodass Sie nur wenige Änderungen pro Tag vornehmen? Ich möchte Sie nicht davon abhalten, Ihre Antwort zu bearbeiten, um sie zu verbessern, aber ich frage mich, ob möglicherweise ein glückliches Medium möglich ist. Danke fürs Zuhören!
DW