import kb, sys from kb import KB, Boolean, Integer, Constant # Define our integer symbols x = Integer('x') y = Integer('y') q = x == y a = x + y > 2 b = x + y < 5 c = x + y < -2 d = x + y > -5 kb = KB() kb.add_clause(q) kb.add_clause(~a, ~c) kb.add_clause(a, c) kb.add_clause(b) kb.add_clause(d) for model in kb.models(): print model
import kb, sys from kb import KB, Boolean, Integer, Constant # Define our symbols A = Boolean('A') B = Boolean('B') C = Boolean('C') # Create a new knowledge base kb = KB() # Add clauses kb.add_clause(A, B, C) kb.add_clause(~A, B) kb.add_clause(~B, C) kb.add_clause(B, ~C) kb.add_clause(~C,~B) # Print all models of the knowledge base for model in kb.models(): print model # Print out whether the KB is satisfiable (if there are no models, it is not satisfiable) print kb.satisfiable()
PJ11 = Boolean('pj11') PJ12 = Boolean('pj12') PJ13 = Boolean('pj13') PJ14 = Boolean('pj14') PJ15 = Boolean('pj15') PJ16 = Boolean('pj16') PJ17 = Boolean('pj17') PJ18 = Boolean('pj18') PJ19 = Boolean('pj19') # Create a new knowledge base kb = KB() # GENERAL INFORMATION ABOUT THE CARDS # This adds information which cards are Aces kb.add_clause(J0) kb.add_clause(J5) kb.add_clause(J10) kb.add_clause(J15) # Add here whatever is needed for your strategy. # DEFINITION OF THE STRATEGY # Add clauses (This list is sufficient for this strategy) # PJ is the strategy to play jacks first, so all we need to model is all x PJ(x) <-> J(x), # In other words that the PJ strategy should play a card when it is a jack kb.add_clause(~J0, PJ0) kb.add_clause(~J5, PJ5) kb.add_clause(~J10, PJ10) kb.add_clause(~J15, PJ15) kb.add_clause(~PJ0, J0) kb.add_clause(~PJ5, J5)
PJ11 = Boolean('pj11') PJ12 = Boolean('pj12') PJ13 = Boolean('pj13') PJ14 = Boolean('pj14') PJ15 = Boolean('pj15') PJ16 = Boolean('pj16') PJ17 = Boolean('pj17') PJ18 = Boolean('pj18') PJ19 = Boolean('pj19') # Create a new knowledge base kb = KB() # GENERAL INFORMATION ABOUT THE CARDS # This adds information which cards are Jacks kb.add_clause(J4) kb.add_clause(J9) kb.add_clause(J14) kb.add_clause(J19) # Add here whatever is needed for your strategy. # DEFINITION OF THE STRATEGY # Add clauses (This list is sufficient for this strategy) # PJ is the strategy to play jacks first, so all we need to model is all x PJ(x) <-> J(x), # In other words that the PJ strategy should play a card when it is a jack kb.add_clause(~J4, PJ4) kb.add_clause(~J9, PJ9) kb.add_clause(~J14, PJ14) kb.add_clause(~J19, PJ19) kb.add_clause(~PJ4, J4) kb.add_clause(~PJ9, J9)
import kb, sys from kb import KB, Boolean, Integer, Constant # Define our integer symbols x = Integer('x') y = Integer('y') q = x == y a = x + y > 2 b = x + y < 5 c = x + y < -2 d = x + y > -5 kb = KB() kb.add_clause(q) kb.add_clause(a,c) kb.add_clause(b,d) kb.add_clause(b,c) kb.add_clause(d,a) for model in kb.models(): print model
PE11 = Boolean('pe11') PE12 = Boolean('pe12') PE13 = Boolean('pe13') PE14 = Boolean('pe14') PE15 = Boolean('pe15') PE16 = Boolean('pe16') PE17 = Boolean('pe17') PE18 = Boolean('pe18') PE19 = Boolean('pe19') # Create a new knowledge base kb = KB() # GENERAL INFORMATION ABOUT THE CARDS # This adds information which cards are Tacks kb.add_clause(T1) kb.add_clause(T6) kb.add_clause(T11) kb.add_clause(T16) # Add here whatever is needed for your strategy. kb.add_clause(A0) kb.add_clause(A5) kb.add_clause(A10) kb.add_clause(A15) # DEFINITION OF THE STRATEGY # Add clauses (This list is sufficient for this strategy) # PE is the strategy to play tacks first, so all we need to model is all x PE(x) <-> T(x), # In other words that the PE strategy should play a card when it is a tack kb.add_clause(~T1, PE1)
import kb, sys from kb import KB, Boolean, Integer, Constant # Define our integer symbols x = Integer('x') y = Integer('y') q = x == y a = x + y > 2 b = x + y < 5 c = x + y < -2 d = x + y > -5 kb = KB() kb.add_clause(q) kb.add_clause(???) kb.add_clause(???) kb.add_clause(???) kb.add_clause(???) for model in kb.models(): print(model)
PJ11 = Boolean('pj11') PJ12 = Boolean('pj12') PJ13 = Boolean('pj13') PJ14 = Boolean('pj14') PJ15 = Boolean('pj15') PJ16 = Boolean('pj16') PJ17 = Boolean('pj17') PJ18 = Boolean('pj18') PJ19 = Boolean('pj19') # Create a new knowledge base kb = KB() # GENERAL INFORMATION ABOUT THE CARDS # This adds information which cards are Jacks kb.add_clause(J4) kb.add_clause(J9) kb.add_clause(J14) kb.add_clause(J19) # This adds information which cards are Kings # Add here whatever is needed for your strategy. kb.add_clause(J0) kb.add_clause(J5) kb.add_clause(J10) kb.add_clause(J15) kb.add_clause(J2) kb.add_clause(J7) kb.add_clause(J12) kb.add_clause(J17) # This adds information which cards are Queens
import kb, sys from kb import KB, Boolean, Integer, Constant # Define our symbols A = Boolean('A') B = Boolean('B') C = Boolean('C') # Create a new knowledge base kb = KB() # Add clauses kb.add_clause(A, B, C) kb.add_clause(~A, B) kb.add_clause(~B, C) kb.add_clause(B, ~C) kb.add_clause(A, B) kb.add_clause(~B, A) kb.add_clause(~A, C) # Print all models of the knowledge base for model in kb.models(): print model # Print out whether the KB is satisfiable (if there are no models, it is not satisfiable) print kb.satisfiable()
import kb, sys from kb import KB, Boolean, Integer, Constant # Define our symbols A = Boolean('A') B = Boolean('B') C = Boolean('C') D = Boolean('D') # Create a new knowledge base kb = KB() # Add clauses kb.add_clause(A, B) kb.add_clause(~B, A) kb.add_clause(~A, C) kb.add_clause(D) #Add proof by refutation: kb.add_clause(~A) kb.add_clause(~C) kb.add_clause(~D) # Print all models of the knowledge base for model in kb.models(): print model # Print out whether the KB is satisfiable (if there are no models, it is not satisfiable) print kb.satisfiable()
PC10 = Boolean('pc10') PC11 = Boolean('pc11') PC12 = Boolean('pc12') PC13 = Boolean('pc13') PC14 = Boolean('pc14') PC15 = Boolean('pc15') PC16 = Boolean('pc16') PC17 = Boolean('pc17') PC18 = Boolean('pc18') PC19 = Boolean('pc19') # Create a new knowledge base kb = KB() # Add the info which cards are Jacks, Queens or Kings kb.add_clause(J4) kb.add_clause(J9) kb.add_clause(J14) kb.add_clause(J19) kb.add_clause(Q3) kb.add_clause(Q8) kb.add_clause(Q13) kb.add_clause(Q18) kb.add_clause(K2) kb.add_clause(K7) kb.add_clause(K12) kb.add_clause(K17) #####################################################
import sys import kb from kb import KB, Boolean, Constant, Integer # Define our symbols A = Boolean('A') B = Boolean('B') C = Boolean('C') D = Boolean('D') # Create a new knowledge base kb = KB() # Add clauses kb.add_clause(A, B) kb.add_clause(~B, A) kb.add_clause(~A, C) kb.add_clause(~A, D) # Print all models of the knowledge base for model in kb.models(): print model # Print out whether the KB is satisfiable (if there are no models, it is not satisfiable) print kb.satisfiable()
PJ13 = Boolean('pj13') PJ14 = Boolean('pj14') PJ15 = Boolean('pj15') PJ16 = Boolean('pj16') PJ17 = Boolean('pj17') PJ18 = Boolean('pj18') PJ19 = Boolean('pj19') # Create a new knowledge base kb = KB() # GENERAL INFORMATION ABOUT THE CARDS # This adds information which cards are Jacks #Jacks kb.add_clause(J4) kb.add_clause(J9) kb.add_clause(J14) kb.add_clause(J19) #Queens kb.add_clause(J3) kb.add_clause(J8) kb.add_clause(J13) kb.add_clause(J18) #Kings kb.add_clause(J2) kb.add_clause(J7) kb.add_clause(J12) kb.add_clause(J17)
PC11 = Boolean('pc11') PC12 = Boolean('pc12') PC13 = Boolean('pc13') PC14 = Boolean('pc14') PC15 = Boolean('pc15') PC16 = Boolean('pc16') PC17 = Boolean('pc17') PC18 = Boolean('pc18') PC19 = Boolean('pc19') # Create a new knowledge base kb = KB() # GENERAL INFORMATION ABOUT THE CARDS # This adds information which cards are Cheap kb.add_clause(C2) kb.add_clause(C3) kb.add_clause(C4) kb.add_clause(C7) kb.add_clause(C8) kb.add_clause(C9) kb.add_clause(C12) kb.add_clause(C13) kb.add_clause(C14) kb.add_clause(C17) kb.add_clause(C18) kb.add_clause(C19) # DEFINITION OF THE STRATEGY # Add clauses (This list is sufficient for this strategy) # PJ is the strategy to play jacks first, so all we need to model is all x PC(x) <-> C(x),
PA11 = Boolean('pa11') PA12 = Boolean('pa12') PA13 = Boolean('pa13') PA14 = Boolean('pa14') PA15 = Boolean('pa15') PA16 = Boolean('pa16') PA17 = Boolean('pa17') PA18 = Boolean('pa18') PA19 = Boolean('pa19') # Create a new knowledge base kb = KB() # GENERAL INFORMATION ABOUT THE CARDS # This adds information which cards are Jacks kb.add_clause(J4) kb.add_clause(J9) kb.add_clause(J14) kb.add_clause(J19) # Add here whatever is needed for your strategy. kb.add_clause(A0) kb.add_clause(A5) kb.add_clause(A10) kb.add_clause(A15) # DEFINITION OF THE STRATEGY # Add clauses (This list is sufficient for this strategy) # PJ is the strategy to play jacks first, so all we need to model is all x PJ(x) <-> J(x), # In other words that the PJ strategy should play a card when it is a jack """ kb.add_clause(~J4, PJ4)
import kb, sys from kb import KB, Boolean, Integer, Constant # Define our integer symbols x = Integer('x') y = Integer('y') q = x == y a = x + y > 2 b = x + y < 5 c = x + y < -2 d = x + y > -5 kb = KB() kb.add_clause(q) kb.add_clause(a or c) kb.add_clause(a or d) kb.add_clause(b or c) kb.add_clause(b or d) for model in kb.models(): print(model)
PJ13 = Boolean('pj13') PJ14 = Boolean('pj14') PJ15 = Boolean('pj15') PJ16 = Boolean('pj16') PJ17 = Boolean('pj17') PJ18 = Boolean('pj18') PJ19 = Boolean('pj19') # Create a new knowledge base kb = KB() # GENERAL INFORMATION ABOUT THE CARDS # This adds information which cards are Jacks #Jacks kb.add_clause(J4) kb.add_clause(J9) kb.add_clause(J14) kb.add_clause(J19) #Aces kb.add_clause(J0) kb.add_clause(J5) kb.add_clause(J10) kb.add_clause(J15) # DEFINITION OF THE STRATEGY # Add clauses (This list is sufficient for this strategy) # PJ is the strategy to play jacks first, so all we need to model is all x PJ(x) <-> J(x), # In other words that the PJ strategy should play a card when it is a jack
PA11 = Boolean('pa11') PA12 = Boolean('pa12') PA13 = Boolean('pa13') PA14 = Boolean('pa14') PA15 = Boolean('pa15') PA16 = Boolean('pa16') PA17 = Boolean('pa17') PA18 = Boolean('pa18') PA19 = Boolean('pa19') # Create a new knowledge base kb = KB() # GENERAL INFORMATION ABOUT THE CARDS # This adds information which cards are Aacks kb.add_clause(A0) kb.add_clause(A5) kb.add_clause(A10) kb.add_clause(A15) # Add here whatever is needed for your strategy. # DEFINITION OF THE STRATEGY # Add clauses (This list is sufficient for this strategy) # PJ is the strategy to play jacks first, so all we need to model is all x PJ(x) <-> J(x), # In other words that the PJ strategy should play a card when it is a jack kb.add_clause(~A0, PA0) kb.add_clause(~A5, PA5) kb.add_clause(~A10, PA10) kb.add_clause(~A15, PA15) kb.add_clause(~PA0, A0) kb.add_clause(~PA10, A10)