5:-use_module(library(aleph)). 6:- aleph. 7:- if(current_predicate(use_rendering/1)). 8:- use_rendering(prolog). 9:- endif. 10:- modeh(1,class(+day,-class)). 11:- modeb(1,outlook(+day,#outlook)). 12:- modeb(1,temp(+day,-temp)). 13:- modeb(1,humidity(+day,-humidity)). 14:- modeb(1,windy(+day,#windy)). 15:- modeb(*,lteq(+temp,#temp)). 16:- modeb(*,lteq(+humidity,#humidity)). 17
18:- determination(class/2,outlook/2). 19:- determination(class/2,temp/2). 20:- determination(class/2,humidity/2). 21:- determination(class/2,windy/2). 22:- determination(class/2,lteq/2). 23
25:- aleph_set(tree_type,class_probability). 26:- aleph_set(classes,[play,dont_play]). 27:- aleph_set(minpos,2). 28:- aleph_set(clauselength,5). 29:- aleph_set(lookahead,2). 30:- aleph_set(prune_tree,true). 31:- aleph_set(confidence,0.25). 32:- aleph_set(evalfn,entropy). 34:- aleph_set(dependent,2). 35
36:-begin_bg. 37
39outlook(sunny).
40outlook(overcast).
41outlook(rain).
42
43windy(true).
44windy(false).
45
46temp(64).
47temp(65).
48temp(68).
49temp(69).
50temp(70).
51temp(71).
52temp(75).
53temp(80).
54temp(81).
55temp(83).
56temp(85).
57
58humidity(65).
59humidity(70).
60humidity(75).
61humidity(80).
62humidity(85).
63humidity(86).
64humidity(90).
65humidity(95).
66humidity(96).
67
68
69lteq(X,Y):-
70 var(Y), !,
71 X = Y.
72lteq(X,Y):-
73 number(X), number(Y),
74 X =< Y.
75
76outlook(Day,Outlook):-
77 table(Day,Outlook,_,_,_).
78temp(Day,Temp):-
79 table(Day,_,Temp,_,_).
80humidity(Day,Humidity):-
81 table(Day,_,_,Humidity,_).
82windy(Day,Windy):-
83 table(Day,_,_,_,Windy).
84
85table(d1,sunny,75,70,true).
86table(d2,sunny,80,90,true).
87table(d3,sunny,85,85,false).
88table(d4,sunny,72,95,false).
89table(d5,sunny,69,70,false).
90table(d6,overcast,72,90,true).
91table(d7,overcast,83,86,false).
92table(d8,overcast,64,65,true).
93table(d9,overcast,81,75,false).
94table(d10,rain,71,80,true).
95table(d11,rain,65,70,true).
96table(d12,rain,75,80,false).
97table(d13,rain,68,80,false).
98table(d14,rain,70,96,false).
99
100:-end_bg. 101:-begin_in_pos. 102class(d1,play).
103class(d2,dont_play).
104class(d3,dont_play).
105class(d4,dont_play).
106class(d5,play).
107class(d6,play).
108class(d7,play).
109class(d8,play).
110class(d9,play).
111class(d10,dont_play).
112class(d11,dont_play).
113class(d12,play).
114class(d13,play).
115class(d14,play).
116:-end_in_pos. 117
118:-begin_in_neg. 119:-end_in_neg.
?-
induce_tree(Program)
. */