Finden einer Mathe funktion, ChatGPT hat versagt :/ [gelöst]

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Finden einer Mathe funktion, ChatGPT hat versagt :/ [gelöst]

Beitrag von corpsman »

Servus zusammen,
Ich versuche eine Mathemathische Funktion zu finden, alle Beschreibungen die ich ChatGPT hingeworfen habe haben nicht geholfen, also versuche ich es mal mit echten Menschen ;).

Meine Funktion soll wie folgt aussehen:

Code: Alles auswählen

Function f(x, a: Single): Single;
Begin
  Result := ??
End; 
Die Funktion soll definiert sein für X = 0..1 und alle ausgaben sollen ebenfalls im Bereich 0..1 sein.

Sie soll für a = 0, f(x) =x sein
sie soll symetrisch zu f(x) = x und symetrisch zu f(x) = 1-x sein
Anbei hab ich mal ne skizze gepinselt, in Grau die "hilfsgeraden" in Rot die Funktion für verschiedene werte von a
function.png
function.png (11.13 KiB) 1269 mal betrachtet
Hat einer von euch eine Idee wie ich eine Derartige funktion lauten könnte.

Und nein das ist keine Hausaufgabe, ich bin 43 und versuche einfach nur eine Farbtransfer funktion zu bauen..
Zuletzt geändert von corpsman am Fr 18. Apr 2025, 12:07, insgesamt 1-mal geändert.
--
Just try it

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Finden einer Mathe funktion, ChatGPT hat versagt :/

Beitrag von m.fuchs »

corpsman hat geschrieben: Fr 18. Apr 2025, 09:42 Ich versuche eine Mathemathische Funktion zu finden, alle Beschreibungen die ich ChatGPT hingeworfen habe haben nicht geholfen, also versuche ich es mal mit echten Menschen ;).
Das frage ich gerade jemanden zum dritten Mal innerhalb von 48 Stunden: Warum benutzt du ein LLM für mathematische Probleme?
Da gibt es doch sicherlich bessere Tools.

Kennst du Wolfram|Alpha? Da könnte es Tools geben, die dir eventuell weiterhelfen. Zum Beispiel die Funktionssuche für Sequenzen (https://www.wolframalpha.com/examples/m ... /sequences), wenn du bereits ein paar korrekte Werte hast. Und die brauchst du ja ohnehin zur Prüfung.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Finden einer Mathe funktion, ChatGPT hat versagt :/

Beitrag von corpsman »

ok damit kam ich irgendwie auch nicht so klar, also hab ich mal einen neuen Ansatz versucht und das ganze Zerlegt in 3 Teilschritte
1. Transformation vom Koordinatensystem in ein gedrehtes
2. Berechnen im Gedrehten Koordinaten system
3. Rücktransformation
Dazu hab ich mal folgendes Bild gemalt:
function_step.png
function_step.png (32.25 KiB) 1248 mal betrachtet
Als Code ergibt sich dann das folgende:

Code: Alles auswählen

Function f2(x, a: Single): Single;
Var
  xx, yy: Single;
Begin
  // Koordinatensystem um 45° drehen (x -> -sqrt(2)/2 .. sqrt(2)/2)
  xx := (2 * x - 1) * sqrt(2) / 2;
  // Berechnen des y-Wertes einer Parametrischen Parabel die definiert
  // ist durch f(-sqrt(2)/2,a) = 0, f(sqrt(2)/2,a) = 0 und f(0,a) = a
  yy := a * (1 - 2 * sqr(xx));
  // Der Punkt auf der Parabell ist dann -> (xx/yy)
  // Der Y-Wert des Punktes wird nun zurück transferiert in den Ursprünglichen Raum
  result := (sqrt(2) * (xx + yy)) / 2; //-- Das hier scheint noch nicht richtig zu sein :/
End;       
--
Just try it

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Finden einer Mathe funktion, ChatGPT hat versagt :/

Beitrag von corpsman »

Finally ;)
final.png
final.png (19.2 KiB) 1210 mal betrachtet
Der Trick ist das man durch die Rücktransformation x und Y Berücksichtigen muss:

Code: Alles auswählen

(*
 * in x in [0..1], a in [-0.035 .. 0.035]
 * => result.x in [0..1]
 *    result.y in [0..1]
 *)

Function f2(x, a: Single): TPercentPoint;
Var
  vx, vy, s, xx, yy: Single;
Begin
  // Quell X transformieren
  xx := (x - 0.5) * sqrt(2); // [0..1] --> [-sqrt(2)/2 .. sqrt(2)/2]
  // Berechnen der Parabel
  yy := a * (1 - 2 * sqr(xx)); // [xx, yy]
  // Rücktransformation in Ursprungsraum [-0.5 .. 0.5]
  s := sqrt(2) / 2;
  vx := s * xx - s * yy;
  vy := s * xx + s * yy;
  // Translation, auf [0..1]
  result.x := vx + 0.5;
  result.y := vy + 0.5;
End;
[Edit]
Nun ist der gesamte code sammt demo auch Online
--
Just try it

wp_xyz
Beiträge: 5129
Registriert: Fr 8. Apr 2011, 09:01

Re: Finden einer Mathe funktion, ChatGPT hat versagt :/ [gelöst]

Beitrag von wp_xyz »

Womit mal wieder der Beweis erbracht wäre, dass natürliche Intelligenz der künstlichen immer noch überlegen ist.
Zuletzt geändert von wp_xyz am Fr 18. Apr 2025, 14:59, insgesamt 1-mal geändert.

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Finden einer Mathe funktion, ChatGPT hat versagt :/ [gelöst]

Beitrag von corpsman »

:lol:
oder ich die Intelligenz falsch gefragt habe. Die Parabel Umrechnung hat ChatGPT richtig generiert. Zumindest recht lange hatte ich ja den falschen ansatz und dachte, dass das äquidistante abtasten im Urbildraum auch äquidistante Punkte im Bildraum gibt, was ja nicht so ist. Ganz böse Zungen könnten also sagen ich hab den Bot vor eine unlösbare aufgabe gestellt. Wobei es natürlich cool gewesen wäre, wenn dieser meinen Fehler erkannt hätte und mich dann so in die Richtige richtung geschubst hätte. Aber da kommt dann wohl wieder zum tragen, das hier nur ein Wahrscheinlichkeitsmodell arbeitet und nicht wirklich verstanden wird was ich da rein schreibe ...
--
Just try it

Antworten