1 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 23:58:40 ] □過去スレ□ Part21: 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
2 名前:デフォルトの名無しさん mailto:sage [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/
3 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:00:15 ] □仕様関係□ CLtL2: 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
4 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:01:08 ] □SICP関係□ SICP(英語) ttp://mitpress.mit.edu/sicp/full-text/book/book.html 「計算機プログラムの構造と解釈」の原書です。 全てオンラインで読めます。 計算機プログラムの構造と解釈 第二版 (snip) に関連するホームページ ttp://sicp.ipl.t.u-tokyo.ac.jp/ □wikipedia関連□ ja.wikipedia.org/wiki/LISP ja.wikipedia.org/wiki/Common_Lisp 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/
5 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:01:24 ] >>1 乙であります。
6 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:01:48 ] □その他□ (便利な情報リソース) John 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/
7 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:06:18 ] □その他その2□ 独習 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
8 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:06:42 ] □その他その3□ 初心者が集うIRC(布教してくれる先生も大募集です) irc.scenecritique.com port 6667 チャンネル #Lisp_Scheme Scheme のテストコード書いたり、簡単な実行したりコードさらしたりするにはここへカモン。 ttp://codepad.org/ コードを書いて実行した時のURLを記録しておけば、 実行結果も一緒にさらす事が出来て幸せです。
9 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:07:42 ] □実装□ Bit (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/
10 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:09:07 ] □実装その2□ Gauche: 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/
11 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:09:40 ] □イベント□ GaucheNight(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
12 名前:デフォルトの名無しさん mailto:sage [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/
13 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:12:53 ] □2ch上にあるLISP関係のスレ□ (現在) 【入門】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/
14 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:16:11 ] ※ Common Lisp、Scheme及びS式を使用するLisp族全般のスレです ※
15 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 01:05:55 ] >>1 λ....... あ、、これはラムダなんだからね!乙じゃないんだからぁ!
16 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 03:17:05 ] >>10 guile:R5RS準拠のGNUの公式拡張用言語、もちろんSLIBも使えます。 ttp://www.gnu.org/software/guile/guile.html
17 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 20:24:36 ] Schemeは論理プログラミングも出来ます。 ttp://codepad.org/F4Kw7JDA
18 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 21:49:40 ] つ「不思議の国のアリス」【論理パズル】 女王様のジャムが盗まれました.犯行は単独犯によるものだとい うことがわかっていて,容疑者は三月ウサギと頭のいかれた帽子屋とヤマネです.それぞれを取 り調べたところつぎのような証言をしました. 三月ウサギ 「私は絶対にジャムなど盗んでいません.」 帽子屋 「私たち3人のうち1人がジャムを盗みました.でもそれは私ではありません」 ヤマネ 「ウサギと帽子屋のどちらか一方だけが本当のことを言っています」 さらに調べたところ,三月ウサギとヤマネの少なくとも一方は嘘だということがわかりました. ジャムを盗んだのは誰でしょうか?
19 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 22:02:34 ] オレオレ
20 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:02:06 ] >>19 三月ウサギ or 帽子屋 or ヤマネ ?
21 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:04:06 ] 自分のことって意外と判らんもんなんですわ
22 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:08:00 ] >>17 みたく解けるんだろうなぁ orz
23 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:13:18 ] >>19 おまえ三月ウサギだったのか。往生しろ!w ttp://codepad.org/hT2eWLdF
24 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:18:54 ] ttp://ja.wikipedia.org/wiki/%E4%B8%89%E6%9C%88%E3%82%A6%E3%82%B5%E3%82%AE
25 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:25:14 ] >>18 ジャムを盗んだのは誰でしょうか?と質問してる人
26 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:26:48 ] 三月ウサギw 発情してるからかw >自分のことって意外と判らんもんなんですわ
27 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 23:34:56 ] ヤマネが嘘→兎が真且つ帽子が真 もしくは 兎が嘘且つ帽子が嘘 前者ならヤマネが犯人、後者は矛盾 ヤマネが真→兎が嘘且つ帽子が真 兎が犯人 じゃない?
28 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 01:01:49 ] >>27 それだけだと条件が足りず、答えが2通りでてしまう。
29 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 01:16:22 ] scheme のコードを elisp として使えるライブラリってもうありますか?
30 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 09:35:29 ] 18の条件だと犯人が一人に絞り込めないんじゃないですか?
31 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 09:59:13 ] このスレでquiz出したい奴はS式で書けよ。
32 名前:こんなんでどうだろ mailto:sage [2008/05/23(金) 16:36:16 ] (define mrubbit-s '(not (criminal mrubbit))) (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)
33 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 18:07:56 ] >>30 絞れます。>>23
34 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 18:10:40 ] >>31 できない子は有難くROMってろw
35 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 18:13:13 ] truthが定義されていないからなんとも。
36 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:11:18 ] ;さらに調べたところ,三月ウサギとヤマネの少なくとも一方は嘘だということがわかりました. ;⇒(xor (@) (B))⇒(xor (@) (xor (@) (A))) ここ違いませんか?
37 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:35:29 ] まあ答えが間違ってるんだからどこかが違うんだろう
38 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:36:35 ] >>36 もう少し具体的に言うとどういうところ?
39 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 19:39:58 ] >>37 ばーか。答は合ってるんだよ。ちっとはググレ。解き方が変なんだ。
40 名前:デフォルトの名無しさん [2008/05/23(金) 20:17:44 ] >>38 (xor (@) (B))だと(少なくとも一方が嘘)ではなく(どちらか一方が嘘)になる
41 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 20:59:26 ] こうじゃないですか? ttp://codepad.org/hiI1QK5U
42 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:47:12 ] >>40-41 残念。答が違うよ。
43 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:49:04 ] 論理プログラミングってのは意外と答がちゃんと出ないモンなんだね。
44 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:52:40 ] ということにしたいのですね
45 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:52:48 ] >>41 (not (and (@) (B)))ではだめ。それだと両方とも嘘だということになって意味が違ってしまう。
46 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:55:19 ] (or (not (@)) (not (B))) ってことじゃね?
47 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 21:55:59 ] 「さらに調べたところ,三月ウサギとヤマネの少なくとも一方は嘘だということがわかりました.」 なら三月ウサギとヤマネの両方が嘘でも真では?
48 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:05:01 ] (or (not (@)) (not (B))) でやっても答が合わない。 ttp://codepad.org/BiVICzJG
49 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:06:03 ] >>47 ベン図書いてミソ。
50 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:07:43 ] あちこち見た結果、>>23 が正解らしい。でもなぜ?
51 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:08:23 ] 少なくとも一方は○○ と どちらか一方は○○ は違いますよね?
52 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:11:47 ] >>41 や>>48 はrequireが2つなのに、>>23 には3つあるんだよな。 文章からココを読み取れるかどうかが論理プログラミングの難しいところか。
53 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:14:48 ] >>51 なら>>41 と>>48 が同じ答になるのは何故?
54 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:17:33 ] 答えに合わせてプログラミングしてるように見えるのは気のせいですか?
55 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:25:39 ] >>54 それは違う。 論理的帰結としてrequireになることがわかった枝をこのschemeの論理プログラムでは自動的に修正できない。 そこで、プログラマーが自分でその枝をrequireにしてやらなければならない。 半自動定理証明を調べてみろ。
56 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:39:59 ] 2人組がいる。少なくとも1人は男だ。 (男 . 男) -> #t (男 . 女) -> #t (女 . 男) -> #t (女 . 女) -> #f 2人組がいる。どちらか1人は男だ。 (男 . 男) -> #f (男 . 女) -> #t (女 . 男) -> #t (女 . 女) -> #f >>53 志村〜、ド・モルガン
57 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 22:44:16 ] >>55 あ、そっか。対話型でやってる部分はそういう項を書き換えてるということだね。 つまり>>23 は書き換え操作が入ってるから枝が増えてるということか。
58 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:04:49 ] >>53 ,>>56 それはわかったw
59 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:07:06 ] おれも正解にたどり着いた。「不思議の国のアリス」ってこんな難しかった記憶無いぞw ttp://codepad.org/0pMJwn0y
60 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:14:56 ] >>23 と>>59 は同じなの?
61 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:15:09 ] なぜこんなにヤマネは信用されてるんでしょう?
62 名前:デフォルトの名無しさん mailto:sage [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) '無罪))))) の不備は不問?
63 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:22:27 ] ヒント:手で計算した人は皆同じ答えを出しています。
64 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:27:56 ] 同じじゃない。>>59 の1つ目のrequireは@とBが両方とも嘘の場合を含んでるけど、 >>23 のは含んでない。 でも、>>23 も正解に到達するのは2つ目のrequireを追加することが両方とも嘘の場合を却下したからだ。 だから>>59 の両方とも嘘の場合もキャンセルされて、>>23 と>>59 は同じ結果になる。 ということは>>23 はrequireを追加しただけじゃなく(not(and@ A))も書き換えてることになる。
65 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:29:33 ] >>64 は>>60 への返答。
66 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:31:38 ] ウサギ「俺じゃない」 帽子屋「俺じゃない」 ヤマネ「ウサギか帽子屋のどちらかだ」
67 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:37:02 ] ヤマネの主張をrequireしたら必然的にウサギが犯人になる なぜヤマネの主張をrequireする?
68 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:43:43 ] >>62 (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
69 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:46:43 ] >>68 の修正と>>59 を合体したが結果は同じ。 ttp://codepad.org/XTHODItB
70 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 23:50:30 ] (require (xor (xor (eq? 帽子屋 '有罪) (eq? ヤマネ '有罪)) (xor (eq? 三月ウサギ '有罪) (eq? ヤマネ '有罪)))) があるってことはヤマネは常に正しい事を言ってるんですね。 ヤマネの弁護士の方ですか?
71 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:05:26 ] もしも帽子屋がうそをついたならウサギもヤマネも無罪。⇒ウサギが無罪なら、ウサギは本当のことを言った。⇒ヤマネも本当のことを言った。 しかし、ウサギとヤマネが少なくとも一方は嘘だということに矛盾する。 したがって、帽子屋は本当のことをいった。ここまではわかった。
72 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:09:28 ] >>66 のように三人とも自分が犯人ではないと主張しているだけで 犯人であることと嘘を言っていることは同値ということになります で、ウサギとヤマネの少なくとも一方が嘘ですが、これ以上絞り込めません
73 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:13:43 ] 他のサイト見たら >ヤマネ 「ウサギと帽子屋のどちらか一方だけが本当のことを言っています」 ヤマネ 「ウサギと帽子屋の少なくとも一方は本当のことを言っています」 になってた。つまり、帽子屋が本当のことをいった時点でヤマネは本当のことを言ったことになる。 つまり>>18 の問題文は間違ってる。その結果、2通りの答が出ることになったと思う。 たぶん、>>23 は他のサイトでも見てるんだろう。>>70 の主張が正しいと思う。
74 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 00:34:54 ] (display-line (amb))じゃなくて (let loop () (and (amb) (loop)))とかにしたほうがいいですね
75 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:31:24 ] つ「不思議の国のアリス」【論理パズル】 女王様のジャムが盗まれました.犯行は単独犯によるものだとい うことがわかっていて,容疑者は三月ウサギと頭のいかれた帽子屋とヤマネです.それぞれを取 り調べたところつぎのような証言をしました. 三月ウサギ 「私は絶対にジャムなど盗んでいません.」 帽子屋 「私たち3人のうち1人がジャムを盗みました.でもそれは私ではありません」 ヤマネ 「ウサギと帽子屋の少なくとも一方は本当のことを言っています」 ←修正! さらに調べたところ,三月ウサギとヤマネの少なくとも一方は嘘だということがわかりました. ジャムを盗んだのは誰でしょうか? ttp://codepad.org/ffEosmDe
76 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:37:07 ] あ、>>75 のリンクは間違い。
77 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:43:25 ] >>71 ,>>73 てことは、ヤマネが正しいことを言った。⇒三月ウサギとヤマネの少なくとも一方は嘘だ。⇒「私は絶対にジャムなど盗んでいません.」 が嘘。 つまりウサギが有罪。
78 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:44:39 ] で、最終的にどんなプログラムになるの?
79 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:54:17 ] そもそもの問題として、不思議の国のアリスは関係ない これはレイモンド=スマリヤンの『パズルランドのアリス』という有名な論理パズル本の問題 ttp://www.amazon.co.jp/dp/4150502889
80 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 01:58:55 ] >>75 ヤマネは自明なことを言ってるだけだな。
81 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:04:18 ] 発言だけじゃなくて「ルール」も厳密じゃないといけないんだよな 「ウサギとヤマネの少なくとも一人は嘘をついていることが確定している」 でいいのか? 「ウサギとヤマネの言ったことは真実であるとは限らない」 ではなく?
82 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 02:16:55 ] うろ覚えではなく完全コピペの問題文でないと駄目だな この手のは時々勝手な条件をつける人がいたり 省略や改変で余分な条件がついたりしてよく破綻する
83 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 03:51:10 ] つまり叙述トリックですね。わかります。
84 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 09:30:28 ] うざいんで、他でやってもらえますか
85 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 10:52:36 ] うざいだけなら君が我慢しよう
86 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 10:54:41 ] 有名な問題をそのまま出すと、解く側もぐぐってコピペして提出するだけだからなあ 宿題にしても仕事にしても、そんなに甘くはないだろう
87 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 11:01:07 ] 改変したせいで解が複数になったり不定になったりするんじゃ出題者の底が知れるがね
88 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 11:13:02 ] ジャンガジャンガジャンガジャンガ ジャンガジャンガジャンガジャンガー
89 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 15:33:59 ] prolog で解いてみた。いろいろ微妙。 xor( 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]]].
90 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 15:38:23 ] 共犯の可能性は考えないの?
91 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 15:44:27 ] >>90 犯行は単独犯によるものだということがわかっていて, 容疑者は三月ウサギと頭のいかれた帽子屋とヤマネです. スマリヤン本持っている人、原著・翻訳本では正確な問いはどんなですか?
92 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:08:40 ] >>91 "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?
93 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:29:17 ] んでもって解答 The 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 が正しいかな
94 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 16:37:43 ] >>89 お前wwなんでもかんでもxorしやがって notを使うのが怖いからヤマネが正しいことを前提にしてるのか?
95 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:51:54 ] (let ((* (amb 'usagi 'bousi 'yama))) (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)))
96 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 17:58:15 ] OSの操作もぜ〜んぶScheme、S式で処理してしまうなんてことできないですか? (dir 'c) なんてやると (fileA fileB fileC ...) みたいに返ってくるような。 S式で全部閉じた世界ってのを空想してます。
97 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:03:55 ] >>94 山根の証言が正しいことを前提にしてたのは、そうしないとヤマネも犯人になっちゃってたから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]]].
98 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:04:58 ] >>96 こんなの? www.scsh.net/
99 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:44:32 ] >>96 symbolicsの中古探してみるとか?
100 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 18:52:35 ] >>97 findallはProlog標準関数ですか? 働きがよくわかりません。
101 名前:デフォルトの名無しさん mailto:sage [2008/05/24(土) 19:12:06 ] >>100 適当に説明すると、findall は第2引数(述語)を満たすような第1引数(変数)のリストを第3引数(変数)に束縛する。 ここでは、このプログラムがウサギが犯人であることを導くことと、それ以外の結論を導かないことを示すために使った。 ttp://www.cs.ualberta.ca/~you/courses/325/Mynotes/Log/builtin.html の "3. Finding all solutions" も参考になると思う