過去スレ
Prologでまったり Part4
http://pc12.2ch.net/test/read.cgi/tech/1235561034/
Prologでまったり Part3
http://pc11.2ch.net/test/read.cgi/tech/1193354806/
PrologでまったりPart 2
http://pc11.2ch.net/test/read.cgi/tech/1102664221/
Prolog でまったり
http://pc5.2ch.net/test/read.cgi/tech/976462999/
Prologでまったり Part5 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2017/03/24(金) 14:51:42.44ID:ZNjVJLCP
52デフォルトの名無しさん
2017/07/02(日) 06:07:25.30ID:b2F1GUNM >>51
全く使っていない
全く使っていない
53デフォルトの名無しさん
2017/07/02(日) 06:58:37.04ID:7x1CJ3Ta GNU Prolog で制約論理プログラミングしてるよ。
ゼブラパズルに置き換えられる問題は世の中に結構ある。
ゼブラパズルに置き換えられる問題は世の中に結構ある。
54デフォルトの名無しさん
2017/07/03(月) 05:54:57.56ID:6QSWtKdI Prologがメジャーに復帰するためにはもう少し生きたプログラムが
表面に出てこないと
表面に出てこないと
55デフォルトの名無しさん
2017/07/03(月) 10:52:00.94ID:p/temOJb それに尽きる
56デフォルトの名無しさん
2017/08/02(水) 11:00:33.21ID:AyM7Pnm72017/08/02(水) 12:36:37.86ID:E8GFzbft
Prologのサンプルみたいんだけど、これって他のOOP言語とかでもライブラリとして実装可能じゃない?
2017/08/02(水) 20:33:24.50ID:iKI4Roin
可能だよ
59デフォルトの名無しさん
2017/08/02(水) 20:40:47.00ID:E8GFzbft じゃあprologを使うメリットって何?
いや、別にprologをdisりたい訳じゃないけどどういう言語なのかなと思って
いや、別にprologをdisりたい訳じゃないけどどういう言語なのかなと思って
2017/08/03(木) 04:03:02.89ID:WCischub
Prolog Programming for Artificial Intelligence (4th Edition)ってどうですか?
いい本なら買うつもりです
いい本なら買うつもりです
2017/08/03(木) 12:49:51.06ID:0ZfpTseB
62デフォルトの名無しさん
2017/08/04(金) 03:49:13.37ID:kIgI5e6Z >>3
関数型の次は論理型がくる
関数型の次は論理型がくる
2017/08/05(土) 10:44:36.62ID:MSodZ/NA
中核派のほうに細々と生き残ってるよなあ
2017/08/06(日) 01:06:18.01ID:eutB4+go
中核派がPrologを使っていたとは。
革マル派はLispですか?
革マル派はLispですか?
65デフォルトの名無しさん
2017/08/06(日) 11:05:55.46ID:peki0++3 赤軍は?
2017/08/06(日) 12:59:05.66ID:SmKvCm0C
>65
>赤軍は?
赤軍というのは、通常は旧ソ連の軍隊のこと。
赤軍合唱団というのもありますが、
あなたの言いたいのは、日本の「連合赤軍」のこと
でしょう?
>赤軍は?
赤軍というのは、通常は旧ソ連の軍隊のこと。
赤軍合唱団というのもありますが、
あなたの言いたいのは、日本の「連合赤軍」のこと
でしょう?
2017/08/06(日) 17:35:57.36ID:Co8jByrZ
2017/08/06(日) 17:42:40.12ID:D2MwPYUj
だから赤軍派?って言ったじゃねーか!
2017/08/07(月) 09:24:07.63ID:tdYEUDnr
>68
>65では、
>赤軍は?
と書いてあって、
赤軍派?
とは、書いてありませんが。
実は「派」の字は書いてあったのだが、
私が老眼の為に見えなかったのでしょうか。
と
>65では、
>赤軍は?
と書いてあって、
赤軍派?
とは、書いてありませんが。
実は「派」の字は書いてあったのだが、
私が老眼の為に見えなかったのでしょうか。
と
2017/08/07(月) 20:15:00.51ID:y+tGiyqS
嫌味なマジレスw
2017/08/07(月) 20:50:47.72ID:9xNxBROd
Prologおじさん改めPrologおじいさんですね
72デフォルトの名無しさん
2017/10/25(水) 11:21:14.75ID:ozqNX1fD ラズパイ上で動くPrologが既にあるのだが、どんなアプリが面白いだろうか
2017/12/21(木) 07:07:21.01ID:ewcS0SAQ
兎にも角にもアレクサ君と連携
74デフォルトの名無しさん
2017/12/21(木) 08:15:15.55ID:EOeEZWwX Prologって型定義をしないけど型が全くないという訳ではない
アトム、アトミック、整数、浮動小数点数、リスト
だけどそれ以上に区別する気はない
アトム、アトミック、整数、浮動小数点数、リスト
だけどそれ以上に区別する気はない
75デフォルトの名無しさん
2017/12/21(木) 09:32:27.33ID:ewcS0SAQ ラバパイではそういうわけにはいかないが最近の速いパソコンだとPrologの一つの単一化も
3ナノ秒以下で実行されるらしい
Prologは遅いからとかの言い訳は利かないのかも
3ナノ秒以下で実行されるらしい
Prologは遅いからとかの言い訳は利かないのかも
2017/12/22(金) 23:29:19.91ID:6BLzPHcG
ラバパイじゃ遅そうだな
ラバだからな
ラバだからな
2018/02/16(金) 06:41:22.56ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
2018/03/23(金) 03:56:42.38ID:v4A1VyNI
・電通、企業の顧客対応を自動化・高度化する日本語AIサービス「Kiku-Hana」を開発
http://tech.nikkeibp.co.jp/it/atclact/activer/nkpr/RSP474948_22032018/
Prologの採用事例がまた一つ
http://tech.nikkeibp.co.jp/it/atclact/activer/nkpr/RSP474948_22032018/
Prologの採用事例がまた一つ
79デフォルトの名無しさん
2018/03/23(金) 04:08:26.39ID:6jIYybpe 自然言語処理はPrologの得意分野だからな
2018/03/23(金) 18:09:31.47ID:Wi+5DRxB
自然言語処理が確率的な手法で進めば進むほど、Prologの出番が出てくる。
2018/05/01(火) 08:58:56.17ID:fTDqzH+p
法律の条文解釈をHaskellでやってるのは見た事あるけど、Prologって、そういうのも可能なんだろうか?
2018/05/02(水) 03:42:05.92ID:MIS1A4AD
日本の法律は厳密に定義されていない部分がわりにあってうまくいかないという話をどこかで読んだことあるな
実際の基準や閾値は判例見ないとわからなかったりとか
そういうあいまいなところを実情に合わせて柔軟に解釈して運用することで時代の変化にある程度追従していけるようにしてあるのかも
実際の基準や閾値は判例見ないとわからなかったりとか
そういうあいまいなところを実情に合わせて柔軟に解釈して運用することで時代の変化にある程度追従していけるようにしてあるのかも
2018/05/23(水) 08:30:56.56ID:PUSKgIep
憲法解釈でやりたい放題なんだから今さら
84デフォルトの名無しさん
2018/05/23(水) 20:04:35.28ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
E5JQH
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
E5JQH
85デフォルトの名無しさん
2018/07/05(木) 01:36:48.58ID:RfoszcD2 Z7K
86デフォルトの名無しさん
2018/11/05(月) 10:15:56.17ID:j3sHpoUt WikipediaのPrologの記載にある種の執念を感じた(笑)
2018/11/05(月) 14:32:06.16ID:JsuzbYis
>86
あれはまだまだ序文にすぎないよ
プロローグだけに
あれはまだまだ序文にすぎないよ
プロローグだけに
2018/11/06(火) 08:41:11.47ID:CZhh9Cm6
>87
座布団一枚!
座布団一枚!
89デフォルトの名無しさん
2018/11/11(日) 14:34:03.14ID:vUUak6BF90デフォルトの名無しさん
2018/11/11(日) 17:51:52.84ID:96wp+TZd NGゆき
2019/02/05(火) 17:47:02.82ID:sCQhaZP1
TwitterでPrologがちょっと燃えててワラタ
92デフォルトの名無しさん
2019/02/26(火) 20:00:32.82ID:W0wJxBNy yarnに採用!おめでとう!
https://jser.info/2019/02/26/yarn-v2berryfastify-v2tslint/
また、ワークスペースの改善としてConstraintsというProlog(実際にはtau-prolog)を使った制約を扱うプラグインが追加されています。ワークスペース間の依存などのルールをPrologを使って記述して、より効率的に扱えるようにするのが目的のようです。
>>91
くやしく。
https://jser.info/2019/02/26/yarn-v2berryfastify-v2tslint/
また、ワークスペースの改善としてConstraintsというProlog(実際にはtau-prolog)を使った制約を扱うプラグインが追加されています。ワークスペース間の依存などのルールをPrologを使って記述して、より効率的に扱えるようにするのが目的のようです。
>>91
くやしく。
2019/02/27(水) 02:39:32.99ID:uWJyq6/U
パッケージ管理やビルドツールにPrologを使うというのは(Prologを使える人が少ないという点を除けば)極めて良いアイデアだと思う
94デフォルトの名無しさん
2019/02/27(水) 02:48:11.64ID:WT+xSYik なんで今まで誰もやらなかったのかね
95デフォルトの名無しさん
2019/02/27(水) 12:50:03.80ID:+TCpifLa makeで足りてるから
96デフォルトの名無しさん
2019/03/06(水) 18:36:48.48ID:fBh61pOJ Prologでリストを使わない人はいないと思うのだけれど、
引数の部分にリスト以外の複合項を全く書かない人もいる。一方、引数に終始、複合項や式が
出続ける書き手もいる。
もちろん、対象領域が違うからという理由が大きいのだけれど、そのことは少し軽く見て、
そういう視点で観察してプログラマを分類してみるのも面白い。
引数の部分にリスト以外の複合項を全く書かない人もいる。一方、引数に終始、複合項や式が
出続ける書き手もいる。
もちろん、対象領域が違うからという理由が大きいのだけれど、そのことは少し軽く見て、
そういう視点で観察してプログラマを分類してみるのも面白い。
2019/03/08(金) 22:49:07.51ID:NeLzfZqe
Prologの本はいっぱいあるけど、GHC系言語の解説書ってないのかなぁ。
あれでどんなプログラミングができるのかいまいちイメージがつかめない。
あれでどんなプログラミングができるのかいまいちイメージがつかめない。
2019/03/08(金) 23:01:46.51ID:meEyRQaU
>>97
結局、これはいい、という適用分野が見つからなかった
結局、これはいい、という適用分野が見つからなかった
2019/03/08(金) 23:23:02.60ID:3HgW2fRj
100デフォルトの名無しさん
2019/03/08(金) 23:25:00.97ID:NeLzfZqe そうなんだ?
Prologを踏まえて作られたものだから少なくともそれよりは利点があるものと思ったけど。
Prologを踏まえて作られたものだから少なくともそれよりは利点があるものと思ったけど。
101デフォルトの名無しさん
2019/03/08(金) 23:25:55.60ID:NeLzfZqe >>99
あ、あるんだね。ありがとう。
あ、あるんだね。ありがとう。
102デフォルトの名無しさん
2019/03/09(土) 00:15:35.43ID:/409IHbE 並行論理プログラミング言語 GHC / KL1 - Kazunori Ueda - 早稲田大学
http://www.ueda.info.waseda.ac.jp/~ueda/readings/GHC-intro.pdf
GHCの考案者による解説
http://www.ueda.info.waseda.ac.jp/~ueda/readings/GHC-intro.pdf
GHCの考案者による解説
103デフォルトの名無しさん
2019/04/17(水) 08:44:19.08ID:28onwIaH >>40
SSDだと遅い?
SSDだと遅い?
104デフォルトの名無しさん
2019/06/07(金) 12:04:24.13ID:Vw8dl1xl >>96
私は アトム+リスト 派だな。RDBの影響からか構造体は書かない。
私は アトム+リスト 派だな。RDBの影響からか構造体は書かない。
105デフォルトの名無しさん
2019/06/10(月) 16:41:53.47ID:JdO3de0t '1文字ずつ交互に1つの文字配列に格納し'(_文字列_1,_文字列_2,_文字数,_文字ならび) :-
findall(_文字,一文字ずつ交互に(_文字列_1,_文字列_2,_文字数,_文字),_文字ならび).
一文字ずつ交互に(_文字列_1,_文字列_2,_文字数,_文字) :-
between(0,_文字数,N),
交互に(_文字列_1,_文字列_2,N,_文字).
交互に(_文字列_1,_文字列_2,N,_文字) :-
sub_atom(_文字列_1,N,1,_,_文字).
交互に(_文字列_1,_文字列_2,N,_文字) :-
sub_atom(_文字列_2,N,1,_,_文字).
findall(_文字,一文字ずつ交互に(_文字列_1,_文字列_2,_文字数,_文字),_文字ならび).
一文字ずつ交互に(_文字列_1,_文字列_2,_文字数,_文字) :-
between(0,_文字数,N),
交互に(_文字列_1,_文字列_2,N,_文字).
交互に(_文字列_1,_文字列_2,N,_文字) :-
sub_atom(_文字列_1,N,1,_,_文字).
交互に(_文字列_1,_文字列_2,N,_文字) :-
sub_atom(_文字列_2,N,1,_,_文字).
106デフォルトの名無しさん
2019/07/01(月) 21:23:07.04ID:VvtU1+Ac % 今日書いたプログラム
solve( _,0,New,New) :-
!.
solve( [],_,_,_) :-
!, fail.
solve( [_|T],R,B,New) :-
solve( T,R,B,New).
solve( [H|_],R,_,_) :-
R < H,
% write( R-H),nl,
!, fail.
solve( [H|T],R,B,New) :-
RN is R - H,
% write( RN-[H|B]),nl,
solve( T,RN,[H|B],New).
main :-
Elem = [9729,8895,8572,7627,6576,6460,5842,5496,5467,2921,1685,511],
solve( Elem,31178,[],New),
write( New),nl,
true.
solve( _,0,New,New) :-
!.
solve( [],_,_,_) :-
!, fail.
solve( [_|T],R,B,New) :-
solve( T,R,B,New).
solve( [H|_],R,_,_) :-
R < H,
% write( R-H),nl,
!, fail.
solve( [H|T],R,B,New) :-
RN is R - H,
% write( RN-[H|B]),nl,
solve( T,RN,[H|B],New).
main :-
Elem = [9729,8895,8572,7627,6576,6460,5842,5496,5467,2921,1685,511],
solve( Elem,31178,[],New),
write( New),nl,
true.
107デフォルトの名無しさん
2020/03/05(木) 19:56:08.14ID:h922Dn8C108デフォルトの名無しさん
2020/05/20(水) 07:32:13.18ID:fGOoG/D2 Prologこんなところでも実用されてたのね
https://robotstart.info/2020/05/19/heart-conditioner-top.html
https://robotstart.info/2020/05/19/heart-conditioner-top.html
109デフォルトの名無しさん
2020/05/20(水) 09:33:08.57ID:Dfazl3Af 朝日新聞x電通=0
110デフォルトの名無しさん
2020/05/21(木) 10:05:05.65ID:p6Pkr9q+ AZ-Prologですね
111デフォルトの名無しさん
2020/05/21(木) 10:25:23.25ID:p6Pkr9q+ >>105
これ間違っていますね。_文字数の意味が今ひとつ不明ですが多分、
'1文字ずつ交互に1つの文字配列に格納し'(_文字列_1,_文字列_2,_文字数,_文字ならび) :-
_文字数_1 is _文字数 - 1,
findall(_文字,一文字ずつ交互に(_文字列_1,_文字列_2,_文字数_1,_文字),_文字ならび).
でないといけません。
これ間違っていますね。_文字数の意味が今ひとつ不明ですが多分、
'1文字ずつ交互に1つの文字配列に格納し'(_文字列_1,_文字列_2,_文字数,_文字ならび) :-
_文字数_1 is _文字数 - 1,
findall(_文字,一文字ずつ交互に(_文字列_1,_文字列_2,_文字数_1,_文字),_文字ならび).
でないといけません。
112デフォルトの名無しさん
2020/06/05(金) 03:01:05.09ID:p2r1F5vv Prologで文脈自由文法が出来ると聞いてやってきた
情報求む
簡単にオートマトン書けるし良い言語だな
情報求む
簡単にオートマトン書けるし良い言語だな
113デフォルトの名無しさん
2020/06/05(金) 23:08:38.31ID:d3cW9y/k W. F. Clocksin/C.S. Mellish著、中村克彦訳
『Prologプログラミング』(日本コンピュータ協会刊行)
の
「第9章 文法規則の使用」
には、文脈自由文法をPrologで実現する方法が解説されて
いますl
『Prologプログラミング』(日本コンピュータ協会刊行)
の
「第9章 文法規則の使用」
には、文脈自由文法をPrologで実現する方法が解説されて
いますl
114デフォルトの名無しさん
2020/06/06(土) 00:52:50.14ID:P2ph+/53 >>113
情報サンクス!
Prologって知れば知るほど面白い言語だな
オートマトンもコンパイラも簡潔に書ける
乗り換え案内的なヤツもすぐ作れそうなのに配列の最大値を求めるとかは他の言語の方が楽に書けそうだな
特定のジャンルのアルゴリズム特化型言語か
独自のアレンジ加えたくて、今、swi-prolog本体のソース読み始めて分かったことは、
visibility("hidden")のattributeが設定されてるからソース書き換えないとinstrument-functionsを使った関数トレースが出来ない
C言語で15万行(ステップ数)ぐらい
qlfとかいう超高速読み込み可能な中間コードを生成してる
PL_next_solution()からVMの処理が始まるかも(違ったらスマン)
ぐらいかな
情報サンクス!
Prologって知れば知るほど面白い言語だな
オートマトンもコンパイラも簡潔に書ける
乗り換え案内的なヤツもすぐ作れそうなのに配列の最大値を求めるとかは他の言語の方が楽に書けそうだな
特定のジャンルのアルゴリズム特化型言語か
独自のアレンジ加えたくて、今、swi-prolog本体のソース読み始めて分かったことは、
visibility("hidden")のattributeが設定されてるからソース書き換えないとinstrument-functionsを使った関数トレースが出来ない
C言語で15万行(ステップ数)ぐらい
qlfとかいう超高速読み込み可能な中間コードを生成してる
PL_next_solution()からVMの処理が始まるかも(違ったらスマン)
ぐらいかな
115デフォルトの名無しさん
2020/06/20(土) 16:50:18.23ID:s+0TrQkE 時代がようやくPrologに追い付いてきた。
飛躍の環境が整いつつある。
飛躍の環境が整いつつある。
116デフォルトの名無しさん
2020/09/15(火) 14:31:15.52ID:aWAWrZMP 帰納論理プログラミングってプログラムの入出力の正しい例と不正解の例をあたえて機械学習でプログラムを作るはなしでいいんだよね?
最近のニューラルネットワークから影響受けた進歩はどんなのがあるの?
決定木を作りたい分野?だからあまり影響うけてないのかな。
最近のニューラルネットワークから影響受けた進歩はどんなのがあるの?
決定木を作りたい分野?だからあまり影響うけてないのかな。
117デフォルトの名無しさん
2020/11/13(金) 21:40:55.37ID:YvL+uxnX Tabled Prologって何ですか?何が凄いの?
118デフォルトの名無しさん
2020/11/20(金) 20:30:34.02ID:kpOgVe3q >>117
フィボナッチ数列の定義で40番目前後で、計算できなくなっていた定義に、
途中で計算できた値を動的に asserta((fib(N) :- !)) してしまうと途端に巨大な
フィボナッチ数列を生成できるようになる。この場合は自分でassertaしているが
それを処理系が全ての目標に対して、結果を書留め、その結果を優先して利用する。
Prologの速度の遅さを改善し、深さ優先探索では計算不能の場合でも解が得られる
ケースがある。
フィボナッチ数列の定義で40番目前後で、計算できなくなっていた定義に、
途中で計算できた値を動的に asserta((fib(N) :- !)) してしまうと途端に巨大な
フィボナッチ数列を生成できるようになる。この場合は自分でassertaしているが
それを処理系が全ての目標に対して、結果を書留め、その結果を優先して利用する。
Prologの速度の遅さを改善し、深さ優先探索では計算不能の場合でも解が得られる
ケースがある。
119デフォルトの名無しさん
2020/11/20(金) 21:17:41.49ID:YhokOqrJ 全然わからない…うわーん
120デフォルトの名無しさん
2020/11/23(月) 02:51:39.97ID:XIoHPhIo miniKanrenのcondeとかcondaとかconduとか用語の名前つけの意味が分からん。
どっかに書いてあるの?
てかこんな変な略語にする意味あるの??学びにくい
どっかに書いてあるの?
てかこんな変な略語にする意味あるの??学びにくい
121デフォルトの名無しさん
2020/11/25(水) 10:47:14.62ID:m/dxKoiX122デフォルトの名無しさん
2021/02/04(木) 08:23:36.35ID:JjBI2OlW >>121
確かに、解がその時その時で変わる目標もあるので、そのことをどう見抜くのだろうか
確かに、解がその時その時で変わる目標もあるので、そのことをどう見抜くのだろうか
123デフォルトの名無しさん
2021/05/21(金) 17:21:50.55ID:ZyYdcxQO 要素位置が同じ(_n番目,L1,L2,L1のn番目,L2のn番目) :-
要素位置が同じ(1,_n番目,L1,L2,L1のn番目,L2のn番目).
要素位置が同じ(N,_n番目,[A|_],[B|_],A,B).
要素位置が同じ(M,_n番目,[_|R1],[_|R2],A,B) :-
succ(M,N),
要素位置が同じ(N,_n番目,R1,R2,A,B).
要素位置が同じ(1,_n番目,L1,L2,L1のn番目,L2のn番目).
要素位置が同じ(N,_n番目,[A|_],[B|_],A,B).
要素位置が同じ(M,_n番目,[_|R1],[_|R2],A,B) :-
succ(M,N),
要素位置が同じ(N,_n番目,R1,R2,A,B).
124デフォルトの名無しさん
2021/05/21(金) 17:34:04.02ID:ZyYdcxQO % 遅いですが、これでも同じ結果がでます。
要素位置が同じ(_n番目,L1,L2,L1のn番目,L2のn番目) :-
nth1(_n番目,L1,L1のn番目),
nth1(_n番目,L2,L2のn番目).
要素位置が同じ(_n番目,L1,L2,L1のn番目,L2のn番目) :-
nth1(_n番目,L1,L1のn番目),
nth1(_n番目,L2,L2のn番目).
125デフォルトの名無しさん
2021/05/22(土) 04:06:27.31ID:EzA/TCTS Prologでは非決定性の述語に書いていくというのが普通です。
春の七草(セリ).
春の七草(ナズナ).
春の七草(ゴギョウ).
春の七草(ハコベラ).
春の七草(ホトケノザ).
春の七草(スズナ).
春の七草(スズシロ).
この春の七草/1という述語は非決定性です。
つまり、所謂データベースは非決定性述語だということになります。
春の七草(セリ).
春の七草(ナズナ).
春の七草(ゴギョウ).
春の七草(ハコベラ).
春の七草(ホトケノザ).
春の七草(スズナ).
春の七草(スズシロ).
この春の七草/1という述語は非決定性です。
つまり、所謂データベースは非決定性述語だということになります。
126デフォルトの名無しさん
2021/05/22(土) 06:37:34.55ID:EzA/TCTS '春の七草の名前の中に「スズ」が入るのは'(_名前の中にスズが入る春の七草) :-
春の七草(_名前の中にスズが入る春の七草),
sub_atom(_名前の中にスズが入る春の七草,_,_,_,スズ).
のように検索します。sub_atom/5の第二、第三、第四引数はそれぞれ
匿名変数になっていますが、ここは本来
第二引数 : 変位
第三引数 : 文字数
第四引数 : 残り文字数
が来るところです。この検索ではこの情報は必要がないから匿名変数にしてあります。
春の七草(_名前の中にスズが入る春の七草),
sub_atom(_名前の中にスズが入る春の七草,_,_,_,スズ).
のように検索します。sub_atom/5の第二、第三、第四引数はそれぞれ
匿名変数になっていますが、ここは本来
第二引数 : 変位
第三引数 : 文字数
第四引数 : 残り文字数
が来るところです。この検索ではこの情報は必要がないから匿名変数にしてあります。
127デフォルトの名無しさん
2021/05/22(土) 06:58:50.79ID:EzA/TCTS '春の七草の名前の中に「スズ」が入るのは'(_名前の中にスズが入る春の七草) :-
春の七草(_春の七草),
sub_atom(_春の七草,_,_,_,スズ),
_春の七草 = _名前の中にスズが入る春の七草.
% この方が良いという意見もある。私は >>126 で構わないと思いますが。
春の七草(_春の七草),
sub_atom(_春の七草,_,_,_,スズ),
_春の七草 = _名前の中にスズが入る春の七草.
% この方が良いという意見もある。私は >>126 で構わないと思いますが。
128デフォルトの名無しさん
2021/05/22(土) 10:57:31.66ID:EzA/TCTS Prologで項を読み込む時は read や read_term を使うけれど、syntax errorにならないように気を使わなくてはならず、さらに最後にピリオドが必要だったりであまり使われない。
SWI-Prologでは文の読み取りは read_line_to_string/2 が主に使われるようだ。
?- read_line_to_string(current_input,S).
とかやると、プロンプトが出てきて、入力可能になる。アルファベットと認識できる文字なら空白があろうとビリオドがあろうと全体がストリングとして読み取られる。
SWI-Prologでは文の読み取りは read_line_to_string/2 が主に使われるようだ。
?- read_line_to_string(current_input,S).
とかやると、プロンプトが出てきて、入力可能になる。アルファベットと認識できる文字なら空白があろうとビリオドがあろうと全体がストリングとして読み取られる。
129デフォルトの名無しさん
2021/05/22(土) 11:35:44.08ID:EzA/TCTS さて、read_line_to_string/2の第二引数にはStringが来る。このString。少々ヘンである。
?- read_line_to_string(current_input,X),name(Y,X).
|: 山下
X = "山下",
Y = 山下.
?- name(山下,X).
X = [23665, 19979].
?- read_line_to_string(current_input,[23665,19979]).
|: 山下
false.
?-
伝統的にnameの第二引数にStringが来ると第一引数には対応するアトムが単一化される。確かそうなっているようだが、これをread_line_to_stringの第二引数にもってくるとfalse.となる。
?- read_line_to_string(current_input,X),name(Y,X).
|: 山下
X = "山下",
Y = 山下.
?- name(山下,X).
X = [23665, 19979].
?- read_line_to_string(current_input,[23665,19979]).
|: 山下
false.
?-
伝統的にnameの第二引数にStringが来ると第一引数には対応するアトムが単一化される。確かそうなっているようだが、これをread_line_to_stringの第二引数にもってくるとfalse.となる。
130デフォルトの名無しさん
2021/05/22(土) 11:43:12.26ID:EzA/TCTS もう少しやってみると
?- read_line_to_string(current_input,X),X = [97,98].
|: ab
false.
?- "ab" = [97,98].
false.
?- name(X,"ab").
X = ab.
?-
name/2とは第二引数にStringと文字コードリストが入り得る仕様のようだ。
それではなぜ第一引数にアトムがくると文字コードリストが選択されるのか。
双方向性の述語の仕様として異様である。
?- read_line_to_string(current_input,X),X = [97,98].
|: ab
false.
?- "ab" = [97,98].
false.
?- name(X,"ab").
X = ab.
?-
name/2とは第二引数にStringと文字コードリストが入り得る仕様のようだ。
それではなぜ第一引数にアトムがくると文字コードリストが選択されるのか。
双方向性の述語の仕様として異様である。
131デフォルトの名無しさん
2021/05/22(土) 11:54:49.12ID:EzA/TCTS 実際には、Stringであるかatomであるかはほとんど気にせず使っている。理由は、
?- read_line_to_string(current_input,S),sub_atom(S,0,1,_,X).
|: 山下
S = "山下",
X = 山.
のようにsub_atom/5やatom_concat/3を介すると自動的にatomに変換されてしまう。
ほとんどの文字列処理ではこれらの組込述語を使うことになるためStringとatomについて心配する必要がない。
ただし、
?- read_line_to_string(current_input,S),assertz(S).
|: 山下
これはエラーになる。Stringを述語名に持ってくることはできない。
?- read_line_to_string(current_input,S),sub_atom(S,0,1,_,X).
|: 山下
S = "山下",
X = 山.
のようにsub_atom/5やatom_concat/3を介すると自動的にatomに変換されてしまう。
ほとんどの文字列処理ではこれらの組込述語を使うことになるためStringとatomについて心配する必要がない。
ただし、
?- read_line_to_string(current_input,S),assertz(S).
|: 山下
これはエラーになる。Stringを述語名に持ってくることはできない。
132デフォルトの名無しさん
2021/05/24(月) 13:39:16.27ID:pTUv/8tK >>131
?- read_line_to_string(current_input,S),string_to_atom(S,A),assertz(A).
のようにアトムに変換する述語を介すれば定義可能。
?- read_line_to_string(current_input,S),string_to_atom(S,A),assertz(A).
のようにアトムに変換する述語を介すれば定義可能。
133デフォルトの名無しさん
2021/05/24(月) 14:45:39.55ID:pTUv/8tK SWI-Prologにはconsult/1とreconsult/1の区別がない。全部、reconsult/1となる。これによって間違いは少なくなるが、ここと言う時にまとめての節の追加assertzがし難い。このような仕様になっているのは、述語定義とそれが記述されているソースファイルを一対一に対応させたいからなのだろう。
134デフォルトの名無しさん
2021/05/28(金) 02:54:03.56ID:c1aNJ6R+ 別のスレで話題が出ていたPrologの小学校授業の実践例。
私は聞かないのだが、試みている方いますか?
私は聞かないのだが、試みている方いますか?
135デフォルトの名無しさん
2021/05/28(金) 02:56:30.10ID:c1aNJ6R+ >>134
5chでこの質問は無理かな。twitterで問いかけてみよう。
5chでこの質問は無理かな。twitterで問いかけてみよう。
136デフォルトの名無しさん
2021/05/28(金) 03:08:05.89ID:cfWnMWR2 Prologおじさんは真夜中に仕事!
137デフォルトの名無しさん
2021/06/01(火) 15:31:29.00ID:IjgT90G7138デフォルトの名無しさん
2021/06/01(火) 15:35:19.88ID:IjgT90G7139デフォルトの名無しさん
2021/06/01(火) 15:44:36.37ID:IjgT90G7140デフォルトの名無しさん
2021/06/01(火) 19:28:43.26ID:NMxDDUXJ >>137
Prologで整数や数値が「型」かどうかとなると相当に怪しい。
単に計算対象になる整数。数値。そしてアトム。それだけ。
複合項のパターンを纏めるつもりが全くない言語で型があると言ってよいものだろうか。
Prologで整数や数値が「型」かどうかとなると相当に怪しい。
単に計算対象になる整数。数値。そしてアトム。それだけ。
複合項のパターンを纏めるつもりが全くない言語で型があると言ってよいものだろうか。
141デフォルトの名無しさん
2021/06/02(水) 00:05:18.95ID:PGTV1esh Prologの規格にPrologと型という概念は相容れないという記述でもあるのか?
教えてくれ
教えてくれ
142デフォルトの名無しさん
2021/06/02(水) 00:26:36.32ID:webfWhef さすがProlog!悪魔の証明もできちまうんだ
143デフォルトの名無しさん
2021/06/02(水) 00:48:25.45ID:4mby1Q15 閉世界仮説だしね
144デフォルトの名無しさん
2021/06/02(水) 02:56:41.74ID:BUsn5VkI145デフォルトの名無しさん
2021/06/02(水) 08:33:49.33ID:WwionR+x >>144
型という概念はFORTRANの時代からあったわけだし、使ってもよかったはずだけれど
使わなかった。アトムだけで行きたかったけれど妥協して数値は作った。
論理変数に型付けなんて論外。要するにほんの少しでも決まり事を減らしたい。そういう世界。
型という概念はFORTRANの時代からあったわけだし、使ってもよかったはずだけれど
使わなかった。アトムだけで行きたかったけれど妥協して数値は作った。
論理変数に型付けなんて論外。要するにほんの少しでも決まり事を減らしたい。そういう世界。
146デフォルトの名無しさん
2021/06/02(水) 08:42:56.55ID:BUsn5VkI >>145
最初から確信を持ってそうなのだから、所謂ガルパゴス化ではないと
最初から確信を持ってそうなのだから、所謂ガルパゴス化ではないと
147デフォルトの名無しさん
2021/06/02(水) 12:47:50.87ID:BUsn5VkI 述語論理とかHaskellがあがっていますが、
小6では述語論理やPrologでは遅すぎ。Haskellでは早すぎるのではないでしょうか。
小6では述語論理やPrologでは遅すぎ。Haskellでは早すぎるのではないでしょうか。
148デフォルトの名無しさん
2021/06/02(水) 12:50:22.32ID:BUsn5VkI >>147
すみません。これ誤爆でした。
すみません。これ誤爆でした。
149デフォルトの名無しさん
2021/06/04(金) 09:27:00.93ID:y0+/+oEy 「文字を覚えたときがPrologの覚えどき」
とは、言い得ると思うのですが、さて、この「文字を覚えたとき」を何時とみるか。
5才なのか、7才なのか、それとも・・・
とは、言い得ると思うのですが、さて、この「文字を覚えたとき」を何時とみるか。
5才なのか、7才なのか、それとも・・・
150デフォルトの名無しさん
2021/06/04(金) 09:39:23.01ID:W7exS3i6 >>149
個人差がある。幼稚園に入るために予備校に行ってる児童もいる。この場合は4才だって行けるだろうし。
個人差がある。幼稚園に入るために予備校に行ってる児童もいる。この場合は4才だって行けるだろうし。
151デフォルトの名無しさん
2021/06/04(金) 11:51:33.16ID:y0+/+oEy 公立の小学校なら二年生から。そういう言い方をしないといけないのかな。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【東京】「家族で話題にして」 “世田谷一家殺害から25年 警視庁が呼びかけ [煮卵★]
- 今年の流行語大賞 『働いて働いて働いてまいります』が受賞で不快感… 過労自殺の遺族らが会見「家族にむち打つような行為だ」 [冬月記者★]
- 前駐中国大使・垂秀夫『高市首相が台湾有事答弁を国会でしてしまったのは高市首相のなかに戦略的思考が無いから。安倍晋三を見習え』 [718678614]
- クズ「勉強頑張らなかった奴は一生DQNと一緒に肉体労働しろ」☚勉強頑張れるのも環境と巡り合わせなんだが? [783475554]
- 金曜ロードショー😭
- 朝だよー🥁🥺ドンドンドンドン
- ( ・᷄ὢ・᷅ )ケツ
- モブサイコ「私がJAグループに何か利益誘導するということは全くありません」 [402859164]
