トップ «前の日記(2006-07-14) 最新 次の日記(2006-07-18)» 月表示 編集

日々の流転


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でマインスイーパーの推論規則を学習する話。