/* Yap run on school_32.yap ?- s([professor_ability(p0,X)],P). P = 0.5, X = h ? ; P = 0.1, X = l ? ; P = 0.4, X = m ? ; no ?- s([professor_popularity(p0,X)],P). P = 0.531, X = h ? ; P = 0.175, X = l ? ; P = 0.294, X = m ? ; no ok sc([professor_ability(p0,X)],[professor_popularity(p0,h)],P). P = 0.847457627118644, X = h ? ; P = 0.00188323917137476, X = l ? ; P = 0.150659133709981, X = m ? ok sc([professor_popularity(p0,X)],[professor_ability(p0,h)],P). P = 0.9, X = h ? ; P = 0.01, X = l ? ; P = 0.09, X = m ? ; no ok ?- s([registration_grade(r0,X)],P). P = 0.06675, X = 1 ? ; P = 0.16575, X = 2 ? ; Action (";" for more choices, for exit) ? ; P = 0.356, X = 3 ? ; P = 0.4115, X = 4 ? no ok sc([registration_grade(r0,X)],[registration_course(r0,C), course_difficulty(C,h)],P). C = c16, P = 0.15, X = 1 ? ; C = c16, P = 0.285, X = 2 ? ; C = c16, P = 0.424, X = 3 ? ; C = c16, P = 0.141, X = 4 ? ; no ok (a=4, ...,d=1) sc([registration_grade(r0,X)], [registration_course(r0,C), course_difficulty(C,h), registration_student(r0,S), student_intelligence(S,h)],P). C = c16, P = 0.05, S = s0, X = 1 ? ; C = c16, P = 0.15, S = s0, X = 2 ? ; C = c16, P = 0.6, S = s0, X = 3 ? ; C = c16, P = 0.2, S = s0, X = 4 ? ; no ok sc([registration_grade(r0,X)],[registration_course(r0,C), course_difficulty(C,l), registration_student(r0,S), student_intelligence(S,h)],P). C = c16, P = 0.01, S = s0, X = 1 ? ; C = c16, P = 0.02, S = s0, X = 2 ? ; C = c16, P = 0.12, S = s0, X = 3 ? ; C = c16, P = 0.85, S = s0, X = 4 ? ; no ok s([registration_satisfaction(r0,X)],P). P = 0.15197525, X = 1 ? ; P = 0.15331025, X = 2 ? ; P = 0.6947145, X = 3 ? ; no ok sc([registration_satisfaction(r0,X)],[ registration_student(r0,S), student_intelligence(S,h)],P). P = 0.0959225, S = s0, X = 1 ? ; P = 0.124515, S = s0, X = 2 ? ; P = 0.7795625, S = s0, X = 3 ? ; no ok (h=3, l=1) sc([registration_satisfaction(r0,X)],[registration_grade(r0,4)],P). P = 0.04, X = 1 ? ; P = 0.06, X = 2 ? ; P = 0.9, X = 3 ? ; in Yap: ?- registration_satisfaction(r0,X), registration_grade(r0,a). % YAP: no handler for error error(domain_error(bayesian_domain),bind_clpbns(var(grade(r0),[a,b,c,d],[0.2,0.7,0.85,0.1,0.2,0.5,0.01,0.05,0.1,0.6,0.25,0.12,0.3,0.6,0.35,0.04,0.15,0.4,0.15,0.04,0.02,0.4,0.15,0.12,0.5,0.6,0.4,0.05,0.01,0.01,0.2,0.05,0.03,0.45,0.2,0.1],[_D11,_D12]),var(grade(r0),[a,b,c,d],[0.2,0.7,0.85,0.1,0.2,0.5,0.01,0.05,0.1,0.6,0.25,0.12,0.3,0.6,0.35,0.04,0.15,0.4,0.15,0.04,0.02,0.4,0.15,0.12,0.5,0.6,0.4,0.05,0.01,0.01,0.2,0.05,0.03,0.45,0.2,0.1],[_D13,_D12]))) sc([registration_satisfaction(r0,X)],[registration_grade(r0,1)],P). P = 0.528, X = 1 ? ; P = 0.167, X = 2 ? ; P = 0.305, X = 3 ? ; no ?- sc([ registration_grade(r0,X)],[registration_satisfaction(r0,3)],P). P = 0.0293052037923492, X = 1 ? ; P = 0.114760451955444, X = 2 ? ; P = 0.322837654892765, X = 3 ? ; P = 0.533096689359442, X = 4 ? ; no ?- registration_satisfaction(r0,X), registration_grade(r0,d). % YAP: no handler for error error(domain_error(bayesian_domain),bind_clpbns(var(grade(r0),[a,b,c,d],[0.2,0.7,0.85,0.1,0.2,0.5,0.01,0.05,0.1,0.6,0.25,0.12,0.3,0.6,0.35,0.04,0.15,0.4,0.15,0.04,0.02,0.4,0.15,0.12,0.5,0.6,0.4,0.05,0.01,0.01,0.2,0.05,0.03,0.45,0.2,0.1],[_D11,_D12]),var(grade(r0),[a,b,c,d],[0.2,0.7,0.85,0.1,0.2,0.5,0.01,0.05,0.1,0.6,0.25,0.12,0.3,0.6,0.35,0.04,0.15,0.4,0.15,0.04,0.02,0.4,0.15,0.12,0.5,0.6,0.4,0.05,0.01,0.01,0.2,0.05,0.03,0.45,0.2,0.1],[_D13,_D12]))) sc([ registration_grade(r0,X)],[registration_satisfaction(r0,3)],P). ?- registration_satisfaction(r0,h), registration_grade(r0,X). % YAP: no handler for error error(domain_error(bayesian_domain),bind_clpbns(var(grade(r0),[a,b,c,d],[0.2,0.7,0.85,0.1,0.2,0.5,0.01,0.05,0.1,0.6,0.25,0.12,0.3,0.6,0.35,0.04,0.15,0.4,0.15,0.04,0.02,0.4,0.15,0.12,0.5,0.6,0.4,0.05,0.01,0.01,0.2,0.05,0.03,0.45,0.2,0.1],[_D11,_D12]),var(grade(r0),[a,b,c,d],[0.2,0.7,0.85,0.1,0.2,0.5,0.01,0.05,0.1,0.6,0.25,0.12,0.3,0.6,0.35,0.04,0.15,0.4,0.15,0.04,0.02,0.4,0.15,0.12,0.5,0.6,0.4,0.05,0.01,0.01,0.2,0.05,0.03,0.45,0.2,0.1],[_D13,_D12]))) s([course_rating(c0,X)],P). P = 0.5392099, X = h ? ; P = 0.2, X = l ? ; P = 0.2607901, X = m ? ; no yap does not end, starts thrashing sc([course_difficulty(c0,X)],[course_rating(c0,h)],P). P = 0.235185778302661, X = h ? ; P = 0.259096503977393, X = l ? ; P = 0.505717717719945, X = m ? ; no yap does not end, starts thrashing s([course_difficulty(c0,X)],P). P = 0.25, X = h ? ; P = 0.25, X = l ? ; P = 0.5, X = m ? ; no ok student_ranking(s0,X). | ?- s([student_ranking(s0,X)],P). P = 0.33105221125, X = h ? ; P = 0.204865630625, X = l ? ; P = 0.46408215812500003, X = m ? not checked with s yap: true ? yes sc([student_ranking(s0,X)],[student_intelligence(s0,h)],P). P = 0.42922046875000003, X = h ? ; P = 0.20003319999999997, X = l ? ; P = 0.3707463312499999, X = m ? ; no not checked with s yap: true */ professor_ability(Key,h):0.50;professor_ability(Key,m): 0.40;professor_ability(Key,l): 0.10. professor_popularity(Key, h):0.9; professor_popularity(Key, m):0.09; professor_popularity(Key, l):0.01 :- professor_ability(Key, h). professor_popularity(Key, h):0.2; professor_popularity(Key, m):0.6; professor_popularity(Key, l):0.2:- professor_ability(Key, m). professor_popularity(Key, h):0.01; professor_popularity(Key, m):0.09; professor_popularity(Key, l):0.9 :- professor_ability(Key,l). registration_course(Key, CKey) :- registration(Key, CKey, _). registration_student(Key, SKey) :- registration(Key, _, SKey). registration_grade(Key, 4): 0.2;registration_grade(Key, 3): 0.6;registration_grade(Key, 2): 0.15 ; registration_grade(Key, 1): 0.05 :- registration(Key, CKey, SKey) , student_intelligence(SKey, h) , course_difficulty(CKey, h). registration_grade(Key, 4): 0.7;registration_grade(Key, 3): 0.25;registration_grade(Key, 2): 0.04 ; registration_grade(Key, 1): 0.01 :- registration(Key, CKey, SKey) , student_intelligence(SKey, h) , course_difficulty(CKey, m). registration_grade(Key, 4): 0.85;registration_grade(Key, 3): 0.12;registration_grade(Key, 2): 0.02 ; registration_grade(Key, 1): 0.01 :- registration(Key, CKey, SKey) , student_intelligence(SKey, h) , course_difficulty(CKey, l). registration_grade(Key, 4): 0.1;registration_grade(Key, 3): 0.3;registration_grade(Key, 2): 0.4 ; registration_grade(Key, 1): 0.2 :- registration(Key, CKey, SKey) , student_intelligence(SKey, m) , course_difficulty(CKey, h). registration_grade(Key, 4): 0.2;registration_grade(Key, 3): 0.6;registration_grade(Key, 2): 0.15 ; registration_grade(Key, 1): 0.05 :- registration(Key, CKey, SKey) , student_intelligence(SKey, m) , course_difficulty(CKey, m). registration_grade(Key, 4): 0.5;registration_grade(Key, 3): 0.35;registration_grade(Key, 2): 0.12; registration_grade(Key, 1): 0.03 :- registration(Key, CKey, SKey) , student_intelligence(SKey, m) , course_difficulty(CKey, l). registration_grade(Key, 4): 0.01;registration_grade(Key, 3): 0.04;registration_grade(Key, 2): 0.5 ; registration_grade(Key, 1): 0.45 :- registration(Key, CKey, SKey) , student_intelligence(SKey, l) , course_difficulty(CKey, h). registration_grade(Key, 4): 0.05;registration_grade(Key, 3): 0.15;registration_grade(Key, 2): 0.6 ; registration_grade(Key, 1): 0.2 :- registration(Key, CKey, SKey) , student_intelligence(SKey, l) , course_difficulty(CKey, m). registration_grade(Key, 4): 0.1;registration_grade(Key, 3): 0.4;registration_grade(Key, 2): 0.4 ; registration_grade(Key, 1): 0.1 :- registration(Key, CKey, SKey) , student_intelligence(SKey, l) , course_difficulty(CKey, l). registration_satisfaction(Key, 3): 0.98 ; registration_satisfaction(Key, 2): 0.01 ; registration_satisfaction(Key, 1): 0.01 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, h), registration_grade(Key, 4). registration_satisfaction(Key, 3): 0.9 ; registration_satisfaction(Key, 2): 0.09 ; registration_satisfaction(Key, 1): 0.01 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, h), registration_grade(Key, 3). registration_satisfaction(Key, 3): 0.8 ; registration_satisfaction(Key, 2): 0.15 ; registration_satisfaction(Key, 1): 0.05 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, h), registration_grade(Key, 2). registration_satisfaction(Key, 3): 0.6 ; registration_satisfaction(Key, 2): 0.3 ; registration_satisfaction(Key, 1): 0.1 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, h), registration_grade(Key, 1). registration_satisfaction(Key, 3): 0.9 ; registration_satisfaction(Key, 2): 0.05 ; registration_satisfaction(Key, 1): 0.05 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, m), registration_grade(Key, 4). registration_satisfaction(Key, 3): 0.4 ; registration_satisfaction(Key, 2): 0.4 ; registration_satisfaction(Key, 1): 0.2 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, m), registration_grade(Key, 3). registration_satisfaction(Key, 3): 0.2 ; registration_satisfaction(Key, 2): 0.3 ; registration_satisfaction(Key, 1): 0.5 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, m), registration_grade(Key, 2). registration_satisfaction(Key, 3): 0.01 ; registration_satisfaction(Key, 2): 0.04 ; registration_satisfaction(Key, 1): 0.95 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, m), registration_grade(Key, 1). registration_satisfaction(Key, 3): 0.5 ; registration_satisfaction(Key, 2): 0.35 ; registration_satisfaction(Key, 1): 0.15 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, l), registration_grade(Key, 4). registration_satisfaction(Key, 3): 0.2 ; registration_satisfaction(Key, 2): 0.3 ; registration_satisfaction(Key, 1): 0.5 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, l), registration_grade(Key, 3). registration_satisfaction(Key, 3): 0.01 ; registration_satisfaction(Key, 2): 0.09 ; registration_satisfaction(Key, 1): 0.9 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, l), registration_grade(Key, 2). registration_satisfaction(Key, 3): 0.01 ; registration_satisfaction(Key, 2): 0.01 ; registration_satisfaction(Key, 1): 0.98 :- registration(Key, CKey,_), course(CKey, PKey), professor_ability(PKey, l), registration_grade(Key, 1). course_rating(CKey, h):0.2; course_rating(CKey, m):0.2;course_rating(CKey, l):0.6:- bagof(Sat, RKey^(registration_course(RKey,CKey), registration_satisfaction(RKey,Sat)), Sats), average(Sats, Av),Av<1. course_rating(CKey, h):0.2; course_rating(CKey, m):0.6;course_rating(CKey, l):0.2:- bagof(Sat, RKey^(registration_course(RKey,CKey), registration_satisfaction(RKey,Sat)), Sats), average(Sats, Av),Av<2,Av>=1. course_rating(CKey, h):0.6; course_rating(CKey,m):0.2;course_rating(CKey, l):0.2:- bagof(Sat, RKey^(registration_course(RKey,CKey), registration_satisfaction(RKey,Sat)), Sats), average(Sats, Av),Av>=2. course_difficulty(Key, h) :0.25 ; course_difficulty(Key, m): 0.5 ; course_difficulty(Key, l) : 0.25. student_intelligence(Key, h): 0.5; student_intelligence(Key,m):0.4; student_intelligence(Key,l):0.1. student_ranking(Key, h):0.2; student_ranking(Key, m):0.2;student_ranking(Key, l):0.6:- bagof(Grade, CKey^(registration_student(CKey,Key), registration_grade(CKey, Grade)), Grades), average(Grades, Av),Av<1.5. student_ranking(Key, h):0.2; student_ranking(Key, m):0.6;student_ranking(Key, l):0.2:- bagof(Grade, CKey^(registration_student(CKey,Key), registration_grade(CKey, Grade)), Grades), average(Grades, Av),Av>=1.5,Av<3.5. student_ranking(Key, h):0.6; student_ranking(Key, m):0.2;student_ranking(Key, l):0.2:- bagof(Grade, CKey^(registration_student(CKey,Key), registration_grade(CKey, Grade)), Grades), average(Grades, Av),Av>=3.5. professor(p0). professor(p1). professor(p2). professor(p3). professor(p4). professor(p5). professor(p6). professor(p7). professor(p8). professor(p9). professor(p10). professor(p11). professor(p12). professor(p13). professor(p14). professor(p15). professor(p16). professor(p17). professor(p18). professor(p19). professor(p20). professor(p21). professor(p22). professor(p23). professor(p24). professor(p25). professor(p26). professor(p27). professor(p28). professor(p29). professor(p30). professor(p31). course(c0,p24). course(c1,p7). course(c2,p16). course(c3,p27). course(c4,p25). course(c5,p6). course(c6,p28). course(c7,p1). course(c8,p29). course(c9,p23). course(c10,p17). course(c11,p16). course(c12,p11). course(c13,p28). course(c14,p13). course(c15,p7). course(c16,p21). course(c17,p15). course(c18,p8). course(c19,p30). course(c20,p1). course(c21,p23). course(c22,p11). course(c23,p9). course(c24,p0). course(c25,p30). course(c26,p15). course(c27,p4). course(c28,p26). course(c29,p29). course(c30,p31). course(c31,p19). course(c32,p5). course(c33,p14). course(c34,p14). course(c35,p25). course(c36,p21). course(c37,p10). course(c38,p2). course(c39,p20). course(c40,p3). course(c41,p18). course(c42,p9). course(c43,p20). course(c44,p17). course(c45,p19). course(c46,p6). course(c47,p4). course(c48,p12). course(c49,p10). course(c50,p2). course(c51,p22). course(c52,p31). course(c53,p24). course(c54,p0). course(c55,p5). course(c56,p22). course(c57,p13). course(c58,p18). course(c59,p12). course(c60,p27). course(c61,p3). course(c62,p8). course(c63,p26). student(s0). student(s1). student(s2). student(s3). student(s4). student(s5). student(s6). student(s7). student(s8). student(s9). student(s10). student(s11). student(s12). student(s13). student(s14). student(s15). student(s16). student(s17). student(s18). student(s19). student(s20). student(s21). student(s22). student(s23). student(s24). student(s25). student(s26). student(s27). student(s28). student(s29). student(s30). student(s31). student(s32). student(s33). student(s34). student(s35). student(s36). student(s37). student(s38). student(s39). student(s40). student(s41). student(s42). student(s43). student(s44). student(s45). student(s46). student(s47). student(s48). student(s49). student(s50). student(s51). student(s52). student(s53). student(s54). student(s55). student(s56). student(s57). student(s58). student(s59). student(s60). student(s61). student(s62). student(s63). student(s64). student(s65). student(s66). student(s67). student(s68). student(s69). student(s70). student(s71). student(s72). student(s73). student(s74). student(s75). student(s76). student(s77). student(s78). student(s79). student(s80). student(s81). student(s82). student(s83). student(s84). student(s85). student(s86). student(s87). student(s88). student(s89). student(s90). student(s91). student(s92). student(s93). student(s94). student(s95). student(s96). student(s97). student(s98). student(s99). student(s100). student(s101). student(s102). student(s103). student(s104). student(s105). student(s106). student(s107). student(s108). student(s109). student(s110). student(s111). student(s112). student(s113). student(s114). student(s115). student(s116). student(s117). student(s118). student(s119). student(s120). student(s121). student(s122). student(s123). student(s124). student(s125). student(s126). student(s127). student(s128). student(s129). student(s130). student(s131). student(s132). student(s133). student(s134). student(s135). student(s136). student(s137). student(s138). student(s139). student(s140). student(s141). student(s142). student(s143). student(s144). student(s145). student(s146). student(s147). student(s148). student(s149). student(s150). student(s151). student(s152). student(s153). student(s154). student(s155). student(s156). student(s157). student(s158). student(s159). student(s160). student(s161). student(s162). student(s163). student(s164). student(s165). student(s166). student(s167). student(s168). student(s169). student(s170). student(s171). student(s172). student(s173). student(s174). student(s175). student(s176). student(s177). student(s178). student(s179). student(s180). student(s181). student(s182). student(s183). student(s184). student(s185). student(s186). student(s187). student(s188). student(s189). student(s190). student(s191). student(s192). student(s193). student(s194). student(s195). student(s196). student(s197). student(s198). student(s199). student(s200). student(s201). student(s202). student(s203). student(s204). student(s205). student(s206). student(s207). student(s208). student(s209). student(s210). student(s211). student(s212). student(s213). student(s214). student(s215). student(s216). student(s217). student(s218). student(s219). student(s220). student(s221). student(s222). student(s223). student(s224). student(s225). student(s226). student(s227). student(s228). student(s229). student(s230). student(s231). student(s232). student(s233). student(s234). student(s235). student(s236). student(s237). student(s238). student(s239). student(s240). student(s241). student(s242). student(s243). student(s244). student(s245). student(s246). student(s247). student(s248). student(s249). student(s250). student(s251). student(s252). student(s253). student(s254). student(s255). registration(r0,c16,s0). registration(r1,c10,s0). registration(r2,c57,s0). registration(r3,c22,s1). registration(r4,c55,s1). registration(r5,c27,s1). registration(r6,c14,s2). registration(r7,c52,s2). registration(r8,c10,s2). registration(r9,c47,s3). registration(r10,c16,s3). registration(r11,c62,s3). registration(r12,c12,s4). registration(r13,c11,s4). registration(r14,c17,s4). registration(r15,c52,s5). registration(r16,c1,s5). registration(r17,c35,s5). registration(r18,c0,s6). registration(r19,c7,s6). registration(r20,c40,s6).