15:- use_module(library(phil)). 16:- if(current_predicate(use_rendering/1)). 17:- use_rendering(c3). 18:- use_rendering(lpad). 19:- endif. 20
21:- phil. 22
23:- set_hplp(verbosity, 1). 25:- set_hplp(megaex_bottom, 10). 26:- set_hplp(initial_clauses_per_megaex, 1). 27:- set_hplp(rate, 1.0). 28:- set_hplp(max_layer, -1). 29:- set_hplp(min_probability, 1.0e-5). 30
32:- set_hplp(algorithmType, dphil). 34:- set_hplp(maxIter_phil, 1000).
35:- set_hplp(epsilon_deep, 0.0001).
36:- set_hplp(epsilon_deep_fraction, 1.0e-5). 37:- set_hplp(useInitParams, yes). 38
40:- set_hplp(regularized, no). 41:- set_hplp(regularizationType, 2). 42:- set_hplp(gamma, 10). 43:- set_hplp(gammaCount, 0).
44
46:- set_hplp(adam_params, [0.1, 0.9, 0.999, 1.0e-8]). 48:- set_hplp(batch_strategy, minibatch(50)). 51
52
53bg([]).
54
55:- begin_in. 56advisedby(A,B):0.3:-
57 student(A),
58 professor(B),
59 project(A,C),
60 project(A,C),
61 hidden_1(A,B,C).
62advisedby(A,B):0.6 :-
63 student(A),
64 professor(B),
65 ta(C,A),
66 taughtby(C, B).
67hidden_1(A,B,C):0.2 :-
68 publication(P, A, C),
69 publication(P, B, C).
70:- end_in. 71
72
73fold(ai, [ai]).
74
75output(advisedby/2).
76
77
78input(student/1).
79input(professor/1).
80input(project/2).
81input(publication/3).
82input(taughtby/2).
83input(ta/2).
84
85
86determination(advisedby/2, professor/1).
87determination(advisedby/2, student/1).
88determination(advisedby/2, publication/3).
89determination(advisedby/2, taughtby/2).
90determination(advisedby/2, ta/2).
91determination(advisedby/2, project/2).
92
93modeh(*, advisedby(+person, +person)).
94
95
96modeb(*, publication(-title, +person, +project)).
98modeb(*, project(+person,-project)).
100modeb(*, professor(+person)).
101modeb(*, student(+person)).
102modeb(*, taughtby(-course, +person)).
104modeb(*, ta(-course, +person)).
106
107
109advisedby(ai, harry, ben).
110student(ai, harry).
111professor(ai, ben).
112
113taughtby(ai, c1, ben).
114taughtby(ai, c2, ben).
115ta(ai, c1, harry).
116ta(ai, c2, harry).
117
118project(ai, harry, pr1).
119project(ai, harry, pr2).
120project(ai, ben, pr1).
121project(ai, ben, pr2).
122publication(ai, p1, harry, pr1).
123publication(ai, p2, harry, pr1).
124publication(ai, p3, harry, pr2).
125publication(ai, p4, harry, pr2).
126publication(ai, p1, ben, pr1).
127publication(ai, p2, ben, pr1).
128publication(ai, p3, ben, pr2).
129publication(ai, p4, ben, pr2)
?-
inference_hplp(advisedby(harry, ben),ai,Prob)
. ?-inference_hplp(advisedby(harry, ben),ai,Prob,Circuit)
. */