removed debugging predicate matrix_to_list
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2226 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
16592e35cc
commit
111d8c4eee
@ -263,18 +263,6 @@ find_max_card([HVar|T],SortedAtoms,Graph,MaxAt0,MaxCard0,MaxAt1):-
|
|||||||
),
|
),
|
||||||
find_max_card(T,SortedAtoms,Graph,MaxAt2,MaxCard2,MaxAt1).
|
find_max_card(T,SortedAtoms,Graph,MaxAt2,MaxCard2,MaxAt1).
|
||||||
|
|
||||||
/*find_max_card([HVar|T],SortedAtoms,Graph,MaxAt0,MaxCard0,MaxAt1):-
|
|
||||||
member(d(HVar),T),!,
|
|
||||||
find_card(SortedAtoms,Graph,HVar,0,Card),
|
|
||||||
(Card>MaxCard0->
|
|
||||||
MaxCard2=Card,
|
|
||||||
MaxAt2=HVar
|
|
||||||
;
|
|
||||||
MaxCard2=MaxCard0,
|
|
||||||
MaxAt2=MaxAt0
|
|
||||||
),
|
|
||||||
find_max_card(T,SortedAtoms,Graph,MaxAt2,MaxCard2,MaxAt1).
|
|
||||||
*/
|
|
||||||
find_max_card([_HVar|T],SortedAtoms,Graph,MaxAt0,MaxCard0,MaxAt1):-
|
find_max_card([_HVar|T],SortedAtoms,Graph,MaxAt0,MaxCard0,MaxAt1):-
|
||||||
find_max_card(T,SortedAtoms,Graph,MaxAt0,MaxCard0,MaxAt1).
|
find_max_card(T,SortedAtoms,Graph,MaxAt0,MaxCard0,MaxAt1).
|
||||||
|
|
||||||
@ -308,19 +296,6 @@ compute_min_def([HVar|TVars],Eliminated,Graph0,Graph1,MinVar0,MinVar1,MinDef0):-
|
|||||||
),
|
),
|
||||||
compute_min_def(TVars,Eliminated,Graph0,Graph1,MinVar2,MinVar1,MinDef2).
|
compute_min_def(TVars,Eliminated,Graph0,Graph1,MinVar2,MinVar1,MinDef2).
|
||||||
|
|
||||||
/*compute_min_def([HVar|TVars],Eliminated,Graph0,Graph1,MinVar0,MinVar1,MinDef0):-
|
|
||||||
member(d(HVar),Eliminated),!,
|
|
||||||
compute_def(HVar,Graph0,Def),
|
|
||||||
(Def<MinDef0->
|
|
||||||
MinDef2=Def,
|
|
||||||
MinVar2=HVar
|
|
||||||
;
|
|
||||||
MinDef2=MinDef0,
|
|
||||||
MinVar2=MinVar0
|
|
||||||
),
|
|
||||||
compute_min_def(TVars,Eliminated,Graph0,Graph1,MinVar2,MinVar1,MinDef2).
|
|
||||||
*/
|
|
||||||
|
|
||||||
compute_min_def([_HVar|TVars],Eliminated,Graph0,Graph1,MinVar0,MinVar1,MinDef0):-
|
compute_min_def([_HVar|TVars],Eliminated,Graph0,Graph1,MinVar0,MinVar1,MinDef0):-
|
||||||
compute_min_def(TVars,Eliminated,Graph0,Graph1,MinVar0,MinVar1,MinDef0).
|
compute_min_def(TVars,Eliminated,Graph0,Graph1,MinVar0,MinVar1,MinDef0).
|
||||||
|
|
||||||
@ -352,7 +327,6 @@ get_prob_goal(GL,QAtoms,SortedAtoms,f(M,_D,_S),P):-
|
|||||||
keysort(VarsPos,Vars1Pos),
|
keysort(VarsPos,Vars1Pos),
|
||||||
split_map(Vars1Pos,Vars1),
|
split_map(Vars1Pos,Vars1),
|
||||||
get_index(Vars1,GL,Index),
|
get_index(Vars1,GL,Index),
|
||||||
matrix_to_list(M,_),
|
|
||||||
matrix_get(M,Index,P).
|
matrix_get(M,Index,P).
|
||||||
|
|
||||||
get_index([],_GL,[]):-!.
|
get_index([],_GL,[]):-!.
|
||||||
@ -380,23 +354,13 @@ vel(IF,RF,QAtoms,GLC,Graph,SortedAtoms,OutptutTable):-
|
|||||||
fix_evidence([],[],_Ev):-!.
|
fix_evidence([],[],_Ev):-!.
|
||||||
|
|
||||||
fix_evidence([f(Tab,Dep,Sz)|T],[f(Tab1,Dep1,Sz1)|T1],Ev):-
|
fix_evidence([f(Tab,Dep,Sz)|T],[f(Tab1,Dep1,Sz1)|T1],Ev):-
|
||||||
% add_conv(Ev,Ev1),
|
|
||||||
simplify_evidence(Ev,Tab,Dep,Sz,Tab1,Dep1,Sz1),
|
simplify_evidence(Ev,Tab,Dep,Sz,Tab1,Dep1,Sz1),
|
||||||
fix_evidence(T,T1,Ev).
|
fix_evidence(T,T1,Ev).
|
||||||
|
|
||||||
add_conv([],[]):-!.
|
|
||||||
|
|
||||||
add_conv([\+H|Ev],[\+H,\+d(H)|Ev1]):-!,
|
|
||||||
add_conv(Ev,Ev1).
|
|
||||||
|
|
||||||
add_conv([H|Ev],[H,d(H)|Ev1]):-!,
|
|
||||||
add_conv(Ev,Ev1).
|
|
||||||
|
|
||||||
|
|
||||||
simplify_evidence([], Table, Deps, Sizes, Table, Deps, Sizes).
|
simplify_evidence([], Table, Deps, Sizes, Table, Deps, Sizes).
|
||||||
simplify_evidence([V|VDeps], Table0, Deps0, Sizes0, Table, Deps, Sizes) :-!,
|
simplify_evidence([V|VDeps], Table0, Deps0, Sizes0, Table, Deps, Sizes) :-!,
|
||||||
project_from_CPT(V,tab(Table0,Deps0,Sizes0),tab(Table1,Deps1,Sizes1)),
|
project_from_CPT(V,tab(Table0,Deps0,Sizes0),tab(Table1,Deps1,Sizes1)),
|
||||||
matrix_to_list(Table1,_),
|
|
||||||
simplify_evidence(VDeps, Table1, Deps1, Sizes1, Table, Deps, Sizes).
|
simplify_evidence(VDeps, Table1, Deps1, Sizes1, Table, Deps, Sizes).
|
||||||
|
|
||||||
|
|
||||||
@ -404,16 +368,12 @@ simplify_evidence([V|VDeps], Table0, Deps0, Sizes0, Table, Deps, Sizes) :-!,
|
|||||||
|
|
||||||
project_from_CPT(\+H,tab(Table,Deps,_),tab(NewTable,NDeps,NSzs)) :-
|
project_from_CPT(\+H,tab(Table,Deps,_),tab(NewTable,NDeps,NSzs)) :-
|
||||||
nth0(N,Deps, H),!,
|
nth0(N,Deps, H),!,
|
||||||
matrix_to_list(Table,_),
|
|
||||||
matrix_select(Table, N, 0, NewTable),
|
matrix_select(Table, N, 0, NewTable),
|
||||||
matrix_to_list(NewTable,_),
|
|
||||||
matrix_dims(NewTable, NSzs),
|
matrix_dims(NewTable, NSzs),
|
||||||
delete(Deps,H,NDeps).
|
delete(Deps,H,NDeps).
|
||||||
project_from_CPT(H,tab(Table,Deps,_),tab(NewTable,NDeps,NSzs)) :-
|
project_from_CPT(H,tab(Table,Deps,_),tab(NewTable,NDeps,NSzs)) :-
|
||||||
nth0(N,Deps, H),!,
|
nth0(N,Deps, H),!,
|
||||||
matrix_to_list(Table,_),
|
|
||||||
matrix_select(Table, N, 1, NewTable),
|
matrix_select(Table, N, 1, NewTable),
|
||||||
matrix_to_list(NewTable,_),
|
|
||||||
matrix_dims(NewTable, NSzs),
|
matrix_dims(NewTable, NSzs),
|
||||||
delete(Deps,H,NDeps).
|
delete(Deps,H,NDeps).
|
||||||
project_from_CPT(_H,tab(Table,Deps,S),tab(Table,Deps,S)).
|
project_from_CPT(_H,tab(Table,Deps,S),tab(Table,Deps,S)).
|
||||||
@ -426,8 +386,6 @@ sort_tables([f(Mat,Vars,_Sz)|T],[f(Mat1,Vars1,Sz1)|T1],SortedAtoms):-
|
|||||||
reorder_CPT(Vars,SortedAtoms,Vars1,Map),
|
reorder_CPT(Vars,SortedAtoms,Vars1,Map),
|
||||||
matrix_shuffle(Mat,Map,Mat1),
|
matrix_shuffle(Mat,Map,Mat1),
|
||||||
matrix_dims(Mat1,Sz1),
|
matrix_dims(Mat1,Sz1),
|
||||||
matrix_to_list(Mat,_L),
|
|
||||||
matrix_to_list(Mat1,_L1),
|
|
||||||
sort_tables(T,T1,SortedAtoms).
|
sort_tables(T,T1,SortedAtoms).
|
||||||
|
|
||||||
|
|
||||||
@ -476,8 +434,7 @@ add_indices([V|Vs0],I0,[V-I0|Is]) :-
|
|||||||
|
|
||||||
vel_cycle([],HomFact,HetFact,_Graph,SortedAtoms,Eliminated,Eliminated,f(Mat1,Dep,Sz)):-!,
|
vel_cycle([],HomFact,HetFact,_Graph,SortedAtoms,Eliminated,Eliminated,f(Mat1,Dep,Sz)):-!,
|
||||||
combine_factors(HomFact,HetFact,SortedAtoms,f(Mat,Dep,Sz)),
|
combine_factors(HomFact,HetFact,SortedAtoms,f(Mat,Dep,Sz)),
|
||||||
normalise_CPT(Mat,Mat1),
|
normalise_CPT(Mat,Mat1).
|
||||||
matrix_to_list(Mat1,_).
|
|
||||||
|
|
||||||
vel_cycle(Vars0,HomFact,HetFact,Graph0,SortedAtoms,Eliminated0,Eliminated1,OutputTable):-
|
vel_cycle(Vars0,HomFact,HetFact,Graph0,SortedAtoms,Eliminated0,Eliminated1,OutputTable):-
|
||||||
(setting(order,min_def)->
|
(setting(order,min_def)->
|
||||||
@ -502,33 +459,21 @@ combine_factors(HomFacts,HetFacts,SortedAtoms,Fact):-
|
|||||||
sum_out1(Var,Hom,Het,Hom2,Het2,SortedAtoms):-
|
sum_out1(Var,Hom,Het,Hom2,Het2,SortedAtoms):-
|
||||||
get_factors_with_var(Hom,Var,HomFacts,Hom1),
|
get_factors_with_var(Hom,Var,HomFacts,Hom1),
|
||||||
multiply_tables(HomFacts,HomFact,SortedAtoms),
|
multiply_tables(HomFacts,HomFact,SortedAtoms),
|
||||||
(HomFact=[];HomFact=f(Mat1,_,_),
|
|
||||||
matrix_to_list(Mat1,_)),
|
|
||||||
get_factors_with_var(Het,Var,HetFacts,Het1),
|
get_factors_with_var(Het,Var,HetFacts,Het1),
|
||||||
combine_tables(HetFacts,HetFact,SortedAtoms),
|
combine_tables(HetFacts,HetFact,SortedAtoms),
|
||||||
(HetFact=[];HetFact=f(Mat2,_,_),
|
|
||||||
matrix_to_list(Mat2,_)),
|
|
||||||
update_factors(Var,HomFact,HetFact,Hom1,Hom2,Het1,Het2,SortedAtoms).
|
update_factors(Var,HomFact,HetFact,Hom1,Hom2,Het1,Het2,SortedAtoms).
|
||||||
|
|
||||||
update_factors(_Var,[],[],Hom,Hom,Het,Het,_SortedAtoms):-!.
|
update_factors(_Var,[],[],Hom,Hom,Het,Het,_SortedAtoms):-!.
|
||||||
|
|
||||||
update_factors(Var,HomFact,[],Hom,[Fact|Hom],Het,Het,_SortedAtoms):-!,
|
update_factors(Var,HomFact,[],Hom,[Fact|Hom],Het,Het,_SortedAtoms):-!,
|
||||||
sum_var(Var,HomFact,Fact),
|
sum_var(Var,HomFact,Fact).
|
||||||
Fact=f(Mat2,_,_),
|
|
||||||
matrix_to_list(Mat2,_).
|
|
||||||
|
|
||||||
update_factors(Var,[],HetFact,Hom,Hom,Het,[Fact|Het],_SortedAtoms):-
|
update_factors(Var,[],HetFact,Hom,Hom,Het,[Fact|Het],_SortedAtoms):-
|
||||||
sum_var(Var,HetFact,Fact),
|
sum_var(Var,HetFact,Fact).
|
||||||
Fact=f(Mat2,_,_),
|
|
||||||
matrix_to_list(Mat2,_).
|
|
||||||
|
|
||||||
update_factors(Var,HomFact,HetFact,Hom,Hom,Het,[Fact1|Het],SortedAtoms):-
|
update_factors(Var,HomFact,HetFact,Hom,Hom,Het,[Fact1|Het],SortedAtoms):-
|
||||||
multiply_CPTs(HomFact,HetFact,Fact,SortedAtoms),
|
multiply_CPTs(HomFact,HetFact,Fact,SortedAtoms),
|
||||||
Fact=f(Mat,_,_),
|
sum_var(Var,Fact,Fact1).
|
||||||
matrix_to_list(Mat,_),
|
|
||||||
sum_var(Var,Fact,Fact1),
|
|
||||||
Fact1=f(Mat2,_,_),
|
|
||||||
matrix_to_list(Mat2,_).
|
|
||||||
|
|
||||||
sum_var(Var,f(Table,Deps,_),f(NewTable,NDeps,NSzs)):-
|
sum_var(Var,f(Table,Deps,_),f(NewTable,NDeps,NSzs)):-
|
||||||
nth0(N,Deps, Var),!,
|
nth0(N,Deps, Var),!,
|
||||||
@ -566,17 +511,11 @@ combine_CPTs(f(Tab1, Deps1, Sz1), f(Tab2, Deps2, Sz2), F, SortedAtoms) :-
|
|||||||
rename_convergent(2,CommConv,Deps2,Deps21,NewAt0,NewAt1),
|
rename_convergent(2,CommConv,Deps2,Deps21,NewAt0,NewAt1),
|
||||||
update_sorted(SortedAtoms,NewAt1,SortedAtoms1),
|
update_sorted(SortedAtoms,NewAt1,SortedAtoms1),
|
||||||
expand_tabs(Deps11, Sz1, Deps21, Sz2, Map1, Map2, NDeps0,SortedAtoms1),
|
expand_tabs(Deps11, Sz1, Deps21, Sz2, Map1, Map2, NDeps0,SortedAtoms1),
|
||||||
matrix_to_list(Tab1,_),
|
|
||||||
matrix_expand(Tab1, Map1, NTab1),
|
matrix_expand(Tab1, Map1, NTab1),
|
||||||
matrix_to_list(NTab1,_),
|
|
||||||
matrix_to_list(Tab2,_),
|
|
||||||
matrix_expand(Tab2, Map2, NTab2),
|
matrix_expand(Tab2, Map2, NTab2),
|
||||||
matrix_to_list(NTab2,_),
|
|
||||||
matrix_op(NTab1,NTab2,*,OT0),
|
matrix_op(NTab1,NTab2,*,OT0),
|
||||||
matrix_to_list(OT0,_),
|
|
||||||
matrix_dims(OT0,NSz0),
|
matrix_dims(OT0,NSz0),
|
||||||
sum_fact(CommConv,OT0,NDeps0,NSz0,OT,NDeps,NSz),
|
sum_fact(CommConv,OT0,NDeps0,NSz0,OT,NDeps,NSz),
|
||||||
matrix_to_list(OT,_),
|
|
||||||
sort_tables([f(OT, NDeps, NSz)],[F],SortedAtoms).
|
sort_tables([f(OT, NDeps, NSz)],[F],SortedAtoms).
|
||||||
|
|
||||||
get_common_conv(Deps1,Deps2,CommConv):-
|
get_common_conv(Deps1,Deps2,CommConv):-
|
||||||
@ -608,9 +547,7 @@ sum_fact([H|T],T0,D0,S0,T1,D1,S1):-
|
|||||||
matrix_to_list(Tff,Lf),
|
matrix_to_list(Tff,Lf),
|
||||||
append(Lf,Lt,L),
|
append(Lf,Lt,L),
|
||||||
matrix_new(floats, [2|S], L,T4),
|
matrix_new(floats, [2|S], L,T4),
|
||||||
matrix_to_list(T2,_),
|
sum_fact(T,T4,[d(H)|D],[2|S],T1,D1,S1).
|
||||||
sum_fact(T,T4,[d(H)|D],[2|S],T1,D1,S1),
|
|
||||||
matrix_to_list(T1,_).
|
|
||||||
|
|
||||||
remove_renamed_conv([],[]):-!.
|
remove_renamed_conv([],[]):-!.
|
||||||
|
|
||||||
@ -655,11 +592,8 @@ rename_convergent(N,CommConv,[H|T],[H|T1],NA0,NA1):-
|
|||||||
multiply_CPTs(f(Tab1, Deps1, Sz1), f(Tab2, Deps2, Sz2), f(OT, NDeps, NSz), SortedAtoms) :-
|
multiply_CPTs(f(Tab1, Deps1, Sz1), f(Tab2, Deps2, Sz2), f(OT, NDeps, NSz), SortedAtoms) :-
|
||||||
expand_tabs(Deps1, Sz1, Deps2, Sz2, Map1, Map2, NDeps,SortedAtoms),
|
expand_tabs(Deps1, Sz1, Deps2, Sz2, Map1, Map2, NDeps,SortedAtoms),
|
||||||
matrix_expand(Tab1, Map1, NTab1),
|
matrix_expand(Tab1, Map1, NTab1),
|
||||||
matrix_to_list(NTab1,_),
|
|
||||||
matrix_expand(Tab2, Map2, NTab2),
|
matrix_expand(Tab2, Map2, NTab2),
|
||||||
matrix_to_list(NTab2,_),
|
|
||||||
matrix_op(NTab1,NTab2,*,OT),
|
matrix_op(NTab1,NTab2,*,OT),
|
||||||
matrix_to_list(OT,_),
|
|
||||||
matrix_dims(OT,NSz).
|
matrix_dims(OT,NSz).
|
||||||
|
|
||||||
expand_tabs([], [], [], [], [], [], [],_SortedAtoms):-!.
|
expand_tabs([], [], [], [], [], [], [],_SortedAtoms):-!.
|
||||||
|
Reference in New Issue
Block a user