Prologでまったり Par ..
[2ch|▼Menu]
655:デフォルトの名無しさん
09/12/01 07:25:06
>>654 まちがえたのかな

p(quit,_,[]).
p(A,X,[A]) :- q(A,X).
p(A,X,[A|R]) :- q(A,B),!,p(B,X,R).
p(A,X,L) :- s(A,C),p(C,X,L).

第二節を訂正した。Xが取れた時に、収集リストのなかにAが
存在する必要がある。

656:デフォルトの名無しさん
09/12/03 13:01:05
いつの間にか、WikipediaのPrologの項が大幅に追加されている。
以前私がこのスレで難解と書いたLISPの括弧と集合の部分は削除されている。
カルメラウアーとコワルスキーの部分は変化なし。

657:デフォルトの名無しさん
09/12/05 04:58:34
「Trueを返す」という表現に面食らった

658:デフォルトの名無しさん
09/12/05 05:15:39
最近作ったプログラムの実行例
| ?- t1(3,6).
-1
---3
------6
----------10
---------------15
---------------------21
-------------------------25
---------------------------27
---------------------------27
-------------------------25
---------------------21
---------------15
----------10
------6
---3
-1
yes
副作用バリバリのプログラムを移植する練習

659:デフォルトの名無しさん
09/12/05 18:59:42
>>657

> Prologの処理系は、人間が入力した命題と一致する節があるか調べ、あった場合はその本体部に記述されている命題と一致する節があるか再帰的に調べる。

この部分違和感があるのだけれど、論理の世界ではこれていいの? 特に、
「あった場合はその本体部に記述されている命題と一致する節があるか再帰的に」
という部分だけど。


660:デフォルトの名無しさん
09/12/05 22:35:57
>>659
では違和感の無いように変更おねがいします

661:デフォルトの名無しさん
09/12/05 23:02:00
最初の「一致する」とあとの「一致する」では探索の対象が違うはずじゃないかということかな。

それよりまず、「一致する節」と言ってしまうと目標が(頭部だけでなく)節全体と単一化するみたいに聞こえるから、
せめて「適合する」とかちょっとずらすとごまかせるかもしれない、なんて思ったりして…

662:デフォルトの名無しさん
09/12/05 23:03:41
あ、ごめんなんか勘違いした。前半ナシw

663:デフォルトの名無しさん
09/12/06 04:54:28
本体部が Q1,Q2,Q3. だとすると、

(Q1,Q2,Q3) :-

なんていう定義節はない、ということだよね。だからといって、
Q1,Q2,Q3 を順に確かめることを再帰的にといっているわけでもなさそう。

664:デフォルトの名無しさん
09/12/06 05:48:33
「命題」のような言い方の問題点が>>231以降に出ていた

665:デフォルトの名無しさん
09/12/12 11:58:25
URLリンク(www.doc.ic.ac.uk) ちょっとまえに話題になったGOは
prologベースのオントロジー指向プログラミング言語だったのね。
GoogleはWebのオントロジー技術(ページランク)で発展した企業ともいえるから、
研究しているのは当然か。

666:デフォルトの名無しさん
09/12/12 12:00:57
GoとGo!は違う

667:デフォルトの名無しさん
09/12/14 17:28:40
>>666
申し訳ない。間違えてた。

668:デフォルトの名無しさん
09/12/14 18:36:36
>>667
Francis G.MCabe の
URLリンク(www.amazon.co.jp)
は良書。

669:668
09/12/14 18:38:43
Francis G.McCabe だ。不思議な名前だね。

670:デフォルトの名無しさん
09/12/15 00:29:59
Mcというのはゲール語で「息子」って意味。
昔アイルランド/スコットランド系の人たちには名字がなかった。
法律で名字が必要になったから、
「ローリンさんの息子のジョン」と呼ばれている人は、
John Mclauglinと名乗ることにした。
McDonaldはもちろん「ドナルドさんの息子。」

671:デフォルトの名無しさん
09/12/15 04:11:21
>>670
Prologとはまったく関係ないが、とても勉強になた。

672:デフォルトの名無しさん
09/12/16 00:45:22
親父のファリミーネームは息子と違うの?
親子3代皆違う名字?完全にスレ値だけど、すげー気になる。

673:デフォルトの名無しさん
09/12/16 01:34:05
キーワードは「父称」だ
Wikipedia項目リンク

674:デフォルトの名無しさん
09/12/17 22:43:50
おお、ありがとう。

675:デフォルトの名無しさん
09/12/19 08:24:07
O'ってのも息子って意味らしい。
Objective CamlがOCamlってはそんな意味にも引っ掛けてあるっぽい。


676:デフォルトの名無しさん
09/12/19 17:49:44
ち・ん・こ

677:デフォルトの名無しさん
09/12/24 12:26:02
>>>676
その名前を書き込むなよ。
本当に来ちゃったら…

678:デフォルトの名無しさん
09/12/24 20:09:58
あいつはHaskellかScalaが引きとってくれるだろう。もしくはRuby。

679:デフォルトの名無しさん
09/12/30 02:10:37
知恵を貸してください。
今宿題で嫉妬深い恋人たちの問題をやっていて
初期状態とゴール状態をそれぞれ
initial_state(jealousy, jealousy(left,[1,2,3],[1,2,3],[ ],[ ])).
final_state(jealousy(right,[ ],[ ],[1,2,3],[1,2,3])).
と作って指し手の移動と状態変化についてはかけたのですが
状態変化したときの合法性のチェックでつまっています。
legal(jealousy(right,[[1],[1,2]], [[2,3],[3]]) ×
legal(jealousy(left,[[2,3],[2,3]], [[1],[1]])  ○
としたいのですがどうしたらいいのでしょうか?


680:デフォルトの名無しさん
09/12/31 09:54:59
>>679
何が疑問なのかよくわからないのだけど、右側だけだと、

legal(jealousy(_,_,_,[],[])) :- !.
legal(jealousy(_,_,_,FL,[])) :- !.
legal(jealousy(_,_,_,[],ML)) :- !.
legal(jealousy(_,_,_,FL,ML)) :- member(A,FL),member(A,ML).

で良さそうだけど。

681:デフォルトの名無しさん
09/12/31 10:07:36
まちがった。

legal(jealousy(_,_,_,[],[])) :- !.
legal(jealousy(_,_,_,FL,[])) :- !.
legal(jealousy(_,_,_,[],ML)) :- !.
legal(jealousy(_,_,_,[A|R],ML)) :-
  member(A,ML),
  legal(jealousy(_,_,_,R,ML)).


682:デフォルトの名無しさん
09/12/31 10:19:14
右側は誤解を生じる表現だった。状態遷移後というべきか。
下の述語定義をして、right,leftそれぞれチェックする目標を立てればいいのではないかな。

legal(jealousy(FL1,ML1,FL2,ML2)) :-
  legal(jealousy(FL1,ML1)),
  legal(jealousy(FL2,ML2)).

legal(jealousy([],[])) :- !.
legal(jealousy(FL,[])) :- !.
legal(jealousy([],ML)) :- !.
legal(jealousy([A|R],ML)) :-
  member(A,ML),
  legal(jealousy(R,ML)).


683:デフォルトの名無しさん
09/12/31 21:43:58
>>680-682さん
レスありがとうございます。
しかし試してみたところ何をやってもnoと出てしまうのですがどうしたらいいのでしょうか?


684:デフォルトの名無しさん
09/12/31 22:44:01
>>683
% legal(jealousy(left,[[2,3],[2,3]], [[1],[1]])

?- legal(jealousy([2,3],[2,3],[1],[1])).
yes
?- となりませんか。それから>>682の定義は5節とも述語legal/1であり、
好ましくない定義でした。第一節とそれ以降の節とは構造が異なりますから、
事実上別の述語とも見なせますが。
英語がよくわからなかったのでw そのまま使ったのですが、述語定義の引数は
できるだけフラットなものにしたい。構造体はリストのレベルまでですね。
フレームなどは例外中の例外。


685:デフォルトの名無しさん
10/01/02 18:12:17
>>684 意味不明かな。

legal(jealousy(FL1,ML1,FL2,ML2)) :- より、

legal_jealousy(FL1,ML1,FL2,ML2) :- であるべきだということです。

英語がよくわからないので、例えば legal_jealousy という表現が英米人に
とって滑稽だったり大変不自然なものであるのかどうか私にはわからないので、
それを避けて、そのままの構造を借りたの意味。

686:デフォルトの名無しさん
10/01/05 17:12:48
亀レスすいません>>683です
does not exist

とでてしまいます

687:デフォルトの名無しさん
10/01/05 18:08:14
>>686
字下げのための全角スペースが述語名の一部となっている?
字下げがしてありますね。2chでは2個以上の半角スペースはなぜか、一個に
まとめられてしまいます。それで、はっきりした字下げを表現するため、
半角スペースは全角のスペースに書き換えられています。もし、この状態から
copy&pasteでコードを写すと、'  leagal'(jealousy( ... というような
全角二個が前に付いた述語が定義されることになってしまいます。
これだと、副目標 leagal(jealousy([2,3],[2,3],[1],[1])) はleagal/1が
存在しないとなります。そういうことがないか確かめてください。

688:デフォルトの名無しさん
10/01/10 00:01:46
>>687さん
亀レスで重ね重ねすいません
どうやら勘違いしていたみたいで無事できました。

本当にありがとうございました。

689:デフォルトの名無しさん
10/01/12 08:58:47
昨秋以降 Wikipedia のPrologの項が大幅に更新されました。
ご存知ない方のために、一度ageて広報します。

690:デフォルトの名無しさん
10/01/12 09:00:33
昨秋以降 Wikipedia のPrologの項が大幅に更新されました。
ご存知ない方のために、一度ageて広報します。

すみません、上げ損なったので再度書き込みます。

691:デフォルトの名無しさん
10/01/12 15:45:08
やっと規制解除された…以下記念に再掲
スレリンク(entrance2板:975番)
975 :Classical名無しさん sage :09/12/22 23:06 ID:Eyor18Do
スレリンク(tech板:601-700番)
Prolog猿ビア探検隊

URLリンク(cpansearch.perl.org)
URLリンク(web.archive.org)
> perform(climb,
> state(MP, BP, onfloor, H),
> state(MP, BP, onbox, H)).

猿の位置(MP)と箱の位置(BP)が違っても
猿が箱の上に登れるようになってると思うけど、変ではなかろうか

692:デフォルトの名無しさん
10/01/12 18:12:10
>>679
jelousyという構造(複合項)の形が食い違っている上に説明がないので憶測で書きますが、
legal(jealousy(_,LMs,LFs,RMs,RFs)) :- legal_bank(LMs,LFs), legal_bank(RMs,RFs), !. % RMsはright (bank) malesの略、他も同様
legal_bank(Ms,Fs) :- \+ ( member(F,Fs), \+ member(F,Ms), member(M,Ms), M =\= F ).
こんな一行勝負もどうでしょうか。
あるいは場合分けして
legal_bank([],_). % そもそも男がいない(いても女だけ)
legal_bank(Ms,Fs) :- \+ ( member(F,Fs), \+ member(F,Ms) ). % 夫と離れた女がいない(すべての女に夫がついている)

693:デフォルトの名無しさん
10/01/12 18:13:43
いつも間違える…
× jelousy → jealousy

694:デフォルトの名無しさん
10/01/18 22:45:37
10年以上前にProlog協会という団体主催のPrologの講習を受講した。
その時、実践的だがすごく癖のある授業をやった人がいた。たしか会長か副会長。
スレリンク(tech板)
を呆然とROMしているのだけど、Prologのコードを書いてる人、
あの人ではないかと思えてきた。

695:デフォルトの名無しさん
10/01/19 04:15:20
126144349
1261443439 ←こっちと思われ
いろんな言語で宿題スレ 第三編

696:デフォルトの名無しさん
10/01/19 06:20:43
>>695
そうでした。どこで一桁落ちたのかな。ご足労掛けました。
repeatに引数を加えていくとmemberになるという内容の授業だった。
引数の付加の仕方によって、どう性質が変わるかを副目標側のからの
視点で徹底的に考える。ただそれだけ。
このスレの>>652-655辺りも、もしかしてw

697:デフォルトの名無しさん
10/01/19 06:40:55
それにしてもあのスレのPrologのコードは強烈ですね。私のProlog観は
完全に打ち砕かれましたw 太宰治が書いたコードのようです。饒舌で。
もうひとり数式処理向きの関数型言語で書き込んでいる方がいて
こちらのコードは極端に短いものが多くて、際立った対照を示して
いて、見てて飽きないですよ。

698:デフォルトの名無しさん
10/01/20 11:06:13
>>694
そのころProlog協会の代表幹事はK-Prologの作者です。別人ですね。


699:デフォルトの名無しさん
10/01/21 10:32:01
>>694
Prologには帰納推論をやる一派がいたので、
近くの研究室にも、ああいうプログラム書ける人たくさんいたよ。
意外とあちこちに潜んでいるのでは?

700:デフォルトの名無しさん
10/01/22 23:14:28
第五世代の評価というか総括をしている文献って知りませんか?
一体第五世代計画とはなんだったのかということが非常に気になっています。

できれば、西垣通氏のルルス関連の話のように社会学関連のアプローチだと
なお嬉しいです。

701:デフォルトの名無しさん
10/01/22 23:29:22
>>700
>>650のサイトは見た?

というか、宗教と第五世代に関連性はありません。

702:デフォルトの名無しさん
10/01/23 00:00:09
>>701
そこのサイトはすでに見ました。
第五世代で宗教にアプローチなんてしていないので関連性があるなんて思ってないですよ。
そうじゃなくて、社会学的にどういう位置づけになっているのかどうかということです。
技術的な話は発散しているので必要なもの以外は追うつもりはないです。


703:702
10/01/23 01:51:12
でも、実際最初は自分も西垣氏の話を読解力の無さから読み違えてたので他人のことは言えません。
ちゃんと読み解くとそんなことは言ってないのですよね。

704:デフォルトの名無しさん
10/01/23 04:41:03
上前淳一郎が第五世代コンピュータに関するノンフィクションを書いている。
社会的背景が生き生きと描かれていて面白い。


705:デフォルトの名無しさん
10/01/23 05:27:13
奇妙なことはあれだけのプロジェクトにも関わらず、
出版物として総括した大冊がないことです。途中までは共立出版等から
啓蒙本が多数出版されていたのですが、肝心の並列処理に入ってから
はさっぱりでしたし、終了後にまとめがあるのかと思ったら、
研究発表以外にはない。総予算の規模からいってもバランスが悪く
異様です。手を挙げる出版社がなかったからでしょうか。

706:デフォルトの名無しさん
10/01/23 08:47:54
大冊を求めてるなら、知らん、としか答えられんが。

淵氏がコラム程度の分量を書いたものなら、『情報処理』で見かけた記憶はある。

707:702
10/01/23 12:27:02
>>704
"めざすは新世代コンピュータ?「日本の夢」に挑む頭脳集団 (角川文庫)"
ですね。これはおもしろそうです。早速読んでみます。

>>705
結局何をしたかったのかよくわからないのですよね。
啓蒙書の類も推論や言語を扱うという意外は一貫性がないです。
一番おかしいと思うのが、アーキテクチャを作るという計画のハズなのに、
アーキテクチャに関する文献が見当たらないというところです。一般向けでは
ないからかもしれないですけど、それにしても見当たらなすぎるのですよね。
本当のところ淵氏としては、認知科学やりたかったんじゃないかと、
URLリンク(www.amazon.co.jp)

>>706
「情報処理」のコラムですね。国会図書館あたりで探してみます。

708:デフォルトの名無しさん
10/01/23 14:53:47
個人的には、当時としてはやってみなければ成否は誰にも断言できないことだったのかもしれないとは思うが
たとえば人工知能云々には当時ですら胡散臭さやら無邪気すぎるものやらを感じたなあ。
そういう点で>>704は興味深いと思う。

結局はこういう話になってしまうのだろう
Wikipedia項目リンク

709:デフォルトの名無しさん
10/01/23 14:59:37
もちろん、真面目な研究が行なわれていた(らしい)のはわかるけどねw
技術的にあんまり突っ込んだことを追う気はないようだが
共立出版の「続・新しいプログラミング・パラダイム」の「並行プログラミングとGHC」が
文献リストなども含めて何かの手がかりになるかもしれない

710:デフォルトの名無しさん
10/01/23 15:34:37
第五世代コンピュータの並列処理
滝 和男 編
発行年月:1993年06月
発売元:共立出版

というのはあったんだけどね。
最初のころの話に出ていた、データフローマシンとか、リダクションマシンとか、いわゆるノイマン型とは根本的に
違うものがつくられることを期待していたから、実際にできたのがノイマン型を並列化したものだと知ってガッカリした。
技術的にはすごいことなんだろうけどね。

711:デフォルトの名無しさん
10/01/23 15:49:34
URLリンク(www.jstage.jst.go.jp)
淵氏としてはプロジェクトは成功なんですよね。

712:デフォルトの名無しさん
10/01/23 15:56:37
”成果の具体的な内容については、報告書類が山のようにある。これは秘密では
ないので12年分を入手して検討すれば、試行錯誤を含めて全部わかるように
なっている。しかし膨大なことになるので、解読してくれるような奇特な人が
いるかどうか。”
なんとなく予感はしていたのですがJIPDECのサイトは内容についてどなたも全容を
把握していないのではないですか?

713:デフォルトの名無しさん
10/01/24 01:22:15
>>700
> 社会学関連のアプローチ
そもそもこれが何を意味するかはともかくとしてだw

そういうものが今になっても存在しない(?)あたりが
今も昔も産官学の限界なんだよね

で、Prologスレで手に負える話ではないのでそろそろ勘弁してもらいたい

714:デフォルトの名無しさん
10/01/24 01:53:00
建設的な話でもあればいいけど、怪しいですよね、おかしいですよねの列挙だったら
スレ違いかもしれないな。

実際それは挙げていったらきりがないと俺も思うがw

715:デフォルトの名無しさん
10/01/24 08:46:47
誰かが立てて放置されてる第五世代スレがありそうなもんだが。
それを再利用するとか。

716:デフォルトの名無しさん
10/01/24 23:55:47
東大や理科大行けば、論文やテクニカルレポートが全部残ってるはず。

>>705
バランスが悪いということだけど、
例えば国内外のどの研究プロジェクトと比べて、
「啓蒙書が少ない」ことが「異様」なのでしょうか。
むしろ、異常なくらい教科書的な書籍を産み出したプロジェクトだと思いますが。

>>707
Σ計画なんかもそうですが、お金が動かないと、
官僚&政治家はなかなか新しいプロジェクトを始めてくれません。
メーカーへ予算ばらまきが出来るようにするには、
ハードウェアも込みである必要があるのです。
これは研究プロジェクトというより、誠治の方の問題です。


717:デフォルトの名無しさん
10/01/25 00:53:46
>>716
真っ先に仕訳の対象になるわ

718:デフォルトの名無しさん
10/01/25 16:18:45
>>716
教科書的な書籍とは共立出版の「知識情報処理シリーズ」のことですか?

719:デフォルトの名無しさん
10/01/25 18:18:26
ICOTの成果が出始めるのはこれからだよ。20年後かも。


720:デフォルトの名無しさん
10/01/25 21:49:52
>>719
Prolog は論文を書くためだけの言語
ICOTの成果として、狙い通り、論文が大量生産された

721:デフォルトの名無しさん
10/01/26 01:10:47
Prologを材料に論文を書くの意味ですか。
でも、あなただって携帯が故障したら、Prologのお世話に
なってるかも知れませんよ。

722:デフォルトの名無しさん
10/01/26 04:58:09
GHCなんかは、並列(平行)に「仕切る」ための言語という
印象が強いのだけれど、そういう位置での制御要請は
今後多くなっていくものだろうか。

723:デフォルトの名無しさん
10/01/28 10:38:47
>>722
個々の自動車の平行プログラミングは関数型で勝手にやらせるので済むかもしれないが、
俯瞰的な平行動作、たとえば自動車と通信しながら制御する信号の記述などでは
GHC的なものが最有力ではないか。


724:デフォルトの名無しさん
10/02/11 04:23:23
クラウドコンピューティングが来ている以上、GHCの並列計算が見直される
チャンスも普通に多いだろ。誰も提案しないだけで。

725:デフォルトの名無しさん
10/02/11 16:58:18
クラウドコンピューティングは並列計算じゃなくて分散技術や信頼性工学の話だからな…

726:デフォルトの名無しさん
10/02/17 18:38:27
>>721
携帯じゃなくて、ADSL回線じゃなかったっけ?


727:デフォルトの名無しさん
10/02/18 18:18:33
携帯の故障診断はさすがに大変じゃないかな。半端な数でないし。
ADSLでも10台以上同時に動かしてるんでしょ。それにしても、
こんな大規模な実務に使われてるのにAZ-PrologはWikipediaにも紹介
されてないね。


728:デフォルトの名無しさん
10/02/19 10:26:25
正直MapReduceがどうしてこれほどもてはやされてるのか分からない。
あんなん普通にやってたことっしょ?
大規模に現実に適用したからってこと?


729:デフォルトの名無しさん
10/02/19 16:58:50
>>727
5年以上前だと思うけれど、ソフトバンクが10人単位でPrologプログラマの
募集をした。ところが応募はなかったらしい。
ソフトバンク+Prologという組み合わせでは将来の地位が不安ということ
だったのかも知れないけど、日本の大学生も根性がないね。


730:デフォルトの名無しさん
10/02/19 18:20:35
威勢がいいだけならチンピラ

731:デフォルトの名無しさん
10/02/19 18:35:15
威勢ねぇw


732:デフォルトの名無しさん
10/02/19 18:45:12
Prologで実務的なプログラムを書くことができる人は四十台後半より上。
あと10年待てば大量にリタイアが始まるから供給は充分になる。

733:デフォルトの名無しさん
10/02/19 20:08:41
>>729
ソースは?

734:デフォルトの名無しさん
10/02/20 00:41:47
>>733
私が募集しているという記事を読んだ。こちらはたしか。
誰も来なかったというのはうわさ話。

735:デフォルトの名無しさん
10/03/02 21:43:53
復旧おめでとう age

736:デフォルトの名無しさん
10/03/08 06:43:51
お願いがあります。
「いろんな言語で宿題 第三編」スレリンク(db板) スレが
512Kb越えで終了してしまいました。
新しい「いろんな言語で宿題 第四編」スレを作ろうとしたところ、
現在スレ立て規制中、とのこと。私は2chのユーザIDとパスワードを忘れてしまって
特権がないので、だれか立てられる人がいたら立ててください。前口上は
「前回スレは512Kbを越えたため、終了しました」だけで結構です。

737:デフォルトの名無しさん
10/03/08 12:56:10
>>736
ためしにやってみたら、できてしまいました。
いつもお世話になっています。
J言語などでかきこみしているものです。
これからもよろしくお願いします。

738:デフォルトの名無しさん
10/03/08 15:13:44
>>737
ありがとうございました。私のPrologコードは外連ですが、
あなたのプログラム群のおかげであのスレはム板の中で一番
輝いています。
"bit"は1970年代中頃から愛読していましたが、結局休刊になる
前に購読しなくなりました。配達してくれていた書店が廃業した
ので。

739:デフォルトの名無しさん
10/03/08 17:52:10
>>738
新しいスレ、なんか変なことになってますが、私は1番しかかいてないですよ。

「bit」は読んでいましたけど。

740:デフォルトの名無しさん
10/03/08 18:17:26
荒れないうちに問題をはじめましょう。

741:デフォルトの名無しさん
10/04/27 23:15:52
辞書なんて所詮、偽装された百科辞典だ。

742:デフォルトの名無しさん
10/07/04 14:42:52
Prologの現代的(?)な応用って何かある?
到達点がエキスパートシステムとか自然言語処理とか止まりだと先が無さそうに思うんだけど。

743:デフォルトの名無しさん
10/07/04 15:28:25
>>742
エキスパートシステムや自然言語処理が我々のプログラミングの随所に
登場という状況を知らない。まだ、そのレベルにも達していないのでは。


744:デフォルトの名無しさん
10/07/04 15:32:43
Prologの役割は自然言語によるプログラミングへの橋渡しをすることに
ある。まだ何も始まっていない。


745:デフォルトの名無しさん
10/07/04 15:39:38
当分の間始まる見込みもない

746:デフォルトの名無しさん
10/07/04 20:58:06
>>742
Prologの現代的な応用 : 論文を大量生産する

747:初心者
10/07/04 23:36:36
prologを勉強してて、以下のページの

URLリンク(mayah.jp)
このリストがよくわからないのですが
[[X, X, X, X, X, X, X, X],
[X, X, X, X, X, X, X, X],
[X, X, X, X, X, X, X, X],
[X, X, X, X, X, X, X, X],
[X, X, X, X, X, X, X, X],
[X, X, X, X, X, X, X, X],
[X, X, X, X, X, X, X, X],
[X, X, X, X, X, X, X, X]]
わかるかたお願いします。

自分的には、
[[X, X, X, X, X, X, X, X],
[X, X, X, X, X, X, X, X]]
の縦と横のリストだけでいいのではと思うのですが。

748:デフォルトの名無しさん
10/07/05 04:34:12
>もともと大学の課題なので、データ構造等は結構適当に定められてしまっています。
らしいですよ

749:デフォルトの名無しさん
10/07/05 06:45:55
>>747
部分的な局面の思考に全局面のデータを持ち回ることはないだろう、という意味ですか?


750:初心者
10/07/05 17:59:40
>>749
そう思ったのですが・・・
やはり、全マスをあらわしてるのでしょうか

751:デフォルトの名無しさん
10/07/06 06:07:17
>>750
私は実行時のヒープ領域やスタックの実際の使われ方、動きについては詳しくないので
他の方の説明を待つとして、

・ 全局面を表すリストのリスト(8×8)を引数で渡していくことにあまりコスト(時間とメモリ)はかからないと思う。
・ 全局面のデータを単位節と定義しておいて、それを参照して、部分リストと二本取り出し、
  それを加工してから、list_nthとappendを駆使して(実際には一つの述語にまとめるだろうが)元の全局面データである単位節をretract+assertするのは
  結構コストがかかる選択なのではないか。


752:デフォルトの名無しさん
10/07/18 18:45:24
学校の宿題で、ハノイの塔の問題が出たんですが・・・棒が5本のときの組み方がわかりませんorz

誰か助けて下さい!
ちなみに3本のときは、
move(N,A,B) :- display(N), display(' from '),
display(A), display(' to '),
display(B), nl.

hanoi(1,A,B,C) :- move(1,A,C).

hanoi(N,A,B,C) :- M is N-1, hanoi(M,A,C,B),
move(N,A,C),
hanoi(M,B,A,C).

こんな感じで書きました。

753:デフォルトの名無しさん
10/07/21 06:10:01
手数が適当でいいなら、同じプログラムが流用できるよねw
逆に、手数を最小にせよ、のような縛りがあるなら、別にPrologに特有の宿題じゃないような気がする

754:デフォルトの名無しさん
10/07/23 00:31:29
>>753
先生がドSでして・・・手数を最小にするように縛りがあります;

755:デフォルトの名無しさん
10/07/23 23:24:48
FDって使ってます?

756:デフォルトの名無しさん
10/07/23 23:28:59
最近は使う機会がめったに無いね。
ただ、たまに緊急ブートで使うことがあるから確保はしてあるけど。

757:デフォルトの名無しさん
10/07/23 23:46:29
まさかフロッピーディスク?wwww 今時FDドライブ付いてるPC少ないだろ
>>755はCLPのFD(Finite Domain)のことじゃねーの?あれ、釣られた?

758:デフォルトの名無しさん
10/07/23 23:50:22
覆面算ならFDに限る


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4808日前に更新/227 KB
担当:undef