- ベストアンサー
prolog プログラム
Xは日本人である:japanese(X) Xは米国に住んだことがある:usa(X) Xは英語が話せる:english(X) 上の述語を使って、下のprologのプログラムを作成したいです。 分かる方いらっしゃいましたら宜しくお願いしたいです。 「太郎は日本人である」 「米国に住んだことのある日本人は英語が話せる」 「太郎は米国に住んだことがある」
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- prologでの数式の簡単化
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を除去するくらいはしたいのですが・・・ お願いします。
- 締切済み
- その他(プログラミング・開発)
- prologのプログラムについて
?- ss([3,4,1,2,5],[1,2],X) X=[3,4,5] ?- ss([car(X,Y),car(Z,W)],[car(a,b),car(c,d),train(a),car(e,g)],List) List=[train(a),car(e,f)] List=[car(c,d),train(a)] List=[car(a,b),train(a)] ?- ss(X,[1,2],[3,4]) X=[1,2,3,4] となるようなprologのプログラムをつくりたいです。 丸一日、試行錯誤したのですが、結果どおりに動いてくれません。 分かる方がいらっしゃいましたら、教えていただけませんでしょうか。
- ベストアンサー
- その他(プログラミング・開発)
- question about Prolog
Prologについて質問があります。 私は今Prologで簡易和英・英和翻訳機をつくろうとしているのですが、途中でつまづいています。 以下のようなPrologリストを読み込んで、``in rooms''を日本語に直そうとして :-prep_phrase([in,rooms], [], B, []). と入力すると、 B = [heya,no,naka,no] と正しい答が返ってきますが、逆に``heya no naka no''を英語に直そうと :-prep_phrase(A, [], [heya,no,naka,no], []). と入力しても、無限ループに陥ってしまうようでエラーメッセージとして ``stack overflow'' が返ってきます。 トレースしてみたところ、noun_phrase と prep_phrase が交互に次々と呼ばれていました。 どうしてこのようなことが起こるのでしょうか(英->和はできているのに)。また、これを回避する方法はあるのでしょうか。 %% プログラムリストここから %% 英語の「名詞+前置詞節」を日本語の「前置詞節+名詞」に %% 翻訳する %% ex. in rooms -> heya no naka no %% 名詞節 noun_phrase(A, C, X, Z):-noun(A, B, Y, Z), prep_phrase(B, C, X, Y). %% 前置詞節 prep_phrase(A, C, X, Z):-prep(A, B, Y, [no|Z]), noun_phrase(B, C, X, [no|Y]). prep_phrase(A, A, X, X). %% 前置詞 prep([in|A], A, [naka|X], X). %% 名詞 noun([rooms|A], A, [heya|X], X). %% プログラムリストここまで
- ベストアンサー
- その他(プログラミング・開発)
- 教科の大文字 小文字表記について素朴な疑問
英語学習者です。 英語=English 日本語=Japanese 数学=math のように教科によって単語の最初が大文字に なったり小文字になったりするのは何か 法則があったりするのでしょうか? ご存知の方いらっしゃいましたら、教えてください。
- 締切済み
- 英語
- 以下のプログラムを作るとすると・・・・・・?
プログラム作成の勉強をしているのですが、よく分かりません。お分かりの方、ぜひ教えてください。 log(1+x)=Σ_[M,n=1]{(-1)^(n+1)/n}・x^n M=∞ 上の式から有限なMの値とxの値を入力し、Do loopで第M項までの総和によりlog(1+x)の近似値を求め、組み込み関数logYの値と総和による近似解を求めた値の順でディスプレイ上に書き出すプログラムを作成するにはどうしたらよいでしょうか? どうかよろしくお願いします。(使っているツールはxemacsです。)
- ベストアンサー
- その他(プログラミング・開発)
- Global English用の日本語マニュアル
日本語ライティングについて書かれた書籍を探しています。 (日本語であり、英語ではありません。) 以下の様な内容の物となりますが、よろしくお願いいたします。 Global English(制限英語)というシンプルな英語がありますが、これは日本語から英語に翻訳する際、Global English(制限英語)という考え方を用いて、翻訳していると理解しています。 このGlobal English(制限英語)という考え方を日本語から適用し、日本語の時点からシンプルな文章を作成したいと考えています。 このため、Global English(制限英語)化を踏まえて、日本語文書自体をシンプルに作成する方策が書かれているライティングの書籍を見たいと考えています。
- ベストアンサー
- 英語
- このプログラムはどのように作成するのでしょうか?
プログラム作成について勉強しているのですが、分からないのでぜひ教えていただきたいです。 整数Mと初期値X(0)の値を入力し、 X(n+1)=16807X(n) をN=Mまで計算しファイルX.dataに書き出すプログラムを作成 (X(n)は倍数度実数) 分かる方、ぜひご教授ください。
- ベストアンサー
- その他(プログラミング・開発)
お礼
ありがとうございましたm(__)m♪