14:-use_module(library(slipcover)). 15
16:- if(current_predicate(use_rendering/1)). 17:- use_rendering(c3). 18:- use_rendering(lpad). 19:- endif. 20
21:-sc. 22
23:- set_sc(depth_bound,false). 24:- set_sc(neg_ex,given). 25:- set_sc(megaex_bottom,15). 26:- set_sc(max_iter,10). 27:- set_sc(max_iter_structure,50). 28:- set_sc(verbosity,1). 29
30
31
32:- begin_bg. 33
34
35component(C):-
36 replaceable(C).
37component(C):-
38 not_replaceable(C).
39replaceable(gear).
40replaceable(wheel).
41replaceable(chain).
42not_replaceable(engine).
43not_replaceable(control_unit).
44not_worn(C):-
45 component(C),
46 \+ worn(C).
47one_worn:-
48 worn(_).
49none_worn:-
50 \+ one_worn.
51:- end_bg. 52
53fold(train,[1,2,3,4,5,6,7,8,9,10]).
54
55fold(test,[11,12,13,14,15]).
56
57fold(all,F):-
58 fold(train,FTr),
59 fold(test,FTe),
60 append(FTr,FTe,F).
61
62:- fold(all,F),
63 sample(10,F,FTr,FTe),
64 assert(fold(rand_train,FTr)),
65 assert(fold(rand_test,FTe)). 66
67output(fix/0).
68
69input_cw(replaceable/1).
70input_cw(not_replaceable/1).
71input_cw(worn/1).
72input_cw(not_worn/1).
73input_cw(none_worn/0).
75
76
77determination(fix/0,replaceable/1).
78determination(fix/0,not_replaceable/1).
79determination(fix/0,worn/1).
80determination(fix/0,not_worn/1).
81determination(fix/0,none_worn/0).
82
83modeh(*,fix).
84
85
90
91modeb(*,not_replaceable(-comp)).
92modeb(*,replaceable(-comp)).
93modeb(*,worn(-comp)).
94modeb(*,not_worn(-comp)).
95modeb(*,none_worn).
96
97sendback(M):-
98 class(M,sendback).
99
100fix(M):-
101 class(M,fix).
102
103neg(sendback(M)):-
104 class(M,fix).
105
106neg(sendback(M)):-
107 class(M,ok).
108
109neg(fix(M)):-
110 class(M,ok).
111
112begin(model(1)).
113testnr(1).
114class(sendback).
115neg(class(fix)).
116neg(class(ok)).
117worn(gear).
118worn(engine).
119end(model(1)).
120
121begin(model(2)).
122testnr(2).
123class(ok).
124neg(class(sendback)).
125neg(class(fix)).
126end(model(2)).
127
128begin(model(3)).
129testnr(3).
130class(fix).
131neg(class(sendback)).
132neg(class(ok)).
133worn(gear).
134end(model(3)).
135
136begin(model(4)).
137testnr(4).
138class(sendback).
139neg(class(fix)).
140neg(class(ok)).
141worn(engine).
142end(model(4)).
143
144begin(model(5)).
145testnr(5).
146class(fix).
147neg(class(sendback)).
148neg(class(ok)).
149worn(gear).
150worn(chain).
151end(model(5)).
152
153begin(model(6)).
154testnr(6).
155class(fix).
156neg(class(sendback)).
157neg(class(ok)).
158worn(wheel).
159end(model(6)).
160
161begin(model(7)).
162testnr(7).
163class(sendback).
164neg(class(fix)).
165neg(class(ok)).
166worn(wheel).
167worn(control_unit).
168end(model(7)).
169
170begin(model(8)).
171testnr(8).
172class(ok).
173neg(class(sendback)).
174neg(class(fix)).
175end(model(8)).
176
177begin(model(9)).
178testnr(9).
179class(fix).
180neg(class(sendback)).
181neg(class(ok)).
182worn(wheel).
183worn(chain).
184end(model(9)).
185
186begin(model(10)).
187testnr(10).
188class(sendback).
189neg(class(fix)).
190neg(class(ok)).
191worn(engine).
192worn(chain).
193end(model(10)).
194
195begin(model(11)).
196testnr(11).
197class(sendback).
198neg(class(fix)).
199neg(class(ok)).
200worn(engine).
201worn(control_unit).
202end(model(11)).
203
204begin(model(12)).
205testnr(12).
206class(fix).
207neg(class(sendback)).
208neg(class(ok)).
209worn(chain).
210worn(wheel).
211worn(gear).
212end(model(12)).
213
214begin(model(13)).
215testnr(13).
216class(sendback).
217neg(class(fix)).
218neg(class(ok)).
219worn(chain).
220worn(wheel).
221worn(gear).
222worn(engine).
223end(model(13)).
224
225begin(model(14)).
226testnr(14).
227class(ok).
228neg(class(sendback)).
229neg(class(fix)).
230end(model(14)).
231
232begin(model(15)).
233testnr(15).
234class(fix).
235neg(class(sendback)).
236neg(class(ok)).
237worn(wheel).
238worn(gear).
239end(model(15))
?-
induce([train],P)
,test(P,[test],LL,AUCROC,ROC,AUCPR,PR)
. ?-induce([rand_train],P)
,test(P,[rand_test],LL,AUCROC,ROC,AUCPR,PR)
. */