2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【論理】Prolog【初心者】

1 :デフォルトの名無しさん:2010/11/06(土) 13:00:56 .net
Prolog初心者のスレ

これは良い言語だ…

953 :デフォルトの名無しさん:2020/06/07(日) 14:20:37.65 ID:1jUe1e78.net
if と for を使う、普通のプログラミング言語としても使えるよ
if は違うゴール節に入る
for はすべて再帰で書く
それだけのこと

954 :デフォルトの名無しさん:2020/06/07(日) 19:52:04 ID:4Q/izaPV.net
言語を作った人達ですらappendの意味を理解できなかったらしいからな。

955 :デフォルトの名無しさん:2020/06/08(月) 02:35:20.50 ID:OD6feMKZ.net
Prologを使ったアイデアがいっぱい出てくる
機械学習の可能性に疑問を持ち始めた今こそコレだ!って感じがする笑
これからのテーマは「機械学習じゃ出来ないことをPrologでやろう」だな
因果関係とか戦略的意志決定とか胸が熱くなるんだが笑

956 :デフォルトの名無しさん:2020/06/08(月) 03:13:29.00 ID:9sdXvh+T.net
>>955
http://www.iluminado.jp/

その辺のシンボリックAIは80年代、90年代前半に色々検証されてBRMSに名前を変えて残っている。
結局、ブラックボックスになってメンテができないとか、データの精度がとか今の機械学習とおんなじ過ちを30
年前もやっている。

957 :デフォルトの名無しさん:2020/06/08(月) 03:58:01.65 ID:OD6feMKZ.net
>>956
なるほどBRMSか
JBoss BRMSとかいうのを調べたがWebとか色んな分野で使われててかなり面白そうだな
結局、Prologの立ち位置としてはそういうのとか他の色んなアルゴリズムの教育用途に適してるかもって思ったわ
簡潔に書けるし、アルゴリズムの教育に持って来いだな
小学校でヴィジュアルプログラミングとかやってる場合じゃねぇ!w

958 :デフォルトの名無しさん:2020/06/08(月) 07:17:09 ID:9sdXvh+T.net
>>957
 俺はロジカルシンキングの代わりに頭の中でPrologを動かしているw。
オブジェクト指向と同じ、ある種の試行訓練やな。

959 :デフォルトの名無しさん:2020/07/29(水) 07:26:24.50 ID:SoSaYlfN.net
iZ-Cのサンプルプログラム書き始めたので見てね。
sunasunax.hatenablog.com

960 :デフォルトの名無しさん:2020/08/02(日) 08:15:30.30 ID:W4wBIQXC.net
>>959
https://sunasunax.hatenablog.com

961 :デフォルトの名無しさん:2021/02/27(土) 05:14:06.73 ID:jy/nv44/k
仕事が生きがい?会社員の分際で?そろそろ認めなさい…あなたたちは単なる駒です
⇒赤羽の父ひろゆきが教える仕事の本質とやりたいことの違いが凄過ぎて感動が止まらない…
https://www.youtube.com/watch?v=zkwQOdq17dI
【ひろゆき/切り抜き】サラリーマンって資本主義の奴隷なの?
https://www.youtube.com/watch?v=Vi-dvyd5ksE&t=74s
【ひろゆき】社会人語っちゃうサラリーマンについて語りました
https://www.youtube.com/watch?v=pX7NHj_rIBg
【ひろゆき/切り抜き】虚言癖ってどうやって直せばいい?
https://www.youtube.com/watch?v=5cS7vyb0tfE
【ひろゆき】サラリーマンが知らない世の中の仕組み教えます…
⇒意外と知られていない就職せずにお金を稼ぐ人々たちの存在とは
https://www.youtube.com/watch?v=y7WxL0LxmIY
奴隷は身近にある?日本の奴隷について【ひろゆき 切り抜き】
https://www.youtube.com/watch?v=evQjCUWIHV4
【ひろゆき】会社員なんて楽しくない?⇒楽しいしラクな仕事の仕方とは※サラリーマン必見!
https://www.youtube.com/watch?v=T95-FS8sT3w&t=390s
【ひろゆき】日本のサラリーマン制度...終わってますよwww
https://www.youtube.com/watch?v=Y-30zk2zDn0

962 :デフォルトの名無しさん:2021/12/03(金) 21:44:45.76 ID:E2QPyYLa.net
A: Dはうそつきです
B: AとDのどちらかは本当のことを言っています
C: Bの言っていることは本当です
D: 私はうそつきではありません

正直者は必ず本当のことを言っています。
うそつきは必ずうそをつきます。
うそつきはいったい誰?

↑この問題って高階述語になるから一階述語論理しか扱えないPrologでは解けないって理解でいいの?
そうだとしたら現代ではコンピューターでどうやって解くの?

963 :デフォルトの名無しさん:2021/12/03(金) 23:00:48.21 ID:Oj6t+xnM.net
prologは高階述語も書けるよ

964 :デフォルトの名無しさん:2021/12/04(土) 06:16:48.61 ID:CAsz35to.net
>>963
実装選ぶ必要ありますか?どれでも可能?

965 :デフォルトの名無しさん:2021/12/04(土) 07:37:52.32 ID:RAd/NC6B.net
よく分からんけど高階論理は不要で、制約論理で解けるんじゃないか
https://www.swi-prolog.org/pldoc/man?section=clpb

Aの発言は Aが真ならDは偽、Aが偽ならDは真という制約になり、これは A=:=(~D) と表せる
Bの発言は B=:=(A+D)、Cの発言は C=:=B、Dの発言は D=:=D と表せる
まとめると ?- sat((A=:=(~D)) * (B=:=(A+D)) * (C=:=B) * (D=:=D)). となり答は
B = C, C = 1, sat(A=\=D). となる
これはBとCは正直、AとDのうち一人は正直でもう一人は嘘つきだけどどちらが嘘つきかは分からないということ

966 :デフォルトの名無しさん:2021/12/04(土) 23:56:43.15 ID:CAsz35to.net
ありがとうございます
文章題からこの制約を書き下せる自信がない…(|||´Д`)

967 :964:2021/12/06(月) 19:23:33.90 ID:JCSphZpm.net
>>966
正直者は必ず本当のことを言い、うそつきは必ずうそをつくという条件があるので
Aが正直者であるかどうかとAが言っていることが正しいかどうかの真偽は同じになるということで、それを制約論理の式で表すだけ
A=:=(~D)は、A(Aが正直者であること)と(~D)(Aの発言内容「Dは嘘つきだ」)の真偽が一致している(=:=)ということ
Aが真なら(~D)も真だし、Aが偽なら(~D)も偽
他の3人についても同様
これをリンク先にある制約論理で表す
0   偽
1   真
~P   not P
P*Q  P and Q
P+Q  P or Q
P=<Q  PならばQ
P=:=Q  PとQの真偽は同じ
P=\=Q  PとQの真偽は異なる

968 :964:2021/12/06(月) 19:33:58.30 ID:JCSphZpm.net
制約論理を使わない(使えない)場合はどうしたらいいんだろ
d:-d.なんて書いても無限ループになるだけだし

969 :デフォルトの名無しさん:2022/11/14(月) 14:12:20.00 ID:i6KxBWUg.net
>>962-968
こういうのとか

s(A,B,C,D) :-
( A=true; A=false),
( B=true; B=false),
( C=true; C=false),
( D=true; D=false),
( A=true -> D=false ; true),
( A=false -> D=true ; true),
( B=true -> (A=true ; D=true); true) ,
( B=false -> A=false,D=false ; true),
C=B.

考え方は>>967と同じ
>正直者は必ず本当のことを言い、うそつきは必ずうそをつくという条件があるので
>Aが正直者であるかどうかとAが言っていることが正しいかどうかの真偽は同じになる

SWI-Prologで実行したら解は2つ

A = B, B = C, C = true, D = false
A,B,Cが正直者でDが嘘つき

A = false, B = C, C = D, D = true
Aが嘘つきでB,C,Dが正直者

これと同じだな
>これはBとCは正直、AとDのうち一人は正直でもう一人は嘘つきだけど
>どちらが嘘つきかは分からない

970 :デフォルトの名無しさん:2022/11/15(火) 01:18:50.21 ID:26oE0jcj.net
>>969
変えてみた

s2(A,B,C,D) :-
( A=true; A=false),
( B=true; B=false),
( C=true; C=false),
( D=true; D=false),
( A -> D=false ; D=true),
( B -> (A=true ; D=true) ; A=false,D=false),
C=B.

971 :デフォルトの名無しさん:2022/11/15(火) 01:39:59.69 ID:26oE0jcj.net
>>970
変えてみた

s3(A,B,C,D) :-
Boolean=[true,false],
( member(A, Boolean)),
( member(B, Boolean)),
( member(C, Boolean)),
( member(D, Boolean)),
( A -> D=false ; D=true),
( B -> (A=true ; D=true) ; A=false,D=false),
C=B.

972 :デフォルトの名無しさん:2022/11/16(水) 07:59:27.34 ID:KZpN7KA1.net
>>962
R. Smullyanのto mock a mocking birdの前編はこういう問題の宝庫でおすすめ
多分最も影響力のある論理学の啓蒙書だから釈迦に説法かもしれんが

公務員試験でもあるな、これくらいなら表書けば解ける、多分

973 :デフォルトの名無しさん:2022/11/16(水) 09:10:20.86 ID:CQNdPPMd.net
表を書いてみる

s4 :-
writeln("A B C D"),
writeln(""),
Boolean=[true,false],
forall(
( ( member(A,Boolean)),
( member(B,Boolean)),
( member(C,Boolean)),
( member(D,Boolean))),
( ( A->write("T ");write("F ")),
( B->write("T ");write("F ")),
( C->write("T ");write("F ")),
( D->write("T ");write("F ")),
( ( A -> D=false ; D=true),
( B -> (A=true ; D=true) ; A=false,D=false),
C=B
-> writeln("○")
; writeln("×")))).

974 :デフォルトの名無しさん:2023/04/28(金) 14:17:28.49 ID:8wk3+eV/.net


975 :デフォルトの名無しさん:2023/04/28(金) 14:18:28.04 ID:8wk3+eV/.net
こんばんは

976 :デフォルトの名無しさん:2023/04/28(金) 14:18:45.43 ID:8wk3+eV/.net
サイフォン

977 :デフォルトの名無しさん:2023/04/28(金) 14:19:22.07 ID:8wk3+eV/.net
てえすと

978 :デフォルトの名無しさん:2023/04/28(金) 14:19:35.56 ID:8wk3+eV/.net
究極のテスト

979 :デフォルトの名無しさん:2023/04/28(金) 14:19:58.05 ID:8wk3+eV/.net


980 :デフォルトの名無しさん:2023/04/28(金) 14:20:16.76 ID:8wk3+eV/.net
。?

981 :デフォルトの名無しさん:2023/04/28(金) 14:20:31.31 ID:8wk3+eV/.net
マルチメディアってわけですね

982 :デフォルトの名無しさん:2023/04/28(金) 14:21:01.39 ID:8wk3+eV/.net
え?

983 :デフォルトの名無しさん:2023/04/28(金) 14:21:07.70 ID:8wk3+eV/.net
マジなのか?

984 :デフォルトの名無しさん:2023/04/28(金) 14:43:40.60 ID:8wk3+eV/.net
めすや

985 :デフォルトの名無しさん:2023/04/28(金) 14:43:49.65 ID:8wk3+eV/.net
ファイト

986 :デフォルトの名無しさん:2023/04/28(金) 15:28:13.87 ID:8wk3+eV/.net


987 :デフォルトの名無しさん:2023/04/28(金) 15:28:19.38 ID:8wk3+eV/.net
ルンバ

988 :デフォルトの名無しさん:2023/04/28(金) 16:33:24.56 ID:1++JLEfi.net
てすや

989 :デフォルトの名無しさん:2023/04/28(金) 16:33:30.09 ID:1++JLEfi.net
マジで

990 :デフォルトの名無しさん:2023/04/28(金) 20:43:36.57 ID:tkMERdaz.net
アドバンス

991 :デフォルトの名無しさん:2023/04/28(金) 20:56:50.79 ID:tkMERdaz.net
テスト

992 :デフォルトの名無しさん:2023/04/28(金) 20:57:07.91 ID:tkMERdaz.net


993 :デフォルトの名無しさん:2023/04/28(金) 20:57:43.18 ID:tkMERdaz.net
田中

994 :デフォルトの名無しさん:2023/04/28(金) 20:58:09.56 ID:tkMERdaz.net
この頃

995 :デフォルトの名無しさん:2023/04/28(金) 20:58:39.01 ID:tkMERdaz.net
こんばんは

996 :デフォルトの名無しさん:2023/04/28(金) 20:59:00.21 ID:tkMERdaz.net
商店街

997 :デフォルトの名無しさん:2023/04/28(金) 20:59:20.67 ID:tkMERdaz.net
。、

998 :デフォルトの名無しさん:2023/04/28(金) 20:59:45.91 ID:tkMERdaz.net
コンフィデンス

999 :デフォルトの名無しさん:2023/04/28(金) 21:00:11.27 ID:tkMERdaz.net
ごフレ

1000 :デフォルトの名無しさん:2023/04/28(金) 21:00:17.86 ID:tkMERdaz.net


1001 :デフォルトの名無しさん:2023/04/28(金) 21:00:52.22 ID:tkMERdaz.net
にたな

1002 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1002
322 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★