このディレクトリの索引

% 以下のサイトは # # # 出典 :: 『あたらしいこくご 一上』 東京書籍38-39頁 'ぶん を つくろう'(_ぶん) :- 'どうぶつ の あと に 「が」を つけて そのあと に どうさ を つければ よい。'(_ことばのリスト,[]), 'リスト の ことば を くっつけて ぶん に する'(_ことばのリスト,_ぶん). 'どうぶつ の あと に 「が」を つけて そのあと に どうさ を つければ よい。' --> どうぶつ(_どうぶつ), が , どうさ(_どうさ), { どうぶつのするどうさ(_どうぶつ,_どうさ) }. どうぶつ(いぬ) --> [いぬ]. どうぶつ(くじら) --> [くじら]. どうぶつ(うま) --> [うま]. どうぶつ(はち) --> [はち]. どうぶつ(くま) --> [くま]. どうぶつ(りす) --> [りす]. どうぶつ(ええる) --> [かえる]. どうぶつ(とり) --> [とり]. どうぶつ(うさぎ) --> [うさぎ]. が --> [が]. どうさ(はしる) --> [はしる]. どうさ(およぐ) --> [およぐ]. どうさ(にげる) --> [にげる]. どうさ(とぶ) --> [とぶ]. どうさ(さす) --> [さす]. どうさ(なく) --> [なく]. どうさ(わらう) --> [わらう]. どうさ(ける) --> [ける]. どうさ(さえずる) --> [さえずる]. どうさ(ねる) --> [ねる]. 'リスト の ことば を くっつけて ぶん に する'(_ことばのリスト,_ぶん) :- atomic_list_concat(_ことばのリスト,_ぶん). どうぶつのするどうさ(いぬ,ほえる). どうぶつのするどうさ(いぬ,はしる). どうぶつのするどうさ(いぬ,はねる). どうぶつのするどうさ(いぬ,およぐ). どうぶつのするどうさ(いぬ,たべる). どうぶつのするどうさ(いぬ,なめる). どうぶつのするどうさ(くじら,およぐ). どうぶつのするどうさ(うま,はしる). どうぶつのするどうさ(うま,ねむる). どうぶつのするどうさ(うま,あるく). どうぶつのするどうさ(はち,さす). どうぶつのするどうさ(はち,とぶ). どうぶつのするどうさ(くま,ねむる). どうぶつのするどうさ(くま,あるく). どうぶつのするどうさ(くま,ほえる). どうぶつのするどうさ(かふる,なく). どうぶつのするどうさ(かふる,はねる). どうぶつのするどうさ(とり,とぶ). どうぶつのするどうさ(とり,さえずる). どうぶつのするどうさ(うさぎ,はねる). どうぶつのするどうさ(うさぎ,たべる). For help, use ?- help(Topic). or ?- apropos(Word). ?- 'ぶん を つくろう'(_ぶん). _ぶん = いぬがはしる ; _ぶん = いぬがおよぐ ; _ぶん = くじらがおよぐ ; _ぶん = うまがはしる ; _ぶん = はちがとぶ ; _ぶん = はちがさす ; _ぶん = とりがとぶ ; _ぶん = とりがさえずる ; false. ?- % 以下のサイトは # # # 出典 :: 『あたらしいこくご 一上』 東京書籍38-39頁 'ぶん を つくろう'(_ぶん) :- 'どうぶつ の あと に 「が」を つけて そのあと に どうさ を つければ よい。'(_ことばのリスト,[]), 'リスト の ことば を くっつけて ぶん に する'(_ことばのリスト,_ぶん). 'どうぶつ の あと に 「が」を つけて そのあと に どうさ を つければ よい。' --> どうぶつ, が , どうさ. どうぶつ --> [いぬ]. どうぶつ --> [くじら]. どうぶつ --> [うま]. どうぶつ --> [はち]. どうぶつ --> [くま]. どうぶつ --> [りす]. どうぶつ --> [かえる]. どうぶつ --> [とり]. どうぶつ --> [うさぎ]. が --> [が]. どうさ --> [はしる]. どうさ --> [およぐ]. どうさ --> [にげる]. どうさ --> [とぶ]. どうさ --> [さす]. どうさ --> [なく]. どうさ --> [わらう]. どうさ --> [ける]. どうさ --> [さえずる]. どうさ --> [ねる]. 'リスト の ことば を くっつけて ぶん に する'(_ことばのリスト,_ぶん) :- atomic_list_concat(_ことばのリスト,_ぶん). ?- 'ぶん を つくろう'(_ぶん). _ぶん = いぬがはしる ; _ぶん = いぬがおよぐ ; _ぶん = いぬがにげる ; _ぶん = いぬがとぶ ; _ぶん = いぬがさす ; _ぶん = いぬがなく ; _ぶん = いぬがわらう ; _ぶん = いぬがける ; _ぶん = いぬがさえずる ; _ぶん = いぬがねる ; _ぶん = くじらがはしる ; _ぶん = くじらがおよぐ ; _ぶん = くじらがにげる ; _ぶん = くじらがとぶ ; _ぶん = くじらがさす ; _ぶん = くじらがなく ; _ぶん = くじらがわらう ; _ぶん = くじらがける ; _ぶん = くじらがさえずる ; _ぶん = くじらがねる ; _ぶん = うまがはしる ; _ぶん = うまがおよぐ ; _ぶん = うまがにげる ; _ぶん = うまがとぶ ; _ぶん = うまがさす ; _ぶん = うまがなく ; _ぶん = うまがわらう ; _ぶん = うまがける ; _ぶん = うまがさえずる ; _ぶん = うまがねる ; _ぶん = はちがはしる ; _ぶん = はちがおよぐ ; _ぶん = はちがにげる ; _ぶん = はちがとぶ ; _ぶん = はちがさす ; _ぶん = はちがなく ; _ぶん = はちがわらう ; _ぶん = はちがける ; _ぶん = はちがさえずる ; _ぶん = はちがねる ; _ぶん = くまがはしる ; _ぶん = くまがおよぐ ; _ぶん = くまがにげる ; _ぶん = くまがとぶ ; _ぶん = くまがさす ; _ぶん = くまがなく ; _ぶん = くまがわらう ; _ぶん = くまがける ; _ぶん = くまがさえずる ; _ぶん = くまがねる ; _ぶん = りすがはしる ; _ぶん = りすがおよぐ ; _ぶん = りすがにげる ; _ぶん = りすがとぶ ; _ぶん = りすがさす ; _ぶん = りすがなく ; _ぶん = りすがわらう ; _ぶん = りすがける ; _ぶん = りすがさえずる ; _ぶん = りすがねる ; _ぶん = かえるがはしる ; _ぶん = かえるがおよぐ ; _ぶん = かえるがにげる ; _ぶん = かえるがとぶ ; _ぶん = かえるがさす ; _ぶん = かえるがなく ; _ぶん = かえるがわらう ; _ぶん = かえるがける ; _ぶん = かえるがさえずる ; _ぶん = かえるがねる ; _ぶん = とりがはしる ; _ぶん = とりがおよぐ ; _ぶん = とりがにげる ; _ぶん = とりがとぶ ; _ぶん = とりがさす ; _ぶん = とりがなく ; _ぶん = とりがわらう ; _ぶん = とりがける ; _ぶん = とりがさえずる ; _ぶん = とりがねる ; _ぶん = うさぎがはしる ; _ぶん = うさぎがおよぐ ; _ぶん = うさぎがにげる ; _ぶん = うさぎがとぶ ; _ぶん = うさぎがさす ; _ぶん = うさぎがなく ; _ぶん = うさぎがわらう ; _ぶん = うさぎがける ; _ぶん = うさぎがさえずる ; _ぶん = うさぎがねる. ?- % 以下のサイトは % Prolog 象山の際の木ぬれ --> 象山の際, の, 木ぬれ. 象山の際 --> 象山, の, 際. 象山 --> [象山]. の --> [の]. 際 --> 際. 際 --> [際]. 木ぬれ --> [木ぬれ]. % これでどんな引数を付加できるか。 % 以下のサイトは # 出典 :: おウチで!簡単焼き方レシピ 焼きそばの作り方([_1,_2,_3,_4,_5,_6,_7]) --> '1'(_1), '2'(_2), '3'(_3), '4'(_4), '5'(_5), '6'(_6), '7'(_7). '1'('http://www.otafuku.co.jp/recipe/cook/noodle/images/p01.jpg') --> ['麺は袋をもんで軽くほぐしておきます。 フライパンを中火で温め、麺をほぐしながら、約5分炒めます。時々麺を持ち上げながら炒めます。 麺はしっかりと炒めよう!']. '2'('http://www.otafuku.co.jp/recipe/cook/noodle/images/p02.jpg') --> ['約5分炒めたら、麺をお皿に入れます。 ホットプレートで焼く場合は、空いているスペースに麺をおき温めて調理します。温度は220℃の高温。']. '3'('http://www.otafuku.co.jp/recipe/cook/noodle/images/p03.jpg') --> ['一口サイズに切った豚バラ肉を入れ、炒めます。 (目安1分)']. '4'('http://www.otafuku.co.jp/recipe/cook/noodle/images/p04.jpg') --> ['キャベツ、天かす、(2)の麺の順にのせて、約2分半蒸らします。 たまに箸をいれ、ゆすって蒸気を逃がしながらカラッと炒めます。 麺をかぶせてキャベツを蒸らす!']. '5'('http://www.otafuku.co.jp/recipe/cook/noodle/images/p05.jpg') --> ['蒸れたら、全体を混ぜ合わせ約30秒炒めます。']. '6'('http://www.otafuku.co.jp/recipe/cook/noodle/images/p06.jpg') --> ['ソースを加えて、全体にソースがなじむように20秒程度で手早く炒めます。 ソースは全体になじむようにサッと炒めるのがポイント!']. '7'('http://www.otafuku.co.jp/recipe/cook/noodle/images/p07.jpg') --> ['お皿に盛りつけて、青のりを振りかけて完成です。']. '材料(1人分)'('キャベツ(千切り',100,g). '材料(1人分)'('豚バラ肉',40,g). '材料(1人分)'(焼きそば麺,1,玉). '材料(1人分)'(オタフクいか天入り天かす天華,10,g). '材料(1人分)'(オタフク焼そばソース,50,g). '材料(1人分)'(オタフク青のり,0.25,g). '※麺の量、野菜の量により、ソースの分量は加減してください。'. ?- 焼きそばの作り方(_画像ならび,_手順ならび,R). % さて、何が起こるか % 以下のサイトは 'Prolog' --> 今年もまた桜が咲いたよ, '貴女に出逢い。貴女と別れた春の季節', こんなに時が過ぎているのに, 貴女ばかりを思い出している俺を見たら, '“ 散ってしまったものを嘆くのは美しくない ”', って言って貴女は笑うのかな, でもこの先どんなに時が過ぎても, 貴女を忘れることなんてない. 今年もまた桜が咲いたよ --> [今年もまた桜が咲いたよ]. '貴女に出逢い。貴女と別れた春の季節' --> ['貴女に出逢い。貴女と別れた春の季節']. こんなに時が過ぎているのに --> [こんなに時が過ぎているのに]. 貴女ばかりを思い出している俺を見たら --> [貴女ばかりを思い出している俺を見たら]. '“ 散ってしまったものを嘆くのは美しくない ”' --> ['“ 散ってしまったものを嘆くのは美しくない ”']. って言って貴女は笑うのかな --> [って言って貴女は笑うのかな]. でもこの先どんなに時が過ぎても --> [でもこの先どんなに時が過ぎても]. 貴女を忘れることなんてない --> [貴女を忘れることなんてない]. ?- 'Prolog'(L,[]). L = [今年もまた桜が咲いたよ, '貴女に出逢い。貴女と別れた春の季節', こんなに時が過ぎているのに, 貴女ばかりを思い出している俺を見たら, '“ 散ってしまったものを嘆くのは美しくない ”', って言って貴女は笑うのかな, でもこの先どんなに時が過ぎても, 貴女を忘れることなんてない]. ?- % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P38 (59) より % % 太郎が本を読んだ。 % 太郎が本を読んだ(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節,名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> [太郎]. 助詞 --> [が]. 名詞節 --> 名詞句,助詞. 名詞句 --> [本]. 助詞 --> [を]. 述語節 --> 動詞. 動詞 --> [読んだ]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P38 (58) より % % たくさんのリンゴとミカンが売れた。 % 僕は太郎に本を読ませた(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節,名詞節,名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> [僕]. 助詞 --> [は]. 名詞節 --> 名詞句,助詞. 名詞句 --> [太郎]. 助詞 --> [に]. 名詞節 --> 名詞句,助詞. 名詞句 --> [本]. 助詞 --> [を]. 述語節 --> 動詞. 動詞 --> [読ませた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P35 (50) より % % たくさんのリンゴとミカンが売れた。 % 山田先生は借金が沢山ある(_解析,_残り文) :- 文(_解析,_残り文). 山田先生はシラミが沢山いる(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節,名詞節,副詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> [山田先生]. 助詞 --> [は]. 名詞節 --> 名詞句,助詞. 名詞句 --> [借金]. 名詞句 --> [シラミ]. 助詞 --> [が]. 副詞節 --> 数量詞. 数量詞 --> [沢山]. 述語節 --> 動詞. 動詞 --> [ある]. 動詞 --> [いる]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P34 (46) より % % 僕は水が飲みたい。 % 僕は英語ができる。 % 僕は水が飲みたい(_解析,_残り文) :- 文(_解析,_残り文). 僕は英語ができる(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節,名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> [僕]. 助詞 --> [は]. 名詞節 --> 名詞,助詞. 名詞 --> [水]. 名詞 --> [英語]. 助詞 --> [が]. 述語節 --> [飲みたい]. 述語節 --> [できる]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P34 (44 イ) より % % '四、五人の生徒たちがよってきた'。 % '四、五人の生徒たちがよってきた'(_解析,_残りの文) :- 文(_解析,_残りの文). 文 --> 名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> 数量詞節,名詞句. 数量詞節 --> 数量詞,助詞. 数量詞 --> ['四、五人']. 助詞 --> [の]. 名詞句 --> [生徒たち]. 助詞 --> [が]. 述語節 --> 動詞. 動詞 --> [よってきた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P33 (44 ア) より % % 生徒たちが四、五人よってきた。 % '生徒たちが四、五人よってきた'(_解析,_残りの文) :- 文(_解析,_残りの文). % 文 --> 名詞節,副詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> [生徒たち]. 助詞 --> [が]. 副詞節 --> 数量詞. 数量詞 --> ['四、五人']. 述語節 --> 動詞. 動詞 --> [よってきた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P33 (42.イ) より % % 子供は母親にしかられた。 % 子供は母親にしかられた(_解析,_残りの文) :- 文(_解析,_残りの文). 文 --> 名詞節,名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> [子供]. 助詞 --> [は]. 名詞節 --> 名詞句,助詞. 名詞句 --> [母親]. 助詞 --> [に]. 述語節 --> 動詞. 動詞 --> [しかられた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P32 (42) より % % 母親は子供をしかった。 % 母親は子供をしかった(_解析,_残りの文) :- 文(_解析,_残りの文). % 文 --> 名詞節,名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> [母親]. 助詞 --> [は]. 名詞節 --> 名詞句,助詞. 名詞句 --> [子供]. 助詞 --> [を]. 述語節 --> 動詞. 動詞 --> [しかった]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P32 (40) より % % 彼女はある夜ぼくにこっそりボートをこがせた。 % 彼女はある夜ぼくにこっそりボートをこがせた(_解析,_残りの文) :- 文(_解析,_残りの文). % 文 --> 名詞節,副詞節,名詞節,副詞節,名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> [彼女]. 助詞 --> [は]. 副詞節 --> 副詞. 副詞 --> [ある夜]. 名詞節 --> 名詞句,助詞. 名詞句 --> [ぼく]. 助詞 --> [に]. 副詞節 --> 副詞. 副詞 --> [こっそり]. 名詞節 --> 名詞句,助詞. 名詞句 --> [ボート]. 助詞 --> [を]. 述語節 --> 動詞. 動詞 --> [こがせた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P30 (36) より % % 太郎は花子に自分の部屋で待たせた。 % 太郎は花子に自分の部屋で待たせた(_解析,_残りの文) :- 文(_解析,_残りの文). 文 --> 名詞節_1,名詞節_2,名詞節_3,述語節. 名詞節_1 --> 名詞句_1,助詞. 名詞句_1 --> [太郎]. 助詞 --> [は]. 名詞節_2 --> 名詞句_2,助詞. 名詞句_2 --> [花子]. 助詞 --> [に]. 名詞節_3 --> 名詞句_3,助詞. 名詞句_3 --> 名詞節_4,名詞句_4. 名詞節_4 --> 名詞句_5,助詞. 名詞句_5 --> [自分]. 助詞 --> [の]. 名詞句_4 --> [部屋]. 助詞 --> [で]. 述語節 --> 動詞. 動詞 --> [待たせた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P30 (38) より % % 太郎は花子に自分の部屋で待たせた。 % 太郎は花子に自分の部屋で待たせた(_解析,_残りの文) :- 文(_解析,_残りの文). % 文 --> 名詞節,名詞節,名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> [太郎]. 助詞 --> [は]. 名詞節 --> 名詞句,助詞. 名詞句 --> [花子]. 助詞 --> [に]. 名詞節 --> 名詞句,助詞. 名詞句 --> 名詞節,名詞句. 名詞節 --> 名詞句,助詞. 名詞句 --> [自分]. 助詞 --> [の]. 名詞句 --> [部屋]. 助詞 --> [で]. 述語節 --> 動詞. 動詞 --> [待たせた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P30 (36 ウ) より % % たくさんのリンゴとミカンが売れた。 % たくさんのリンゴとミカンが売れた(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節_1,述語節. 名詞節_1 --> 名詞句_1,助詞. 名詞句_1 --> 数量詞節,名詞句_2. 数量詞節 --> 数量詞. 数量詞 --> [たくさん]. 助詞 --> [の]. 名詞句_2 --> 名詞節_2,名詞句_3. 名詞節_2 --> 名詞句_4,助詞. 名詞句_4 --> [リンゴ]. 助詞 --> [と]. 名詞句_3 --> [ミカン]. 助詞 --> [が]. 述語節 --> 動詞. 動詞 --> [売れた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P30 (36 ウ) より % % たくさんのリンゴとミカンが売れた。 % たくさんのリンゴとミカンが売れた(_解析,_残り文) :- 文(_解析,_残り文). % 文 --> 名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> 数量詞節,名詞句. 数量詞節 --> 数量詞. 数量詞 --> [たくさん]. 助詞 --> [の]. 名詞句 --> 名詞節,名詞句. 名詞節 --> 名詞句,助詞. 名詞句 --> [リンゴ]. 助詞 --> [と]. 名詞句 --> [ミカン]. 助詞 --> [が]. 述語節 --> 動詞. 動詞 --> [売れた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P30 (34 イ) より % % たくさんのリンゴとミカンが売れた。 % たくさんのリンゴとミカンが売れた(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節,述語節. 名詞節 --> 名詞句_1,助詞. 名詞句_1 --> 名詞節_1,名詞句_2. 名詞節_1 --> 名詞句_3,助詞. 名詞句_3 --> 数量詞節,名詞句_4. 数量詞節 --> 数量詞,助詞. 数量詞 --> [たくさん]. 助詞 --> [の]. 名詞句_4 --> [リンゴ]. 助詞 --> [と]. 名詞句_2 --> [ミカン]. 助詞 --> [が]. 述語節 --> 動詞. 動詞 --> [売れた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P30 (34 イ) より % % たくさんのリンゴとミカンが売れた。 % たくさんのリンゴとミカンが売れた(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> 名詞節,名詞句. 名詞節 --> 名詞句,助詞. 名詞句 --> 数量詞節,名詞句. 数量詞節 --> 数量詞,助詞. 数量詞 --> [たくさん]. 助詞 --> [の]. 名詞句 --> [リンゴ]. 助詞 --> [と]. 名詞句 --> [ミカン]. 助詞 --> [が]. 述語節 --> 動詞. 動詞 --> [売れた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P28 (33) より % % 太郎は学生だ。 % 太郎は学生だ(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> 名詞. 名詞 --> [太郎]. 助詞 --> [は]. 述語節 --> 名詞句,繋辞. 名詞 --> [学生]. 繋辞 --> [だ]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P28 (32) より % % 花子はきれいだ。 % 花子はきれいだ(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> 名詞. 名詞 --> [花子]. 助詞 --> [は]. 述語節 --> 形容動詞,繋辞. 形容動詞 --> [きれい]. 繋辞 --> [だ]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P28 (31) より % % 太郎は若い。 % 太郎は若い(_解析,_残り文) :- 文(_解析,_残り文). % 文 --> 名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> 名詞. 名詞 --> [太郎]. 助詞 --> [は]. 述語節 --> 形容詞. 形容詞 --> [若い]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P27 (30) より % % 犬がほえた。 % 犬がほえた(_解析,_残り文) :- 文(_解析,_残り文). 文 --> 名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> 名詞. 名詞 --> [犬]. 助詞 --> [が]. 述語節 --> 動詞. 動詞 --> [ほえた]. % 以下のサイトは % 『日本語の分析』柴谷方良著 大修館書店 1978年 P27 (29) より % % 突然大きな犬がネコをおいかけた。 % 突然大きな犬がネコをおいかけた(_解析,_残り文) :- 文(_解析,_残り文). % 文 --> 副詞節,文_1. 副詞節 --> 副詞. 副詞 --> [突然]. 文_1 --> 名詞節,名詞節,述語節. 名詞節 --> 名詞句,助詞. 名詞句 --> 形容詞,名詞. 形容詞 --> [大きな]. 名詞 --> [犬]. 助詞 --> [が]. 名詞句 --> 名詞. 名詞 --> [ネコ]. 助詞 --> [を]. 述語節 --> 動詞. 動詞 --> [おいかけた]. % 以下のサイトは 文(文(_主部,_述部)) --> 主部(_主部), 述部(_述部). 主部(主部(_後置詞句)) --> 後置詞句(_後置詞句). 後置詞句(後置詞句(_名詞,_後置詞)) --> 名詞(_名詞),後置詞(_後置詞). 名詞(名詞(佐智子)) --> [佐智子]. 名詞(名詞(隆大)) --> [隆大]. 名詞(名詞(私)) --> [私]. 後置詞(後置詞(が)) --> [が]. 後置詞(後置詞(は)) --> [は]. 述部(述部(_動詞)) --> 動詞(_動詞). 述部(述部(_形容詞)) --> 形容詞(_形容詞), {形容詞は終止形(_形容詞)}. 述部(述部(_名詞,_助動詞)) --> 名詞(_名詞),助動詞(_助動詞). 述部(述部(_形容詞,_動詞)) --> 形容詞(_形容詞), {形容詞は連用形(_形容詞)}, 動詞(_動詞). 動詞(動詞(泳ぐ)) --> [泳ぐ]. 形容詞(形容詞([美しい,終止形])) --> [美しい]. 形容詞(形容詞([美しく,連用形])) --> [美しく]. 形容詞(形容詞([速い,終止形])) --> [速い]. 形容詞(形容詞([速く,連用形])) --> [速く]. 助動詞(助動詞(です)) --> [です]. '形容詞は連用形'(形容詞([_,連用形])). '形容詞は終止形'(形容詞([_,終止形])). % 以下のサイトは 文(文(_主部,_述部)) --> 主部(_主部), 述部(_述部). 主部(主部(_後置詞句)) --> 後置詞句(_後置詞句). 後置詞句(後置詞句(_名詞句,_後置詞)) --> 名詞句(_名詞句),後置詞(_後置詞). 名詞句(名詞句(_形容詞,_名詞)) --> 形容詞(_形容詞),名詞(_名詞). 名詞句(名詞(_名詞),助詞(_助詞),_名詞句(_名詞句)) --> 名詞(_名詞), 助詞(_助詞), 名詞句(_名詞句). 名詞句(名詞(_名詞)) --> 名詞(_名詞). 名詞(名詞(佐智子)) --> [佐智子]. 名詞(名詞(隆大)) --> [隆大]. 名詞(名詞(私)) --> [私]. 助詞(助詞(の)) --> [の]. 後置詞(後置詞(が)) --> [が]. 後置詞(後置詞(は)) --> [は]. 述部(述部(_動詞)) --> 動詞(_動詞). 述部(述部(_形容詞)) --> 形容詞(_形容詞), {終止形(_形容詞)}. 述部(述部(_名詞,_助動詞)) --> 名詞(_名詞),助動詞(_助動詞). 述部(述部(_形容詞,_動詞)) --> 形容詞(_形容詞), {連用形(_形容詞)}, 動詞(_動詞). 動詞(動詞(泳ぐ)) --> [泳ぐ]. 形容詞(形容詞(美しい)) --> [美しい]. 形容詞(形容詞(美しく)) --> [美しく]. 形容詞(形容詞(速い)) --> [速い]. 形容詞(形容詞(速く)) --> [速く]. 助動詞(助動詞(です)) --> [です]. 連用形(形容詞(美しく)). 終止形(形容詞(美しい)). ?- 文(X,[佐智子,が,泳ぐ],R). X = 文(主部(後置詞句(名詞句(名詞(佐智子)), 後置詞(が))), 述部(動詞(泳ぐ))), R = [] ; false. ?- 文(X,[佐智子,が,A],R). X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(が))), 述部(動詞(泳ぐ))), A = 泳ぐ, R = [] ; X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(が))), 述部(形容詞(美しい))), A = 美しい, R = [] ; false. ?- 文(X,[A,は,B,泳ぐ],R). X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(は))), 述部(動詞(泳ぐ))), A = 佐智子, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(は))), 述部(形容詞(美しい))), A = 佐智子, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(は))), 述部(形容詞(美しく), 動詞(泳ぐ))), A = 佐智子, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(名詞(隆大)), 後置詞(は))), 述部(動詞(泳ぐ))), A = 隆大, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(隆大)), 後置詞(は))), 述部(形容詞(美しい))), A = 隆大, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(隆大)), 後置詞(は))), 述部(形容詞(美しく), 動詞(泳ぐ))), A = 隆大, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(名詞(私)), 後置詞(は))), 述部(動詞(泳ぐ))), A = 私, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(私)), 後置詞(は))), 述部(形容詞(美しい))), A = 私, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(私)), 後置詞(は))), 述部(形容詞(美しく), 動詞(泳ぐ))), A = 私, B = 美しく, R = [] ; false. % 以下のサイトは 文(文(_主部,_述部)) --> 主部(_主部), 述部(_述部). 主部(主部(_後置詞句)) --> 後置詞句(_後置詞句). 後置詞句(後置詞句(_名詞,_後置詞)) --> 名詞(_名詞),後置詞(_後置詞). 名詞(名詞(佐智子)) --> [佐智子]. 名詞(名詞(隆大)) --> [隆大]. 名詞(名詞(私)) --> [私]. 後置詞(後置詞(が)) --> [が]. 後置詞(後置詞(は)) --> [は]. 述部(述部(_動詞)) --> 動詞(_動詞). 述部(述部(_形容詞)) --> 形容詞(_形容詞), {終止形(_形容詞)}. 述部(述部(_名詞,_助動詞)) --> 名詞(_名詞),助動詞(_助動詞). 述部(述部(_形容詞,_動詞)) --> 形容詞(_形容詞), {連用形(_形容詞)}, 動詞(_動詞). 動詞(動詞(泳ぐ)) --> [泳ぐ]. 形容詞(形容詞(美しい)) --> [美しい]. 形容詞(形容詞(美しく)) --> [美しく]. 形容詞(形容詞(速い)) --> [速い]. 形容詞(形容詞(速く)) --> [速く]. 助動詞(助動詞(です)) --> [です]. 連用形(形容詞(美しく)). 終止形(形容詞(美しい)). ?- 文(X,[佐智子,が,泳ぐ],R). X = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(動詞(泳ぐ))), R = [] ; false. ?- 文(X,[佐智子,が,A],R). X = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(動詞(泳ぐ))), A = 泳ぐ, R = [] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(形容詞([美しい, 終止形]))), A = 美しい, R = [] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(形容詞([速い, 終止形]))), A = 速い, R = [] ; false. ?- 文(X,[A,は,B,泳ぐ],R). X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(動詞(泳ぐ))), A = 佐智子, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞([美しい, 終止形]))), A = 佐智子, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞([速い, 終止形]))), A = 佐智子, B = 速い, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞([美しく, 連用形]), 動詞(泳ぐ))), A = 佐智子, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞([速く, 連用形]), 動詞(泳ぐ))), A = 佐智子, B = 速く, R = [] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(動詞(泳ぐ))), A = 隆大, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞([美しい, 終止形]))), A = 隆大, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞([速い, 終止形]))), A = 隆大, B = 速い, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞([美しく, 連用形]), 動詞(泳ぐ))), A = 隆大, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞([速く, 連用形]), 動詞(泳ぐ))), A = 隆大, B = 速く, R = [] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(動詞(泳ぐ))), A = 私, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞([美しい, 終止形]))), A = 私, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞([速い, 終止形]))), A = 私, B = 速い, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞([美しく, 連用形]), 動詞(泳ぐ))), A = 私, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞([速く, 連用形]), 動詞(泳ぐ))), A = 私, B = 速く, R = []. ?- % 以下のサイトは 文(文(_主部,_述部)) --> 主部(_主部), 述部(_述部). 主部(主部(_後置詞句)) --> 後置詞句(_後置詞句). 後置詞句(後置詞句(_名詞,_後置詞)) --> 名詞(_名詞),後置詞(_後置詞). 名詞(名詞(佐智子)) --> [佐智子]. 名詞(名詞(隆大)) --> [隆大]. 名詞(名詞(私)) --> [私]. 後置詞(後置詞(が)) --> [が]. 後置詞(後置詞(は)) --> [は]. 述部(述部(_動詞)) --> 動詞(_動詞). 述部(述部(_形容詞)) --> 形容詞(_形容詞). 述部(述部(_名詞,_助動詞)) --> 名詞(_名詞),助動詞(_助動詞). 動詞(動詞(泳ぐ)) --> [泳ぐ]. 形容詞(形容詞(美しい)) --> [美しい]. 形容詞(形容詞(速い)) --> [速い]. 助動詞(助動詞(です)) --> [です]. ?- 文(_解析木,[佐智子,は,泳ぐ],_残り語ならび). _解析木 = 文(主部(後置詞(名詞(佐智子), 後置詞(は))), 述部(動詞(泳ぐ))), _残り語ならび = [] ; false. ?- 文(_解析木,[佐智子,は,_語彙_1],_残り語ならび). _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(動詞(泳ぐ))), _語彙_1 = 泳ぐ, _残り語ならび = [] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞(美しい))), _語彙_1 = 美しい, _残り語ならび = [] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞(速い))), _語彙_1 = 速い, _残り語ならび = [] ; false. ?- 文(_解析木,_文候補の語ならび,_残り語ならび). _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(動詞(泳ぐ))), _文候補の語ならび = [佐智子, が, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(形容詞(美しい))), _文候補の語ならび = [佐智子, が, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(形容詞(速い))), _文候補の語ならび = [佐智子, が, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [佐智子, が, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [佐智子, が, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [佐智子, が, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(動詞(泳ぐ))), _文候補の語ならび = [佐智子, は, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞(美しい))), _文候補の語ならび = [佐智子, は, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞(速い))), _文候補の語ならび = [佐智子, は, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [佐智子, は, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [佐智子, は, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [佐智子, は, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(動詞(泳ぐ))), _文候補の語ならび = [隆大, が, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(形容詞(美しい))), _文候補の語ならび = [隆大, が, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(形容詞(速い))), _文候補の語ならび = [隆大, が, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [隆大, が, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [隆大, が, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [隆大, が, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(動詞(泳ぐ))), _文候補の語ならび = [隆大, は, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞(美しい))), _文候補の語ならび = [隆大, は, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞(速い))), _文候補の語ならび = [隆大, は, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [隆大, は, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [隆大, は, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [隆大, は, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(動詞(泳ぐ))), _文候補の語ならび = [私, が, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(形容詞(美しい))), _文候補の語ならび = [私, が, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(形容詞(速い))), _文候補の語ならび = [私, が, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [私, が, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [私, が, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [私, が, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(動詞(泳ぐ))), _文候補の語ならび = [私, は, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞(美しい))), _文候補の語ならび = [私, は, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞(速い))), _文候補の語ならび = [私, は, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [私, は, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [私, は, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [私, は, 私, です|_残り語ならび]. ?- % 以下のサイトは 文 --> 主部, 述部. 主部 --> 後置詞句. 後置詞句 --> 名詞,後置詞. 名詞 --> [佐智子]. 名詞 --> [隆大]. 後置詞 --> [が]. 後置詞 --> [は]. 述部 --> 動詞. 述部 --> 形容詞. 動詞 --> [泳ぐ]. 形容詞 --> [美しい]. 形容詞 --> [速い]. ?- 文([佐智子,が,泳ぐ],R). R = []. ?- 文(X,R). X = [佐智子,が,泳ぐ|$VAR(R)] ; X = [佐智子,が,美しい|$VAR(R)] ; X = [佐智子,が,速い|$VAR(R)] ; X = [佐智子,は,泳ぐ|$VAR(R)] ; X = [佐智子,は,美しい|$VAR(R)] ; X = [佐智子,は,速い|$VAR(R)] ; X = [隆大,が,泳ぐ|$VAR(R)] ; X = [隆大,が,美しい|$VAR(R)] ; X = [隆大,が,速い|$VAR(R)] ; X = [隆大,は,泳ぐ|$VAR(R)] ; X = [隆大,は,美しい|$VAR(R)] ; X = [隆大,は,速い|$VAR(R)]. ?- 文([佐智子,は,X],R). X = 泳ぐ, R = [] ; X = 美しい, R = [] ; X = 速い, R = [] ; false. ?- % 以下のサイトは 文(文(_主部,_述部)) --> 主部(_主部), 述部(_述部). 主部(主部(_後置詞句)) --> 後置詞句(_後置詞句). 後置詞句(後置詞句(_名詞,_後置詞)) --> 名詞(_名詞),後置詞(_後置詞). 名詞(名詞(佐智子)) --> [佐智子]. 名詞(名詞(隆大)) --> [隆大]. 名詞(名詞(私)) --> [私]. 後置詞(後置詞(が)) --> [が]. 後置詞(後置詞(は)) --> [は]. 述部(述部(_動詞)) --> 動詞(_動詞). 述部(述部(_形容詞)) --> 形容詞(_形容詞), {形容詞は終止形(_形容詞)}. 述部(述部(_名詞,_助動詞)) --> 名詞(_名詞),助動詞(_助動詞). 述部(述部(_形容詞,_動詞)) --> 形容詞(_形容詞), {形容詞は連用形(_形容詞)}, 動詞(_動詞). 動詞(動詞(泳ぐ)) --> [泳ぐ]. 形容詞(形容詞([美しい,終止形])) --> [美しい]. 形容詞(形容詞([美しく,連用形])) --> [美しく]. 形容詞(形容詞([速い,終止形])) --> [速い]. 形容詞(形容詞([速く,連用形])) --> [速く]. 助動詞(助動詞(です)) --> [です]. '形容詞は連用形'(形容詞([_,連用形])). '形容詞は終止形'(形容詞([_,終止形])). % 以下のサイトは 文(文(_主部,_述部)) --> 主部(_主部), 述部(_述部). 主部(主部(_後置詞句)) --> 後置詞句(_後置詞句). 後置詞句(後置詞句(_名詞句,_後置詞)) --> 名詞句(_名詞句),後置詞(_後置詞). 名詞句(名詞句(_形容詞,_名詞)) --> 形容詞(_形容詞),名詞(_名詞). 名詞句(名詞(_名詞),助詞(_助詞),_名詞句(_名詞句)) --> 名詞(_名詞), 助詞(_助詞), 名詞句(_名詞句). 名詞句(名詞(_名詞)) --> 名詞(_名詞). 名詞(名詞(佐智子)) --> [佐智子]. 名詞(名詞(隆大)) --> [隆大]. 名詞(名詞(私)) --> [私]. 助詞(助詞(の)) --> [の]. 後置詞(後置詞(が)) --> [が]. 後置詞(後置詞(は)) --> [は]. 述部(述部(_動詞)) --> 動詞(_動詞). 述部(述部(_形容詞)) --> 形容詞(_形容詞), {終止形(_形容詞)}. 述部(述部(_名詞,_助動詞)) --> 名詞(_名詞),助動詞(_助動詞). 述部(述部(_形容詞,_動詞)) --> 形容詞(_形容詞), {連用形(_形容詞)}, 動詞(_動詞). 動詞(動詞(泳ぐ)) --> [泳ぐ]. 形容詞(形容詞(美しい)) --> [美しい]. 形容詞(形容詞(美しく)) --> [美しく]. 形容詞(形容詞(速い)) --> [速い]. 形容詞(形容詞(速く)) --> [速く]. 助動詞(助動詞(です)) --> [です]. 連用形(形容詞(美しく)). 終止形(形容詞(美しい)). ?- 文(X,[佐智子,が,泳ぐ],R). X = 文(主部(後置詞句(名詞句(名詞(佐智子)), 後置詞(が))), 述部(動詞(泳ぐ))), R = [] ; false. ?- 文(X,[佐智子,が,A],R). X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(が))), 述部(動詞(泳ぐ))), A = 泳ぐ, R = [] ; X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(が))), 述部(形容詞(美しい))), A = 美しい, R = [] ; false. ?- 文(X,[A,は,B,泳ぐ],R). X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(は))), 述部(動詞(泳ぐ))), A = 佐智子, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(は))), 述部(形容詞(美しい))), A = 佐智子, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(佐智子)), 後置詞(は))), 述部(形容詞(美しく), 動詞(泳ぐ))), A = 佐智子, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(名詞(隆大)), 後置詞(は))), 述部(動詞(泳ぐ))), A = 隆大, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(隆大)), 後置詞(は))), 述部(形容詞(美しい))), A = 隆大, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(隆大)), 後置詞(は))), 述部(形容詞(美しく), 動詞(泳ぐ))), A = 隆大, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(名詞(私)), 後置詞(は))), 述部(動詞(泳ぐ))), A = 私, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(私)), 後置詞(は))), 述部(形容詞(美しい))), A = 私, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(名詞(私)), 後置詞(は))), 述部(形容詞(美しく), 動詞(泳ぐ))), A = 私, B = 美しく, R = [] ; false. % 以下のサイトは 文(文(_主部,_述部)) --> 主部(_主部), 述部(_述部). 主部(主部(_後置詞句)) --> 後置詞句(_後置詞句). 後置詞句(後置詞句(_名詞,_後置詞)) --> 名詞(_名詞),後置詞(_後置詞). 名詞(名詞(佐智子)) --> [佐智子]. 名詞(名詞(隆大)) --> [隆大]. 名詞(名詞(私)) --> [私]. 後置詞(後置詞(が)) --> [が]. 後置詞(後置詞(は)) --> [は]. 述部(述部(_動詞)) --> 動詞(_動詞). 述部(述部(_形容詞)) --> 形容詞(_形容詞), {終止形(_形容詞)}. 述部(述部(_名詞,_助動詞)) --> 名詞(_名詞),助動詞(_助動詞). 述部(述部(_形容詞,_動詞)) --> 形容詞(_形容詞), {連用形(_形容詞)}, 動詞(_動詞). 動詞(動詞(泳ぐ)) --> [泳ぐ]. 形容詞(形容詞(美しい)) --> [美しい]. 形容詞(形容詞(美しく)) --> [美しく]. 形容詞(形容詞(速い)) --> [速い]. 形容詞(形容詞(速く)) --> [速く]. 助動詞(助動詞(です)) --> [です]. 連用形(形容詞(美しく)). 終止形(形容詞(美しい)). ?- 文(X,[佐智子,が,泳ぐ],R). X = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(動詞(泳ぐ))), R = [] ; false. ?- 文(X,[佐智子,が,A],R). X = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(動詞(泳ぐ))), A = 泳ぐ, R = [] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(形容詞([美しい, 終止形]))), A = 美しい, R = [] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(形容詞([速い, 終止形]))), A = 速い, R = [] ; false. ?- 文(X,[A,は,B,泳ぐ],R). X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(動詞(泳ぐ))), A = 佐智子, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞([美しい, 終止形]))), A = 佐智子, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞([速い, 終止形]))), A = 佐智子, B = 速い, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞([美しく, 連用形]), 動詞(泳ぐ))), A = 佐智子, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞([速く, 連用形]), 動詞(泳ぐ))), A = 佐智子, B = 速く, R = [] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(動詞(泳ぐ))), A = 隆大, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞([美しい, 終止形]))), A = 隆大, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞([速い, 終止形]))), A = 隆大, B = 速い, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞([美しく, 連用形]), 動詞(泳ぐ))), A = 隆大, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞([速く, 連用形]), 動詞(泳ぐ))), A = 隆大, B = 速く, R = [] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(動詞(泳ぐ))), A = 私, B = 泳ぐ, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞([美しい, 終止形]))), A = 私, B = 美しい, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞([速い, 終止形]))), A = 私, B = 速い, R = [泳ぐ] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞([美しく, 連用形]), 動詞(泳ぐ))), A = 私, B = 美しく, R = [] ; X = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞([速く, 連用形]), 動詞(泳ぐ))), A = 私, B = 速く, R = []. ?- % 以下のサイトは 文 --> 主部, 述部. 主部 --> 後置詞句. 後置詞句 --> 名詞,後置詞. 名詞 --> [佐智子]. 名詞 --> [隆大]. 後置詞 --> [が]. 後置詞 --> [は]. 述部 --> 動詞. 述部 --> 形容詞. 動詞 --> [泳ぐ]. 形容詞 --> [美しい]. 形容詞 --> [速い]. ?- 文([佐智子,が,泳ぐ],R). R = []. ?- 文(X,R). X = [佐智子,が,泳ぐ|$VAR(R)] ; X = [佐智子,が,美しい|$VAR(R)] ; X = [佐智子,が,速い|$VAR(R)] ; X = [佐智子,は,泳ぐ|$VAR(R)] ; X = [佐智子,は,美しい|$VAR(R)] ; X = [佐智子,は,速い|$VAR(R)] ; X = [隆大,が,泳ぐ|$VAR(R)] ; X = [隆大,が,美しい|$VAR(R)] ; X = [隆大,が,速い|$VAR(R)] ; X = [隆大,は,泳ぐ|$VAR(R)] ; X = [隆大,は,美しい|$VAR(R)] ; X = [隆大,は,速い|$VAR(R)]. ?- 文([佐智子,は,X],R). X = 泳ぐ, R = [] ; X = 美しい, R = [] ; X = 速い, R = [] ; false. ?- % 以下のサイトは 文(文(_主部,_述部)) --> 主部(_主部), 述部(_述部). 主部(主部(_後置詞句)) --> 後置詞句(_後置詞句). 後置詞句(後置詞句(_名詞,_後置詞)) --> 名詞(_名詞),後置詞(_後置詞). 名詞(名詞(佐智子)) --> [佐智子]. 名詞(名詞(隆大)) --> [隆大]. 名詞(名詞(私)) --> [私]. 後置詞(後置詞(が)) --> [が]. 後置詞(後置詞(は)) --> [は]. 述部(述部(_動詞)) --> 動詞(_動詞). 述部(述部(_形容詞)) --> 形容詞(_形容詞). 述部(述部(_名詞,_助動詞)) --> 名詞(_名詞),助動詞(_助動詞). 動詞(動詞(泳ぐ)) --> [泳ぐ]. 形容詞(形容詞(美しい)) --> [美しい]. 形容詞(形容詞(速い)) --> [速い]. 助動詞(助動詞(です)) --> [です]. ?- 文(_解析木,[佐智子,は,泳ぐ],_残り語ならび). _解析木 = 文(主部(後置詞(名詞(佐智子), 後置詞(は))), 述部(動詞(泳ぐ))), _残り語ならび = [] ; false. ?- 文(_解析木,[佐智子,は,_語彙_1],_残り語ならび). _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(動詞(泳ぐ))), _語彙_1 = 泳ぐ, _残り語ならび = [] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞(美しい))), _語彙_1 = 美しい, _残り語ならび = [] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞(速い))), _語彙_1 = 速い, _残り語ならび = [] ; false. ?- 文(_解析木,_文候補の語ならび,_残り語ならび). _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(動詞(泳ぐ))), _文候補の語ならび = [佐智子, が, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(形容詞(美しい))), _文候補の語ならび = [佐智子, が, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(形容詞(速い))), _文候補の語ならび = [佐智子, が, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [佐智子, が, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [佐智子, が, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(が))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [佐智子, が, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(動詞(泳ぐ))), _文候補の語ならび = [佐智子, は, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞(美しい))), _文候補の語ならび = [佐智子, は, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(形容詞(速い))), _文候補の語ならび = [佐智子, は, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [佐智子, は, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [佐智子, は, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(佐智子), 後置詞(は))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [佐智子, は, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(動詞(泳ぐ))), _文候補の語ならび = [隆大, が, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(形容詞(美しい))), _文候補の語ならび = [隆大, が, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(形容詞(速い))), _文候補の語ならび = [隆大, が, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [隆大, が, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [隆大, が, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(が))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [隆大, が, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(動詞(泳ぐ))), _文候補の語ならび = [隆大, は, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞(美しい))), _文候補の語ならび = [隆大, は, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(形容詞(速い))), _文候補の語ならび = [隆大, は, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [隆大, は, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [隆大, は, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(隆大), 後置詞(は))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [隆大, は, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(動詞(泳ぐ))), _文候補の語ならび = [私, が, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(形容詞(美しい))), _文候補の語ならび = [私, が, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(形容詞(速い))), _文候補の語ならび = [私, が, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [私, が, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [私, が, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(が))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [私, が, 私, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(動詞(泳ぐ))), _文候補の語ならび = [私, は, 泳ぐ|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞(美しい))), _文候補の語ならび = [私, は, 美しい|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(形容詞(速い))), _文候補の語ならび = [私, は, 速い|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(名詞(佐智子), 助動詞(です))), _文候補の語ならび = [私, は, 佐智子, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(名詞(隆大), 助動詞(です))), _文候補の語ならび = [私, は, 隆大, です|_残り語ならび] ; _解析木 = 文(主部(後置詞句(名詞(私), 後置詞(は))), 述部(名詞(私), 助動詞(です))), _文候補の語ならび = [私, は, 私, です|_残り語ならび]. ?- % 以下のサイトは # お題:与えられた数値を先頭から順に桁ごとに区切って使って数列を作り、隣り合う数の「差の二乗」の合計が最大になるような分割を求めよ。 # 例:123は、1,23 1,2,3 12,3のように分割出来る。 # 1,23 ---> 22*22 ---> 484 # 1,2,3 ---> 1*1+1*1 --> 2 # 12,3 ---> 9*9 ---> 81 # です。 '与えられた数値を先頭から順に桁ごとに区切って使って数列を作り、 隣り合う数の「差の二乗」の合計が最大になるような分割を求めよ。'(_与えられた数値列,_隣り合う数の差の二乗の合計が最大になるような分割) :- '与えられた数値を先頭から順に桁ごとに区切って使って数列を作り、'(_与えられた数値,_全数値分割), '隣り合う数の「差の二乗」の合計が最大になるような分割を求めよ。'(_全数値分割,_隣り合う数の差の二乗の合計が最大になるような分割). '与えられた数値を先頭から順に桁ごとに区切って使って数列を作り、'(_与えられた数値,_全数値分割) :- number_chars(_与えられた数値,_数字ならび), findall(_数値分割,( 数字ならびから数値分割(_数字ならび,_数値分割)), _全数値分割). 数字ならびから数値分割([],[]). 数字ならびから数値分割(_数字ならび,[N|LL2]) :- append(L1,L2,_数字ならび), number_chars(N,L1), 数字ならびから数値分割(L2,LL2). '隣り合う数の「差の二乗」の合計が最大になるような分割を求めよ。'(_全数値分割,_隣り合う数の差の二乗の合計が最大になるような分割) :- findall(_隣り合う数の差の二乗の合計,( member(_分割,_全数値分割), '隣り合う数の「差の二乗」の合計が'(_分割,_隣り合う数の差の二乗の合計)), _隣り合う数の差の二乗の合計ならび), 最大になるような分割(_全数値分割,_隣り合う数の差の二乗の合計ならび,_合計の最大値). '隣り合う数の「差の二乗」の合計が'(_全数値分割,_隣り合う数の差の二乗の合計) :- findsum(_隣り合う数の差の二乗,( append(_,[N1,N2|_],_全数値分割), _隣り合う数の差の二乗 is (N1 - N2) ^ 2), _隣り合う数の差の二乗の合計). 最大になるような分割(_全数値分割,_隣り合う数の差の二乗の合計ならび,_隣り合う数の差の二乗の合計が最大になるような分割) :- 最大になる(_隣り合う数の差の二乗の合計ならび,_位置,_合計の最大値), nth1(_位置,_全数値分割,_隣り合う数の差の二乗の合計が最大になるような分割). 最大になる(_隣り合う数の差の二乗の合計ならび,_位置,_合計の最大値) :- append(L1,[_合計の最大値|L2],_隣り合う数の差の二乗の合計ならび), forall(member(N1,L1),N1 =< _合計の最大値), forall(member(N2,L2),N2 =< _合計の最大値), length([_|L1],_位置). findsum(A,B,C) :- findall(A,B,L), sum_list(L,C). % 以下のサイトは # 出典:: http://hibari.2ch.net/test/read.cgi/tech/1286978599/863 # # [1] 授業単元:自然言語処理 # [2] 問題文(含コード&リンク): # ttp://nlp.dse.ibaraki.ac.jp/~shinnou/lecture/nl/rep1.pdf # 課題2のみです。 # 課題2 次の図はループのない有向グラフである。辺の向きは記載されていないが、左から右である。 # V9 ! V12 とV13 ! V3 に注意すること。 # V0 をStart ノード、V6 をEnd ノードとして、V0 からV6 に至るパスのうちで、重みの和が # 最大となるようなパスをViterbi アルゴリズムにより求めるプログラムをC あるいはJava # で作成せよ。 # ただしグラフは、入力する形でなくても、プログラムの中で予め配列などで作成しておく形 # でもよい。 # > kadai2.exe # 重みが最大のパスは # V0 --> V* --> V* ・・・・--> V6 # 重みの和は*** # 有向グラフ('V0','V1',1). # 有向グラフ('V1','V2',2). # 有向グラフ('V2','V3',5). # 有向グラフ('V3','V4',8). # 有向グラフ('V4','V5',2). # 有向グラフ('V5','V6',1). # 有向グラフ('V7','V6',2). # 有向グラフ('V8','V7',1). # 有向グラフ('V9','V8',5). # 有向グラフ('V10','V9',2). # 有向グラフ('V10','V11',6). # 有向グラフ('V11','V12',5). # 有向グラフ('V12','V13',1). # 有向グラフ('V0','V10',3). # 有向グラフ('V1','V11',1). # 有向グラフ('V2','V12',4). # 有向グラフ('V8','V5',6). # 有向グラフ('V9','V12',7). # 有向グラフ('V9','V13',1). # 有向グラフ('V11','V9',3). # 有向グラフ('V12','V3',8). # 有向グラフ('V12','V5',2). # 有向グラフ('V13','V8',3). # 有向グラフ('V13','V3',1). # # グラフのデータ構造の例、0 が辺なし、‐の値は向きが逆、+の値は向きが正しい重み。 # #include # #define N 14 /* 頂点の数*/ # #define START 0 /* 始点の頂点番号*/ # #define END 6 /* 終点の頂点番号*/ # int g[N][N] = { /* グラフG はN 行N 列の配列*/ # /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 */ # { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0}, # { -1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0}, # { 0, -2, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0}, # { 0, 0, -5, 0, 8, 0, 0, 0, 0, 0, 0, 0, -8, -1}, # { 0, 0, 0, -8, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0}, # { 0, 0, 0, 0, -2, 0, 1, 0, -6, 0, 0, 0, -2, 0}, # { 0, 0, 0, 0, 0, -1, 0, -2, 0, 0, 0, 0, 0, 0}, # { 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, 0}, # { 0, 0, 0, 0, 0, 6, 0, 1, 0, -5, 0, 0, 0, -3}, # { 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, -3, 7, 1}, # { -3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 6, 0, 0}, # { 0, -1, 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 5, 0}, # { 0, 0, -4, 8, 0, 2, 0, 0, 0, -7, 0, -5, 0, 1}, # { 0, 0, 0, 1, 0, 0, 0, 0, 3, -1, 0, 0, -1, 0} # }; # ・・・・ 有向グラフ('V0','V1',1). 有向グラフ('V1','V2',2). 有向グラフ('V2','V3',5). 有向グラフ('V3','V4',8). 有向グラフ('V4','V5',2). 有向グラフ('V5','V6',1). 有向グラフ('V7','V6',2). 有向グラフ('V8','V7',1). 有向グラフ('V9','V8',5). 有向グラフ('V10','V9',2). 有向グラフ('V10','V11',6). 有向グラフ('V11','V12',5). 有向グラフ('V12','V13',1). 有向グラフ('V0','V10',3). 有向グラフ('V1','V11',1). 有向グラフ('V2','V12',4). 有向グラフ('V8','V5',6). 有向グラフ('V9','V12',7). 有向グラフ('V9','V13',1). 有向グラフ('V11','V9',3). 有向グラフ('V12','V3',8). 有向グラフ('V12','V5',2). 有向グラフ('V13','V8',3). 有向グラフ('V13','V3',1). 'V0 をStart ノード、V6 をEnd ノードとして、V0 からV6 に至るパスのうちで、重みの和が最大となるようなパスを求める'(_最大の重みの和,_バス) :- findmax(_重みの和,到達('V0','V6',_重みの和,_パス),_最大の重みの和), 到達('V0','V6',_最大の重みの和,_パス). 到達(_節,_隣接節,_重み,[_節,_隣接節]) :- 有向グラフ(_節,_隣接節,_重み). 到達(_開始節,_到達節,_重みの和,[_開始節|_隣接節から到達節までのパス]) :- 有向グラフ(_開始節,_隣接節,_重み), 到達(_隣接節,_到達節,_隣接節から到達節までの重みの和,_隣接節から到達節までのパス), _重みの和 is _重み + _隣接節から到達節までの重みの和. % findmax/3 % 以下のサイトは # 出典:: http://pc12.2ch.net/test/read.cgi/tech/1247438792/196 # # [1] 授業単元:プログラミング論 # [2] 問題文:入力ストリームから読み込んだ文字列を、データベースに格納する前に # スタックに一時的に格納するプログラムを作成する # このときデータをまとめたデータ文字列を一つずつスタックへプッシュしたり # ポップしたりする過程が分かるプログラムを作成する。 # なおスタックを実現するライブラリはスタックのための別のヘッダにまとめる # # [プログラムの例] # 入力ストリームから読み込んだデータ文字列をスタックへプッシュしたり # ポップしたりするたびにデータベースに格納された全データを表示する。 t516(Instream,Stack1,Stack2) :- get_code(Instream,Code), t516(Instream,Code,Stack1,Stack2). t516(Instream,-1,Stack1,Stack2) :- t516_popall(Stack1,Stack3,[],L), atom_codes(Atom,L), assertz(database(Atom)),!. t516(Instream,10,Stack1,Stack2) :- t516_popall(Stack1,Stack3,[],Codes), atom_codes(Atom,Codes), assertz(database(Atom)), get_code(Instream,Code), t516(Instream,Code,Stack3),!. t516(Insteam,A,Stack1,Stack2) :- push(A,stack1,Stack3), get_code(Instream,B), t516(Instream,B,Stack3,Stack2). t516_popall(Stack,Stack,X,X) :- empty(Stack),!. t516_popall(Stack1,Stack2,Y,X) :- pop(A,Stack1,Stack3), t516_popall(Stack3,Stack2,[A|Y],X). empty([]) :- write('stack empty :: []\n\n'). push(A,Stack,[A|Stack]) :- write_formatted('push:%t :: %t --> %t\n',[A,Stack,[A|Stack]]). pop(A,[A|Stack],Stack) :- write_formatted('pop:Pop :: %t --> %t Pop=%t\n',[[A|Stack],Stack,A]).