Computerprogramme arbeiten schritt für schritt die Anweisungen ab, die
man ihnen gibt. Das wiederspiegelt sich auch in den meisten
Computerprogrammen & Programmiersprachen.
Aber Mathe, besonders die Algebra, ist ein komplett anderes Konzept. Ob
man nun eine Gleichung, eine Ungleichung oder ein Gleichungssystem hat,
es geht selten darum, nur ein Resultat auszurechnen. Stattdessen hat man
damit komplexe Aussagen darüber, wie gewisse dinge zusammenhängen. Es
ist egal wann und in welcher Reihenfolge etwas passiert. Und welche
Parameter man hat, und welche man wissen will, kann sich auch mal
ändern, und wie man die raus bekommt, ist oft anhand der ursprünglichen
Formel Herleitbar. Es gibt keine Anweisungen, keine Zuweisungen, keine
Reihenfolge, am ende sind da nur die Zusammenhänge, die beachtet worden
sein müssen, und man bekommt vielleicht ein Resultat.
Computer sind schlecht in Mathe, besonders der Algebra. Zudem ist oft
noch gar kein weg bekannt, gewisse Funktionen umzuformen/umzukehren. Und
selbst wenn man die Formeln aufgelöst für die gewünschten Parameter
kennt, muss es nicht zwangsläufig genau oder schnell berechenbar sein.
z.B. Ich hab mal eine Ungleichung geschrieben, die eine Fell-artige 3D
Struktur beschreibt. Das Notitzblatt mit der Formel hab ich mitlerweile
verlegt, aber ich hab noch ne interaktive (XY und Pfeiltasten)
implementation davon in glsl:
https://gistpreview.github.io/?873253bdedb0a9fbcb91c6744a96c623
https://gist.github.com/Daniel-Abrecht/873253bdedb0a9fbcb91c6744a96c623#file-faster-webgl-rendering-rotate-camera-with-arrow-keys-move-with-xy-L48
Das Prinzip ist Simpel, ich hab ne Funktion, der geb ich nen Punkt mit,
und das Ergebnis ist innerhalb (<0) ausserhalb (>0) Oberfläche (=0). Zur
Visualisierung muss ich momentan so ziemlich alle Punkte durchprobieren,
und hab dann nur eine sehr ineffiziente und ungenaue Approximation.
Theoretisch müsste ich nur ne Liniengleichung mit dem Funktionsparameter
gleichsetzen, die Funktion mit 0 gleichsetzen, und das nach der Distanz
zum Betrachtungspunkt auflösen, und schon hätte ich einen sehr
effizienten Raytracer für diese Geometrie. Die Formel hinschreiben ist
simpel, aber leider ist die Mathematik noch nicht so weit, dass man die
Auflösen könnte. Und selbst wenn man es könnte, automatisch mit einem
Algorithmus in endlicher Zeit auflösen ist dann nochmal ein ein par
Nummern grösseres Problem.
Die Mathematik hat hier ein enormes Potential. Würden die paar
grundlegenden Algebraprobleme gelöst, und die Mathematik mal in einen
brauchbaren Zustand gebracht, es wäre unglaublich, was da plötzlich
alles möglich und berechenbar würde. Aber leider ist die Mathematik halt
noch nicht so weit, und wird es vermutlich auch nie sein. Schon
unglaublich, da hat man ne Sprache, um alles zu Beschreiben, und dann
ist sie weder für Menschen noch für Maschinen geeignet. Ich glaub ja
langsam, das Problem ist die Sprache der Mathematik selbst. Dieses
Logiksystem mit seiner absurden Syntax, unzähligen Erweiterungen,
unzähligen Umformungsregeln, Unterbereichen, und verlustbehafteten
Operationen ist vermutlich schon so verbastelt, das es sich hier selbst
im weg steht. Ich glaube, wir brauchen ne neue Sprache/Formalismus, die
all die Umformbarkeitsprobleme mal angeht. Etwas brauchbares halt.