重複の可能性:
数式を単純化するための戦略
式を表すツリーを構築する数式パーサーがあります。たとえば、私が入力する2+y+3+y
と、これの内部表現は次のようになります。
今、私たち人間はすぐにそれを見ることができます2+y+3+y = 2y + 5
. 私が見るコンピューターのトリッキーな部分は、私が左に立っている場合+
、他のブランチで右に別の追加があることに気付かないことです-これは評価するときは問題ありませんが、単純化するときは問題ありませんこれがうまくできる方法がわかりません。
クラスの組み合わせは次のとおりです。
これをグーグルで検索しようとしましたが、ここで役立つものは何も見つかりませんでした. いくつかの一般的なウェイポイント、またはURLなどをいただければ幸いです
編集:例では、追加のみが含まれていることに注意してください。パーサーは次のような式をサポートしています: 1+2*(3^4-4/5*(1+2))