2006-07-17 [長年日記]
λ. Alephの振る舞いがわからない。
適当な背景知識と正例と負例を食わせたところ以下のようなルールを学習してくれた。Rule 1 と Rule 3 さえあれば Rule 2 は実際には不要に思えるが、何故 Rule 2 が残っているのだろう。
[theory] [Rule 1] [Pos cover = 3 Neg cover = 0] append(A, B, B) :- A=[]. [Rule 2] [Pos cover = 3 Neg cover = 0] append(A, B, C) :- A=[D|E], C=[D|B], append(E, C, C). [Rule 3] [Pos cover = 9 Neg cover = 0] append(A, B, C) :- A=[D|E], append(E, B, F), C=[D|F].
背景知識
% append.b :- mode(1,append(+list,+list,-list)). :- mode(1,((+list) = ([-any|-list]))). :- mode(1,((-list) = ([+any|+list]))). :- mode(1,((+list) = ([]))). :- mode(1,((-list) = ([]))). :- set(i,3). :- set(noise,0). :- set(print,1). :- determination(append/3,append/3). :- determination(append/3,'='/2).
正例
% append.f append([],[1,2,3],[1,2,3]). append([1],[2,3],[1,2,3]). append([1,2],[3],[1,2,3]). append([1,2,3],[],[1,2,3]). append([],[1,2,3,4],[1,2,3,4]). append([1],[2,3,4],[1,2,3,4]). append([1,2],[3,4],[1,2,3,4]). append([1,2,3],[4],[1,2,3,4]). append([1,2,3,4],[],[1,2,3,4]). append([],[],[]). append([1],[2],[1,2]). append([2,3],[],[2,3]).
負例
% append.n append([1],[],[]). append([],[1],[]). append([1,3,2],[],[1,2,3]). append([],[1,3,2],[1,2,3]). append([2,1],[3],[1,2,3]). append([3,2],[1],[1,2,3]). append([1,2],[3,4],[1,3,4]). append([1],[2,3,4],[2,3,4]). append([1,2,3],[4],[1,2,3]).
λ. Learning Minesweeper with Multirelational Learning. Lourdes Peña Castillo, Stefan Wrobel
を読んだ。ILPでマインスイーパーの推論規則を学習する話。