Das Emoji-Problem (2022)
(artofproblemsolving.com)- Betrachtet eine Variante der Internet-Rätsel mit Früchten und Emoji-Gleichungen als ganzzahlige diophantische Gleichung und verfolgt den Weg bis zur Konstruktion positiver ganzzahliger Lösungen
- Das zentrale Werkzeug besteht darin, nicht direkt ganzzahlige Lösungen zu suchen, sondern zuerst rationale Punkte zu finden und mit einer geometrischen Methode über Geraden oder Tangenten neue rationale Punkte zu erzeugen
- Nach Variablensubstitution und Rotation wird die Gleichung zu einer symmetrischen elliptischen Kurve, doch die zunächst sichtbaren einfachen Punkte führen nicht direkt zu positiven Lösungen des ursprünglichen Problems
- Auf einer elliptischen Kurve erzeugt eine Gerade durch zwei rationale Punkte oder eine Tangente an einem Punkt einen dritten Schnittpunkt, der dank der Vieta-Formeln ebenfalls rational bleibt
- Mithilfe von Mathematica wird ein weniger offensichtlicher Punkt gefunden; nach wiederholten Operationen entsteht beim Zurücktransformieren in die ursprünglichen Variablen eine mögliche riesige positive ganzzahlige Lösung
Wie aus einem Internet-Emoji-Rätsel ein mathematisches Problem wurde
- Im Internet waren Emoji-Gleichungsrätsel weit verbreitet, die durch verwirrende Details wie die Anzahl der Bananen unterschiedliche Antworten provozieren sollten
- Anfang 2017 erschien auf r/math ein reddit thread darüber, dass man die Facebook-artigen Mathe-Rätsel mit Früchten satt habe; ein Nutzer erstellte daraufhin ein schwierigeres Problem mit Fruchtbildern
- Als Sridhar Ramesh dieses Problem leicht abwandelte und weiter verbreitete, wurde daraus ein berüchtigtes Problem, dessen kleinste Lösung als sehr lang gilt und für das Kenntnisse über elliptische Kurven nötig seien
- Ziel ist es, den Lösungsweg für dieses abgewandelte Emoji-Problem tatsächlich nachzuvollziehen
Vorbereitendes Beispiel: pythagoreische Tripel und rationale Punkte
- Zunächst wird als einfacheres Beispiel das Finden pythagoreischer Tripel behandelt
- Statt direkt ganzzahlige Lösungen zu suchen, wird das Problem auf die Suche nach rationalen Punkten auf dem entsprechenden Einheitskreis zurückgeführt, wodurch die Struktur einfacher wird
- Beginnt man mit einem rationalen Punkt auf dem Einheitskreis und zeichnet eine Gerade mit rationaler Steigung, ist auch der zweite Schnittpunkt mit dem Kreis rational
- Berechnet man die Schnittpunkte von Gerade und Kreis, entsteht eine quadratische Gleichung
- Da die Koeffizienten rational sind und eine Nullstelle bereits rational ist, ist nach den Vieta-Formeln auch die andere Nullstelle rational
- Umgekehrt hat die Gerade, die einen anderen rationalen Punkt auf dem Einheitskreis mit dem Ausgangspunkt verbindet, eine rationale Steigung; daher lassen sich alle rationalen Punkte auf diese Weise gewinnen
- Dieses Verfahren führt zur Standardform, in der alle pythagoreischen Tripel durch zwei positive ganze Zahlen und einen Faktor ausgedrückt werden
- Das wichtige Muster ist die Methode, mit einer Geraden neue Punkte zu gewinnen; eine ähnliche Idee wird auch beim ursprünglichen Emoji-Problem verwendet
Die ursprüngliche Gleichung in eine elliptische Kurve umwandeln
- Die Gleichung des Emoji-Problems wird nach dem Entfernen der Nenner zu einem Problem, bei dem statt ganzzahliger Lösungen rationale Punkte für Verhältnisse der Variablen gesucht werden
- Statt unmittelbar nur positive ganzzahlige Lösungen zu suchen, wird zunächst die Gesamtheit rationaler Punkte einschließlich positiver und negativer Werte untersucht
- Der Graph bleibt beim Vertauschen zweier Variablen unverändert und besitzt daher eine schräg liegende Symmetrie
- Der Einfachheit halber wird der Graph durch eine Variablensubstitution rotiert, sodass er achsensymmetrisch wird; diese Kurve wird elliptische Kurve genannt
- Es gibt einfache rationale Punkte, die man im Graphen mit bloßem Auge erkennen kann, doch sie entsprechen keinen gültigen positiven Lösungen des ursprünglichen Problems
- Deshalb müssen von diesen einfachen Punkten aus weitere rationale Punkte erzeugt werden
Der Geraden-Trick funktioniert auch auf elliptischen Kurven
- Zeichnet man eine Gerade durch zwei rationale Punkte (P) und (Q) auf einer elliptischen Kurve, schneidet diese Gerade die Kurve in einem dritten Punkt (R)
- Auch dieser dritte Schnittpunkt wird zu einem rationalen Punkt
- Setzt man die Geradengleichung in die Gleichung der elliptischen Kurve ein, entsteht eine kubische Gleichung in einer Variablen
- Die Koeffizienten der kubischen Gleichung sind rational
- Da bereits zwei Nullstellen aus den Koordinaten von (P) und (Q) stammen und rational sind, ist nach den Vieta-Formeln auch die dritte Nullstelle rational
- Setzt man sie wieder in die Geradengleichung ein, sind auch die übrigen Koordinaten rational bestimmt
- Im Fall (P=Q) verwendet man statt der Geraden durch zwei Punkte die Tangente an diesem Punkt; Schnittpunkte werden dabei mit Vielfachheit gezählt
- Verbindet man die anfangs gefundenen einfachen Punkte oder zeichnet Tangenten an ihnen, wiederholen sich nur einige Punkte, ohne sich zu neuen und nützlichen Punkten zu erweitern
- Diese Punkte sind torsion points; selbst bei wiederholter Anwendung desselben Geraden-Tricks kommt man aus ihnen nicht zu neuen Punkten heraus
Rationale Punkte im gültigen Bereich finden
- Mit Mathematica wurde nach weniger offensichtlichen rationalen Punkten auf der elliptischen Kurve gesucht; einer davon wird für die weiteren Berechnungen verwendet
- Gesucht ist nicht irgendein rationaler Punkt, sondern ein Punkt, bei dem nach der Rücktransformation in die ursprünglichen Variablen alle drei Werte positiv sind
- Wenn alle Variablen negativ sind, kann man durch Umkehren aller Vorzeichen eine positive Lösung erhalten; daher wird eine Variable als positiv angenommen und die Bedingung rückwärts verfolgt
- Diese Bedingung erscheint in der transformierten Koordinatenebene als bestimmter grüner Bereich; ein rationaler Punkt auf der elliptischen Kurve muss in diesen Bereich gebracht werden
- Von Hand wäre das sehr mühsam, daher wurden mit Mathematica die Formeln für die Schnittpunktkoordinaten aus Geraden- und Tangentenoperationen berechnet
- Es wurden Koordinatenformeln für den dritten Schnittpunkt einer Geraden durch zwei Punkte sowie für den dritten Schnittpunkt einer Tangente an einem Punkt erstellt; dabei werden die Ausdrücke sehr kompliziert und auch die Zahlen groß
Konstruktion der letzten positiven ganzzahligen Lösung
- Ausgehend von einem rationalen Punkt wird eine Tangente gezeichnet, um einen neuen Punkt zu erhalten; dann wird am neuen Punkt erneut die Tangente gezeichnet, um den nächsten Punkt zu gewinnen, und dieser Prozess wird wiederholt
- Auch nach mehreren Tangentenoperationen gelangt man nicht direkt in den Zielbereich; zusätzlich wird ein Punkt gebildet, indem man den Ausgangspunkt mit einem Punkt verbindet, bei dem das Vorzeichen einer Koordinate geändert wurde
- Am Ende wird ein zuvor zurückbehaltener „guter“ rationaler Punkt mit dem zuvor erhaltenen Punkt mit großen Koordinaten verbunden, wodurch schließlich ein rationaler Punkt im grünen Zielbereich erreicht wird
- Dieser finale rationale Punkt wird in die ursprünglichen Variablen zurücktransformiert, und durch Multiplikation mit dem kleinsten gemeinsamen Vielfachen der Nenner wird eine positive ganzzahlige Lösung konstruiert
- In der abschließenden Probe wird bestätigt, dass die konstruierte riesige ganzzahlige Lösung die Gleichung des ursprünglichen Emoji-Problems erfüllt
1 Kommentare
Hacker-News-Meinungen
Nur habe ich statt Dingen wie
xNamen wie flauschige Wolke oder Stern verwendet; die Kinder waren zwar genervt, blieben aber interessiert und machten es später genauso, wenn sie Freunden halfenMan vergisst leicht, wie es sich anfühlt, Abstraktion zum ersten Mal zu lernen. Wichtig war zu zeigen, dass
xnichts Besonderes ist, sondern auch die Sonne oder eine Formulierung wie „Gesamtzahl der Katzen“ sein könnteAber wenn das später veröffentlicht wird, leidet die Lesbarkeit wirklich. Dann steht man vor Situationen wie: „In dieser Gleichung gibt es einen Term, der eine große Rolle spielt, aber was bedeutet er eigentlich? Keine Ahnung, jemand hat ihn
φgenannt.“Ich scherze gern: Wenn man glaubt, Programmierer seien schlecht im Benennen, sollte man sich Mathematiker ansehen. Mathematiker haben einen seltsamen Stolz darauf, nicht benennen zu können
Am schlimmsten sind Programme, die direkt aus mathematischen Papers abgeleitet sind. Wenn eine Variable einen Korrelationskoeffizienten enthält, dann nennt sie auch so. Wir haben Jahrtausende an Sprache und Zeichen, um Ideen zu teilen; verschlüsselt sie nicht und nennt sie
rhoTatsächlich passierte aber Folgendes: https://chatgpt.com/share/682cce62-c53c-8003-be2c-2929395868...
Kurz gesagt: Das Modell gab selbstbewusst Schätzwerte aus, rechnete nach, stellte fest, dass sie falsch waren, versuchte es immer weiter erneut und wiederholte sogar dieselben Schätzungen. Es erkannte die Symmetrie überhaupt nicht und verhielt sich wie ein völlig strukturloser Akteur
Am Ende behauptete es entschieden, dieses Rätsel habe keine Lösung; wenn sich das Modell auch bei künftigen Rätseln so schlecht verhält, muss ich meine Einschätzung korrigieren
Ich habe auch ChatGPT o3 gefragt, und es hat 11,5 Minuten nachgedacht: https://chatgpt.com/share/682d0993-db4c-8004-a66c-3908ef7203...
Gibt es nicht eine ChatGPT-Version, die an Wolfram Alpha angebunden ist? Ich frage mich, ob das ausprobiert wurde
Mehr Kontext und verwandte Beispiele gibt es hier: https://x.com/TheOisinMoran/status/1299124512240398336
Es wird viel einfacher nachzuvollziehen, welche Variable wo verwendet wird, und die reine Struktur des Codes lässt sich auf einen Blick besser erfassen. Ein früher gepostetes Beispiel ist hier: https://imgur.com/F27ZNfk
Leider folgen die meisten modernen Sprachen wie Rust und JS der XID_Start/XID_Continue-Empfehlung, deren Motivation mir persönlich nicht besonders solide erscheint, und schließen alle Emoji-Zeichen aus Identifikatoren aus
4eine andere Konstante verwendet, kann die kleinste Lösung eine wirklich riesige Zahl werden: https://observablehq.com/@robinhouston/a-remarkable-diophant...Gibt es daran eine Stelle, die leicht genug missverstanden wird, dass Leute sich darüber streiten, oder ist es einfach so leicht, dass alle sich beeilen, damit anzugeben?
Ich kam auf
10, 4, 2; vielleicht habe aber auch ich etwas missverstandenDaher scheint man es als
1 + 10 + 3interpretieren zu können