Discrete Mathematics for Algorithm and Software Design

(HSE University, CS Faculty, September – October 2019)

Tentative Outline

Course Materials

HW #2

Download [.pdf]

Please bring your answers in written form to the class on Wednesday, October 10, 2019. If you are unable to attend the class, please send a scan/photo by email.

Deadline: Oct 16, 2019.

HW #1: Practice in Boolean Logic

This is a programming task. Choose one of the following two tasks and write a program which solves it.

  1. Given a Boolean formula, constructed from variables using /\ (conjunction), \/ (disjunction), -> (implication), and ~ (negation), translate it into Conjunctive Normal Form andinto Disjunctive Normal Form.
  2. Given a Boolean formula in 2-CNF, use the resolution method to determine whether it is satisfiable. Clauses of the 2-CNF can be of one of the two forms: α \/ β or α -> β, where α and β are literals (p or ~p, where p is a variable). The CNF is presented in the usual notation, for example: (p -> q) /\ (~r \/ s) /\ (~q -> p)
Deadline: October 11, 2019 (23:59 MSK). Submissions by e-mail welcome.
Students are encouraged to use Python and PLY, but solutions in other programming languages are also OK.

Additional Reading