![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
prologで微分をするプログラムを作ったのですが計算した結果が、例えば、
0*x^2+a*(2*x^1*1)+(0*x+b*1)+0
のように無駄に長くなってしまいます。そこでこれを簡単化する述語simple(P)を作りたいのですがどのようにしたら良いでしょうか?
?- simple(0*x^2+a*(2*x^1*1)+(0*x+b*1)+0).
2*a*x+b
yes
できれば上のような動作がするぐらいのものが作りたいです。
少なくとも余計な0,1を除去するくらいはしたいのですが・・・
お願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんな感じでどうでしょう。
(かなり無駄がある気がしますが)simple(X^0,1).
simple(X^1,X).
simple(0*X,0).
simple(X*0,0).
simple(1*X,X1) :- simple(X,X1).
simple(X*1,X1) :- simple(X,X1).
simple(0+X,X1) :- simple(X,X1).
simple(X+0,X1) :- simple(X,X1).
simple(X*Y,Z) :- simple(X,X1),not(X=X1),!,simple(X1*Y,Z).
simple(X*Y,Z) :- simple(Y,Y1),not(Y=Y1),!,simple(X*Y1,Z).
simple(X+Y,Z) :- simple(X,X1),not(X=X1),!,simple(X1+Y,Z).
simple(X+Y,Z) :- simple(Y,Y1),not(Y=Y1),!,simple(X+Y1,Z).
simple(X,X).
?- simple(0*x^2+a*(2*x^1*1)+(0*x+b*1)+0,X).
X = a*(2*x)+b
Yes
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(お金・保険・資産運用) 至急!【Wolt】各メニューの価格設定の簡単な計算方法 3 2023/03/05 11:58
- 物理学 『数か物か』 4 2022/06/13 06:54
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- C言語・C++・C# numpyスライス機能を使った数値計算 2 2023/05/08 16:01
- 統計学 確率統計の問題です。 3 2022/04/07 04:39
- 数学 都市経済学の問題です。わかる方教えてください。 地主が得る地代を増やすために、都市の端までの距離 x 2 2023/07/18 17:41
- 統計学 不偏分散について 3 2022/03/29 15:57
- 物理学 単位変換?次元解析?について質問です 1 2022/04/10 21:31
- Excel(エクセル) ユーザー関数の自動計算(excel2003) 1 2023/02/06 06:46
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
クライアントのIPとマシン名を...
-
エクセルで 自動的に◯や数字を...
-
ファイルをディレクトリ分配の...
-
DBを10件毎に表示ページング...
-
毎○曜日って、使いますか?
-
[Excel] ある日の曜日が当月の"...
-
曜日を求めるプログラムはどう...
-
月の第一週とは
-
週2回のペースって だいたい何...
-
cgiとplとpm
-
raspberrypiから外部サーバーへ...
-
HTTP 200 OKの後のリダイレクト?
-
エクセルで相対パスの書き方を...
-
perlでHTTP Request Headersの...
-
よくある 『 第○(1・2・3・4・...
-
VBAでExcelのヘッダーに文字列+...
-
毎週同じ曜日にラブホに行くと...
-
Perlから他のcgiへPOSTでデータ...
-
WWWサーバーソフトを確認するには
-
Quantifier follows nothing in...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クライアントのIPとマシン名を...
-
グローバルIPアドレスの取得。
-
HttpClientを利用してのサービ...
-
prologでの数式の簡単化
-
Perlでの$ENV{REMOTE_ADD}の信...
-
perlの環境変数 ENV{'REMOTE_A...
-
ホームページの更新日時の取得
-
プロキシ経由でNet::FTPを利用...
-
社外からのアクセスかどうか判...
-
Outlook Expressの受信トレイに...
-
携帯端末向け サーバサイドCook...
-
IPとホスト名の変換について
-
socket使用時の環境変数(REMOT...
-
プロキシサーバ経由を拒否したい
-
LOGON_USER
-
URLConnection Timeoutエラー
-
webサーバでクライアントを特定...
-
リファラーの取得方法
-
mod_rewriteの環境変数を埋め込...
-
.htaccess の書き方について教...
おすすめ情報