from Logic.logic import Proposition, implies def A(p, g): return p def B(p, g): return (p or g) def C(p, g): return (p and g) def D(p, g): return implies((not p), g) PROPOSITIONS = [A, B, C, D] for p1 in PROPOSITIONS: for p2 in PROPOSITIONS: print Proposition(lambda p, g: implies(p1(p, g), p2(p, g)), "%s => %s" % (p1.__name__, p2.__name__)).satisfiability_report()
def D(p, g): return implies((not p), g)
from Logic.logic import Proposition, implies print "implies(True, True) = %s" % implies(True, True) print "implies(False, False) = %s" % implies(False, False) a = lambda p, q: p and implies(p, q) print Proposition(a, "p and (p => q)").truth_table() b = lambda p, q: not ((not p) or (not q)) print Proposition(b, "not ((not p) or (not q))").truth_table() print Proposition( lambda p, q: a(p, q) == b(p, q), "(p and (p => q)) <=> (not ((not p) or (not q)))" ).truth_table() print Proposition( lambda p: p or (not p), "p or (not p)" ).satisfiability_report() print Proposition( lambda p: p and (not p), "p and (not p)" ).satisfiability_report() print Proposition( lambda p, q: p or q or (p == q), "p or q or (p <=> q)" ).satisfiability_report()
from Logic.logic import Proposition, implies print Proposition(lambda s, f: implies(s, f) == (s or (not f)), "(s => f) <=> (s or (not f))").satisfiability_report() print Proposition(lambda s, f: implies(s, f) == implies(not s, not f), "(s => f) <=> ((not s) => (not f))").satisfiability_report() print Proposition(lambda s, f: implies(s, f) == implies(not f, not s), "(s => f) <=> ((not f) => (not s))").satisfiability_report() print Proposition(lambda b, d: b or d or implies(b, d), "b or d or (b => d)").satisfiability_report() print Proposition( lambda b, d: (b and d) == (not ((not b) or (not d))), "b and d <=> not ((not b) or (not d))").satisfiability_report()
def D(p, g): return implies((not p), g) PROPOSITIONS = [A, B, C, D]
from Logic.logic import Proposition, implies def A(p, g): return p def B(p, g): return (p or g) def C(p, g): return (p and g) def D(p, g): return implies((not p), g) PROPOSITIONS = [A, B, C, D] for p1 in PROPOSITIONS: for p2 in PROPOSITIONS: print Proposition( lambda p, g: implies(p1(p, g), p2(p, g)), "%s => %s" % (p1.__name__, p2.__name__) ).satisfiability_report()
(w0, w1), err = linear_regression(x, y) print "(w0=%.1f, w1=%.1f) err=%.2f" % (w0, w1, err) print "\n=== Problem 12 ===" from Logic.logic import Proposition, implies print Proposition( lambda a: not a, "not a" ).satisfiability_report() print Proposition( lambda a: a or (not a), "a or (not a)" ).satisfiability_report() print Proposition( lambda a, b, c: implies((a and (not a)), implies(b, c)), "(a and (not a)) => (b => c)" ).satisfiability_report() print Proposition( lambda a, b, c: implies(a, b) and implies(b, c) and implies(c, a), "(a => b) and (b => c) and (c => a)" ).satisfiability_report() print Proposition( lambda a, b, c: implies(a, b) and (not ((not a) or b)), "(a => b) and (not ((not a) or b))" ).satisfiability_report() print Proposition( lambda a, b, c: (implies(a, b) or implies(b, c)) == implies(a, c), "((a => b) and (b => c)) == (a => c)" ).satisfiability_report()
from Logic.logic import Proposition, implies print Proposition( lambda s, f: implies(s, f) == (s or (not f)), "(s => f) <=> (s or (not f))" ).satisfiability_report() print Proposition( lambda s, f: implies(s, f) == implies(not s, not f), "(s => f) <=> ((not s) => (not f))" ).satisfiability_report() print Proposition( lambda s, f: implies(s, f) == implies(not f, not s), "(s => f) <=> ((not f) => (not s))" ).satisfiability_report() print Proposition( lambda b, d: b or d or implies(b, d), "b or d or (b => d)" ).satisfiability_report() print Proposition( lambda b, d: (b and d) == (not ((not b) or (not d))), "b and d <=> not ((not b) or (not d))" ).satisfiability_report()
print "\n=== Problem 10 ===" from MachineLearning.linear_regression import linear_regression, gaussian x = [1.0, 3.0, 4.0, 5.0, 9.0] y = [2.0, 5.2, 6.8, 8.4, 14.8] (w0, w1), err = linear_regression(x, y) print "(w0=%.1f, w1=%.1f) err=%.2f" % (w0, w1, err) print "\n=== Problem 12 ===" from Logic.logic import Proposition, implies print Proposition(lambda a: not a, "not a").satisfiability_report() print Proposition(lambda a: a or (not a), "a or (not a)").satisfiability_report() print Proposition(lambda a, b, c: implies((a and (not a)), implies(b, c)), "(a and (not a)) => (b => c)").satisfiability_report() print Proposition( lambda a, b, c: implies(a, b) and implies(b, c) and implies(c, a), "(a => b) and (b => c) and (c => a)").satisfiability_report() print Proposition(lambda a, b, c: implies(a, b) and (not ((not a) or b)), "(a => b) and (not ((not a) or b))").satisfiability_report() print Proposition( lambda a, b, c: (implies(a, b) or implies(b, c)) == implies(a, c), "((a => b) and (b => c)) == (a => c)").satisfiability_report() print "\n=== Problem 14 ===" from MDP.grid import GridWorld GRID = [[0, 0, None, 100], [0, 0, 0, 0]]