Prolog初心者のスレ
これは良い言語だ…
探検
【論理】Prolog【初心者】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2010/11/06(土) 13:00:56150デフォルトの名無しさん
2011/01/25(火) 18:57:10151デフォルトの名無しさん
2011/03/03(木) 19:28:07.67 あげるべきだろう
152デフォルトの名無しさん
2011/03/08(火) 07:50:13.35 http://nojiriko.asia/prolog/mojiretsu.pro
このサイトの後半部分は正規表現で書くことが
できるものをProlog述語で定義するとどうなるかと
いう課題への解答が集められています。
やはり、正規表現では1行で済むところが述語定義
では7-8行、場合によると10行以上になる場合も
少なくありません。しかし、ここで私が問いかけたいのは、
記述の効率性の問題だけではなく、これらの述語の名前と
して、正規表現として正解の表現を置いたとすると、この
述語名の解説としてPrologコードがどの程度有効な
ものになっているか、と言う観点です。(注1)
この観点からは、Prologは相当に優秀な言語だといえる
のではないか。そうであるといいなと思っています。
(注1) 残念ながら、正規表現の正解が元サイトでも
今ひとつはっきりしないため、述語名は日本語での
表現になっています。
このサイトの後半部分は正規表現で書くことが
できるものをProlog述語で定義するとどうなるかと
いう課題への解答が集められています。
やはり、正規表現では1行で済むところが述語定義
では7-8行、場合によると10行以上になる場合も
少なくありません。しかし、ここで私が問いかけたいのは、
記述の効率性の問題だけではなく、これらの述語の名前と
して、正規表現として正解の表現を置いたとすると、この
述語名の解説としてPrologコードがどの程度有効な
ものになっているか、と言う観点です。(注1)
この観点からは、Prologは相当に優秀な言語だといえる
のではないか。そうであるといいなと思っています。
(注1) 残念ながら、正規表現の正解が元サイトでも
今ひとつはっきりしないため、述語名は日本語での
表現になっています。
153デフォルトの名無しさん
2011/03/08(火) 20:45:35.91 同じサイトのこちらでは、
http://nojiriko.asia/prolog/onmemory_database.html
Prolog単位節をオンメモリデータベースに見立てて、
SQLによる問い合わせと等価なProlog述語定義を
試みています。
http://nojiriko.asia/prolog/onmemory_database.html
Prolog単位節をオンメモリデータベースに見立てて、
SQLによる問い合わせと等価なProlog述語定義を
試みています。
154デフォルトの名無しさん
2011/03/08(火) 21:29:14.81155デフォルトの名無しさん
2011/03/13(日) 04:44:42.40 「いろんな言語で宿題スレ」での出題に
対するProlog解答を集めたWebサイト
http://nojiriko.asia/prolog/
は現在1600解答を集めました。
先週、主要述語の用例集をこのサイトに集めた
解答から抜き出して追加しました。
各用例の題材は現在は出現順にならんで
いますが、今後のこれを意味別に並べ直すつもりです。
解説も極く一部しかついていませんが、意味別に
大分して、それに対して解説を追加する予定です。
最終的には、さらに主要Prolog処理系の互換性を
取るための述語などをここにします。
対するProlog解答を集めたWebサイト
http://nojiriko.asia/prolog/
は現在1600解答を集めました。
先週、主要述語の用例集をこのサイトに集めた
解答から抜き出して追加しました。
各用例の題材は現在は出現順にならんで
いますが、今後のこれを意味別に並べ直すつもりです。
解説も極く一部しかついていませんが、意味別に
大分して、それに対して解説を追加する予定です。
最終的には、さらに主要Prolog処理系の互換性を
取るための述語などをここにします。
156155
2011/03/13(日) 04:46:48.84 訂正 最終行 ここにします。 -> ここに追加します。
157デフォルトの名無しさん
2011/04/17(日) 09:16:01.11 x-euc-jpはeuc-jpにして欲しい…
158デフォルトの名無しさん
2011/04/23(土) 15:05:55.54 エキスパートシステムとか書けたりする?
159デフォルトの名無しさん
2011/04/23(土) 17:33:12.15 >>158
Prologはエキスパートシステム記述するための
言語のひとつということになっている。
私が書いたことがあるか、とか、今書けるかという意味だと
すると、答えは、
20年前には結構書いた。業務用も含めて。
対象が定まれば、サンプル的な短いものなら今でも書ける。
大別して前向き推論によるものと後ろ向き推論のものが
あるが、私は全て後ろ向き。
Prologにとってはこちらの方が自然ということらしい。
Prologはエキスパートシステム記述するための
言語のひとつということになっている。
私が書いたことがあるか、とか、今書けるかという意味だと
すると、答えは、
20年前には結構書いた。業務用も含めて。
対象が定まれば、サンプル的な短いものなら今でも書ける。
大別して前向き推論によるものと後ろ向き推論のものが
あるが、私は全て後ろ向き。
Prologにとってはこちらの方が自然ということらしい。
160デフォルトの名無しさん
2011/04/25(月) 23:18:32.73 エキスパートシステム書けるのですか。
…冷静に考えればprologなればこそ書けなきゃおかしいか。
IBMがprologで自然言語処理がうんたらかんたらしてるらしいので
もっと注目されてほしいなぁ。
…冷静に考えればprologなればこそ書けなきゃおかしいか。
IBMがprologで自然言語処理がうんたらかんたらしてるらしいので
もっと注目されてほしいなぁ。
161デフォルトの名無しさん
2011/04/27(水) 18:00:50.94 >>160
急に注目されはじめたようですよ。
急に注目されはじめたようですよ。
162デフォルトの名無しさん
2011/04/27(水) 19:57:36.82 エキスパートシステムなんてどんな言語でも簡単に書ける。
prologはファクトの無限導出を副作用をつかって
避ける必要があるので、むしろ面倒なくらいだ。
prologはファクトの無限導出を副作用をつかって
避ける必要があるので、むしろ面倒なくらいだ。
163デフォルトの名無しさん
2011/04/27(水) 20:58:39.35 >>162
「どんな言語でも」書けるもんなら書いてくれ。
「どんな言語でも」書けるもんなら書いてくれ。
164デフォルトの名無しさん
2011/04/28(木) 11:32:17.24 どんな言語でもというと語弊があるだろうけど、そんなに難しいものでは
ないという点には同意。
Prologだとappendだけで書けるレベル。かってはスタックオーバーフローや
GCの頻発に悩みながらだったが、現在は、2GB以上のプロセスが当たり前で
データをすべて引数で持ち回っても問題はない。
Prologの利点は、何といっても作り込みが容易なこと。業種、企業、生産現場に
よって、全く異なるデータのサンプリングの方法を仕様がしっかり文章化されて
いれば、簡単に述語として追加・変更できることだろう。
ないという点には同意。
Prologだとappendだけで書けるレベル。かってはスタックオーバーフローや
GCの頻発に悩みながらだったが、現在は、2GB以上のプロセスが当たり前で
データをすべて引数で持ち回っても問題はない。
Prologの利点は、何といっても作り込みが容易なこと。業種、企業、生産現場に
よって、全く異なるデータのサンプリングの方法を仕様がしっかり文章化されて
いれば、簡単に述語として追加・変更できることだろう。
165デフォルトの名無しさん
2011/04/28(木) 11:50:39.82 最近のエキスパートシステム事情には疎いのだけれど、
かっては確かにルールをシンボル化してその論理式を
assert,retractしながら利用するというような手法が
使われていたと思うけど、今は、
非決定性のappend/3 を ...,apppend(L1,[A|L2],L),filter(A,B), ...
のように使って、例えば、Bの排他的要素がL1,L2に存在
するか確かめながら(これもappend/3)進むというような
ものがほとんどだと思う。
かっては確かにルールをシンボル化してその論理式を
assert,retractしながら利用するというような手法が
使われていたと思うけど、今は、
非決定性のappend/3 を ...,apppend(L1,[A|L2],L),filter(A,B), ...
のように使って、例えば、Bの排他的要素がL1,L2に存在
するか確かめながら(これもappend/3)進むというような
ものがほとんどだと思う。
166デフォルトの名無しさん
2011/04/28(木) 23:29:22.17 >>164
私が今書くとすると、"Prolog Programming For Artificial Inteligence" の14章を
一度読みなおしてからということになるが、十分に難しいよ。
他の言語でやさしいかどうかは知らないが。
私が今書くとすると、"Prolog Programming For Artificial Inteligence" の14章を
一度読みなおしてからということになるが、十分に難しいよ。
他の言語でやさしいかどうかは知らないが。
167デフォルトの名無しさん
2011/04/29(金) 00:45:50.54 Prolog全然使えん。簡単なループ文書くのですら一苦労だ。
168デフォルトの名無しさん
2011/04/29(金) 12:35:51.70 斬新な用途ですね。
169デフォルトの名無しさん
2011/04/29(金) 21:02:38.40 prologが得意な人は行列積とかどんな風に書くのかな
自分で書くと、とても綺麗とはいえないコードになる
自分で書くと、とても綺麗とはいえないコードになる
170デフォルトの名無しさん
2011/04/29(金) 22:04:54.18 線形代数関係は、LAPACKに処理を投げるのがプログラミングの定石では?
PrologからLAPACKにどうやって処理を投げるのか知らないけど。
PrologからLAPACKにどうやって処理を投げるのか知らないけど。
171デフォルトの名無しさん
2011/04/29(金) 22:13:50.07 実用にするならそうだね。
ただ、言語のプログラミングスタイルの話だから…
ただ、言語のプログラミングスタイルの話だから…
172デフォルトの名無しさん
2011/04/30(土) 10:38:28.54173デフォルトの名無しさん
2011/04/30(土) 11:22:20.41 >>172
私が今書くとすると、"Matrix Computations 3rd Edition"を
一度読みなおしてからということになるが、十分に難しいよ。
他の言語でやさしいかどうかは知らないが。
私が今書くとすると、"Matrix Computations 3rd Edition"を
一度読みなおしてからということになるが、十分に難しいよ。
他の言語でやさしいかどうかは知らないが。
174デフォルトの名無しさん
2011/04/30(土) 12:01:22.84 >>173
> 他の言語でやさしいかどうかは知らないが。
APLという軟弱言語なら演算子三文字。
軟弱言語巡りをしてPrologにも立ち寄っているけど、
何を書いてもエラーか無限再帰になってしまう。
未だ正しい記述が出来ない orz
> 他の言語でやさしいかどうかは知らないが。
APLという軟弱言語なら演算子三文字。
軟弱言語巡りをしてPrologにも立ち寄っているけど、
何を書いてもエラーか無限再帰になってしまう。
未だ正しい記述が出来ない orz
175デフォルトの名無しさん
2011/04/30(土) 12:21:31.48 >>174
せめて計算環境にあわせてブロック分割くらいしようぜ
せめて計算環境にあわせてブロック分割くらいしようぜ
176デフォルトの名無しさん
2011/04/30(土) 13:21:02.33 >>174
こんな感じじゃないかな。個々の述語は単純だよ。
m_mult(L1,L2,X) :- m_trans(L2,L4),m_mult_1(L1,L4,X) .
m_trans([],[],[]) :- !.
m_trans([[A|R]|R1],[A|R2],[R|R3]) :- m_trans(R1,R2,R3) .
m_trans([[]|_],[]) :- !.
m_trans(L,[B|R1]) :- m_trans(L,B,R2),m_trans(R2,R1),!.
m_mult_1([],_,[]) :- !.
m_mult_1([A|R1],L,[S1|R3]) :- m_mult_2(A,L,S1),m_mult_1(R1,L,R3).
m_mult_2(_,[],[]) :- !.
m_mult_2(A,[B|R2],[C|R3]) :- m_mult_3(A,B,C), m_mult_2(A,R2,R3).
m_mult_3([],[],0) :- !.
m_mult_3([A|R1],[B|R2],S) :- S1 is A * B,m_mult_3(R1,R2,S2),S is S1 + S2.
こんな感じじゃないかな。個々の述語は単純だよ。
m_mult(L1,L2,X) :- m_trans(L2,L4),m_mult_1(L1,L4,X) .
m_trans([],[],[]) :- !.
m_trans([[A|R]|R1],[A|R2],[R|R3]) :- m_trans(R1,R2,R3) .
m_trans([[]|_],[]) :- !.
m_trans(L,[B|R1]) :- m_trans(L,B,R2),m_trans(R2,R1),!.
m_mult_1([],_,[]) :- !.
m_mult_1([A|R1],L,[S1|R3]) :- m_mult_2(A,L,S1),m_mult_1(R1,L,R3).
m_mult_2(_,[],[]) :- !.
m_mult_2(A,[B|R2],[C|R3]) :- m_mult_3(A,B,C), m_mult_2(A,R2,R3).
m_mult_3([],[],0) :- !.
m_mult_3([A|R1],[B|R2],S) :- S1 is A * B,m_mult_3(R1,R2,S2),S is S1 + S2.
177デフォルトの名無しさん
2011/05/05(木) 11:19:35.03 コピペなんですがこういうのも論理型言語で記述できるのでしょうか?
> 357 :名無しさん@涙目です。(東京都):2011/05/02(月) 19:15:52.75 ID:Of9kzpjA0
> こんなのもあるな
> 登場人物は4人。(男の子、女の子、アイスクリーム屋さん、お母さん)
>
> 男の子と女の子が公園で遊んでいると、アイスクリーム屋さんがきます。
> ふたりはアイスが食べたいが、男の子はお金を持っていません。
> アイスクリーム屋さんが「今日はずっと公園でお店やるよ。」 というので、男の子は家にお金を取りに行きます。
> 途中でアイスクリーム屋さんの気が変わり、学校でお店を出すことになり
> 女の子に「男の子に学校に来るように伝えに行って」と、頼みます。
> アイスクリーム屋さんが、学校に向かう途中で、お金を取りに行った男の子に会います。
> アイスクリーム屋さんは男の子に学校にお店を出すことにした事を伝え、一緒に学校に行きます。
> その頃、家に着いた女の子はお母さんから、「男の子は、もうアイスを買いに行った」ことを、聞きます。
>
> さて、ここで問題です。女の子はどこに男の子を探しに行くでしょうか?
> 357 :名無しさん@涙目です。(東京都):2011/05/02(月) 19:15:52.75 ID:Of9kzpjA0
> こんなのもあるな
> 登場人物は4人。(男の子、女の子、アイスクリーム屋さん、お母さん)
>
> 男の子と女の子が公園で遊んでいると、アイスクリーム屋さんがきます。
> ふたりはアイスが食べたいが、男の子はお金を持っていません。
> アイスクリーム屋さんが「今日はずっと公園でお店やるよ。」 というので、男の子は家にお金を取りに行きます。
> 途中でアイスクリーム屋さんの気が変わり、学校でお店を出すことになり
> 女の子に「男の子に学校に来るように伝えに行って」と、頼みます。
> アイスクリーム屋さんが、学校に向かう途中で、お金を取りに行った男の子に会います。
> アイスクリーム屋さんは男の子に学校にお店を出すことにした事を伝え、一緒に学校に行きます。
> その頃、家に着いた女の子はお母さんから、「男の子は、もうアイスを買いに行った」ことを、聞きます。
>
> さて、ここで問題です。女の子はどこに男の子を探しに行くでしょうか?
178デフォルトの名無しさん
2011/05/10(火) 17:16:11.53 よくわからんけど、これは情報格差を見失わないでいられるか、みたいなのを確かめる試験みたいなもので、
パズルではないような
パズルではないような
179デフォルトの名無しさん
2011/05/10(火) 19:26:17.19 発達心理学の有名な問題で、
女の子が一定年齢以下だと公園に行くけど、一定年齢以上だと学校に行くとか、そんな話じゃなかったかと。
女の子が一定年齢以下だと公園に行くけど、一定年齢以上だと学校に行くとか、そんな話じゃなかったかと。
180デフォルトの名無しさん
2011/05/10(火) 20:14:33.59 「女の子は男の子が学校に向かうことを知っているか?」
とかそんな形でモデル化できないこともないかな。
この場合「知らない」なので「公園に行く」になるような。
その文章が表現してる知識全部がうまくいくかどうかはわからない。
>>179 逆かな。
とかそんな形でモデル化できないこともないかな。
この場合「知らない」なので「公園に行く」になるような。
その文章が表現してる知識全部がうまくいくかどうかはわからない。
>>179 逆かな。
181デフォルトの名無しさん
2011/05/11(水) 18:29:25.78182デフォルトの名無しさん
2011/05/11(水) 18:48:08.31 自然言語の曖昧さとかに依存してるなら難しいけど、
(有名な例では、
「宵の明星は金星である」「金星は宵の明星である」
「明けの明星は金星である」「金星は明けの明星である」はいずれも真である。
では、「宵の明星は明けの明星である」は真か、みたいな)
入り組んでいるだけなら論理として扱えると思うけどね。
(有名な例では、
「宵の明星は金星である」「金星は宵の明星である」
「明けの明星は金星である」「金星は明けの明星である」はいずれも真である。
では、「宵の明星は明けの明星である」は真か、みたいな)
入り組んでいるだけなら論理として扱えると思うけどね。
183デフォルトの名無しさん
2011/05/11(水) 21:02:08.06184デフォルトの名無しさん
2011/05/11(水) 21:12:23.17 訂正
× Socrates
○ socrates
だった。
あと女の子の応答もYes/Noだ。
× Socrates
○ socrates
だった。
あと女の子の応答もYes/Noだ。
185デフォルトの名無しさん
2011/05/21(土) 23:11:01.23 あるリストから要素数Nの部分集合が全部ほしいんですがどうすればいいでしょうか?
186デフォルトの名無しさん
2011/05/21(土) 23:54:31.20 >>185
http://www.geocities.jp/m_hiroi/prolog/prolog02.html
部分集合の判定
selects([], Ys).
selects([X | Xs], Ys) :- select(X, Ys, Ys1), selects(Xs, Ys1).
http://www.geocities.jp/m_hiroi/prolog/prolog02.html
部分集合の判定
selects([], Ys).
selects([X | Xs], Ys) :- select(X, Ys, Ys1), selects(Xs, Ys1).
187デフォルトの名無しさん
2011/05/22(日) 00:13:53.59 >>186
はい、自分もそこを見て
selects(Xs,Ys,Z):-selects(Xs,Ys),length(Xs,Z)
みたいにして要素数Zの部分集合を得て、さらに並べ替えがいらないんで
selects(Xs,Ys,Z):-selects(Xs,Ys),length(Xs,Z),sort(Xs,Xs).
みたいにしたんですが、なんかすごくブサイクな感じなんでなんかないかなーと思いまして
はい、自分もそこを見て
selects(Xs,Ys,Z):-selects(Xs,Ys),length(Xs,Z)
みたいにして要素数Zの部分集合を得て、さらに並べ替えがいらないんで
selects(Xs,Ys,Z):-selects(Xs,Ys),length(Xs,Z),sort(Xs,Xs).
みたいにしたんですが、なんかすごくブサイクな感じなんでなんかないかなーと思いまして
188デフォルトの名無しさん
2011/05/22(日) 00:33:02.43 全生成して要素数N以外を捨てる
これが富豪か
これが富豪か
189デフォルトの名無しさん
2011/05/22(日) 02:41:57.82 >>187
http://www.geocities.jp/m_hiroi/prolog/yapp02.html
●問題32
?- combination(3, [a, b, c, d, e], X).
X = [a, b, c] ;
X = [a, b, d] ;
X = [a, b, e] ;
X = [a, c, d] ;
X = [a, c, e] ;
X = [a, d, e] ;
X = [b, c, d] ;
X = [b, c, e] ;
X = [b, d, e] ;
X = [c, d, e] ;
false.
http://www.geocities.jp/m_hiroi/prolog/yapp02.html
●問題32
?- combination(3, [a, b, c, d, e], X).
X = [a, b, c] ;
X = [a, b, d] ;
X = [a, b, e] ;
X = [a, c, d] ;
X = [a, c, e] ;
X = [a, d, e] ;
X = [b, c, d] ;
X = [b, c, e] ;
X = [b, d, e] ;
X = [c, d, e] ;
false.
190デフォルトの名無しさん
2011/05/22(日) 03:13:51.21191デフォルトの名無しさん
2011/05/27(金) 23:13:42.01 今、学生がprologを学ぶ意義って何だろう?
いや、個人的には活用してるけど、俺みたいな言語おたく以外の
普通の学生が、カットの挙動やら、失敗駆動ループやらを
頑張って勉強する価値はあるのかな。
たぶん、大多数はprologなんて一生使わないと思われる。
いや、個人的には活用してるけど、俺みたいな言語おたく以外の
普通の学生が、カットの挙動やら、失敗駆動ループやらを
頑張って勉強する価値はあるのかな。
たぶん、大多数はprologなんて一生使わないと思われる。
192デフォルトの名無しさん
2011/05/28(土) 00:09:52.15 この言語をマスターしたら論破できるようになるの?
193デフォルトの名無しさん
2011/05/28(土) 00:13:38.05194デフォルトの名無しさん
2011/05/28(土) 03:31:59.08 >>191
今後使うためとしか答えられない。我々の思考に最も
近い言語はやはりこの言語なのであって、その事が
評価される時が再び来るということだろう。
興味深いことは、結構優秀な学生にとっても
Prologは決してやさしくはないということ。これが謎。
今後使うためとしか答えられない。我々の思考に最も
近い言語はやはりこの言語なのであって、その事が
評価される時が再び来るということだろう。
興味深いことは、結構優秀な学生にとっても
Prologは決してやさしくはないということ。これが謎。
195デフォルトの名無しさん
2011/05/28(土) 05:00:47.97196デフォルトの名無しさん
2011/05/28(土) 08:26:06.18 >>195
大学の講座は論理学絡みだからね。前提が。
実務では、実際appendしか使いませんね。
append使うためにはリストに取らなくては
ならないから、変換器として、findallは
多用するけどね。
大学の講座は論理学絡みだからね。前提が。
実務では、実際appendしか使いませんね。
append使うためにはリストに取らなくては
ならないから、変換器として、findallは
多用するけどね。
197デフォルトの名無しさん
2011/05/28(土) 08:33:14.38 >>191
学ぶ意義のある言語というと、JavaとかCとか?
つまらん学校だw
本当の学校ってのは、遊びに行くところ。
prologの授業受けてトラウマ/コンプレックス/やみつきになるくらいでちょうど良い。
学ぶ意義のある言語というと、JavaとかCとか?
つまらん学校だw
本当の学校ってのは、遊びに行くところ。
prologの授業受けてトラウマ/コンプレックス/やみつきになるくらいでちょうど良い。
198デフォルトの名無しさん
2011/05/28(土) 08:36:19.95 SLDNFが人間の思考に近いとは思えんなあ。
prologで普遍的な価値があるのは純粋論理の部分だけじゃないか。
prologで普遍的な価値があるのは純粋論理の部分だけじゃないか。
199デフォルトの名無しさん
2011/05/28(土) 09:07:38.68200デフォルトの名無しさん
2011/05/28(土) 09:22:22.26201デフォルトの名無しさん
2011/05/28(土) 09:54:25.63202デフォルトの名無しさん
2011/05/28(土) 10:34:32.82 >>201
私もそれで十分だと思うけど。
私もそれで十分だと思うけど。
203デフォルトの名無しさん
2011/05/28(土) 10:43:29.71 要は事務屋のSQL代わりってわけか。
そんなものに多大な国家予算をつぎこんだ日本って…
そんなものに多大な国家予算をつぎこんだ日本って…
204デフォルトの名無しさん
2011/05/28(土) 11:07:06.71205デフォルトの名無しさん
2011/05/28(土) 15:33:51.21206デフォルトの名無しさん
2011/05/28(土) 15:37:15.41 >>194
>Prologは決してやさしくはない
手続き型がマシなだけで、関数型も論理
型も宣言型も同等にわかりにくいんだろ。
トップダウンのルールベースってのが
鬼門なんだろうな。
オレも、ややこしくなると結局、逐次的に
手続き的に処理を追っかけていくしな。
>Prologは決してやさしくはない
手続き型がマシなだけで、関数型も論理
型も宣言型も同等にわかりにくいんだろ。
トップダウンのルールベースってのが
鬼門なんだろうな。
オレも、ややこしくなると結局、逐次的に
手続き的に処理を追っかけていくしな。
207デフォルトの名無しさん
2011/05/28(土) 16:29:30.76 appendって何?リストの追加?
208デフォルトの名無しさん
2011/05/28(土) 16:48:35.26 >>207
?- append(L0,[X|R],[1,2,3]).
L0 = [],
X = 1,
R = [2,3];
L0 = [1],
X = 2,
R = [3];
L0 = [1,2],
X = 3,
R = [];
no.
?-
?- append(L0,[X|R],[1,2,3]).
L0 = [],
X = 1,
R = [2,3];
L0 = [1],
X = 2,
R = [3];
L0 = [1,2],
X = 3,
R = [];
no.
?-
209デフォルトの名無しさん
2011/05/28(土) 18:19:29.52 >>207
?- length(L0,3),append(L0,[X,Y|R],[1,2,3,4,5,6]).
L0 = [1,2,3],
X = 4,
Y = 5,
R = [6];
no.
?- length(L0,3),append(L0,[X,Y|R],[a,b,c,d,e,a]),append(_,[Z|_],L0),append(_,[Z|_],R).
L0 = [a,b,c],
X = d,
Y = e,
R = [a],
_ = [],
Z = a,
_ = [b,c],
_ = [],
_ = [];
no.
?-
?- length(L0,3),append(L0,[X,Y|R],[1,2,3,4,5,6]).
L0 = [1,2,3],
X = 4,
Y = 5,
R = [6];
no.
?- length(L0,3),append(L0,[X,Y|R],[a,b,c,d,e,a]),append(_,[Z|_],L0),append(_,[Z|_],R).
L0 = [a,b,c],
X = d,
Y = e,
R = [a],
_ = [],
Z = a,
_ = [b,c],
_ = [],
_ = [];
no.
?-
210デフォルトの名無しさん
2011/05/28(土) 18:24:29.21 >>207
select(A,L,X) :- append(L0,[A|R],L),append(L0,R,X).
?- select(A,[1,2,3],X).
A = 1,
X = [2,3];
A = 2,
X = [1,3];
A = 3,
X = [1,2];
no.
?-
select(A,L,X) :- append(L0,[A|R],L),append(L0,R,X).
?- select(A,[1,2,3],X).
A = 1,
X = [2,3];
A = 2,
X = [1,3];
A = 3,
X = [1,2];
no.
?-
211デフォルトの名無しさん
2011/05/28(土) 18:40:40.85212デフォルトの名無しさん
2011/05/28(土) 19:07:00.82 >>207
カンマで括られた文字列の検索(_文字列,_適合文字列) :-
atom_chars(_文字列,Chars),
append(_,[','|L1],Chars),
append(L01,[','|_],L1),
\+(append(_,[','|_],L01)),
atom_chars(_適合文字列,L01).
カンマで括られた文字列の検索(_文字列,_適合文字列) :-
atom_chars(_文字列,Chars),
append(_,[','|L1],Chars),
append(L01,[','|_],L1),
\+(append(_,[','|_],L01)),
atom_chars(_適合文字列,L01).
213デフォルトの名無しさん
2011/05/28(土) 20:29:06.72 なにこれ、こわい
214デフォルトの名無しさん
2011/05/28(土) 21:25:53.31 >213
自分のやってることの意味を考えずに生きてきて、
ついにコードを見せることしかできなくなった
哀れな技術者の末路です
そっとしておいてあげてください。
自分のやってることの意味を考えずに生きてきて、
ついにコードを見せることしかできなくなった
哀れな技術者の末路です
そっとしておいてあげてください。
>>203
このスレ 残滓で満ちてそう…
このスレ 残滓で満ちてそう…
216デフォルトの名無しさん
2011/05/28(土) 22:46:02.81217デフォルトの名無しさん
2011/05/28(土) 22:51:48.86 そうだね、100通りでも200通りでもかけるね。
そうやって、無意味なことに貴重な税金を無駄遣いしてきたわけか。
そうやって、無意味なことに貴重な税金を無駄遣いしてきたわけか。
218デフォルトの名無しさん
2011/05/28(土) 23:20:33.96219デフォルトの名無しさん
2011/05/28(土) 23:28:52.02 だから、その行為をどう意義づけているの?
それは70年近いプログラミングの発展史のなかでどう位置づけられるの?
それを語らずにコードを垂れ流しても何の意味もない。
それは70年近いプログラミングの発展史のなかでどう位置づけられるの?
それを語らずにコードを垂れ流しても何の意味もない。
220デフォルトの名無しさん
2011/05/29(日) 03:43:12.57 Prolog製の商用アプリケーションにGeneXusってのあるから何が出来るのか調べてみたらどうだい。
http://www.atmarkit.co.jp/im/cae/reports/0701/01.html
http://www.nikkei.com/tech/business/article/g=96958A9C93819499E2EAE2E2838DE2EAE3E0E0E2E3E2E2E2E2E2E2E2
http://itpro.nikkeibp.co.jp/article/COLUMN/20101207/354963/
http://itpro.nikkeibp.co.jp/article/Watcher/20101001/352528/
http://www.atmarkit.co.jp/im/cae/reports/0701/01.html
http://www.nikkei.com/tech/business/article/g=96958A9C93819499E2EAE2E2838DE2EAE3E0E0E2E3E2E2E2E2E2E2E2
http://itpro.nikkeibp.co.jp/article/COLUMN/20101207/354963/
http://itpro.nikkeibp.co.jp/article/Watcher/20101001/352528/
221デフォルトの名無しさん
2011/05/29(日) 06:49:35.85 >[注2]「シーシャープ」と読む。CやC++をベースに米マイクロソフトが開発し、2000年6月に発表したプログラミング言語。
>従来のCやC++との違いは、インターネット経由でアプリケーション・サービスを提供するWebサービスに対応すること
日経・・・
>従来のCやC++との違いは、インターネット経由でアプリケーション・サービスを提供するWebサービスに対応すること
日経・・・
222デフォルトの名無しさん
2011/05/29(日) 07:38:29.49 > 「プログラマはもう要らない」。
> 大手物流会社のシステム子会社で新技術の社内展開を進めるマネージャーはこう言い切る。
> ここでいうプログラマとは、企業情報システムの開発プロジェクトでプログラムを作成する担当者を指す。
お前ら、もう要らないらしいw
> 大手物流会社のシステム子会社で新技術の社内展開を進めるマネージャーはこう言い切る。
> ここでいうプログラマとは、企業情報システムの開発プロジェクトでプログラムを作成する担当者を指す。
お前ら、もう要らないらしいw
223デフォルトの名無しさん
2011/05/29(日) 07:53:41.82224デフォルトの名無しさん
2011/05/29(日) 08:26:23.42 この記事を使って、リストラが進められそうだな。
「ツール導入で生産性が20倍になりますので、人員を1/20に削減します」
「ツール導入で生産性が20倍になりますので、人員を1/20に削減します」
225デフォルトの名無しさん
2011/05/29(日) 08:50:03.16226デフォルトの名無しさん
2011/05/29(日) 08:52:30.24 どんどんやって、どんどん潰れっちまえ
227デフォルトの名無しさん
2011/05/29(日) 09:27:54.50 それはいいが、prologの名前をこんないんちき商売に
使うのはやめて欲しい。
使うのはやめて欲しい。
228デフォルトの名無しさん
2011/05/29(日) 09:52:32.48 >>227
使ってみたことあるのかい?
使ってみたことあるのかい?
229デフォルトの名無しさん
2011/05/29(日) 12:15:34.41 >従来のCやC++との違いは、インターネット経由でアプリケーション・サービスを提供するWebサービスに対応すること
.NETをインターネットの事か何かだと思ったんだろうな
.NETをインターネットの事か何かだと思ったんだろうな
230デフォルトの名無しさん
2011/05/31(火) 08:36:17.56231デフォルトの名無しさん
2011/06/01(水) 12:41:08.98 >>230 引数一切なし?
232デフォルトの名無しさん
2011/06/04(土) 16:42:06.23 Prologって業務ロジックを抽象的に表すのには向いているんじゃないだろうか
流行りの(?)DSLとかの代わりにならないかな
流行りの(?)DSLとかの代わりにならないかな
233デフォルトの名無しさん
2011/06/04(土) 18:05:49.85 >>232
これ以上向いている言語はないと思うけど。
速度を要求されない、複雑化の可能性のあるロジックに
ついては、開発速度、プログラマの養成の容易さ、
保守のしやすさ、全ての点で優れている。
欠点はオブジェクト指向言語でなくて、.NETから外れて
いることかな。
これ以上向いている言語はないと思うけど。
速度を要求されない、複雑化の可能性のあるロジックに
ついては、開発速度、プログラマの養成の容易さ、
保守のしやすさ、全ての点で優れている。
欠点はオブジェクト指向言語でなくて、.NETから外れて
いることかな。
234デフォルトの名無しさん
2011/06/04(土) 20:53:49.88 おおすごい。
なんで普及していない/普及しなかったんだろう?
なんで普及していない/普及しなかったんだろう?
235デフォルトの名無しさん
2011/06/05(日) 06:47:44.50 swi-prolog 5.11.14 で日本語が通りません。
'親子'('茂雄', '一茂')
.
のような日本語述語や日本語の項はUTF-8で書いて、
クォートでくくれば読み込めるんですが
listing しても文字化けしています。
日本語述語で問い合わせしても、そんな述語はないといわれます。
何か設定等必要なのでしょうか?
環境はwindows xp sp2です。
'親子'('茂雄', '一茂')
.
のような日本語述語や日本語の項はUTF-8で書いて、
クォートでくくれば読み込めるんですが
listing しても文字化けしています。
日本語述語で問い合わせしても、そんな述語はないといわれます。
何か設定等必要なのでしょうか?
環境はwindows xp sp2です。
236デフォルトの名無しさん
2011/06/11(土) 18:07:04.52 750 :デフォルトの名無しさん[sage]:2008/12/23(火) 10:10:50
>>747
http://www.swi-prolog.org/versions.html
UTF-8対応は5.6.x(開発版では5.5.x)から
>>747
http://www.swi-prolog.org/versions.html
UTF-8対応は5.6.x(開発版では5.5.x)から
237デフォルトの名無しさん
2011/06/11(土) 18:08:07.51 おっと5.11.14かごめんw
238天使 ◆uL5esZLBSE
2011/07/01(金) 18:39:03.66239デフォルトの名無しさん
2011/07/11(月) 10:57:06.09 ぷろろぐ
240デフォルトの名無しさん
2011/07/13(水) 20:40:07.15 探索とかもろ並列処理できそうな
マルチコア時代の今なら並列prologとか出てこないかしら?
マルチコア時代の今なら並列prologとか出てこないかしら?
241デフォルトの名無しさん
2011/07/13(水) 21:37:00.70 お好きなのをどうぞ
concurrent prolog
parlog
ghc
kl1
strand
concurrent prolog
parlog
ghc
kl1
strand
242デフォルトの名無しさん
2011/07/13(水) 23:41:15.56243デフォルトの名無しさん
2011/07/14(木) 04:09:18.84 統合失調症の人にそんなこと言っても無駄
244デフォルトの名無しさん
2011/07/14(木) 14:41:46.26245デフォルトの名無しさん
2011/07/15(金) 03:23:58.99246デフォルトの名無しさん
2011/07/15(金) 05:33:59.23 >>240
http://nojiriko.asia/prolog/c135_256.html
AZ-Prolog処理系作者によって書かれたMPIライクな
マルチプロセス並列処理機能の使用プログラム。
http://nojiriko.asia/prolog/c135_256.html
AZ-Prolog処理系作者によって書かれたMPIライクな
マルチプロセス並列処理機能の使用プログラム。
247デフォルトの名無しさん
2011/08/21(日) 10:38:06.34 JVM上で動作し、Javaからも呼び出し可能なprologがあれば!
248デフォルトの名無しさん
2011/08/22(月) 09:38:53.46 prolog cafeがありますよ
249デフォルトの名無しさん
2011/08/22(月) 15:03:23.52■ このスレッドは過去ログ倉庫に格納されています
ニュース
- クリスマスの「予定なし」54% [少考さん★]
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★2 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- 日銀0.75%に利上げへ、30年ぶりの水準に 19日金融政策決定会合 [蚤の市★]
- 【STARTO ENTERTAINMENT】SUPER EIGHTの横山裕、フジ『ドッキリGP』ロケで全治2ヶ月の重傷 [Ailuropoda melanoleuca★]
- 公用車カーナビのNHK受信料「全額免除を」 千葉市議会、国に制度創設求める意見書可決 [少考さん★]
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★4
- 【実況】博衣こよりのえちえち機動戦士ガンダム逆襲のシャア🧪★5
- フィンランド人国会議員「つり目はアジア人差別じゃない!!」と擁護投稿開始 [469534301]
- 茶ぁしばこうや··· ( ¨̮ )︎︎𖠚ᐝ2
- コーヒー、来年3月から30パーセント値上げへ [709039863]
- 愛国者「釘を使わない日本独自の伝統工法スゴイ!」X民「それ中国起源ですよ」→批判殺到 [834922174]
