[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 12/23 11:34 / Filesize : 227 KB / Number-of Response : 759
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Prologでまったり Part4



1 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 20:23:54 ]
過去スレ
Prologでまったり Part3
pc11.2ch.net/test/read.cgi/tech/1193354806/
PrologでまったりPart 2
pc11.2ch.net/test/read.cgi/tech/1102664221/
Prolog でまったり
pc5.2ch.net/test/read.cgi/tech/976462999/
リンク集
www.summa.jp/lang/logic/prolog.htm
bach.istc.kobe-u.ac.jp/prolog/

チュートリアル
www.amzi.com/AdventureInProlog/
computing.unn.ac.uk/staff/cgpb4/prologbook/
www.intranet.csupomona.edu/~jrfisher/www/prolog_tutorial/pt_framer.html
bach.istc.kobe-u.ac.jp/prolog/intro/
www.geocities.jp/m_hiroi/prolog/
www.asahi-net.or.jp/~JF1T-YSD/prologV2/

435 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 12:22:10 ]
まあまあ、俺も学生時代そんなんだったし興味ない言語に縛られるのもやでしょ。
特にCとかになれた人ならprologちょっとつらいしね。
この辺みれば良いんじゃないかな
kaz.cyteen.nagoya-bunri.ac.jp/advprog2/prolog.html

436 名前:429 mailto:sage [2009/07/22(水) 12:57:12 ]
>>430
「Nクィーン問題」というパズルは知っているかい?
数独と同様、マス目にクイーンを「あるルールのもとで配置する」というもの。
非決定性プログラミングとか全解探索問題の定番といっていいほど有名なパズルだから、
Prologの教科書を何冊かあされば(あるいはググれば)コード付きで解説されてるはず。
まずは、このパズルの解法を完璧に習得してください。
これまでの講義をまじめに受けていれば理解できるはず。
もし理解できなかったらあきらめなさい。最終レポートにもなってあわてても遅すぎる。

次に、数独はNクイーンの応用問題だから、応用するうえでのヒントを。
まず最初の数字の配置を exist(Y,X,N) で表現する。YとXはマスの行番号と列番号、
Nは置かれている数。Wikipediaの例であれば、以下のようになる。(一部だけ)

exist(1,1,5). /*「1行目の1列目には5が置かれている」という事実 */
exist(1,2,3).
exist(1,5,7).
exist(2,1,6).
exist(2,4,1). /* 以下、省略 */

あとは、
(1) <1,1>から<9,9>までの範囲内で、上記の事前配置に含まれない(つまり空のマス目の)
 対(つい)を「生成」する述語
(2) 配置したい1から9の数を「生成」する述語
(3) 事前配置(制約)のもとで生成した空きマス(1)に生成した数(2)が配置可能であることを
 「判定」する述語 --> これが数独のルールの実装になる
を定義していく。

437 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:46:57 ]
>>426
> %-- 制約2
> % 一番上にあるディスクよりも、小さいことを検査

「一番上に今置こうとするディスクXよりも、その下にあるディスクYがすべて小さいことを検査」
と、強引に変形してみると、心なしか

> con2(X,Y) :-X > Y,con2(X,[Y|_]).と最初作ってみたのですが

これに近くなる。なんていうエスパー解釈はダメでしょうか…
(Yを半ば集合的にとらえるところがミソ。[Y|_]がどこか投げやりであることにも符合)

438 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:48:35 ]
>>427さん
再帰のプログラムばかり作っていたのでつい・・・。
initial_state(hanoi, [[1,2,3],[],[]]).
goal_state(hanoi, [[],[],[1,2,3]]).の部分の数が4,5,6・・・と増えても使えるようにしないとなーとなんとなく
考えてたので再帰的に作っていました・・・。

自分の中の考えとしてはXという値とリストの先頭にあるYを比べて
って・・・・書いてる途中で気づいたんですがX > YではなくてX < Yでした・・・。

しかしそうすると>>421さんの作ってくれたプログラムを当てはめれば動くはずなのに
エラーが出てしまうのはなぜなんでしょう?
Rが定義されていないみたいなエラーだったのでBの後ろは_として実行もしてみたんですが・・・。
理解力いまいちですいません



439 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 20:18:55 ]
>>438
> Rが定義されていないみたいなエラーだったのでBの後ろは_として

この行動の説明ができれば疑問はないような気が。

これはこれでいいとして、問題は「エラー」(ではなくて警告だと思いますが)なのか、
期待通り動かないことなのか、なんだかよくわかりません。

440 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 21:19:40 ]
一応紹介
www.sken.biz/~tsuchiya/prolog/text/sicstus.html
> 節内で他に共有されていない変数について、Prologが気をきかせて知らせてきています。
>
> 無名変数(_で始まる変数)にした方がよい場合もあるし、「変数名を書き間違えていた」という場合もあるでしょう。

ただし「(_で始まる変数)」は余計ですね

441 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 21:21:53 ]
いや、余計ではなくて「(または_で始まる(無名でない)変数)」と言い換えるべきなのかも

442 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 00:29:35 ]
>>440さん
[R] - singleton variables in user:con2/2
と出ているのでRは定義されてないよ〜って言ってるんだと思うんですが
どうなんでしょう?

443 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 00:46:54 ]
>>441
_X でも警告されるんじゃ婦負の? SICStus のことはよくわからんが。



444 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 05:59:29 ]
>>442
R のように節のなかで一回しか使われていない変数は虚変数といって、
実効がありません。実は変数名の付け間違いという可能性が高いため
処理系からWarningがでますが、Prologの仕様としては、エラーでは
ありませんし、Prologのプログラムの中ではそんなに珍しいものでも
ありません。全く気にすることのないものです。

445 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 06:07:46 ]
実効がないと書きましたが論理的に実効がないと言う意味であって、
[A|R] ではなく [_一番上の円盤|_それより下の円盤の重なり] だったら、
ドキュメントとしての実効はあります。こんなアクの強い事例は少ないで
しょうが、多少のニュアンスを残すために虚変数はよく使われます。

446 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 06:21:26 ]
>>443
single_var_warningsというPrologフラグの説明によれば
> variables not beginning with `_' occurring once only
というのが警告対象なので、_から始まるものは除外されているね。
確かに昔SICStusを使ったときそんなで、利用した覚えがある。

「don't care variable」という言い方があるらしい

447 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 06:22:54 ]
>>442
違います

448 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 06:54:42 ]
>>442
初心者はその警告を無視しないほうが無難だと思います。

449 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 07:01:39 ]
>>442
つまりまとめると、>>421を書いた人は「一度しか現れない変数は間違いの兆候とみなされる」という原則を
意図的に無視したか、単に動作確認せずに書いて自己弁護しているかw、
ということでしょう

450 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 07:35:56 ]
>>449
なんでそんなことが長々話題になってるのか解りません。
私の処理系ではWarningも出ないだけです。

451 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 07:57:19 ]
それはなおさら興味深いじゃないですかw

452 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:10:09 ]
>>448に補足すると、
「一度しか使っていないことに気づかなかった」こと自体はどうでもよく、
単に「意図せず食い違いが生じた」ことを浮き彫りにするための手段になるということです。

453 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:11:09 ]
>>451
ごめん。IF/Prolog自体はconsult時にWarningを出してました。
私のはもう一層上にインタプリタが被っているので。
というより、ご指摘どおり、今やってみただけで、処理系での動作確認などは
確かにしていません。
ただ、この話は私の書いた >>444->>445 に尽きると思いますが。



454 名前:444 445 453 mailto:sage [2009/07/23(木) 08:39:20 ]
済みません。間違ってたかな・・・
虚変数というのはトップレベルになくてはいけないという定義だったかも。
cons3(A,B,C) :- A < B. の場合の C は虚変数だが、
cons3(A,[B|C]) :- A < B. の C は虚変数ではない、かな。
トップレベルってそういう解釈でいいのだろうか。

455 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 14:58:39 ]
虚変数という言葉は初耳ですが、要するに、
名前をつけただけで呼ばれることがない変数(の実体)は、
実行中に名前を覚えておく必要がない(「環境」から除外できる)ということでしょう。

456 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 15:04:39 ]
いや、「名前」の問題だけではないか。
とにかく一定の処理を省略できるという特質があるということでは。

457 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 15:16:38 ]
anonymous variable(「無名変数」、まれに「匿名変数」)の別名として、
void variableという、「虚変数」に近い言い方があるみたいですね。

458 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 15:31:17 ]
>>454
なるほど、複合項の一部に持たせるときはその記憶領域が必要ですね。
某処理系のあのバグの本質はそういうことだったのか。。
勉強になりましたw

459 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 15:53:48 ]
p(X) :- Y = [H|T].

460 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 23:55:54 ]
>>446
ども、ありがとうです。>>445 みたいに使うのかな。

コメントでもいいような気もするけど。

461 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 09:06:42 ]
よく考えると、自分が利用したのは、
?- findall(_X,( _X = a ),L).
のように問合せの中に使って、成功時に値を見なくていい変数であることを示す、
という効果だったような…。それは別の処理系だったかな…。

462 名前:デフォルトの名無しさん mailto:sage [2009/07/24(金) 23:42:30 ]
亀レスすいません>>438です
>>437さん
レスがかなり遅れて申し訳ないです
ちょっと違いますがそういう解釈してました

>>442で質問した[R] - singleton variables in user:con2/2
は皆さんが教えてくださったとおりwarningメッセージで実行には問題なかったです
それとnoと出ていた件についてなんですが
どうやら>>424さんが質問してきた部分が上手くいっていなかったので
noといわれていたみたいです
con2(A,[B|_]) :- A < B.
con2(A,[]).
としたら一応は解は出たのですがなんだかループしている気がします・・・。
バックトラックを何回やってもnoにならない・・・。
ハノイの塔の3つのとき方ってそんなにあるんですかね?

463 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 00:42:28 ]
>>462
> ハノイの塔の3つのとき方ってそんなにあるんですかね?
無限にあるよ




464 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 09:13:10 ]
initial_state(hanoi, [[1],[],[]]).
goal_state(hanoi, [[],[],[1]]).
で考えると、

左→右
左→中→左→右
左→中→左→中→左→右
左→中→左→中→左→中→左→右


こうなるんじゃないかな

465 名前:デフォルトの名無しさん mailto:sage [2009/07/25(土) 09:18:10 ]
節の並べ方によっては
左→中→左→中→左→中→左→中→…
と止まらなくなるおそれもあったのでは

466 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 01:00:08 ]
>>462です
15手順目位までは特に変わりは無かったのですがその後が変わっていってました
手順は20とか23でとまっていたので手順が雪だるま式に
増えるわけではないみたいです

467 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 02:38:21 ]
手元でやってみたら1872通りと出た。

ttp://www.research.att.com/~njas/sequences/A125295
> 1, 2, 12, 1872, 6563711232, 282779810171805015122254036992,
というような数列になるらしいよ

468 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:11:17 ]
>>467さん
( ゚д゚)・・・・

みなさん長々とありがとうございました

469 名前:デフォルトの名無しさん mailto:sage [2009/08/02(日) 23:54:24 ]
okwave.jp/qa5100395.html
> quicksort([A|B],C) :-

> MLの説明に載っていたので、まさかMLでなくPrologだと思いませんでした。
> 助かりました。

気になる…
質問者の勘違いなのか説明の間違いなのかが気になる…

470 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 01:08:15 ]
Prolog は凄いな。

複雑な式
A is B + foo(C * D) / 2
がそのままデータとして扱えるなんて。

新たな演算子を自分で作れるのも、
それを組み合わせて新しい文法が定義出来るのも
(危ういと言えば危ういけど)凄いと思った。

LISP よりも Prolog の方が DSL 作るのに向いてるかも。

471 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 01:16:21 ]
むしろProlog自体が異様に応用力の高いDSLなんじゃ、と思うことがある

472 名前:デフォルトの名無しさん [2009/08/05(水) 16:53:08 ]
SWIなら「=..」なんていう反則述語もあるし

?- findall(A,hoge(A),AList)
or
?- hoge(A),fail.

でhogeが成り立つAを全部持ってこれるバックトラックの便利さも異常
それに、計算量を無視するならとても綺麗に書ける

473 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 17:50:47 ]
>>472
=..(univ)はISO標準ですよ



474 名前:デフォルトの名無しさん [2009/08/05(水) 17:53:17 ]
>>473
マジでw
もはや一階述語じゃないISOなのかw

475 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 18:56:08 ]
制約(constraint)を扱える処理系ってどんなのがありますか?


476 名前:デフォルトの名無しさん [2009/08/05(水) 18:58:12 ]
>>475
SWI-prolog

477 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 21:54:25 ]
>>474
=..は一階述語ですよ

478 名前:デフォルトの名無しさん [2009/08/05(水) 22:58:18 ]
>>477
あの述語自信はそうかも知れないけれど、
あの効果を許すとそうでなくなるのではと。

述語を作れる述語でしょ。

479 名前:デフォルトの名無しさん mailto:sage [2009/08/05(水) 23:25:25 ]
>>478
univは複合項とリストを単一化するだけで述語を作ったりはしませんよ

480 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 00:13:57 ]
>474はfindallが一階述語じゃないこともわかってない気がする

481 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 01:42:14 ]
「述語を作る」という言い方は、微妙にややこしい。
論理式を作るのなら、Goal = p(X,Y)、Clause = (p :- q)などでもできる。
項と論理式を表面上区別しないから。

482 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 02:28:41 ]
例えば
findall(A,hoge(A),AList)
を論理的に考えてみると、
Findall(Hoge,x) ≡ ∀y[Hoge(y) ≡ Member(y,x)]
みたいな二階述語になると思う。(あってる?)

(=..)/2などで述語と引数をくっつけなくても、述語の引数にあたる変数を指定しさえすれば
高階の呼出しは表現できる、という例になっているんじゃないかな。
でもまあ言いたいことはわかるというか…。

483 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 02:38:39 ]
> Findall(Hoge,x) ≡ ∀y[Hoge(y) ≡ Member(y,x)]

これはリストの順序とか全く無視していてかなりしょっぱかった。今は反省している。



484 名前:デフォルトの名無しさん [2009/08/06(木) 04:43:20 ]
>>480ー481
うんそうなんだけれど、特定の述語で高階化されているというのはまあ、
そう言う機能とかAPI欲しいよねってことで納得できる
中でごにょごにょしてるんだろうと。

=..が変?なのは、述語記号そのものを変数化できるということ
=..を使えば ∀X [X(Y, Z)] ってかけちゃうし

なんか言ってること微妙に間違ってる気もするがまぁいいやw

485 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 08:16:16 ]
よくわからんけど、
述語論理の述語変数(や述語記号、関数記号)には個々に変数の数が決まっていて、
そもそもPrologの述語名(や関数子)とは対応していないから、
findall/3のやり方の方が、見た目は違っても述語変数を再現できている面がある。

とにかく(=..)/3がなくても一階論理を超えまくっている以上、鍵のように言うのは変だよ。
高階論理風の見た目とPrologの高階性は違う、というか。

486 名前:デフォルトの名無しさん mailto:sage [2009/08/06(木) 08:18:02 ]
(=..)/3じゃないや。。

487 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 00:14:05 ]
?- alive(noriP).

no

488 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 12:25:11 ]
そんな推測に過ぎない節を登録しないで欲しいな…

489 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 14:23:59 ]
え?
登録されていない事実だから、否定してるのでは?

490 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 15:25:26 ]
なるほど。

491 名前:デフォルトの名無しさん mailto:sage [2009/08/07(金) 23:30:07 ]
?- stayAt( noriP, Place ).

492 名前:デフォルトの名無しさん mailto:sage [2009/08/08(土) 00:31:59 ]
?-guilty(noriP).

493 名前:デフォルトの名無しさん [2009/08/10(月) 13:32:34 ]
>>486 が顔文字に見える



494 名前:デフォルトの名無しさん mailto:sage [2009/08/10(月) 14:44:29 ]
自信なさそうに、ちょっとうつむき気味に挙手してるようにも見えるなw

495 名前:デフォルトの名無しさん [2009/08/18(火) 19:06:04 ]
プロロげ!Prologer!
ちょっとまったりし過ぎじゃないか?

496 名前:デフォルトの名無しさん mailto:sage [2009/08/18(火) 20:39:31 ]
レスもprolonger。


497 名前:デフォルトの名無しさん mailto:sage [2009/08/19(水) 10:43:28 ]
じゃあ別スレで出てきた覆面算でも
ONE + NINE + TWENTY + FIFTY = EIGHTY

498 名前:デフォルトの名無しさん mailto:sage [2009/08/20(木) 18:49:00 ]
やってみたけど、多少枝刈りしても1分以内にはできなかった。
いや、普通の環境ならできるんだろうけどw

499 名前:デフォルトの名無しさん mailto:sage [2009/08/31(月) 09:07:58 ]
この数日、Haskellのスレで続いている副作用談義は勉強になる。
pc12.2ch.net/test/read.cgi/tech/1231861873/

500 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 07:29:44 ]
発刊予定日さらに延期。2010/4/16。
www.amazon.co.jp/gp/product/0321417461

501 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 20:35:51 ]
prolonged...


502 名前:デフォルトの名無しさん mailto:sage [2009/09/01(火) 21:55:24 ]
誰がうまいこと言えと

503 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 10:12:24 ]
Prologってコーディング標準とかないのですかね?
標準でなくてもいいのですが、よく使われている規約などあれば教えてほしいのであります。



504 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 10:30:42 ]
>>503
ICOTではあったと思うけれど、資料はないだろうな。Prologはほんの一部ですが。
その後は、各企業毎に多少は決められてるだろうけど、ほとんど「ない」と
言い切っていいレベルだと思います。

505 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 13:14:33 ]
>>504
そうですか…ありがとうございます。

506 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 13:30:04 ]
私の場合は「散文的」でありたいと思ってるから、
そういう規則は設けないですね。

507 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 16:58:46 ]
pc12.2ch.net/test/read.cgi/tech/1250204272/176
# [1]講座名:やさしいC言語
# [2]
# (1) 「ようこそC言語へ」という文字列を表示し改行するコード
# printf関数を使う。
# (2)「 ようこそC言語へ」と表示し改行してから「C言語をはじめましょう」
# と表示し改行するコード。ただしprintfは一回しか使ってはならない。

508 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 17:02:09 ]
>>507
% Prolog
t507(1) :- write_formatted('%t\n',[ようこそC言語へ]).

t507(2) :- write_formatted('%t\n%t\n',[ようこそC言語へ,'C言語をはじめましょう']).

509 名前:デフォルトの名無しさん mailto:sage [2009/09/02(水) 17:05:57 ]
失礼、誤爆でした。>>507>>508は「いろいろな言語で宿題スレ」に
書き込まなくていけなかった。錯覚しました。

510 名前:デフォルトの名無しさん mailto:sage [2009/09/07(月) 18:59:49 ]
ところで
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9925.txt
こういう課題をProlog流に解釈して解答をつけるとすると、
どんなことになるのかな? Cの解答例としては
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9927.txt
がある。

511 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 01:52:15 ]
世界の散文化はPrologでなされるのだろうか。

512 名前:デフォルトの名無しさん mailto:sage [2009/09/26(土) 21:39:06 ]
OS X 10.5.8にもSICS Prologってインストール可能だろうか?

513 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 10:07:56 ]
本家サイトくらい読めよ。
www.sics.se/isl/sicstuswww/site/download4.html
www.sics.se/isl/sicstuswww/site/portability.html



514 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 10:28:45 ]
なんですか偉そうに。かわりに読んでください。

515 名前:デフォルトの名無しさん mailto:sage [2009/09/27(日) 12:59:50 ]
どうしてそういう不安があるの

516 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 20:36:36 ]
Mac OS X は、普通の Unix 系の OS だから、他の Unix 系の OS で動くアプリケーションなら、動くよ。
動かないのは、デバイスドライバとかの特殊なソフトウェアじゃないかな。

ただ、Mac OS X 用のアプリケーションは、他の OS じゃ動かないよ。
Mac OS X の独自機能だけを使ってアプリケーションを作るのが通例だろうから。

517 名前:デフォルトの名無しさん mailto:sage [2009/09/28(月) 21:38:28 ]
> Mac OS X は、普通の Unix 系の OS
machスレッドはpthreadとお約束が違うので
微妙に動かなくなったりするけどな


518 名前:デフォルトの名無しさん [2009/10/01(木) 20:27:12 ]
Prolog でやるエロゲー作ったら、みんな Prolog やるんじゃね?



俺は、エロゲーやらないけど

519 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 20:29:40 ]
>>518
lisp ベースのゲームエンジンがあって、それを使ったゲームは
そこそこ売れているんだけど、みんなlisp やんないよね


520 名前:デフォルトの名無しさん [2009/10/01(木) 20:39:50 ]
>>519
それは、エンジンが lisp なんであって、lisp でやるわけじゃないんじゃ?
目に見えないと分からないでしょ。

521 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 20:42:59 ]
Age of Empire の AI が Lisp ぽいという話はあったな

522 名前:デフォルトの名無しさん [2009/10/01(木) 21:27:19 ]
そういうチラ見せじゃなくて、
コマンドラインで Prolog 打ったら、
女の子が反応したり、
女の子に新しい何かを覚えさせたり
出来るのを考えてた

523 名前:デフォルトの名無しさん mailto:sage [2009/10/01(木) 21:37:43 ]
俺が喜ぶポーズを取ってみろ!

と指令を出すと、登録してある嗜好データベースで演繹して
そのシチュエーションでプレーヤーが一番喜ぶポーズを取る萌えキャラ。




524 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 03:51:46 ]
subservient chickenみたいなものか

525 名前:デフォルトの名無しさん mailto:sage [2009/10/02(金) 22:54:00 ]
? like(you, me).
no.

〜 Fin


526 名前:デフォルトの名無しさん mailto:sage [2009/10/03(土) 21:06:43 ]
prologでSWAN SONG。
ピンポンピンポンピンポン!ってできたらいいなぁ。

527 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 23:16:07 ]
SWI prolog はEmacsで使うとプロンプトが出ないんですが、
対処法はありますか?


528 名前:デフォルトの名無しさん mailto:sage [2009/10/04(日) 23:22:37 ]
Emacs22 + SWI-Prolog 5.7.15 on Linux で使ってるけどプロンプトでてるな。
環境は?昔、Windows上でつかってるときはなんか使い難かった記憶がある。
実用上問題はなかったのでそのまま使ってたけど。

529 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 02:46:19 ]
>>528
Windows上でMeadow+SWI-Prolog(Version 5.6.62)です。
実用上は問題ないのですが、どうも気持ち悪かったものですから。



530 名前:デフォルトの名無しさん mailto:sage [2009/10/05(月) 17:59:35 ]
ファンクタに破壊的操作を加える述語ってありましたっけ?

531 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 18:26:46 ]
関数子(ファンクター)をいじるというと…
例えばf(a,b)、f(123)などのfを一気にffにするとか?
述語名には影響はないんだろうか。(いや、複合項のことだろうとは思うけど)

532 名前:デフォルトの名無しさん [2009/10/07(水) 05:36:52 ]
問題.
久方のなかなる川のうかひ舟いかにちぎりてやみを待つらむ 藤原定家

この短歌に現れる枕詞「久方の」は
「なかなる川」= 京の中なる川 = 桂川 の
桂から月が連想されて、その月の光に対して、
添えられていると考えられる。

この関係を示す述語「久方のについて思い巡らし」を定義せよ。

533 名前:デフォルトの名無しさん [2009/10/07(水) 07:03:07 ]
プロログって

述語(主語や目的語や補語)

って形式だよね?
なんか自然言語の語順と一致しなくて気持ち悪いんだけど
その一因は、当時の計算機の処理能力(速度とリソース)にあると思うんだ。

いまのコンピュータ性能なら、自然言語の語順で同様のことができると思うのだけど
そういう言語でプロログに近い推論を行うものってある?



534 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 08:58:37 ]
たぶんない。作ればあるだろうけど。

自然言語に近い語順、はいいけど、機械が扱うためにはきちんと形式化されてる
ことが必要だからね。

535 名前:デフォルトの名無しさん mailto:sage [2009/10/07(水) 09:50:36 ]
>>534

X:>自然言語に近い語順、はいいけど、
O:>自然言語に近い語順、は「どーでも」いいけど、







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<227KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef