Frage von hypergerd, 72

Wer findet für 116304723084368933178812767815 die kürzeste Formel?

Randbedingungen:

  • kompatibel zu wolframalpha.com

  • nur Dezimalzahlen

  • alle Funktionen, Summen, Produkte, Iterationen erlaubt

Beispiele, die aber alle zu lang sind:

floor(2538204519543087*10^30/21823744145814620)

floor(2538204519543087*10^29/2182374414581462)

(10^29*2538204519543087-2484990754470)/2182374414581462

(10^28*12691022597715435-1242495377235)/1091187207290731

Minimum ist also zur Zeit die Zahl selbst: 30 Stellen

Antwort
von precursor, 37

Hallo !

Ich habe eine Webseite gefunden -->

http://wayback.cecm.sfu.ca/projects/ISC/ISCmain.html

Diese Webseite funktioniert nicht mit ganzen Zahlen, sondern nur mit Kommazahlen, also zum Beispiel mit -->

1.16304723084368933178812767815

Es werden auch Ergebnisse angezeigt, die verschoben sind, also zum Beispiel 0.011630.....

Du musst also noch jeweils mit dem entsprechenden Faktor 10^a multiplizieren.

Diese Webseite hat zwar bei deinem Beispiel keinen Volltreffer gelandet, aber vielleicht bringt dich diese Webseite auf ein paar neue Ideen, ist jedenfalls besser als nichts.

Vielleicht gelingt es dir ja irgendwie eine große Zahl in kleinere zu zerlegen oder so.

Wunder würde ich aber nicht erwarten, also mache dir keine übertriebenen Hoffnungen.

Wenn ich irgendwann noch mehr solcher Webseiten finde, dann werde ich sie dir mitteilen.

Kommentar von precursor ,

P.S -->

Mein Suchbegriff war "possible closed forms"

Kommentar von precursor ,

Hier wird auf diesen Calculator auch noch mal Bezug genommen -->

https://en.wikipedia.org/wiki/Inverse_Symbolic_Calculator

Kommentar von precursor ,

"Inverse Symbolic Calculator" ist deshalb ein weiterer Suchbegriff für Google.

Kommentar von precursor ,

Hier noch mal eine Unterwebseite von der Hauptseite -->

http://wayback.cecm.sfu.ca/projects/ISC/resources.html

Da scheinen etliche Links aber nicht mehr zu funktionieren.

Kommentar von hypergerd ,

Danke, ich kenne diese Seiten schon mehrere Jahre. Aber Du bringst mich auf eine Idee: ich habe mir damals Sicherheitskopien einiger Originale (und anderen Seiten, die es heute nicht mehr gibt) gemacht, als die Genauigkeit noch extrem höher war (über 40 Stellen). Dort könnte ich nachsehen, ob was näherliegendes zu finden ist.

Hauptziel sollte jedoch eine Formel mit Ganzzahlen und ohne irrationalen Zahlen sein, damit Abschneidefunktionen wie floor() unnötig sind.

Kommentar von precursor ,

Ok, ich wünsche dir alles Gute und viel Erfolg !

Kommentar von hypergerd ,

Hier die Teilerfolge, aber leider >=30 Zeichen:

116304723084368933178812767815
69866^6+555513162794774914388999
17^22*99+22998308775235740380561604
(13961^7*9+62426724780525601340000631)/8
floor(1F1(1/5,7/12,15/37)*1e29)+1037990379347795119801

Kommentar von precursor ,

Schade, dass es immer so viele Zeichen hat ;-((

Antwort
von kreisfoermig, 55

beschreibe doch die Regeln genauer. „Alle Funktionen sind erlaubt“… Tja, ohne weitere Information kann ich die konstante Funktion wählen, die diese Zahl rausspuckt. Die Frage bleibt also: WIE man einer Funktion einen Preis zuordnet.

Nennen welche Basisfunktionen sind erlaubt, wie teuer sie sind, auf welchem Bereich sie definiert sind, welche Entwicklungen (Komposition? Rekursion?) und wie teuer die sind. Wenn du vage das Problem definierst, wirst dus nie lösen.

Kommentar von hypergerd ,

Ich hatte doch die Randbedingung (Regel) mit aufgeschrieben:

WolframAlpha.com

So könnte sie auch aussehen:

floor((2212+437Pi-1674ln(7)-1729e)*1e29/(321ln(7)-2654Pi+768e+1866))

http://www.wolframalpha.com/input/?i=floor((2212%2B437Pi-1674ln(7)-1729e)*1e29%2F(321ln(7)-2654Pi%2B768e%2B1866))

Aber das sind 68 Zeichen -> und ich suche etwas unter 30 Zeichen!

Verboten sind andere Basen, also auch

b9xlqzkl505ngzrwymf_36

was kompatibel zu Wolfram ist.

Kommentar von kreisfoermig ,

wolfram hat jede Mengefunktionen, man kann auch beliebe selber erstellen. Es ist nicht klar, welche als „atomisch“ gelten und welche Länge dir haben... z. B. hat Floor die Länge 1 oder 4?

Kommentar von hypergerd ,

Floor hat bei WA die Länge 7, da ja auch Klammer zählt.

Du kannst mir auch gern eine beliebige 50stellige Zahl nennen -> und ich lasse mal suchen, damit Du mal siehst, was alles schon geht...

Das Problem sind nur wenige spezielle Zahlen unter 33 Stellen...

und natürlich die ganz kurzen unter 16 Stellen, aber die kann man ja so stehen lassen.

Kommentar von kreisfoermig ,

danke, aber du hast immer noch nicht geklärt

  1. was die „Basisfunktionen“ bei WA sind (bei meinem bisherigen Kenntnisstand könnten das ALLE Funktionen sein);
  2. auf welchem Bereich sie definiert sind… und wenn auf ℝ bzw. ℂ, ob die Funktionen man mit floating numbers oder mit den echten Objekten rechnen soll;
  3. wie Funktionen zusammengebastelt werden können: durch Komposition… oder auch durch while-/for-Loops, …?

Des Weiteren… ist es nicht gerade sehr dumm, bspw. floor(·) die Länge 7 zuzuordnen? Ich könnte einfach WA umschreiben, sodass die Funktion ge(·) heißt, welcher die Länge 4 zugeordnet wird. Na gut, das können wir lassen: wir fixieren irgendeine Menge von Basisfunktionen und ihre Namen und arbeiten damit.

Es bleiben noch 1–3 zu klären!! Ohne dieses Wissen könnte man rein theoretisch einbrechen bei WA und bspw. jede beliebige Funktion ƒ(·) programmieren und diese in die Library einbinden und zur Basisfunktion machen. Ich könnte eine ƒ(·) als Basisfunktion definieren, so dass ƒ(0)=116304723084368933178812767815. Dann gilt |116304723084368933178812767815| ≤ 3. Das willst du bestimmt nicht. Deshalb musst du die WA-Basisfunktionen angeben bzw. mindestens einen Link zu der Liste davon schicken.

Kommentar von hypergerd ,

Du stellst aber viele Gegenfragen, obwohl ich schon so viele Randbedingungen und eine Beispiellösung angegeben hatte...

§1: 

http://functions.wolfram.com/alphabeticalIndex.html

§2: eigentlich wollte ich nur Ganzzahlen ohne Konstanten, da aber niemand was gefunden hat, bin ich bereit bis komplexe Zahlen zu erweitern.

§3: erlaubt sind

- Abk. die WolframAlpha.com versteht wie
FactorialPower(8,3)=(8)_3 ergibt 336
StirlingS1(x,y)=S1(x,y)

einfache unverschachtelte Summen und Produkte wie
sum k*...,k=1...7
Prod k+...,k=1...8
da sie meist durch bekannte Funktionen 
ersetzt werden können
- Vordefinierte Konst
{vorhandene wie Pi oder e oder i oder (golden ratio) sind erlaubt}

- Mehrfachvorkommen einer Konstanten darf auf Variable übertragen werden:
ceil(x!*x²+x),x=sqrt(Pi*39) ergibt 5789303767

Wenn Funktionen komplex sein dürfen, ist auch so etwas erlaubt:
floor(arg((3.5+0.4i)!)*1e7) ergibt 5562030

Verboten sind:
a) jegliche Arten von Suchfunktionalitäten wie:
table, solution, find, numerische Integration {integrate x^x dx}, while-/for-Loops, Differentialgleichung,
Primfaktorzerlegung, root ... near ...,
da ja eine fertige Lösungsformel (Funktion) gesucht wird
und keine Aufgabe an ein Fremdprogramm übergeben werden soll

d.h.: es darf nur 1 Ergebnis herauskommen und keine Liste (Array, Tabelle)

b) WA wird in der kostelosen Minimal-Konfiguration betrachtet, die auf JEDEM Browser ohne Useranmeldung
(also auch per LINK)
funktioniert, :
- keine eigene Definitionen von Konstanten oder Funktionen
- keine App, Library..., File Upload, Data Input

c) keine Aufteilung der Aufgabe:
- keine mehrfachen Klicks
- keine Vorberechnung

d) keine andere Basis: nur Dezimalzahlen

Kommentar von kreisfoermig ,

Du stellst aber viele Gegenfragen, obwohl ich schon so viele Randbedingungen […] angegeben hatte...

nicht wirklich. Du hast lediglich

kompatibel zu wolframalpha.com
nur Dezimalzahlen
alle Funktionen, Summen, Produkte, Iterationen erlaubt

gesagt. Das ist ziemlich vage und lässt viel offen, wie ich schon ein paar Mal begründete.

Nun… diese Liste ist eigentlich recht absurd und sehr lange. Dass man den Preis einer jeden dieser Basisfunktionen durch ihren Namen statt ihrer Komplexität misst ist recht absurd. Aber egal. Da sind zu viele, aber kannst du nicht einfach ein Programm schreiben um alle Möglichkeiten der Länge < 30 zu duchsuchen? Ich kann die Programmiersprache auf WA nicht leiden, aber wenn du daran gewöhnt bist, könntest du dies sicher machen.

Wenn die Basisfunktionen minimalisiert wären (wie in Rekursionstheorie), hätte ich vllt da einen Ansatz. Ich vermute, die Zahl ist so konstruiert, dass sie keine kürzere Beschreibung zulässt als sie selbst. Das hat was mit diesen Chaitin'schen Zufallszahlen zu tun.

Kommentar von hypergerd ,

"Wenn die Basisfunktionen minimalisiert wären..."

genau darum geht es ja. Ich habe bereits ein fertiges Programm, welches bereits zig Ergebnisse liefert 

-> die aber alle bei dieser Zahl zu lang sind.

Minimum liegt aktuell bei 32 Zeichen, also 2 über der Zahl selbst.

Genau deshalb versuche ich nun mit Erweiterung des Funktionsumfanges neue "Lücken" auszufüllen.

Es geht mir auch nicht um WolframA (habe meine eigene),

sondern um die Mathematik dahinter.

Antwort
von UlrichNagel, 55

Sollte diese "Spielerei" etwa was mit Mathe zu tun haben? Ergibt weder theoretischen noch praktischen Sinn!

Kommentar von Willibergi ,

Praktischen Sinn ergibt das allemal.

Eine Funktionsbeschreibung ist weitaus einfacher als immer die Zahl 116304723084368933178812767815 kopieren zu müssen.

LG Willibergi

Kommentar von UlrichNagel ,

OK, jede Zahl (ein Vektor) kann zerlegt werden in umendlich viele Anteile, also eine bestimmte Rechnung. Wenn man nicht Runden darf oder eine Gleitkommazahl geschrieben wird, dann werden aber immer alle Ziffern geschrieben, also genau so lang. Ist die Rechnung  etwa übersichtlicher als das Ergebnis?

Kommentar von precursor ,

@UlrichNagel

Ich glaube du hast da etwas missverstanden.

1.)

Es macht durchaus Sinn eine Abkürzung für lange Zahlen zu finden, weil WolframAlpha nur zirka 200 Zeichen bei der Eingabe erlaubt, und auch andere Software wird niemals unendlich lange Eingaben erlauben.

2.) Beispiel -->

527373906548530592497545510913828915231 = 15!*26!+7!*9!+31

Die rechte Seite ist eine sehr viel kürzere Schreibweise.

Jetzt stell dir mal vor WolframAlpha erlaubt dir ungefähr nur 200 Zeichen Eingabe und du wärst gezwungen, statt der kurzen Schreibweise jedes mal die lange Schreibweise zu verwenden. Du kannst dir sicher leicht vorstellen, dass viele komplexe Berechnungen die mit der kurzen Schreibweise mit WolframAlpha oder einer anderen Software möglich gewesen wären, nun mit der erzwungenen langen Schreibweise unmöglich wären, weil die Software nur eine begrenzte Eingabelänge an mathematischen Ausdrücken erlaubt.

Die Frage von hypergerd ist weder eine Spielerei, noch Theoretik-Kram, sondern hat einen ganz konkreten und guten Nutzen ! und ich hoffe er findet einen Weg sein Problem zu lösen, dass wäre für jeden von Nutzen, der Mathematik mag.

Außerdem, wenn man zu jeder Frage sagen würde, das ist eine mathematische Spielerei ohne praktischen Nutzen, wo kämen wir dann hin ?, dasselbe hat man von Fraktalen vor mehreren Jahrzehnten, als die erstmals erwähnt wurden, auch gesagt.

Kommentar von hypergerd ,

zu "praktischen Sinn":

Das ist die "Königsdisziplin" der Komprimierung! Nur erfordert sie so viel Intelligenz und/oder Rechenleistung (und Speicher), dass aktuell nur wenige Spezialfälle funktionieren!

Habe über 13 TB an Zahlen (z.B. Nachkommastellen von Pi usw.)...

und selbst die höchste bekannte Form (ycd, also als Hex-Zahl ablegen) schafft etwa auf 42% zu komprimieren.

Will man noch mehr komprimieren, helfen nur Algorithmen (wie Formeln).

Zahlen bis 11 stellig sind z.B. alle in Pi bis Position 2512258603207 enthalten. Nur das Problem ist, dass die Position mehr stellen ausmacht (grob 1 Stelle mehr) als die Ausgangszahl.

Habe bereits Datenbanken, Such-Programme usw. nur bei dieser Zahl hier, sind alle bisherigen Versuche größer als 30 Zeichen.

Interessant ist z.B.

(2212+437Pi-1674ln(7)-1729e)*1e29/(321ln(7)-2654Pi+768e+1866)

Kommastellen abgeschnitten (per floor) funktioniert, ist aber noch zu lang.

Keine passende Antwort gefunden?

Fragen Sie die Community