Lisp Scheme Part22
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/05/21(水) 23:58:40Part21: ttp://pc11.2ch.net/test/read.html/tech/1207300697/
Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/
Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/
Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/
Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/
Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/
Part15: ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/
Part14: ttp://pc8.2ch.net/test/read.cgi/tech/1132275726/
Part13: ttp://pc8.2ch.net/test/read.cgi/tech/1115901841/
Part12: ttp://pc8.2ch.net/test/read.cgi/tech/1100229366/
Part11: ttp://pc5.2ch.net/test/read.cgi/tech/1091456033/
Part10: ttp://pc5.2ch.net/test/read.cgi/tech/1075630259/
Part9: ttp://pc2.2ch.net/test/read.cgi/tech/1069594582/
Part8: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html
Part7: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html
Part6: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html
Part5: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html
Part4: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html
Part3: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html
Part2: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html
Part1: ttp://piza2.2ch.net/tech/kako/987/987169286.html
0002デフォルトの名無しさん
2008/05/21(水) 23:59:51日本Lispユーザ会(日本語)
ttp://jp.franz.com/jlug/index.html
ここにかなりの情報があります。 削るとAllegro Common Lispのページへ
プログラミング言語Scheme(日本語)
ttp://www.sci.u-toyama.ac.jp/~iwao/Scheme/scheme.html
Schemeの人はまずここを見ましょう。
Schemeへの道(日本語)
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/scheme.html
ここはschemeの入門サイト。
Practical Scheme(日本語)
ttp://practical-scheme.net/index-j.html
「普通のやつらの上を行け」など、興味深い文書を沢山翻訳されてます。
(Gaucheという完成度の高いscheme処理系作者さんのページでもあります。)
LispUser.net
ttp://lispuser.net/
0003デフォルトの名無しさん
2008/05/22(木) 00:00:15CLtL2: Common Lisp the Language 2nd edition
ttp://www-2.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
CLHS: Common Lisp Hyper Spec
ttp://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/Chapter-Index.html
R5RS: Revised(5) Report on the Algorithmic Language Scheme (ja)
ttp://www.sci.u-toyama.ac.jp/~iwao/Scheme/r5rsj/html/r5rsj.html
R5RS: Revised(5) Report on the Algorithmic Language Scheme (en)
ttp://swiss.csail.mit.edu/~jaffer/r5rs_toc.html
ERR5RS: A proposal for an Extended R5RS Scheme
ttp://scheme-punks.cyber-rush.org/wiki/index.php?title=ERR5RS:Charter
R6RS: Revised(6) Report on the Algorithmic Language Scheme
ttp://www.r6rs.org/final/html/r6rs/r6rs.html
0004デフォルトの名無しさん
2008/05/22(木) 00:01:08SICP(英語)
ttp://mitpress.mit.edu/sicp/full-text/book/book.html
「計算機プログラムの構造と解釈」の原書です。 全てオンラインで読めます。
計算機プログラムの構造と解釈 第二版 (snip) に関連するホームページ
ttp://sicp.ipl.t.u-tokyo.ac.jp/
□wikipedia関連□
http://ja.wikipedia.org/wiki/LISP
http://ja.wikipedia.org/wiki/Common_Lisp
http://ja.wikipedia.org/wiki/Scheme
□継続□
なんでも継続
ttp://practical-scheme.net/docs/cont-j.html
Schemeへの道:継続
ttp://www.stdio.h.kyoto-u.ac.jp/~hioki/gairon-enshuu/SchemeNotes/continuation.html
継続の使い方
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/index.html#continuation
継続の使用法
ttp://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/block.html
Kahua: 継続ベースのアプリケーションサーバー
ttp://www.kahua.org/
0005デフォルトの名無しさん
2008/05/22(木) 00:01:240006デフォルトの名無しさん
2008/05/22(木) 00:01:48John McCarthy's Home Page
ttp://www-formal.stanford.edu/jmc/
LISPの生みの親、J・マッカーシーのページだそうです。
Association of Lisp Users 米国のLispユーザ会
ttp://www.alu.org/alu/home
CMUのLisp Repository 新旧様々なプログラムが置いてある
ftp://ftp.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/0.html
The Common Lisp Cookbook: いわゆる Cookbook
ttp://cl-cookbook.sourceforge.net/
Bibliography of Scheme-related Research Scheme関連の論文リンク集
ttp://library.readscheme.org/
Scheme Hash(英語) S式でXMLを使える様にするSXMLなど
ttp://okmij.org/ftp/Scheme/index.html
幻の「入門Scheme」 オンラインで読める
ttp://www4.ocn.ne.jp/~inukai/scheme_primer_j.html
各種scheme処理系をcygwin上からビルドする方法など。
ttp://www.geocities.co.jp/SiliconValley-PaloAlto/7043/
encyCMUCLopedia (cmucl以外でも有益なはず )
ttp://www.isr.ist.utl.pt/library/docs/encycmuclopedia/doc/
0007デフォルトの名無しさん
2008/05/22(木) 00:06:18独習 Scheme 三週間 (Schemeの教科書 )
ttp://www.sampou.org/scheme/t-y-scheme/t-y-scheme-Z-H-1.html
Cliki (CLコードがたくさん紹介されている。)
ttp://www.cliki.net/index
よろずや (lispの実用的な情報が色々。 )
ttp://www.geocities.co.jp/SiliconValley-SanJose/7474/
Common-Lisp.net: 多くのプロジェクトがホスティングされてる
ttp://common-lisp.net/
Practical Common Lisp: S式の羅列で現実的な問題をどう解くのかそのギャップに悩まされてる人に
ttp://www.gigamonkeys.com/book/
SLIB
ttp://swiss.csail.mit.edu/~jaffer/SLIB
SRFI
ttp://srfi.schemers.org/
Meadow memo: 2ちゃんねるログ(dat落ちした過去スレの一部が見られます。 )
ttp://www.bookshelf.jp/2ch/index.html
Lispとは何か
ttp://www.asahi-net.or.jp/%7Eki4s-nkmr/lisp20061121/lisp.html
0008デフォルトの名無しさん
2008/05/22(木) 00:06:42初心者が集うIRC(布教してくれる先生も大募集です)
irc.scenecritique.com
port 6667
チャンネル #Lisp_Scheme
Scheme のテストコード書いたり、簡単な実行したりコードさらしたりするにはここへカモン。
ttp://codepad.org/
コードを書いて実行した時のURLを記録しておけば、
実行結果も一緒にさらす事が出来て幸せです。
0009デフォルトの名無しさん
2008/05/22(木) 00:07:42Bit (mini-schemeよりも小さい(?)bytecode変換系 )
ttp://www.iro.umontreal.ca/~dube/
Lisp 言語処理系: CAMPUS LIsP, Lemon version (Cでわずか1000行)
ttp://www-masu.ist.osaka-u.ac.jp/~kakugawa/hacks/clisp/
Schemix (Linuxのkernelへのパッチで/dev/として扱えるTinyScheme )
ttp://www.abstractnonsense.com/schemix/
awkで書かれたわずか500行のLispインタプリタ
ttp://www.accesscom.com/~darius/
Bigloo CLR 用のコードを吐けるようになったらしい
ttp://www-sop.inria.fr/mimosa/fp/Bigloo/
SECDR-Scheme: SECD machine model に基づく実装
ttp://lily.fan.gr.jp/~kmd/adhoc/view.rhtml?n=SECDR-Scheme_woyomu
Minischeme: 1 ファイルに凝縮された Scheme 処理系
ttp://tinyscheme.sourceforge.net/minischeme.tar.gz
TinyScheme: Minischeme を色々弄ったもの
ttp://tinyscheme.sourceforge.net/
KI-Scheme, AM-Scheme, etc...
ttp://www.nifty.com/download/dos/prog/lisp/
LispMe: Palm 上で動く Scheme 処理系. これも SECD virtual machine.
ttp://www.lispme.de/lispme/
0010デフォルトの名無しさん
2008/05/22(木) 00:09:07Gauche: R5RS準拠のScheme処理系。Shiro Kawaiさん作。
ttp://practical-scheme.net/gauche/index-j.html
PLT Scheme: DrScheme、MzSchemeなどのR5RS準拠および独自拡張のScheme処理系
ttp://www.plt-scheme.org/
Scheme48: R5RS準拠のSchemeのバイトコードインタプリタ
ttp://www.s48.org/
Gambit-C: R5RS準拠のScheme処理系
ttp://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page
Chicken: R5RS準拠のScheme処理系 スタンドアロン実行ファイルが簡単に作成できます
ttp://www.call-with-current-continuation.org/
Steel Bank Common Lisp: Common Lisp処理系
ttp://www.sbcl.org/
CMUCL: Common Lisp処理系
ttp://www.cons.org/cmucl/
GNU CLISP: Common Lisp処理系
ttp://www.clisp.org/
Embeddable Common Lisp: Common Lisp処理系
ttp://ecls.sourceforge.net/
Arc: ポール・グレアム氏が作成した新しいLisp
ttp://arclanguage.org/
0011デフォルトの名無しさん
2008/05/22(木) 00:09:40GaucheNight(2008-03-08)
ttp://practical-scheme.net/wiliki/wiliki.cgi?gauche.night
SchemeとGaucheとλとS式を愛するすべての人に贈るマクロな一夜。
川合史朗、伊藤篤、山下伸夫、笹田耕一、ひげぽん、zick、黒田寿男、えんどうやすゆき、ほか
GaucheNight(2007-05-09)
ttp://practical-scheme.net/wiliki/wiliki.cgi?GaucheNight%3a2007
川合史朗、黒田寿男、まつもとゆきひろ(Skype中継)、小飼弾、
伊東勝利、久井亨、小黒直樹、ほか
黒田氏関係 (黒板の人)
ttp://pc10.2ch.net/test/read.cgi/tech/1151025773/901-909
ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/scheme
Scheme:マクロ:CommonLispとの比較
ttp://practical-scheme.net/wiliki/wiliki.cgi?Scheme%3a%e3%83%9e%e3%82%af%e3%83%ad%3aCommonLisp%e3%81%a8%e3%81%ae%e6%af%94%e8%bc%83
Script Languages
ttp://cl-www.msi.co.jp/solutions/knowledge/lisp-world/articles/script-lang
0012デフォルトの名無しさん
2008/05/22(木) 00:12:20<プログラミングGauche>
・著者:川合史朗 監修 / Kahuaプロジェクト 著
・定価:3360円(本体3200円+税)
・B5変 524頁
・ISBN 978-4-87311-348-7
・発売日:2008/03/14
Scheme処理系言語Gauche(ゴーシュ)の初の解説書!
ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?&ISBN=978-4-87311-348-7
立ち読み版
ttp://karetta.jp/book/gauche-hacks
<On Lisp>
・著者:Paul Graham 著 / 野田 開 訳
・定価:3990円(本体3800円+税)
・A5 440頁
・ISBN 978-4-274-06637-5
LispハッカーPaul Grahamが、Lispの力の源泉であるマクロプログラミングを解説
ttp://ssl.ohmsha.co.jp/cgi-bin/menu.cgi?ISBN=978-4-274-06637-5
HTML版
ttp://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/
<The Scheme Programming Language>
(英語 オンライン読可)
ttp://www.scheme.com/tspl3/
0013デフォルトの名無しさん
2008/05/22(木) 00:12:53【入門】Common Lisp その4【質問よろず】
ttp://pc11.2ch.net/test/read.cgi/tech/1201402366/
【CGI】実用比較Lisp vs C/C++【GUI】
ttp://pc11.2ch.net/test/read.cgi/tech/1150501484/
【魔法】リリカル☆Lisp【言語】
ttp://pc11.2ch.net/test/read.cgi/tech/1183396621/
Lisp@UNIX版
ttp://pc11.2ch.net/test/read.cgi/unix/1019926525/
Emacs Lisp 3
ttp://pc11.2ch.net/test/read.cgi/tech/1191875993/
【ヤパーリ】XMLをS式に置換えていくスレ【LISP最強】
ttp://pc11.2ch.net/test/read.cgi/tech/1140006937/
【SICP】計算機プログラムの構造と解釈 Part2
ttp://pc11.2ch.net/test/read.cgi/tech/1203096230/
【普通のやつらの】 Arc Language 0 【上を行け】
ttp://pc11.2ch.net/test/read.cgi/tech/1202098949/
0014デフォルトの名無しさん
2008/05/22(木) 00:16:110015デフォルトの名無しさん
2008/05/22(木) 01:05:55λ....... あ、、これはラムダなんだからね!乙じゃないんだからぁ!
0016デフォルトの名無しさん
2008/05/22(木) 03:17:05guile:R5RS準拠のGNUの公式拡張用言語、もちろんSLIBも使えます。
ttp://www.gnu.org/software/guile/guile.html
0017デフォルトの名無しさん
2008/05/22(木) 20:24:36ttp://codepad.org/F4Kw7JDA
0018デフォルトの名無しさん
2008/05/22(木) 21:49:40女王様のジャムが盗まれました.犯行は単独犯によるものだとい
うことがわかっていて,容疑者は三月ウサギと頭のいかれた帽子屋とヤマネです.それぞれを取
り調べたところつぎのような証言をしました.
三月ウサギ 「私は絶対にジャムなど盗んでいません.」
帽子屋 「私たち3人のうち1人がジャムを盗みました.でもそれは私ではありません」
ヤマネ 「ウサギと帽子屋のどちらか一方だけが本当のことを言っています」
さらに調べたところ,三月ウサギとヤマネの少なくとも一方は嘘だということがわかりました.
ジャムを盗んだのは誰でしょうか?
0019デフォルトの名無しさん
2008/05/22(木) 22:02:340020デフォルトの名無しさん
2008/05/22(木) 23:02:06三月ウサギ or 帽子屋 or ヤマネ ?
0021デフォルトの名無しさん
2008/05/22(木) 23:04:060022デフォルトの名無しさん
2008/05/22(木) 23:08:000023デフォルトの名無しさん
2008/05/22(木) 23:13:18おまえ三月ウサギだったのか。往生しろ!w
ttp://codepad.org/hT2eWLdF
0024デフォルトの名無しさん
2008/05/22(木) 23:18:540025デフォルトの名無しさん
2008/05/22(木) 23:25:14ジャムを盗んだのは誰でしょうか?と質問してる人
0026デフォルトの名無しさん
2008/05/22(木) 23:26:48発情してるからかw
>自分のことって意外と判らんもんなんですわ
0027デフォルトの名無しさん
2008/05/22(木) 23:34:56前者ならヤマネが犯人、後者は矛盾
ヤマネが真→兎が嘘且つ帽子が真
兎が犯人
じゃない?
0028デフォルトの名無しさん
2008/05/23(金) 01:01:49それだけだと条件が足りず、答えが2通りでてしまう。
0029デフォルトの名無しさん
2008/05/23(金) 01:16:220030デフォルトの名無しさん
2008/05/23(金) 09:35:290031デフォルトの名無しさん
2008/05/23(金) 09:59:130032こんなんでどうだろ
2008/05/23(金) 16:36:16(define mhatter-s '(and (not (criminal mhatter)) (or mrubbit mhatter dormouse)))
(define dormouse-s '(xor (truth mrubbit-s) (truth mhatter-s)))
(define term '(and (xor (criminal mrubbit) (criminal mhatter) (criminal dormouse))
(or (not (truth mrubbit-s)) (not (truth dormouse-s))) ))
(truth term)
0033デフォルトの名無しさん
2008/05/23(金) 18:07:56絞れます。>>23
0034デフォルトの名無しさん
2008/05/23(金) 18:10:40できない子は有難くROMってろw
0035デフォルトの名無しさん
2008/05/23(金) 18:13:130036デフォルトの名無しさん
2008/05/23(金) 19:11:18;⇒(xor (�@) (�B))⇒(xor (�@) (xor (�@) (�A)))
ここ違いませんか?
0037デフォルトの名無しさん
2008/05/23(金) 19:35:290038デフォルトの名無しさん
2008/05/23(金) 19:36:35もう少し具体的に言うとどういうところ?
0039デフォルトの名無しさん
2008/05/23(金) 19:39:58ばーか。答は合ってるんだよ。ちっとはググレ。解き方が変なんだ。
0040デフォルトの名無しさん
2008/05/23(金) 20:17:44(xor (�@) (�B))だと(少なくとも一方が嘘)ではなく(どちらか一方が嘘)になる
0041デフォルトの名無しさん
2008/05/23(金) 20:59:26ttp://codepad.org/hiI1QK5U
0042デフォルトの名無しさん
2008/05/23(金) 21:47:12残念。答が違うよ。
0043デフォルトの名無しさん
2008/05/23(金) 21:49:040044デフォルトの名無しさん
2008/05/23(金) 21:52:400045デフォルトの名無しさん
2008/05/23(金) 21:52:48(not (and (�@) (�B)))ではだめ。それだと両方とも嘘だということになって意味が違ってしまう。
0046デフォルトの名無しさん
2008/05/23(金) 21:55:190047デフォルトの名無しさん
2008/05/23(金) 21:55:59なら三月ウサギとヤマネの両方が嘘でも真では?
0048デフォルトの名無しさん
2008/05/23(金) 22:05:01ttp://codepad.org/BiVICzJG
0049デフォルトの名無しさん
2008/05/23(金) 22:06:03ベン図書いてミソ。
0050デフォルトの名無しさん
2008/05/23(金) 22:07:430051デフォルトの名無しさん
2008/05/23(金) 22:08:23は違いますよね?
0052デフォルトの名無しさん
2008/05/23(金) 22:11:47文章からココを読み取れるかどうかが論理プログラミングの難しいところか。
0053デフォルトの名無しさん
2008/05/23(金) 22:14:48なら>>41と>>48が同じ答になるのは何故?
0054デフォルトの名無しさん
2008/05/23(金) 22:17:330055デフォルトの名無しさん
2008/05/23(金) 22:25:39それは違う。
論理的帰結としてrequireになることがわかった枝をこのschemeの論理プログラムでは自動的に修正できない。
そこで、プログラマーが自分でその枝をrequireにしてやらなければならない。
半自動定理証明を調べてみろ。
0056デフォルトの名無しさん
2008/05/23(金) 22:39:59(男 . 男) -> #t
(男 . 女) -> #t
(女 . 男) -> #t
(女 . 女) -> #f
2人組がいる。どちらか1人は男だ。
(男 . 男) -> #f
(男 . 女) -> #t
(女 . 男) -> #t
(女 . 女) -> #f
>>53
志村〜、ド・モルガン
0057デフォルトの名無しさん
2008/05/23(金) 22:44:16あ、そっか。対話型でやってる部分はそういう項を書き換えてるということだね。
つまり>>23は書き換え操作が入ってるから枝が増えてるということか。
0058デフォルトの名無しさん
2008/05/23(金) 23:04:49それはわかったw
0059デフォルトの名無しさん
2008/05/23(金) 23:07:06ttp://codepad.org/0pMJwn0y
0060デフォルトの名無しさん
2008/05/23(金) 23:14:560061デフォルトの名無しさん
2008/05/23(金) 23:15:090062デフォルトの名無しさん
2008/05/23(金) 23:15:51(define (誰かひとりが犯人? . ls)
(cond
((eq? (car ls) '有罪) (and (eq? (cadr ls) '無罪) (eq? (caddr ls) '無罪)))
((eq? (cadr ls) '有罪) (and (eq? (car ls) '無罪) (eq? (caddr ls) '無罪)))
((eq? (caddr ls) '有罪) (and (eq? (car ls) '無罪) (eq? (cadr ls) '無罪)))))
の不備は不問?
0063デフォルトの名無しさん
2008/05/23(金) 23:22:270064デフォルトの名無しさん
2008/05/23(金) 23:27:56>>23のは含んでない。
でも、>>23も正解に到達するのは2つ目のrequireを追加することが両方とも嘘の場合を却下したからだ。
だから>>59の両方とも嘘の場合もキャンセルされて、>>23と>>59は同じ結果になる。
ということは>>23はrequireを追加しただけじゃなく(not(and�@ �A))も書き換えてることになる。
0065デフォルトの名無しさん
2008/05/23(金) 23:29:330066デフォルトの名無しさん
2008/05/23(金) 23:31:38帽子屋「俺じゃない」
ヤマネ「ウサギか帽子屋のどちらかだ」
0067デフォルトの名無しさん
2008/05/23(金) 23:37:02なぜヤマネの主張をrequireする?
0068デフォルトの名無しさん
2008/05/23(金) 23:43:43(define (誰かひとりが犯人? . ls)
(cond
((eq? (car ls) '有罪) (and (eq? (cadr ls) '無罪) (eq? (caddr ls) '無罪)))
((eq? (cadr ls) '有罪) (and (eq? (car ls) '無罪) (eq? (caddr ls) '無罪)))
((eq? (caddr ls) '有罪) (and (eq? (car ls) '無罪) (eq? (cadr ls) '無罪)))
(else #f)))
こうだよねw
0069デフォルトの名無しさん
2008/05/23(金) 23:46:43ttp://codepad.org/XTHODItB
0070デフォルトの名無しさん
2008/05/23(金) 23:50:30(eq? 帽子屋 '有罪) (eq? ヤマネ '有罪))
(xor (eq? 三月ウサギ '有罪) (eq? ヤマネ '有罪))))
があるってことはヤマネは常に正しい事を言ってるんですね。
ヤマネの弁護士の方ですか?
0071デフォルトの名無しさん
2008/05/24(土) 00:05:26しかし、ウサギとヤマネが少なくとも一方は嘘だということに矛盾する。
したがって、帽子屋は本当のことをいった。ここまではわかった。
0072デフォルトの名無しさん
2008/05/24(土) 00:09:28犯人であることと嘘を言っていることは同値ということになります
で、ウサギとヤマネの少なくとも一方が嘘ですが、これ以上絞り込めません
0073デフォルトの名無しさん
2008/05/24(土) 00:13:43>ヤマネ 「ウサギと帽子屋のどちらか一方だけが本当のことを言っています」
ヤマネ 「ウサギと帽子屋の少なくとも一方は本当のことを言っています」
になってた。つまり、帽子屋が本当のことをいった時点でヤマネは本当のことを言ったことになる。
つまり>>18の問題文は間違ってる。その結果、2通りの答が出ることになったと思う。
たぶん、>>23は他のサイトでも見てるんだろう。>>70の主張が正しいと思う。
0074デフォルトの名無しさん
2008/05/24(土) 00:34:54(let loop () (and (amb) (loop)))とかにしたほうがいいですね
0075デフォルトの名無しさん
2008/05/24(土) 01:31:24女王様のジャムが盗まれました.犯行は単独犯によるものだとい
うことがわかっていて,容疑者は三月ウサギと頭のいかれた帽子屋とヤマネです.それぞれを取
り調べたところつぎのような証言をしました.
三月ウサギ 「私は絶対にジャムなど盗んでいません.」
帽子屋 「私たち3人のうち1人がジャムを盗みました.でもそれは私ではありません」
ヤマネ 「ウサギと帽子屋の少なくとも一方は本当のことを言っています」 ←修正!
さらに調べたところ,三月ウサギとヤマネの少なくとも一方は嘘だということがわかりました.
ジャムを盗んだのは誰でしょうか?
ttp://codepad.org/ffEosmDe
0076デフォルトの名無しさん
2008/05/24(土) 01:37:070077デフォルトの名無しさん
2008/05/24(土) 01:43:25てことは、ヤマネが正しいことを言った。⇒三月ウサギとヤマネの少なくとも一方は嘘だ。⇒「私は絶対にジャムなど盗んでいません.」 が嘘。
つまりウサギが有罪。
0078デフォルトの名無しさん
2008/05/24(土) 01:44:390079デフォルトの名無しさん
2008/05/24(土) 01:54:17これはレイモンド=スマリヤンの『パズルランドのアリス』という有名な論理パズル本の問題
ttp://www.amazon.co.jp/dp/4150502889
0080デフォルトの名無しさん
2008/05/24(土) 01:58:55ヤマネは自明なことを言ってるだけだな。
0081デフォルトの名無しさん
2008/05/24(土) 02:04:18「ウサギとヤマネの少なくとも一人は嘘をついていることが確定している」
でいいのか?
「ウサギとヤマネの言ったことは真実であるとは限らない」
ではなく?
0082デフォルトの名無しさん
2008/05/24(土) 02:16:55この手のは時々勝手な条件をつける人がいたり
省略や改変で余分な条件がついたりしてよく破綻する
0083デフォルトの名無しさん
2008/05/24(土) 03:51:100084デフォルトの名無しさん
2008/05/24(土) 09:30:280085デフォルトの名無しさん
2008/05/24(土) 10:52:360086デフォルトの名無しさん
2008/05/24(土) 10:54:41宿題にしても仕事にしても、そんなに甘くはないだろう
0087デフォルトの名無しさん
2008/05/24(土) 11:01:070088デフォルトの名無しさん
2008/05/24(土) 11:13:02ジャンガジャンガジャンガジャンガー
0089デフォルトの名無しさん
2008/05/24(土) 15:33:59xor( A, B ) :-
A -> ¥+B ; B.
truth(Is) :-
Is = [ [rabbit, g], [hatman, n], [yamane, n] ] ;
Is = [ [rabbit, n], [hatman, g], [yamane, n] ] ;
Is = [ [rabbit, n], [hatman, n], [yamane, g] ] .
rabbit_says(Is) :-
truth(Is),
member( [rabbit, n], Is ).
hatman_says(Is) :-
truth(Is),
member( [hatman, n], Is ).
yamane_says(Is) :-
xor( rabbit_says(Is), hatman_says(Is) ).
more_research(Is) :-
xor( rabbit_says(Is), yamane_says(Is) ).
solve(It) :-
truth(It),
yamane_says(It),
more_research(It).
?- findall(It, solve(It), All).
All = [[[rabbit, g], [hatman, n], [yamane, n]]].
0090デフォルトの名無しさん
2008/05/24(土) 15:38:230091デフォルトの名無しさん
2008/05/24(土) 15:44:27犯行は単独犯によるものだということがわかっていて,
容疑者は三月ウサギと頭のいかれた帽子屋とヤマネです.
スマリヤン本持っている人、原著・翻訳本では正確な問いはどんなですか?
0092デフォルトの名無しさん
2008/05/24(土) 16:08:40"Did YOU by any chance steal the jam?" the King asked the March Hare.
"I never stole the jam!" pleaded the March Hare.
"What about YOU?" the King roared to the Hatter, (中略)
"No, no!" pleaded the Hatter . "One of us stole it, but it wasn't me!"
"And what about YOU?" continued the King to the Dormouse.
"What do you have to say about all this? Did the March Hare and the Hatter both tell the truth?"
"At least one of them did," replied the Dormouse, (中略)
As subsequent investigation revealed, the March Hare and the Dormouse were not both speaking the truth.
Who stole the jam?
0093デフォルトの名無しさん
2008/05/24(土) 16:29:17The Hatter said, in effect, that either the March Hare or the Dormouse stole it.
If the Hatter lied, then neither the March Hare nor the Dormouse stole it,
which means that the March Hare didn't steal it, hence was speaking the truth.
Therefore, if the Hatter lied, then the March Hare didn't lie,
so it is impossible that the Hatter and the March Hare both lied.
Therefore the Dormouse spoke the truth when he said that the Hatter and March Hare didn't both lie.
So we know that the Dormouse spoke the truth. But we are given that the Dormouse and the March Hare didn't both speak the truth.
Then, since the Dormouse did, the March Hare didn't.
This means that the March Hare lied, so his statement was false, which means that the March Hare stole the jam.
これから逆算するに
ウサギ「私は盗んでいない」
帽子屋「ウサギかヤマネのどちらかが盗みました」
ヤマネ「帽子屋とウサギの両方が嘘を言っていることはありえません」
ルール:必ず単独犯で、ウサギとヤマネの両方が真実を告げているということはありえない
だ
>>75が正しいかな
0094デフォルトの名無しさん
2008/05/24(土) 16:37:43お前wwなんでもかんでもxorしやがって
notを使うのが怖いからヤマネが正しいことを前提にしてるのか?
0095デフォルトの名無しさん
2008/05/24(土) 17:51:54(let ((usagi (amb #t #f)) (bousi (amb #t #f)) (yama (amb #t #f)))
(when usagi
(unless (not (eq? * 'usagi)) (amb)))
(when (not usagi)
(unless (eq? * 'usagi) (amb)))
(when bousi
(unless (not (eq? * 'bousi)) (amb)))
(when (not bousi)
(unless (eq? * 'bousi) (amb)))
(when yama
(unless (or usagi bousi) (amb)))
(when (not yama)
(unless (not (or usagi bousi)) (amb)))
(unless (or (not usagi) (not yama)) (amb))
(display *)
(newline)
(amb)))
0096デフォルトの名無しさん
2008/05/24(土) 17:58:15(dir 'c) なんてやると
(fileA fileB fileC ...)
みたいに返ってくるような。
S式で全部閉じた世界ってのを空想してます。
0097デフォルトの名無しさん
2008/05/24(土) 18:03:55山根の証言が正しいことを前提にしてたのは、そうしないとヤマネも犯人になっちゃってたからw
あと、not を使うのが怖いってどういう意味?
ともかく、>>93を参考にしてもう一回問題を読み直して、ヤマネの証言に依存しないようにした
truth(Is) :- % 単独犯である
Is = [ [rabbit, g], [hatman, n], [yamane, n] ] ;
Is = [ [rabbit, n], [hatman, g], [yamane, n] ] ;
Is = [ [rabbit, n], [hatman, n], [yamane, g] ] .
rabbit_says(Is) :- % ウサギの証言
member( [rabbit, n], Is ). % 俺はやってない
hatman_says(Is) :- % 帽子屋の証言
member( [hatman, n], Is ). % 俺もやってない
yamane_says(Is) :- % ヤマネの証言
¥+( ( ¥+rabbit_says(Is), ¥+hatman_says(Is) ) ).
%% ウサギと帽子屋の両方が嘘を言っていることはあり得ない
more_research(Is) :- % その後の調査
¥+( ( rabbit_says(Is), yamane_says(Is) ) ).
%% ウサギとヤマネの両方の証言が真実だとはあり得ない
solve(It) :-
truth(It),
more_research(It).
?- findall(It,solve(It),All).
All = [[[rabbit, g], [hatman, n], [yamane, n]]].
0098デフォルトの名無しさん
2008/05/24(土) 18:04:58こんなの?
http://www.scsh.net/
0099デフォルトの名無しさん
2008/05/24(土) 18:44:32symbolicsの中古探してみるとか?
0100デフォルトの名無しさん
2008/05/24(土) 18:52:35findallはProlog標準関数ですか?
働きがよくわかりません。
0101デフォルトの名無しさん
2008/05/24(土) 19:12:06適当に説明すると、findall は第2引数(述語)を満たすような第1引数(変数)のリストを第3引数(変数)に束縛する。
ここでは、このプログラムがウサギが犯人であることを導くことと、それ以外の結論を導かないことを示すために使った。
ttp://www.cs.ualberta.ca/~you/courses/325/Mynotes/Log/builtin.html
の "3. Finding all solutions" も参考になると思う
■ このスレッドは過去ログ倉庫に格納されています