?- induce_tree(Program). */

    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
   24% :- aleph_set(tree_type,classification).
   25:- aleph_set(tree_type,class_probability).   26:- aleph_set(classes,[play,dont_play]).   27:- aleph_set(minpos,2).	% minimum examples in leaf for splitting
   28:- aleph_set(clauselength,5).   29:- aleph_set(lookahead,2).	% to allow lookahead to lteq/2
   30:- aleph_set(prune_tree,true).   31:- aleph_set(confidence,0.25).% pruning conf parameter used by C4.5
   32:- aleph_set(evalfn,entropy).   33% :- aleph_set(evalfn,gini).
   34:- aleph_set(dependent,2).	% second arg of class/2 is to predicted
   35
   36:-begin_bg.   37
   38% type predicates
   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.