◎正当な理由による書き込みの削除について: 生島英之 とみられる方へ:Prologの宿題片付けます 第二編->画像>1枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/tech/1350893602/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。
Prologの宿題あるいは演習の課題を掲載して、ソースプログラムを 書く契機を作るスレです。大学等でどんなProlog教育が試みられて いるかを知る機会にもしたいと思います。 [1] 課題は # から始まる行表現でお願いします。それでソースコードと区別します。 [2] できるだけインデント表現になるように工夫してください。 [3] コードの途中または後での質問は % から始まるコメントの形式を取ってください。 [4] Prologは一つ仕様から多様なプログラム表現が生まれる言語です。先に答えを 書かれてしまっても、別の正解は無限といってよいほどあります。少しでも、味のある 部分を見つけたらどしどし上げてみましょう。
>>1 最近は2chを眺めてみる人は減ってしまったから、twitterでスレが
立ったことを宣伝した方がいい。
現時点では、「Prologの宿題片付けます」つまり第一編は、
http://logstar.jp/toro.2ch.net/tech/1272006124/ でログを見ることができるようです。
早速に昨日twitterで扱った問題を載せてみましょう。
#
# 「Prologへの入門」 I.Bratko著 安部憲広訳 1990年 近代科学社刊 ISBN4-7649-0165-X
# より、
http://www.amazon.co.jp/dp/476490165X #
# 3.13 次のような節が書けて,その後以下の質問ができるように,(was,of,the)に対して適切なオペレータの定義を考えよ.
# diana wa the secretary of the department.
# ?- Who was the secretary of the department.
# Who = diana
# ?- diana was What.
# What = the secretary of the department
申し訳ない。肝心の文が一ヶ所間違っていた。wa -> was # # diana was the secretary of the department. # # ?- Who was the secretary of the department. # Who = diana # ?- diana was What. # What = the secretary of the department
>>5 # diana was the secretary of the department.
# ?- Who was the secretary of the department.
# Who = diana
# ?- diana was What.
# What = the secretary of the department
:- op(600,xfx,was).
:- op(500,xfx,of).
:- op(400,fx,the).
diana was the secretary of the department.
ァ ∧_∧ ァ,、 ,、'` ( ´∀`) ,、'` '` ( ⊃ ⊂) '`
# C/C++の宿題片付けます 141代 #323 より # [1] 授業単元: # [2] 問題文(含コード&リンク): # 西暦年数を与えて、その年の干支を求めるプログラムを作成せよ。 # 干支は、十干と十二支とをそろぞれサイクリックに変えながら組み合わせることによって60(10と12の最小公倍数)通りが得られる。 # 例:1989年は己巳。 # # 以下の述語を前提にしてください。 基準年(2010). 基準年の干(庚). 基準年の支(寅).
>>5 と同様の問題です。
# 後京極摂政前太政大臣といえば、九条良経。清冽な作風で知られ、新古今和歌集でも
# 最多の歌が採集された天才歌人ですが、その和歌から。
#
# 恋し と は 便り に 付けて 言ひやりき 年 は 還りぬ 人 は 歸らず
#
# と形態素解析できたとして、適宜オペレータを定義して以下の述語がエラーにならず
# 定義可能となるようにしなさい。
#
恋し と は 便り に 付けて 言ひやりき 年 は 還りぬ 人 は 歸らず.
# それでは私も、もう一問。 # JR山手線の駅の連環を示す述語を定義しなさい。 # # どのような構造でも構いません。 #
>>13 山手線(品川,大崎).
山手線(大崎,五反田).
山手線(五反田,目黒).
山手線(目黒,恵比寿).
山手線(恵比寿,渋谷).
山手線(渋谷,原宿).
山手線(原宿,代々木).
山手線(代々木,新宿).
山手線(新宿,新大久保).
山手線(新大久保,高田馬場).
山手線(高田馬場,目白).
山手線(目白,池袋).
山手線(池袋,大塚).
山手線(大塚,巣鴨).
山手線(巣鴨,駒込).
山手線(駒込,田端).
山手線(田端,西日暮里).
山手線(西日暮里,日暮里).
山手線(日暮里,鶯谷).
山手線(鶯谷,上野).
山手線(上野,御徒町).
山手線(御徒町,秋葉原).
山手線(秋葉原,神田).
山手線(神田,東京).
山手線(東京,有楽町).
山手線(有楽町,新橋).
山手線(新橋,浜松町).
山手線(浜松町,田町).
山手線(田町,品川).
「C/C++の宿題片付けます 160代目」からの借用問題です。
http://toro.2ch.net/test/read.cgi/tech/1349527750/338 # 7個のデータを入力し、中央地を表示するプログラムを作成して下さい
#
# 例
# 1番目の数字を入力してください: 13
# 2番目の数字を入力してください: 22
# ・・・
# 中央値は 22 です。
#
>>15 の応用問題です。
#
# 1から99までを値域とする7つの整数を乱数を使って発生させて、中央値が22となるようにしなさい
#
>>10 「言ひやりき」を xfx で定義しなくてはならず、相当に不自然だ。
上の句と下の句でばっさりと分断されている歌で出題に問題があるなぁ。
>>17 オペレータ定義するには最も難しい歌の一つだったかな。そこをなんとか。
>>18 これでどうだ。
:- op(300,xf,と).
:- op(500,xfy,は).
:- op(300,xf,に).
:- op(400,xf,付けて)
:- op(700,xfy,言ひやりき).
:- op(600,xfx,還りぬ).
:- op(300,xf,は).
恋し と は 便り に 付けて 言ひやりき 年 は 還りぬ 人 は 歸らず.
>>14 # まあ、そうなりますね。
#
# それでは、駅間距離と乗り換え案内を追加してください。
#
>>9 これはいろんな述語定義が出てきそうだ。いい問題かも。
>>20 山手線(秋葉原,神田,0.7).
山手線(神田,東京,1.3).
山手線(東京,有楽町,0.8).
山手線(有楽町,新橋,1.2).
山手線(新橋,浜松町,1.1).
山手線(浜松町,田町,1.2).
山手線(田町,品川,1.5).
% のような感じでいいのかな。
>>20 全部は大変!
乗り換え案内(浜松町,東日本旅客鉄道京浜東北線).
乗り換え案内(浜松町,東京モノレール).
乗り換え案内(浜松町,都営地下鉄浅草線).
乗り換え案内(浜松町,'都営地下鉄大江戸線(大門駅)').
>>20 追加
乗り換え案内(新橋,東日本旅客鉄道京浜東北線).
乗り換え案内(新橋,東日本旅客鉄道東海道線).
乗り換え案内(新橋,東日本旅客鉄道横須賀線).
乗り換え案内(新橋,ゆりかもめ東京臨海新交通臨海線).
乗り換え案内(新橋,東京地下鉄銀座線).
乗り換え案内(新橋,都営地下鉄浅草線).
>>23 >>24 乗り換え案内をRDBとして定義してくるか、リストで定義してくるか、
の興味があったので出題しました。ありがとう。
# # あるProlog処理系で冪集合を定義し、その結果が # # ?- 冪集合([a,b,c,d],X). # # X = [[],[a],[b],[c],[d],[a,b],[a,c],[a,d],[b,c],[b,d],[c,d],[a,b,c],[a,b,d],[a, c,d],[b,c,d],[a,b,c,d]]. # # となったとします。 # それでは、このXの要素の出現順序を崩さず、しかも、一旦冪集合を完全に生成すること もなく、最初からn個目まで生成したらそこで打ち切って部分解として、 # その時点まで生成されたリストを返すプログラムを生成しなさい。 #
最後、 リストを返すプログラムを「作成しなさい。」 です
>>28 いかにもPrologらしいプログラムだな。
# 10分程前にtwitter上に問題として出したもの。 # # 問題: 「目に遮り、形あるものは切り給まふべくが、もし、無形の陰鬼陽魔亡霊は # 何を以って切り給まふや」 --勧進帳-- # この台詞は富樫が弁慶を問い詰めた難問ですが、弁慶の答を調べ # Prolog述語として定義した上で、質問してみてください。 #
>>22 Prologの述語定義で、情報の出所も別に述語定義するべきかな?
>>33 Prologの述語定義の場合、著作物に極めて近い表記が現れる
可能性があるという意味かな。
>>22 のようなものだって、マニアは暗記していたとしても、自分で
メジャー持って測って回った人はほとんどいなかった。
しかし、今では、Webサイトでメートル単位で測ることができる。この例
からも現在の情報源は極めて多様で、一筋縄ではいかない問題だと言える。
切り給まふべく(X) :- 目に遮り(X),形ある(X). % なのかなぁ。どうもよく分からない。
% 無形の陰鬼陽魔亡霊は九字真言を以って之を切断せむに何の難きことやあらん 切断せむに易し(剣,_之) :- 目に遮り(_之). 切断せむに易し(剣,_之) :- 形ある(_之). 切断せむに易し(九字真言,_之) :- 無形(_之),(陰鬼(_之);陽魔(_之),亡霊(_之)). % 「切断せむに何の難きことやあらん」をどう記述してよいかわかりません。
>>37 切断せむに易し(九字真言,_之) :- 無形(_之),(陰鬼(_之);陽魔(_之);亡霊(_之)).
でしょ。
>>39 切断せむに易し(九字真言,陽魔).
のように定義するものだろうか。無形であって陽魔とでも呼ぶしかないものと
いうニュアンスが出ないけど。
一階述語論理だからなあ。 文構造全体を構造項で表すしかないのではないか。
Prologで書いた詰将棋の例ってどこかに アップしてありますか。 ググってみたのですが、見つからないもので 御存じのかたがいらっしゃったらご教示ください
一つの述語が非常に長くなって、 その述語の中ではバックトラックする部分があってもバックトラックが必要ないとする。 この場合、その述語にカットを大量に入れることは処理効率向上に寄与するか。 という問題にぶちあたったのですが。 カットはどの程度入れればいいのか目安をお願いします。
>>43 述語は出来る限り分割する方がよい。言い換え、言い換え、また言い換えて。
ひたすら言い換える。
一つの述語の本体の副目標数の総計を四つか五つくらいに抑えるように。
append([],L,L).
append([U|X],Y,[U|Z]) :- append(X,Y,Z).
の本体の副目標は第一節の :- true. が省略されていると考えて、二つである。
こうした上で、カットをどうするか。これなら見通しがたつだろう。
p :- p1,p2,p3,p4,(p5,p6,p7;p8,p9,p10,p11,p12). だとすると、例えば、 p :- q1,q2,q3. のようなまとめ方をする。 q1 :- p1,p2. q2 :- p3,p4. q3 :- p5,p6,p7. q3 :- q4,q5. q4 :- p8,p9. q5 :- p10,p11,p12.
逆にq系列の述語名を使わずに、すべて長い述語名で定義するとしたら、 'p1,p2,p3,p4,(p5,p6,p7;p8,p9,p10,p11,p12' :- 'p1,p2','p3,p4','(p5,p6,p7:p8,p9,p10,p11,p12)'. 'p1,p2' :- p1,p2. 'p3,p4' :- p3,p4. '(p5,p6,p7;p8,p9,p10,p11,p12)' :- 'p5,p6,p7'. '(p5,p6,p7;p8,p9,p10,p11,p12)' :- 'p8,p9','p10,p11,p12'. 'p5,p6,p7' :- p5,p6,p7. 'p8,p9' :- p8,p9. 'p10,p11,p12' :- p10,p11,p12.
実際には、最終行の 'p10,p11,p12' :- p10,p11,p12. は例えば、以下のようなことになる。 'トランザクションファイルを開き,マスターファイルを更新し,トランザクションファイルを閉じる' :- 'トランザクションファイルを開き', 'マスターファイルを更新し', 'トランザクションファイルを閉じる'.
>>46 二行目訂正 ) が一つ落ちていた。
'p1,p2,p3,p4,(p5,p6,p7;p8,p9,p10,p11,p12)' :-
カットについて大事な点は、p6とp7に間に!があるとして、 p :- p1,p2,p3,p4,(p5,p6,!,p7;p8,p9,p10,p11,p12). と p :- q1,q2,q3. ・・・ q3 :- p5,p6,!,p7. q3 :- q4,q5. ・・・ のp6とp7の間の!の意味(影響範囲)は全く異なるということですね。
>>10 すみません。これ「最多」ではなかったでしたね。三番目かな。
>>45 >>46 は両方共、私が書いたのですが、
実はこれは、Prologで最も必要な知識であり、技術だと思っています。ところがどういう訳か、
このことを触れた書物はほとんどない。ましてネット上では皆無、私のものは孤立無援。
>>51 「ほとんどない。」ではなくて、「滅多にお目にかかれない。」に変えて読んでください。
>>51 ウンコジャップが使う日本のイントラネットには糞資料しかないけれど、
海外には、そこそこの資料が沢山あるよ。
日本でディプロマミルを発酵している糞教授たちは、給料で何をしているんだろうね。
Cの関数とかC++やJavaのクラスみたいな モジュール化ってPrologではどうやってしますか? コードの量が増えてきたら分けたほうが良いと思うのですが
>>55 モジュール宣言をします。
:- module(quick_sort).
のように。
そうすると partition/4 のような述語の意味を限定できます。
>>56 レスありがとうございます。
なるほど、そのままの宣言があったのですね。
>>34 昨日ツイッターにDCG節を使ったPPAPのプログラムの載っているサイトが紹介されていたが、
あのプログラムは、歌詞が全部そのまま述語になっているから、著作権の問題が常に付き纏う
ことになる。出典を別に述語定義しただけで十分と言えるかどうか。
# ここではアトムを文字列と呼ぶことにする。 # 文字列の現れる二個目のCの文字列の最初の文字から一文字前までの副文字列と # 一文字後から末尾までの副文字列を求める述語を定義しなさい。
>>60 '文字列に現れる二個目のCの
文字列の最初の文字から一文字前までの副文字列と
一文字後から末尾までの副文字列'(_文字列,_前方副文字列,_後方副文字列) :-
文字列に現れるCの前方副文字列と後方副文字列(_文字列,_前方副文字列,_後方副文字列),
前方副文字列には既にCが現れている(_前方副文字列),!.
文字列に現れるCの前方副文字列と後方副文字列(_文字列,_前方副文字列,_後方副文字列) :-
atom_concat(_前方副文字列,_残り文字列,_文字列),
atom_concat('C',_後方副文字列,_残り文字列).
前方副文字列には既にCが現れている(_前方副文字列) :-
sub_atom(_前方副文字列,_,1,_,_前方副文字列).
% 間違い。最後二行訂正。 前方副文字列には既にCが現れている(_前方副文字列) :- sub_atom(_前方副文字列,_,1,_,'C').
要は、 atom_concat/2 を二つ連ねると、文字列を三つの部分に分解できる。 そうしておいて、対象文字列(ここではCという文字)の前方または後方を参照する。
# 5匹の羊と5匹の狼を1匹ずつひとつの檻に入れる。 # 羊の数を狼の数が超えると羊が食べられるのでNG。 # 上の条件で羊と狼を全頭檻に入れられる順番の組み合わせを全通り示せ。
# 出題 : 奇数魔方陣を描く述語 奇数魔方陣/1 を示せ。 # 引数には魔方陣がn×nの時のnが来るものとする。
すみません。示せではなくて、描け、です。あるいは 奇数魔方陣/2 として、第二引数に魔方陣が単一化される仕様と しても、構いません。
>>67 奇数魔方陣の生成です。途中一ヶ所カットが入っていますが、
これがないと、SWI-Prologでは最適化が働かず、
1001 × 1001 のサイズではローカルスタックがオーバーフローしました。
http://nojiriko.asia/prolog/prolog/kisuu_mahoujin.html # 以下の主張をProlog述語として定義せよ。 # # 愛とは差別を含む関係である. #
>>69 AがBを愛する関係に入ることが、AはCを愛さない理由を生成してしまう。
と述べればよいのだろうか。
そうだとしたら、高階述語になるなぁ。
問題 :: 素数を2から次々と生成する述語。非決定性の素数生成/1を定義してください。
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 ZH8Y7
おもしろいけど、メインストリーム言語じゃないから新しく分かりやすい入門者向けの書籍が全然でない…
過去に出た古書を読むしかないね しかし去年のレスって相当過疎だ
>>75 ツイッターで質問をするというのが一番早い解決になる
>>64 '5匹の羊と5匹の狼を1匹ずつひとつの檻に入れる。
羊の数を狼の数が超えると羊が食べられるのでNG。
上の条件で羊と狼を全頭檻に入れられる順番の組み合わせを全通り出力する'(_檻に入れる順番ならび) :-
檻に入れる(_檻に入れる順番ならび),
forall(append(L,_,_檻に入れる順番ならび),狼の数は羊と同じかそれよりも少ない(L)).
檻に入れる([_1,_2,_3,_4,_5,_6,_7,_8,_9,_10]) :-
maplist(member,[_1,_2,_3,_4,_5,_6,_7,_8,_9,_10],[[羊,狼],[羊,狼],[羊,狼],[羊,狼],[羊,狼],[羊,狼],[羊,狼],[羊,狼],[羊,狼],[羊,狼]]).
狼の数は羊と同じかそれよりも少ない(L) :-
狼の数(L,_狼の数),_狼の数 =< 5,
羊の数(L,_羊の数),_羊の数 =< 5,
_狼の数 =< _羊の数.
狼の数(L,_狼の数) :-
集計(1,member(狼,L),_狼の数).
羊の数(L,_羊の数) :-
集計(1,member(羊,L),_羊の数).
集計(A,B,C) :-
findall(A,B,L),
sum_list(L,C).
(-o-)y-~~~~( -o)y-~~~( )~~~-y(o- )~~~~-y(-o-)クルクル
read.cgi ver 07.7.21 2024/12/02 Walang Kapalit ★ | Donguri System Team 5ちゃんねる -curl lud20241215222341このスレへの固定リンク: http://5chb.net/r/tech/1350893602/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「Prologの宿題片付けます 第二編->画像>1枚 」 を見た人も見ています:・C#,C#の宿題片付けます。 ・秋元康はまだ気付かないのか。大人数のバラードは売れない。タンゴやフラメンコ風な表題曲書け。 ・夏焼みやびちゃんが夏休みの宿題は先に片付けるタイプの真面目ちゃんだった件 [無断転載禁止] ・【画像】片付けコンサルタント・近藤麻理恵のYoutubeが日本と海外で違い過ぎると話題に ・【大相撲】矢後、大成道が新十両昇進 秋場所の番付編成会議 窃盗疑いで逮捕の魁心鵬ら7人引退 ・関口宏 学術会議の見直し・改革「いやいや待ってください。問題片付けてからにして」 [きつねうどん★] ・夏休みの宿題で最後にバタバタあわててやってたけど結局終わらなかった人は引きこもり予備軍という法則 ・愛子さま 夏休みの宿題が終わらなかったため不登校になった模様 ソースは宮内庁 [無断転載禁止] ・教師が生徒の宿題の結果をネットで公開 これもバカッターの亜種だな ・【訃報】ワイ小学5年生、夏休みの宿題を全くやってないことが親にバレる。誰か助けてほしい [無断転載禁止] ・【サッカー】松本山雅の宿題(2)反町監督「呪われている」 故障者続出に歯止めかからず [無断転載禁止] ・中高生の宿題に答えるスレ 2学期 lesson 9 ・【日本の宿題】 どうやったら「無敵の人」の暴走を防げるのか ★2 ・工藤遥「夏休みの宿題は最後にやるタイプ」小田さくら「私も」佐藤優樹「まさはやらないタイプ」工藤遥「新しすぎるよ、それ」 ・【アメリカ】「緊急事態ではないんだけど」と、10歳少年が算数の宿題わからず911コール [10/03] ・【PRODUCE48】人気の地上波番組を超える話題性でスカパーのPD48が視聴熱1位 ・■■5.7.5の宿題■■<糞レスお断り> ・微積分学の宿題難しすぎワロタ ・夏休みの宿題で裁判傍聴することになったのだが ・【ゴキ語】夏休みの宿題みたいので遊んでるとこ見られたら親指隠されるわ ・バスケコートがあった頃の秋葉原 ・【SNS】LINEスタンプで版権キャラの制作・販売可能に 第1弾は「東方Project」(6月開始予定) ・【芸能】ROLAND、スキンケアは無印良品・歯ブラシは使い捨て…こだわりとギャップ溢れるモーニングルーティーンが話題に ・夏休みの宿題で小説書くからみんなで考えよーぜww ・夏休みの宿題は多すぎである。 ・夏休みの宿題を初日に終わらせるやつって ・や〜ん!夏休みの宿題が終わらないわ!! ・夏休みの宿題が終わった香具師しかレスできないスレ [無断転載禁止] ・夏休みの宿題ギリギリにやってたタイプって発達ガイジだよな ・算数の宿題手伝って ・【芸能】辻希美、「夏休みの宿題は少なくてもいい」持論を語るも賛同を得られず ・【創価学会】題目Pro parn1【エア本】 ・【悲報】山口真帆の秋元擁護モバメでガルちゃん民が続々撤退中、騒動収束へ ・【日韓プロジェクト】「美しいルックスと実力」宮脇咲良「PRODUCE48」センター抜擢!韓国でも話題 トレンド入り ・第15回東方Project人気投票スレ ・【プデュ&秋元康】PRODUCE48★1【奇跡のコラボ】 ・【サンシャイン】国木田花丸ちゃんは読書の秋はマルの秋!かわいい!Drop10ずら! ・【フィギュア】 腋とヘソに注目!!『東方Project』博麗霊夢が1/4スケールのビッグサイズでフィギュア化!あみあみで予約受付中 ・夏休みの宿題によさそうな・・・ ・岸信夫「統一教会との付き合いは今後は適切に判断していく」記者「具体的には?」岸「適切に判断ということでございます」 ・黒宮れい(19)「女の子は自分で自分を消費している事に気付いて欲しい」「知らん誰かに消費されるキモい毎日が早く終わりますよーに」 ・B95W66H90、OLから転身したHカップボディのグラビアアイドル「エッチに挑発してます」 ・カリスマホストROLANDさん(27)、経営するホストクラブ閉店「お客様に喜んで頂けるよう運営する事は困難」 ・ROLEXを着けると徳するのか損するのか 1本目 ・『あつまれ どうぶつの森』デザインのProコントローラー予約販売が開始。 ・【銃・射撃の専門誌】Gun Professionals【2冊目】 ・ついにProduce48の日本人メンバーが残り10人になったけど、この面子を見てどう思った? ・東方projectとかいうオワコン同人あるけど未だに結構コンシューマーで移植されてんのな ・■深海の王者■ROLEX■シードゥエラーpart20■ [無断転載禁止] ・東方projectのレイヤー電光石火スレ「demon King cradle」 ・Prologでまったり Part5 [無断転載禁止] ・春巻きのどこにSpringをrollしてるんだ?って外国人の友達に言われたんやが ・デレマスのsing the prologueについて知ってること ・【筋肉】ホストROLANDの腕めっちゃ太い ・トロール・ハンター TROLL HUNTERその2 ・【ROLEX】 デイトナ 総合 SSのみ★7【DAYTONA】 ・【ROLEX】 デイトナ 総合 SSのみ★6【DAYTONA】 ・萌えてます!E231系 Vol.63 ・【映画】「解せぬ!」Rolling Stone誌「最も素晴らしいアニメーション映画トップ40」の2位に『千と千尋の神隠し』ランクイン!! [無断転載禁止] ・ペトロールズ petrolz 18 ・JCB GOLD THE PREMIER 10 ©2ch.net ・ProjectOctopathTravelerの不満点を述べるスレ ・ALI PROJECTのファンが愚痴るスレ4 ・【悲報】東方Project新作のキャラデザが終わっている ・【795 AEROLIGHT】LOOK Part38【785 HUEZ】 ・ペトロールズ petrolz 24
08:23:41 up 3 days, 18:47, 0 users, load average: 7.36, 9.22, 9.98
in 1.4955339431763 sec
@0.032261848449707@0b7 on 121522