このディレクトリの索引

% 以下のサイトは 親(為義). 親(頼朝). 親(範頼). 子(頼朝). 子(範頼). 子(公暁). 親子テーブル候補(_親子テーブル候補) :- 属性集合である親と子の直積上の部分集合候補(_親子テーブル候補). 属性集合である親と子の直積上の部分集合候補(_親子テーブル候補) :- 属性集合である親と子の直積上の(_属性集合_親_と_属性集合_子の直積), 部分集合候補(_属性集合_親_と_属性集合_子の直積,_親子テーブル候補). 属性集合である親と子の直積上の(_親と子の直積) :- 属性集合_親(_属性集合_親), 属性集合_子(_属性集合_子), 直積([_属性集合_親,_属性集合_子],_親と子の直積). 属性集合_親(_属性集合_親) :- setof(_親,親(_親),_属性集合_親). 属性集合_子(_属性集合_子) :- setof(_子,子(_子),_属性集合_子). 直積(_集合ならび,_直積集合) :- member項の生成(_集合ならび,_member項,_要素変数ならび), findall(_要素変数ならび,_member項,_直積集合). member項の生成([_集合],member(_要素変数,_集合),[_要素変数]). member項の生成([_集合|R1],(member(_要素変数,_集合),U),[_要素変数|R2]) :- member項の生成(R1,U,R2). 冪集合(_集合,_冪集合) :- findall(L,部分集合(_集合,L),_冪集合). 部分集合(_,[]). 部分集合(A,B) :- length(A,C), between(1,C,D), 組合せ(A,D,B) . 組合せ(X,1,[A]) :- member(A,X). 組合せ([A|Y],N,[A|X]) :- N > 1, M is N - 1, 組合せ(Y,M,X). 組合せ([_|Y],N,A) :- N > 1, 組合せ(Y,N,A). 部分集合候補(_属性集合_親_と_属性集合_子の直積,_親子テーブル候補) :- 冪集合(_属性集合_親_と_属性集合_子の直積,_冪集合), member(_親子テーブル候補,_冪集合). % 以下のサイトは 親(為義). 親(頼朝). 親(載家). 子(頼朝). 子(載家). 属性集合である親と子の直積上の部分集合候補(_親子テーブル候補) :- 属性集合親(_属性集合親), 属性集合子(_属性集合子), 直積(_属性集合親,_属性集合子,_親と子の直積), member(_直積上の部分集合の組,_親と子の直積), 冪集合(_親と子の直積,_冪集合), member(_親子テーブル候補,_冪集合). 属性集合親(_属性集合親) :- setof(_親,親(_親),_属性集合親). 属性集合子(_属性集合子) :- setof(_子,子(_子),_属性集合子). 直積(L1,L2,LL) :- findall([A,B],( member(A,L1), member(B,L2)),LL). % 以下のサイトは # # 兄弟の悲惨 # ?- 兄弟(X,Y). X = Y, Y = カツオ ; X = カツオ, Y = ワカメ ; X = ワカメ, Y = カツオ ; X = Y, Y = ワカメ ; X = Y, Y = カツオ ; X = カツオ, Y = ワカメ ; X = ワカメ, Y = カツオ ; X = Y, Y = ワカメ. ?- 兄弟(A,B) :- 親子(_親,A), 親子(_親,B). 親子(_親,_子) :- 父(_親,_子). 親子(_親,_子) :- 母(_親,_子). 父(マスオ,カツオ). 父(マスオ,ワカメ). 母(サザエ,カツオ). 母(サザエ,ワカメ). % 以下のサイトは # 出典:: http://toro.2ch.net/test/read.cgi/db/1343899481/300 # # MS SQL server2012です。 # # 下記のデータベースから # 親の値=Aで検索して # 子の値を取得し、さらに # 子の値=親の値で検索したいのですが # 求めたい結果を一気に表示する方法が # あったら教えてください。 # # 親子 # AB # BC # CD # XY # Z0 # # 求めいた結果 # 親子 # AB # BC # CD # よろしくお願いします。 # # 親子('A','B'). 親子('B','C'). 親子('C','D'). 親子('X','Y'). 親子('Z','0'). 'データベースから親の値=Aで検索して子の値を取得し、さらに子の値=親の値で検索したいのですが結果を一気に表示する方法があったら教えてください。' :- 'データベースから親の値=Aで検索して子の値を取得し、さらに子の値=親の値で検索した'('A',X,Y), writef('%t,%t\n',[X,Y]), fail. 'データベースから親の値=Aで検索して子の値を取得し、さらに子の値=親の値で検索したいのですが結果を一気に表示する方法があったら教えてください。'. 'データベースから親の値で検索して子の値を取得し、さらに子の値=親の値で検索した'(_親の値,_子の値) :- 親の値で検索して子の値を取得し(_親の値_1,_親の値,_子の値). 親の値で検索して子の値を取得し(A,X,Y) :- 親子(A,B), さらに子の値=親の値で検索した(A,B,X,Y). 'さらに子の値=親の値で検索した'(X,Y,X,Y). 'さらに子の値=親の値で検索した'(_,B,X,Y) :- 親の値で検索して子の値を取得し(B,X,Y). % 以下のサイトは # # 有名な先祖の定義です。(親,子)は位置をひっくり返して定義されることもあります。 # # さて問題です。 # # ここであなたがこの定義に対して気に入らなかったとします。すなわち、 # 「親が先祖であるなんておかしい!」 # それでは、あなたは次の定義をどのように書き換えたらよいでしょうか。 # 親子(波平,サザエ). 親子(波平,かつお). 親子(サザエ,たら). 親を先祖と見做さない先祖(X,Y) :- 親子(X,Z), 親を先祖と見做す先祖(Z,Y). 親を先祖と見做す先祖(X,Y) :- 親子(X,Y). 親を先祖と見做す先祖(X,Y) :- 親子(X,Z), 親を先祖と見做す先祖(Z,Y). % 以下のサイトは # # 有名な先祖の定義です。(親,子)は位置をひっくり返して定義されることもあります。 # # さて問題です。 # # ここであなたがこの定義に対して気に入らなかったとします。すなわち、 # 「親が先祖であるなんておかしい!」 # それでは、あなたは次の定義をどのように書き換えたらよいでしょうか。 # 親子(波平,サザエ). 親子(波平,かつお). 親子(サザエ,たら). 親を先祖と見做さない先祖(X,Y) :- \+(親子(X,Y)), 親を先祖と見做す先祖(X,Y). 親を先祖と見做す先祖(X,Y) :- 親子(X,Y). 親を先祖と見做す先祖(X,Y) :- 親子(X,Z), 親を先祖と見做す先祖(Z,Y). % 以下のサイトは # # 有名な先祖の定義です。(親,子)は位置をひっくり返して定義されることもあります。 # # さて問題です。 # # ここであなたがこの定義に対して気に入らなかったとします。すなわち、 # 「親が先祖であるなんておかしい!」 # それでは、あなたは次の定義をどのように書き換えたらよいでしょうか。 # 親子(波平,サザエ). 親子(波平,かつお). 親子(サザエ,たら). 先祖(X,Y) :- % XがYの親ならば、XはYの先祖である。 親子(X,Y). 先祖(X,Y) :- % XがZの親であり、ZがYの先祖であるなら、XはYの先祖である。 親子(X,Z), 先祖(Z,Y). % %から後は所謂コメント。プログラムの実行には影響を与えません。 % 以下のサイトは 国民の祝日である(_年,_月,_日) :- '国民の祝日に関する法律 第二条  「国民の祝日」を次のように定める。'(_,_,_年,_月,_日). 振替休日である(_振替休日の年,_振替休日の月,_振替休日の日) :- '国民の祝日に関する法律 第三条 2  「国民の祝日」が日曜日に当たるときは、その日後においてその日に最も近い「国民の祝日」でない日を休日とする。'(_振替休日の年,_振替休日の月,_振替休日の日). 国民の休日である(_国民の休日の年,_国民の休日の月,_国民の休日の日) :- '国民の祝日に関する法律 第三条 3  その前日及び翌日が「国民の祝日」である日(「国民の祝日」でない日に限る。)は、休日とする。'(_国民の休日の年,_国民の休日の月,_国民の休日の日). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 国民の祝日に関する法律 :- '(昭和二十三年七月二十日法律第百七十八号)', '最終改正:平成一七年五月二〇日法律第四三号', '国民の祝日に関する法律 第一条  自由と平和を求めてやまない日本国民は、美しい風習を育てつつ、よりよき社会、より豊かな生活を築きあげるために、ここに国民こぞつて祝い、感謝し、又は記念する日を定め、これを「国民の祝日」と名づける。', '国民の祝日に関する法律 第二条  「国民の祝日」を次のように定める。', '国民の祝日に関する法律 第三条  「国民の祝日」は、休日とする。'. '国民の祝日に関する法律 第三条 2  「国民の祝日」が日曜日に当たるときは、その日後においてその日に最も近い「国民の祝日」でない日を休日とする。'. '国民の祝日に関する法律 第一条  自由と平和を求めてやまない日本国民は、美しい風習を育てつつ、よりよき社会、より豊かな生活を築きあげるために、ここに国民こぞつて祝い、感謝し、又は記念する日を定め、これを「国民の祝日」と名づける。'. '国民の祝日に関する法律 第二条  「国民の祝日」を次のように定める。'. '国民の祝日に関する法律 第二条  「国民の祝日」を次のように定める。'(_祝日の名称,_条文,_年,_月,_日) :- 国民の祝日(_祝日の名称,_条文,_年,_月,_日). '国民の祝日に関する法律 第三条  「国民の祝日」は、休日とする。'. '国民の祝日に関する法律 第三条 2  「国民の祝日」が日曜日に当たるときは、その日後においてその日に最も近い「国民の祝日」でない日を休日とする。'. '国民の祝日に関する法律 第三条 2  「国民の祝日」が日曜日に当たるときは、その日後においてその日に最も近い「国民の祝日」でない日を休日とする。'(_振替休日の年,_振替休日の月,_振替休日の日) :- '祝日が日曜の場合は翌日以降の平日を振替休日にする'(_振替休日の年,_振替休日の月,_振替休日の日). '国民の祝日に関する法律 第三条 3  その前日及び翌日が「国民の祝日」である日(「国民の祝日」でない日に限る。)は、休日とする。'. '国民の祝日に関する法律 第三条 3  その前日及び翌日が「国民の祝日」である日(「国民の祝日」でない日に限る。)は、休日とする。'(_国民の休日の年,_国民の休日の月,_国民の休日の日) :- '国民の休日とは、国民の祝日にはさまれた平日を指す'(_国民の休日の年,_国民の休日の月,_国民の休日の日). '(昭和二十三年七月二十日法律第百七十八号)'. '最終改正:平成一七年五月二〇日法律第四三号'. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 国民の祝日(元日,'一月一日 年のはじめを祝う。',_,1,1). 国民の祝日(成人の日,'一月の第二月曜日 おとなになつたことを自覚し、みずから生き抜こうとする青年を祝いはげます。',_年,1,_日) :- 第二月曜日(_年,1,_日). 国民の祝日(建国記念の日,'政令で定める日 建国をしのび、国を愛する心を養う。',_年,_月,_日) :- 建国記念日の日に関する政令(_年,_月,_日). 国民の祝日(春分の日,'春分日 自然をたたえ、生物をいつくしむ。',_年,_月,_日) :- 春分の日(_年,_月,_日). 国民の祝日(昭和の日,'昭和の日 四月二十九日 激動の日々を経て、復興を遂げた昭和の時代を顧み、国の将来に思いをいたす。',_年,4,29). 国民の祝日(憲法記念日,'憲法記念日 五月三日 日本国憲法 の施行を記念し、国の成長を期する。',_年,5,3). 国民の祝日(みどりの日,'みどりの日 五月四日 自然に親しむとともにその恩恵に感謝し、豊かな心をはぐくむ。',_年,5,4). 国民の祝日(こどもの日,'こどもの日 五月五日 こどもの人格を重んじ、こどもの幸福をはかるとともに、母に感謝する。',_年,5,5). 国民の祝日(海の日,'海の日 七月の第三月曜日 海の恩恵に感謝するとともに、海洋国日本の繁栄を願う。',_年,7,_日) :- 第三月曜日(_年,7,_日). 国民の祝日(敬老の日,'敬老の日 九月の第三月曜日 多年にわたり社会につくしてきた老人を敬愛し、長寿を祝う。',_年,9,_日) :- 第三月曜日(_年,9,_日). 国民の祝日(秋分の日,'秋分の日 秋分日 祖先をうやまい、なくなつた人々をしのぶ。',_年,_月,_日) :- 秋分の日(_年,_月,_日). 国民の祝日(体育の日,'体育の日 十月の第二月曜日 スポーツにしたしみ、健康な心身をつちかう。',_年,10,_日) :- 第二月曜日(_年,10,_日). 国民の祝日(文化の日,'文化の日 十一月三日 自由と平和を愛し、文化をすすめる。',_年,11,3). 国民の祝日(勤労感謝の日,'勤労感謝の日 十一月二十三日 勤労をたつとび、生産を祝い、国民たがいに感謝しあう。',_年,11,23). 国民の祝日(天皇誕生日,'天皇誕生日 十二月二十三日 天皇の誕生日を祝う。',_年,12,23). 祝日が日曜の場合は翌日以降の平日を振替休日にする(_振替休日の年,_振替休日の月,_日) :- 国民の祝日(_,_,_振替休日の年,_振替休日の月,_日), 'Zellerの公式を用いて曜日を得る'(_振替休日の年,_振替休日の月,_日,_,日曜), 振替休日(_振替休日の年,_振替休日の月,_日,_振替休日の日). 振替休日(_振替休日の年,_振替休日の月,_日,_振替休日の日) :- between(_日,31,_振替休日の日), \+(国民の祝日(_,_,_振替休日の年,_振替休日の月,_振替休日の日)), 'Zellerの公式を用いて曜日を得る'(_振替休日の年,_振替休日の月,_振替休日の日,_,_曜日), \+(_曜日=日曜),!. '国民の休日とは、国民の祝日にはさまれた平日を指す'(_国民の休日の年,_国民の休日の月,_国民の休日の日) :- 前日(_国民の休日の年,_国民の休日の月,_国民の休日の日,_前日の年,_前日の月,_前日の日), 翌日(_国民の休日の年,_国民の休日の月,_国民の休日の日,_翌日の年,_翌日の月,_翌日の日), 国民の祝日(_,_,_前日の年,_前日の月,_前日の日), 国民の祝日(_,_,_翌日の年,_翌日の月,_翌日の日),!. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 第三月曜日(_年,_月,_日) :- between(15,21,_日), 'Zellerの公式を用いて曜日を得る'(_年,_月,_日,_,月曜). 第二月曜日(_年,_月,_日) :- between(8,14,_日), 'Zellerの公式を用いて曜日を得る'(_年,_月,_日,_,月曜). 春分の日(_年,_月,_日) :- '「春分の日」および「秋分の日」の日付は、前年2月1日の官報で発表される。'(_年,_月,_日),!. 春分の日(_年,3,_日) :- '国立天文台「暦象年表」に基づき', _年 >= 1980, _年 =< 2099, _日 is truncate(20.8431+0.242194*(_年-1980)-truncate((_年-1980)/4)),!. 春分の日(_年,3,23). 秋分の日(_年,_月,_日) :- '「春分の日」および「秋分の日」の日付は、前年2月1日の官報で発表される。'(_年,_月,_日),!. 秋分の日(_年,9,_日) :- '国立天文台「暦象年表」に基づき', _年 >= 1980, _年 =< 2099, _日 is truncate(23.2488+0.242194*(_年-1980)-truncate((_年-1980)/4)),!. 秋分の日(_年,9,23). 建国記念日の日に関する政令(_年,2,11). 政令で定める. '「春分の日」および「秋分の日」の日付は、前年2月1日の官報で発表される。'(_年,_月,_日) :- fail. '国立天文台「暦象年表」に基づき'. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 前日(_年,_月,_日,_前日の年,_前日の月,_前日の日) :- 前日の月がわり調整(_年,_月,_日,_前日の年,_前日の月,_前日の日). 翌日(_年,_月,_日,_翌日の年,_翌日の月,_翌日の日) :- 翌日の月がわり調整(_年,_月,_日,_翌日の年,_翌日の月,_翌日の日). 前日の月がわり調整(_整数年,1,1,_変更された整数年,12,31) :- _変更された整数年 は _整数年 - 1,!. 前日の月がわり調整(_整数年,_整数月,1,_整数年,_変更された整数月,31) :- member(_整数月,[2,4,6,8,9,11]), _変更された整数月 は _整数月 - 1,!. 前日の月がわり調整(_整数年,_整数月,1,_整数年,_変更された整数月,30) :- member(_整数月,[5,7,10,12]), _変更された整数月 は _整数月 - 1,!. 前日の月がわり調整(_整数年,3,1,_整数年,2,29) :- 0 is _整数年 mod 4,!. 前日の月がわり調整(_整数年,3,1,_整数年,2,28) :- \+(0 is _整数年 mod 4),!. 前日の月がわり調整(_整数年,_整数月,_整数日,_整数年,_整数月,_変更された整数日) :- _変更された整数日 は _整数日 - 1,!. 翌日の月がわり調整(_整数年,12,31,_変更された整数年,1,1) :- _変更された整数年 は _整数年 + 1,!. 翌日の月がわり調整(_整数年,_整数月,30,_整数年,_変更された整数月,1) :- member(_整数月,[4,6,8,9,11]), _変更された整数月 は _整数月 + 1,!. 翌日の月がわり調整(_整数年,_整数月,31,_整数年,_変更された整数月,1) :- member(_整数月,[1,3,5,7,10]), _変更された整数月 は _整数月 + 1,!. 翌日の月がわり調整(_整数年,2,29,_整数年,3,1) :- 0 is _整数年 mod 4,!. 翌日の月がわり調整(_整数年,2,28,_整数年,3,1) :- \+(うるう年(_整数年)),!. 翌日の月がわり調整(_整数年,_整数月,_整数日,_整数年,_整数月,_変更された整数日) :- _変更された整数日 は _整数日 + 1,!. 翌月(_年,12,_翌年,1) :- _翌年 is _年 + 1,!. 翌月(_年,_月,_年,_翌月) :- _翌月 is _月 + 1. うるう年(_年) :- 0 is _年 mod 400,!. うるう年(_年) :- 0 is _年 mod 100, !, fail. うるう年(_年) :- 0 is _年 mod 4,!. うるう年(_年) :- \+(0 is _年 mod 4), fail. 'Zellerの公式を用いて曜日を得る'(_年,1,_日,_曜日を表す値,_曜日) :- _年_1 is _年 - 1, 'Zellerの公式を用いて曜日を得る'(_年_1,13,_日,_曜日を表す値,_曜日),!. 'Zellerの公式を用いて曜日を得る'(_年,2,_日,_曜日を表す値,_曜日) :- _年_1 is _年 - 1, 'Zellerの公式を用いて曜日を得る'(_年_1,14,_日,_曜日を表す値,_曜日),!. 'Zellerの公式を用いて曜日を得る'(_年,_月,_日,_曜日を表す値,_曜日) :- _曜日を表す値 is (_年 + truncate(_年 / 4) - truncate(_年 / 100) + truncate(_年 / 400) + truncate((13 * _月 + 8) / 5) + _日) mod 7, 曜日を表す値(_曜日を表す値,_曜日),!. 曜日を表す値(0,日曜). 曜日を表す値(1,月曜). 曜日を表す値(2,火曜). 曜日を表す値(3,水曜). 曜日を表す値(4,木曜). 曜日を表す値(5,金曜). 曜日を表す値(6,土曜). % 以下のサイトは # 出典:: http://hibari.2ch.net/test/read.cgi/db/1274791771/642 # # +---+------+----+ # | id|parent|name| # +---+------+----+ # | 1 | NULL |taro| # | 2 |  1 |jiro| # | 3 |  1 |sabu| # | 4 |  2 |siro| # | 5 | 3 |hana| # +---+------+----+ # # 上記のようなユーザーID(id)とその親情報(parent)のテーブルで、 # 指定したIDの子と孫の一覧を取得するにはどうすればいいですか? # 1の場合、jiro、sabu、siroを取得したいです。 # 子と孫の総数だけでもかまいません。 # # 親子(1,[],taro). 親子(2,1,jiro). 親子(3,1,sabu). 親子(4,2,siro). 親子(5,3,hana). 指定したIDの子と孫の取得(_指定したid,_子と孫ならび) :- findsetof(_id,親子(_id,_,_),L), append(_,[_指定したid|_],L), 孫ならびの取得(_指定したid,_孫ならび), 子ならびの取得(_指定したid,_子ならび), append(_子ならび,_孫ならび,_子と孫ならび). 孫ならびの取得(_id2,_孫ならび) :- findall(_name,( 親子(_id1,_id2,_), 親子(_id,_id1,_name)), _孫ならび),!. 子ならびの取得(_id2,_子ならび) :- findall(_name,親子(_id,_id2,_name),_子ならび),!. % 以下のサイトは # 出典:: http://hibari.2ch.net/test/read.cgi/db/1274791771/443 # # ひとつのテーブルで各レコードは他のレコードと1:Nの親子関係にあります # コード  親コード データ # 1     1     A # 2     1     B # 3     2     C # 4     3     D # 5     1     E # 6     2     F # # まあこんな感じで1以外は全部親を1つ持ち親はひとつ以上の子を持ちます(子が無い親も居ますが) # これである親の子レコード以下を下記のような感じで全部抽出したいのですが # SQLだけで出来ますでしょうか # # コード=2のときの抽出結果 # コード データ 世代 # 3    C    1 # 4    D    2 # 6    F    1 # # 世代は2から何世代下にいるかです、子なら1孫なら2…ということです # # また無理ならこうゆうことを可能にするデータ構造を教えてください # DBはFireBird1.5を想定していますがフリーのDBなら何でも良いです # ある親の子孫を世代番号とデータ付きですべて調べあげる(_親番号,_コード,_データ,_世代) :- 子孫(_親番号,_コード,_データ,_世代). 子孫(_親,_子,_データ,1) :- テーブル(_子,_親,_データ). 子孫(A,B,_データ,_世代) :- テーブル(C,A,_), 子孫(C,B,_データ,_世代の二), _世代 is _世代の二 + 1. % 以下のサイトは # 出典:: http://pc11.2ch.net/test/read.cgi/db/1274791771/197 # # ・DBMS名とバージョン # VB2008でOLEDBを使ってOracle10gに繋いでます。 # # ・テーブルデータ # どの部品にはどの部品が使われてて〜といううような、 # 部品の構成を表す、下記のような親子関係と必要数のテーブルがあります # ------------- # OYA KO KAZU # ------------- # A   B  1 # A   G  1 # B   C  1 # B   F  1 # C   D  1 # C   E  1 # G   C  2 # G   H  1 # # # ツリーで表記すると、 # A # ├B # │├C # ││├D # ││└E # │└F # └G #  ├C #  │├D #  │└E #  └H # # Aという部品は、BとGの部品で出来ている。 # Bという部品はCとFの部品で出来ている〜という感じです。 # # ・欲しい結果 # これを階層のレベルと、それぞれの子の合計数を出したい。 # ここでいうBの下のCは1なので、DもEも1だが、 # Gの下のCは2なので、DもEもx2されて2になる # ---------------- # LV KO  GOUKEI # ---------------- # 1  B   1 # 2  C   1 # 3  D   1 # 3  E   1 # 2  F   1 # 1  G   1 # 2  C   2 # 3  D   2 # 3  E   2 # 2  H   1 # # # 今は、プログラム側で親から子を見る所をサブルーチンで組み、回帰処理でループさせてるので、 # リクエストが多く、あまりにも酷いかなぁ。。。と。 # 色々サンプルを見てconect byとかよく似てるんで、何かやり方があるのかな?と思い質問してみました。 # # 部品('A','B',1). 部品('A','G',1). 部品('B','C',1). 部品('B','F',1). 部品('C','D',1). 部品('C','E',1). 部品('G','C',2). 部品('G','H',1). 階層のレベルと、それぞれの子の合計数を出力する :- 階層のレベルと、それぞれの子の合計数を出力する(0,'A',_,A,B,C). 階層のレベルと、それぞれの子の合計数を出力する. 階層のレベルと、それぞれの子の合計数を出力する(_階層,_部品,_個数,_階層,_部品,_個数) :- \+(_階層=0), write_formatted('%t,%t,%t\n',[_階層,_部品,_個数]), fail. 階層のレベルと、それぞれの子の合計数を出力する(_階層1,_親1,_,_階層,_親,_個数) :- 部品(_親1,_子,_個数2), _階層2 is _階層1 + 1, 階層のレベルと、それぞれの子の合計数を出力する(_階層2,_子,_個数2,_階層,_親,_個数). % 以下のサイトは # 出典:: http://pc11.2ch.net/test/read.cgi/db/1274791771/154 # # 質問です。 # Oracle10gです。 # # 部門の親子関係を示す以下のようなテーブルがある。 # # 親部門ID 子部門ID 子部門の区分 # 1       2      0 # 1       3      1 # 3       4      0 # 3       5      1 # 5       6      0 # 7       8      0 # 7       9      1 # 9       10     0 # # ある親部門IDを指定し、その部門以下の階層に含まれる部門のうち区分が0となっているものを取得したい。 # 上の例だと部門ID=1と指定した場合2,4,6を取得したい。 # # よろしくお願いします。 # # 'ある親部門IDを指定し、その部門以下の階層に含まれる部門のうち区分が0となっているものを取得したい。'(_親部門ID,_区間が0となっている子部門ID) :- 部門(_親部門ID,_子部門ID,_子部門の区分), その部門以下の階層に含まれる部門のうち区分が0となっているものを取得(_子部門ID,_子部門区分,_区間が0となっている子部門ID). その部門以下の階層に含まれる部門のうち区分が0となっているものを取得(_子部門ID,0,_子部門ID). その部門以下の階層に含まれる部門のうち区分が0となっているものを取得(_子部門ID_1,_子部門の区分,X) :- 部門(_子部門ID_1,_子部門ID_2,_子部門の区分_2), その部門以下の階層に含まれる部門のうち区分が0となっているものを取得(_子部門ID_2,_子部門の区分_2,X). % 以下のサイトは 89:デフォルトの名無しさん:2010/06/05(土) 17:58:44 >>46 % Prolog 蛾(ごまだらきこけが,ひとりが科). 開帳(ごまだらきこけが,成虫,'23~32mm'). 色(ごまだらきこけが,成虫,体と翅,赤味がかった黄色). 斑点(ごまだらきこけが,成虫,体と翅,前翅,'15個'). 分布(ごまだらきこけが,本邦広くアジアにひろがっている). 食性(ごまだらきこけが,幼虫,コケ類). 長い毛(ごまだらきこけが,幼虫). 青い点(ごまだらきこけが,幼虫,背中に2列). 色(ごまだらきこけが,幼虫,灰色). 90:デフォルトの名無しさん:2010/06/05(土) 19:41:39 >>46 % Prolog (_ごまだらきこけが,ひとりが科) :- ごまだらきこけが(_ごまだらきこけが). 開帳(_ごまだらきこけが,成虫,'23~32mm') :- ごまだらきこけが(_ごまだらきこけが). 色(_ごまだらきこけが,成虫,体と翅,赤味がかった黄色) :- ごまだらきこけが(_ごまだらきこけが). 斑点(_ごまだらきこけが,成虫,体と翅,前翅,'15個') :- ごまだらきこけが(_ごまだらきこけが). 分布(_ごまだらきこけが,本邦広くアジアにひろがっている) :- ごまだらきこけが(_ごまだらきこけが). 食性(_ごまだらきこけが,幼虫,コケ類) :- ごまだらきこけが(_ごまだらきこけが). 長い毛(_ごまだらきこけが,幼虫) :- ごまだらきこけが(_ごまだらきこけが). 青い点(_ごまだらきこけが,幼虫,背中に2列) :- ごまだらきこけが(_ごまだらきこけが). 色(_ごまだらきこけが,幼虫,灰色) :- ごまだらきこけが(_ごまだらきこけが). 91:デフォルトの名無しさん:2010/06/05(土) 19:44:04 >>46 % Prolog 書き直し 蛾(_ごまだらきこけが,ひとりが科) :- ごまだらきこけが(_ごまだらきこけが). 開帳(_ごまだらきこけが,成虫,'23~32mm') :- ごまだらきこけが(_ごまだらきこけが). 色(_ごまだらきこけが,成虫,体と翅,赤味がかった黄色) :- ごまだらきこけが(_ごまだらきこけが). 斑点(_ごまだらきこけが,成虫,体と翅,前翅,'15個') :- ごまだらきこけが(_ごまだらきこけが). 分布(_ごまだらきこけが,本邦広くアジアにひろがっている) :- ごまだらきこけが(_ごまだらきこけが). 食性(_ごまだらきこけが,幼虫,コケ類) :- ごまだらきこけが(_ごまだらきこけが). 長い毛(_ごまだらきこけが,幼虫) :- ごまだらきこけが(_ごまだらきこけが). 青い点(_ごまだらきこけが,幼虫,背中に2列) :- ごまだらきこけが(_ごまだらきこけが). 色(_ごまだらきこけが,幼虫,灰色) :- ごまだらきこけが(_ごまだらきこけが). 92:デフォルトの名無しさん:2010/06/05(土) 19:49:08 >>91 たとえば、 あるものの幼虫はコケ類を食べる。そういうあるもののひとつは、ごまだらきこけがだ。 と読めばよいと思う。 93:デフォルトの名無しさん:2010/06/05(土) 20:53:07 出題者ではありませんが、勝手に批評します。 >>89 同じ項構造で他の生物にも適用できるよう、項: 蛾/2 は以下の方が 命題として適切ではないかと考えます。  種(ごまだらきこけが, 蛾). % ごまだらきこけがの種は蛾である。  科(ごまだらきこけが, ひとりが). % ごまだらきこけがの科はひとりがである。 項: 色/2 と 色/3 で混在していますが、どちらかに統一すべきだと考えます。  色(ごまだらきこけが, 成虫の体と翅, 赤味がかった黄色).  色(ごまだらきこけが, 幼虫, 灰色). または  色(ごまだらきこけが, 成虫, 体と翅, 赤味がかった黄色).  色(ごまだらきこけが, 幼虫, 全体, 灰色). >>90 ごまだらきこけが以外の蛾も多数登録されているものとして、 食性について問い合わせる場合を考えます。  ?- 食性(_蛾, _, コケ類) % コケ類を食べる蛾は何か?  _蛾=ごまだらきこけが >>90では、変数 _蛾 がアトムにならず変数のままですから、この問い合わせには 回答できていません。従って、解答としては>>89のほうが適切ではないかと考えます。 94:93:2010/06/05(土) 21:23:38 >>93を自己訂正 >項: 色/3 と 色/4 で混在していますが、どちらかに統一すべきだと考えます。 > > 色(ごまだらきこけが, 成虫の体と翅, 赤味がかった黄色). % 色/3 で統一 > 色(ごまだらきこけが, 幼虫, 灰色). > >または > > 色(ごまだらきこけが, 成虫, 体と翅, 赤味がかった黄色). % 色/4 で統一 > 色(ごまだらきこけが, 幼虫, 全体, 灰色). 95:デフォルトの名無しさん:2010/06/05(土) 22:14:49 >>93 適切な批評をいただき感謝します。 色のアリティが二種類になっているのは好ましくないですね。 種、科については、可能な限り、仕様(ここでは問題文)の文面から 述語名や変数名を拾うことを旨としているので、出てきませんでした。 とはいえ、私も「食べる」を「食性」に置き換えたりしていますが、 言語、概念による補強は必要だし、そうすることで述語として「強く」 なることも事実ですね。 >>90については、途中で端折りますが、以下のようなら自然でしょうか。 ごまだらきこけが(_ごまだらきこけが) :-     色(_ごまだらきこけが,幼虫,全体,灰色),     色(_ごまだらきこけが,成虫,赤味がかった黄色). 色(ごまだらきこけが,幼虫,全体,灰色), 色(ごまだらきこけが,成虫,赤味がかった黄色). 食性(ごまだらきこけが,幼虫,コケ類). 96:93:2010/06/05(土) 23:11:54 >>95 >>>90については、途中で端折りますが、以下のようなら自然でしょうか。 いいえ、不自然です。この問題(仕様)はすべてファクト(事実)から構成されています。 出題者の意図(文脈)は知りませんが、単純なのにわざわざ複雑なルール(推論)を組み込むのは、 解答として適切であるとは思えません。 もし納得できないようでしたら、いったんPrologプログラミングから離れて 数学の命題論理(初等数理論理学の一部)を勉強されることをお勧めします。 97:デフォルトの名無しさん:2010/06/06(日) 13:11:46 本質に迫るツッコミktkr 98:デフォルトの名無しさん:2010/06/06(日) 16:58:56 >>96 確かに。命題論理の勉強をします。カツオの定義など支離滅裂ですね。 私はPrologの核は単位節データベースであって、実際宿題スレでもデータベース板SQLの質問から 多数問題を採用してきました。一方、 このスレと「いろんな言語で宿題」スレに共通して、 親子(為義,義朝). 親子(義朝,頼朝). 先祖(A,B) :- 親子(A,B). 先祖(A,B) :- 親子(A,C),先祖(C,B). という定義に於いて、先祖/2はルールなのに、親子/2はなぜ事実なの?親子もルールで 書いていくとどうなるの?という疑問に対して、何らかの答えだすという試みもして きました。 よく分かっていないことは事実とせず、これからそれについてはルールが来るのだ、 今のところまだ未定義だけどね、というのが指摘いただいた箇所の意図であり、 奇妙な表現に拘る言い訳ということになります。 99:93:2010/06/06(日) 21:12:22 >>98 Prologの単位節は「関係の存在」というファクト(事実)を表現しています。 以下は源一族の家系の一部をファクトだけで表現した一例(の一部)です。  親_子(為義, 義朝). % 為義と義朝の間には親-子という関係が存在する。  先祖_子孫(為義, 頼朝). % 為義と義朝の間には先祖-子孫という関係が存在する。 家系が「ファクトだけで表現できる」のが分かるかと思います。 同様にごまだらきこけが(あるいは蛾という生物系)についてもファクトだけで表現できます。 ですから、単位節だけで表現できる課題(仕様)については、それだけで解答すべきであると考えます。 また、複数のファクトから新たな「関係の存在」を表現したのがルール(規則)です。  先祖_子孫(A, B) :- 親_子(A, B).   % ある人物AとBについて、AとBの間に親-子という関係が存在するならば、   % AとBの間には先祖-子孫という関係が存在する。  先祖_子孫(A, B) :- 親_子(A, C), 親_子(C, B),.   % ある人物AとBとCについて、AとCの間に親-子という関係が存在し、かつCとBの間に   % 親-子という関係が存在するならば、AとBの間には先祖-子孫という関係が存在する。 ファクト(事実)とルール(規則)は、どちらも「関係の存在」を表現しています。 Prologで記述した場合、その項の名前は関係の名前を指します。 ここで、>>90,91,95における項「ごまだらきこけが(_)」について、  **** ごまだらきこけがは関係ではありません!! **** ですから、これらの解答は明らかに不自然です。 100:93:2010/06/07(月) 00:50:12 >>99に間違いがあったので、訂正します。 > 先祖_子孫(A, B) :- 親_子(A, C), 先祖_子孫(C, B),. >  % ある人物AとBとCについて、AとCの間に親-子という関係が存在し、かつCとBの間に >  % 先祖-子孫という関係が存在するならば、AとBの間には先祖-子孫という関係が存在する。 101:デフォルトの名無しさん:2010/06/07(月) 08:46:50 >>95 こんな定義ならどうなんだ。 確信度(_ごまだらきこけが,ごまだらきこけが,60) :-     色(_ごまだらきこけが,_,幼虫,全体,灰色),     色(_ごまだらきこけが,_,成虫,赤味がかった黄色),     食性(_ごまだらきこけが,_,幼虫,コケ類). 色(_,ごまだらきこけが,幼虫,全体,灰色), 色(_,ごまだらきこけが,成虫,赤味がかった黄色). 食性(_,ごまだらきこけが,幼虫,コケ類). 102:デフォルトの名無しさん:2010/06/07(月) 08:54:28 >>99 それから、>>95 のごまだらきこけが は関係ではなく、クラスを表現しようとしているのではないかな。 103:93:2010/06/07(月) 17:19:35 あまり頭ごなしに不自然だ!!ばかりを言うのもアレなので....。 >>98 >先祖/2はルールなのに、親子/2はなぜ事実なの? >親子もルールで書いていくとどうなるの?という疑問に対して、 >何らかの答えだすという試みもしてきました。 「親-子」という関係は原始的な(これ以上は分解できない)ファクトだから、 ルールとして書くことは(私には)無理ですが、「親-子の関係」や「先祖-子孫の関係」という 関係そのものを扱えるファクト/ルールを書くことは可能です。たとえば 「AとBにはどんな関係があるか?(= AとBとの間に存在する関係は何か?)」という 問い合わせに答えることの可能な知識ベースです。 まず説明の前に、>>99では  ファクトとルールは、どちらも「関係の存在」を表現している と書きました。それを以下のように訂正します。  ファクトとルールは、どちらも「エンティティ(物)の存在」あるいは  「エンティティ間にある関係の存在」を表現している エンティティとは関係の対象となるオブジェクトを意味し、 たとえば「ごまだらきこけが」や「為義」を指します。 (長いので続く) 104:93:2010/06/07(月) 17:21:16 (>>103の続き) では、以降からは知識ベースの記述を始めます。まず基礎のファクトを書きます。  人物(為義).      % 為義という人物が存在する。  人物(義朝).      % 義朝という人物が存在する。  人物(頼朝).      % 頼朝という人物が存在する。 ここで、「親-子」と「先祖-子孫」を(関係ではなく)エンティティとして認識した上で、 ファクトとして書いてみます。  関係(親_子).       % 親-子という関係が存在する。  関係(先祖_子孫).     % 先祖-子孫という関係が存在する。  関係(親_子, 為義, 義朝). % 為義と義朝の間には親-子という関係が存在する。  関係(親_子, 義朝, 頼朝). % 義朝と頼朝の間には親-子という関係が存在する。 これらファクトを前提にルールを書きます。  関係(先祖_子孫, A, B) :- 人物(A), 人物(B), A\=B, 関係(親_子, A, B).   % あるA, Bについて、AおよびBという人物が存在し、   % かつAとBの間に親-子という関係が存在するならば、   % AとBの間には先祖-子孫という関係が存在する。  関係(先祖_子孫, A, B) :-     人物(A), 人物(B), 人物(C), A \= B, B \= C, A \= C,     関係(親_子, A, C), 関係(先祖_子孫, C, B).   % あるA, Bについて、A、BおよびCという人物が存在し、   % かつAとCの間に親-子という関係が存在し、   % かつCとBの間に先祖-子孫という関係が存在するならば、   % AとBの間にも先祖-子孫という関係が存在する。 (まだ続く) 105:93:2010/06/07(月) 17:33:51 (>>104の続き) 以下は、SWI-Prologでの実行例です。  為義と義朝は親子か?   ?- 関係(親_子, 為義, 義朝).   true .  % はい。  為義の子は誰か?   ?- 関係(親_子, 為義, X).   X = '義朝' ;  % 義朝です。   false.  為義の子孫は誰か?   ?- 関係(先祖_子孫, 為義, X).   X = '義朝' ;   X = '頼朝' ;  % 義朝と頼朝です。   false.  為義と義朝にはどんな関係があるか?   ?- 関係(R, 為義, 義朝).   R = '親_子' ;   R = '先祖_子孫' ;  % 親-子と先祖-子孫という関係があります。   false.  為義と頼朝にはどんな関係があるか?   ?- 関係(R, 義朝, 頼朝).   R = '先祖_子孫' ;  % 先祖-子孫という関係があります。   false. (まだ続く。次で終わり。) 106:93:2010/06/07(月) 17:36:21 (>>105の続き)  すべての関係を挙げよ。   ?- 関係(R, A, B).   R = '親_子',   A = '為義',   B = '義朝' ;  % 為義と義朝の間に親-子という関係が存在する。   R = '親_子',   A = '義朝',   B = '頼朝' ;  % 為義と頼朝の間に親-子という関係が存在する。   R = '先祖_子孫',   A = '為義',   B = '義朝' ;  % 為義と頼朝の間に先祖-子孫という関係が存在する。   R = '先祖_子孫',   A = '義朝',   B = '頼朝' ;  % 義朝と頼朝の間に先祖-子孫という関係が存在する。   R = '先祖_子孫',   A = '為義',   B = '頼朝' ;  % 為義と頼朝の間に先祖-子孫という関係が存在する。   false. (これで終わり。長レス失礼。) 107:93:2010/06/07(月) 18:08:39 >>102 では、オブジェクト指向(あるいはフレーム理論やオントロジーのような)知識を一般化する 枠組み(フレームワーク)を>>103-106で書いた知識ベースに導入してみます。  オブジェクト(昆虫).       % 昆虫はオブジェクトである。  オブジェクト(蛾).        % 蛾はオブジェクトである。  オブジェクト(ごまだらきこけが). % ごまだらきこけがはオブジェクトである。  関係(スーパークラス_サブクラス, 昆虫, 蛾).    % 蛾は昆虫のサブクラスである。  関係(クラス_インスタンス, 蛾, ごまだらきこけが). % ごまだらきこけがは蛾のインスタンスである。 オブジェクト指向という枠組みの導入によって、これまで「....が存在する」と解釈していたのを、 「....である」という解釈に進化させたことに注目してください。 オブジェクト指向におけるクラスという概念は「スーパークラス-サブクラス」および 「クラス-インスタンス」という関係で表現できます。これらはそれぞれ「is-a関係(またはkind-of関係)」と 「instance-of関係」と呼ばれることもあり、知識表現レベルではどちらも関係の特別なケース(クラス)です。 以上のように、(源氏の)家系や(蛾の)体系といった比較的単純な知識表現であれば、明解な解答が得られます。 不自然な解釈や小賢しい技法(テクニック)は必要ありません。命題論理と一階述語論理の守備範囲です。 % 以下のサイトは # 出典:: http://pc12.2ch.net/test/read.cgi/tech/1248012902/815 # # 【 課題 】http://ime.nu/rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/915.txt# 【 形態 】1. Javaアプリケーション(main()で開始) # # しりとりゲームをするプログラム # 第一段階ーShiritori.javaを次に掲載する。 #      これをEclipseに入力する #    ー与えられた単語の可否を判定するためのクラスReferee.javaを作成する # # 第二段階ーReferee.javaをしりとりのルールにのっとった判定をさせるように改善 # # 第一段階のRefereeの使用 # ・直前に入力された単語の末尾の文字を記憶するchar型のフィールド #    lastChar # ・次の単語がどの文字で始まらなければならないかをchar型で返すメソッド # mustBeginWith() # ・引数として与えられた単語の可否を判定し、可ならtrueを返すとともにlastCharを更新し、否ならfalseを返すメソッド #    isOK(String newWord) # とりあえずは何でもかんでも「可」とするように作る 馬名しりとり :- write('最初の馬名は :'), get_line(_語1), sub_atom(_語1,0,1,_,_最初の文字), 馬名しりとり(_最初の文字,_語1,_語,[]). 馬名しりとり(_次の文字,_語,_語,_) :- \+(sub_atom(_語,0,1,_,_次の文字)), write_formatted('ゲームオーバー %t-%t はしりとりになっていません\n',[_次の文字,_語]), fail,!. 馬名しりとり(_次の文字,_語,_語,_履歴) :- member(_語,_履歴),!, write_formatted('ゲームオーバー %tは既出です\n',[_語]), fail. 馬名しりとり(_次の文字,_語,_,_) :- 五代血統書(_語), fail. 馬名しりとり(_次の文字,_語,_語,_履歴) :- sub_atom(_語,0,1,_,_次の文字), write_formatted('%t-%t\n',[_次の文字,_語]). 馬名しりとり(_,_語1,_語,_履歴) :- 馬名しりとりルール(_語1,_次の文字1), write('次の馬名は :'), get_line(_語2), 馬名しりとり(_次の文字1,_語2,_語,[_語1|_履歴]). 馬名しりとりルール(_語,_次の文字) :- sub_atom(_語,Len,1,0,ン), Len2 is Len + 1, sub_atom(_語,0,Len2,_,_語2), 馬名しりとり次の文字(_語2,_次の文字). 馬名しりとりルール(_語,_次の文字) :- sub_atom(_語,Len,1,0,ー), Len2 is Len + 1, sub_atom(_語,0,Len2,_,_語2), 馬名しりとり次の文字(_語2,_次の文字). 馬名しりとりルール(_語,_次の文字) :- sub_atom(_語,Len,1,0,_次の文字),!. % *** user: jbis / 2 *** 五代血統書(_馬名) :- jbis(_馬名,L), 五代血統表表示(L). jbis(_馬名,_血統書) :- このサイトの馬名はSJISが使われている(_馬名,_馬名sjis), 'url述語表現'(_馬名sjis,URL1), '%27を切り取る'(URL1,URL2), concat(['http://www.jbis.or.jp/navi_search/?sid=horse&keyword=',URL2],URL), jbis馬名サイト検索(URL,_馬名,_血統サイトの正確なURLならび), 馬名による血統検索(_血統サイトの正確なURLならび,_血統書). jbis馬名サイト検索(URL,_馬名,_血統サイトの正確なURLならび) :- w3c(URL,X), concat_atom(X,X2), sjis2euc(X2,X3), split(X3,['\n','\r'],X4), findall(URL2,( member(A,X4), この行には検索対象の馬名が存在する(A,_馬名), 血統サイトの正確なURLを構成する(A,URL2)),_血統サイトの正確なURLならび), !. 馬名による血統検索(_血統サイトの正確なURLならび,_血統書) :- member(URL,_血統サイトの正確なURLならび), w3c(URL,X), 取れたならびすべての行をEUCに変換(X,_EUC行ならび), findall(_先祖馬名,( member(_馬名を含む行,_EUC行ならび), 血統書の中の馬名を切り取る(_馬名を含む行,_先祖馬名)), _血統書). このサイトの馬名はSJISが使われている(_馬名,_馬名sjis) :- euc2sjis(_馬名,_馬名sjis),!. '%27を切り取る'(URL1,URL2) :- replace_all(URL1,'%27','',URL2),!. 取れたならびすべての行をEUCに変換(Y,Y4) :- concat_atom(Y,Y2), sjis2euc(Y2,Y3), split(Y3,['\n','\r'],Y4),!. この行には検索対象の馬名が存在する(_行,_馬名) :- sub_atom(_行,_,_,_,'cell-br-no sort-02'), split(_行,['','(',')','>'],L), 馬名は最後の二要素のうちのどちらかにある(L,_馬名),!. 馬名は最後の二要素のうちのどちらかにある(L,_馬名) :- append(_,[_馬名],L),!. 馬名は最後の二要素のうちのどちらかにある(L,_馬名) :- append(_,[_馬名,_],L),!. 血統サイトの正確なURLを構成する(_行,URL) :- split(_行,['"'],L), append(_,[U,_],L), concat_atom(['http://www.jbis.or.jp',U,'pedigree/'],URL),!. 血統書の中の馬名を切り取る(_行,_先祖馬名) :- 先祖馬名を含む行はmaleという文字列を含む(_行), sub_atom(_行,Start,Len,_,''), sub_atom(_行,0,Start,_,_行1), split_patern_1(_split_patern_1), split(_行1,_split_patern_1,L), last(L,_先祖馬名),!. 先祖馬名を含む行はmaleという文字列を含む(_行) :- sub_atom(_行,_,_,_,male),!. 血統クロス(_馬名,_クロスならび) :- jbis(_馬名,L), length(L1,31),length(L2,31),append(L1,L2,L), 積集合(L1,L2,_積集合), 血統クロス(_積集合,L1,L2,_クロスならび). 血統クロス([],L1,L2,[]) :- !. 血統クロス([H|R1],L1,L2,[[_世代1,_世代2]|R2]) :- list_nth(N,L1,H), list_nth(N1,L2,H), N2 is N1 + 31, 第何世代か(N,_世代ならび1), min(_世代ならび1,_世代1), 第何世代か(N2,_世代ならび2), min(_世代ならび2,_世代2), 血統クロス(R1,L1,L2,R2). 第何世代か(N,_世代ならび) :- findall(_世代,( 五代血統表表示テーブル(_五代血統表表示テーブル), member(N,_五代血統表表示テーブル), list_nth(_世代,_五代血統表表示テーブル,N)),_世代ならび). 五代血統表表示(L) :- 五代血統表表示テーブル(L1), 五代血統表一行表示(L,L1), fail. 五代血統表表示(_). 五代血統表一行表示(_,[]) :- wr('\n'),!. 五代血統表一行表示(L,[N|R]) :- \+(N=0), list_nth(N,L,_馬名), wr('%t',[_馬名]), 五代血統表一行表示(L,R),!. 五代血統表一行表示(L,[0|R]) :- wr('%15s',[' ']), 五代血統表一行表示(L,R),!. % *** user: 五代血統表表示テーブル / 1 *** 五代血統表表示テーブル([0,0,0,0,5]). 五代血統表表示テーブル([0,0,0,4,0]). 五代血統表表示テーブル([0,0,0,0,6]). 五代血統表表示テーブル([0,0,3,0,0]). 五代血統表表示テーブル([0,0,0,0,8]). 五代血統表表示テーブル([0,0,0,7,0]). 五代血統表表示テーブル([0,0,0,0,9]). 五代血統表表示テーブル([0,2,0,0,0]). 五代血統表表示テーブル([0,0,0,0,12]). 五代血統表表示テーブル([0,0,0,11,0]). 五代血統表表示テーブル([0,0,0,0,13]). 五代血統表表示テーブル([0,0,10,0,0]). 五代血統表表示テーブル([0,0,0,0,15]). 五代血統表表示テーブル([0,0,0,14,0]). 五代血統表表示テーブル([0,0,0,0,16]). 五代血統表表示テーブル([1,0,0,0,0]). 五代血統表表示テーブル([0,0,0,0,20]). 五代血統表表示テーブル([0,0,0,19,0]). 五代血統表表示テーブル([0,0,0,0,21]). 五代血統表表示テーブル([0,0,18,0,0]). 五代血統表表示テーブル([0,0,0,0,23]). 五代血統表表示テーブル([0,0,0,22,0]). 五代血統表表示テーブル([0,0,0,0,24]). 五代血統表表示テーブル([0,17,0,0,0]). 五代血統表表示テーブル([0,0,0,0,27]). 五代血統表表示テーブル([0,0,0,26,0]). 五代血統表表示テーブル([0,0,0,0,28]). 五代血統表表示テーブル([0,0,25,0,0]). 五代血統表表示テーブル([0,0,0,0,30]). 五代血統表表示テーブル([0,0,0,29,0]). 五代血統表表示テーブル([0,0,0,0,31]). 五代血統表表示テーブル([0,0,0,0,36]). 五代血統表表示テーブル([0,0,0,35,0]). 五代血統表表示テーブル([0,0,0,0,37]). 五代血統表表示テーブル([0,0,34,0,0]). 五代血統表表示テーブル([0,0,0,0,39]). 五代血統表表示テーブル([0,0,0,38,0]). 五代血統表表示テーブル([0,0,0,0,40]). 五代血統表表示テーブル([0,33,0,0,0]). 五代血統表表示テーブル([0,0,0,0,43]). 五代血統表表示テーブル([0,0,0,42,0]). 五代血統表表示テーブル([0,0,0,0,44]). 五代血統表表示テーブル([0,0,41,0,0]). 五代血統表表示テーブル([0,0,0,0,46]). 五代血統表表示テーブル([0,0,0,45,0]). 五代血統表表示テーブル([0,0,0,0,47]). 五代血統表表示テーブル([32,0,0,0,0]). 五代血統表表示テーブル([0,0,0,0,51]). 五代血統表表示テーブル([0,0,0,50,0]). 五代血統表表示テーブル([0,0,0,0,52]). 五代血統表表示テーブル([0,0,49,0,0]). 五代血統表表示テーブル([0,0,0,0,54]). 五代血統表表示テーブル([0,0,0,53,0]). 五代血統表表示テーブル([0,0,0,0,55]). 五代血統表表示テーブル([0,48,0,0,0]). 五代血統表表示テーブル([0,0,0,0,58]). 五代血統表表示テーブル([0,0,0,57,0]). 五代血統表表示テーブル([0,0,0,0,59]). 五代血統表表示テーブル([0,0,56,0,0]). 五代血統表表示テーブル([0,0,0,0,61]). 五代血統表表示テーブル([0,0,0,60,0]). 五代血統表表示テーブル([0,0,0,0,62]). split_patern_1(['\r','>','','