Algebraische Ausdrücke vereinfachen

Design Patterns, Erklärungen zu Algorithmen, Optimierung, Softwarearchitektur
Forumsregeln
Wenn das Problem mit einer Programmiersprache direkt zusammenhängt, bitte HIER posten.
Antworten
Stephan Theisgen
Beiträge: 94
Registriert: 29.07.2003, 11:13

Algebraische Ausdrücke vereinfachen

Beitrag von Stephan Theisgen »

Hi!

Kennt hier jemand ein paar gute Texte die das symbolische Vereinfachen von Algebraischen Ausdrücken behandeln? Oder Beispiele, wie man das leicht in C++ implementiert?

Ich würde gerne ausdrücke, welche +,-,x,(),cos,sin beinhalten sowie beliebig viele Variablen als Baumstrukturen behandeln und dann auch einfach durch Baumoperationen vereinfachen, zb. (a+b)-(a-b) zu b+b bzw 2b...

Viele Grüße und vielen Dank
Stephan
Benutzeravatar
Jonathan
Establishment
Beiträge: 2371
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Algebraische Ausdrücke vereinfachen

Beitrag von Jonathan »

Naja, eigentlihc sind das 2 Teilprobleme. Die Baumstruktur aufbauen und anschließend vereinfachen.
Um den Baum aufzubauen brauchst du Lexer und Parser. Dafür gibt es eigentlich schon ganz gute Programme und Bibliotheken, das selber zu bauen kann kniffelig werden, sollte für mathematische Ausdrücke aber noch ganz gut gehen.

http://de.wikipedia.org/wiki/Lexikalischer_Scanner
http://de.wikipedia.org/wiki/Parser

Für das zweite, naja, der intuitive Ansatz ist es, mathematische Regeln zu definieren (Distributivgesetz usw) zu prüfen ob man die Anwenden kann und ob das Sinn macht. Aber dafür gibt es sicherlich auch schon Papers zu.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Antworten