The Traveling Salesman Problem. Time Complexity under Nondeterminism. A Nondeterministic Algorithm for tsp (d)

Similar documents
Decidability and Recursive Languages

monotone circuit value

Another Variant of 3sat. 3sat. 3sat Is NP-Complete. The Proof (concluded)

Levin Reduction and Parsimonious Reductions

Cook s Theorem: the First NP-Complete Problem

Another Variant of 3sat

SAT and DPLL. Espen H. Lian. May 4, Ifi, UiO. Espen H. Lian (Ifi, UiO) SAT and DPLL May 4, / 59

SAT and DPLL. Introduction. Preliminaries. Normal forms DPLL. Complexity. Espen H. Lian. DPLL Implementation. Bibliography.

You Have an NP-Complete Problem (for Your Thesis)

Lecture 2: The Simple Story of 2-SAT

IEOR E4004: Introduction to OR: Deterministic Models

Practical SAT Solving

MAT385 Final (Spring 2009): Boolean Algebras, FSM, and old stuff

Binary Decision Diagrams

Binary Decision Diagrams

Essays on Some Combinatorial Optimization Problems with Interval Data

Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable

Yao s Minimax Principle

Sublinear Time Algorithms Oct 19, Lecture 1

THE TRAVELING SALESMAN PROBLEM FOR MOVING POINTS ON A LINE

Computing Unsatisfiable k-sat Instances with Few Occurrences per Variable

Quadrant marked mesh patterns in 123-avoiding permutations

Lecture l(x) 1. (1) x X

Maximum Contiguous Subsequences

2 Deduction in Sentential Logic

Structural Induction

Complexity of Iterated Dominance and a New Definition of Eliminability

Lecture 23: April 10

An effective perfect-set theorem

Game Theory: Normal Form Games

Option Pricing Models. c 2013 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 205

Lecture 4: Divide and Conquer

Reconfiguration of Satisfying Assignments and Subset Sums: Easy to Find, Hard to Connect

Chapter 5: Algorithms

GUESSING MODELS IMPLY THE SINGULAR CARDINAL HYPOTHESIS arxiv: v1 [math.lo] 25 Mar 2019

Introduction to Greedy Algorithms: Huffman Codes

A DNC function that computes no effectively bi-immune set

CSE 21 Winter 2016 Homework 6 Due: Wednesday, May 11, 2016 at 11:59pm. Instructions

3 The Model Existence Theorem

The Complexity of Simple and Optimal Deterministic Mechanisms for an Additive Buyer. Xi Chen, George Matikas, Dimitris Paparas, Mihalis Yannakakis

CATEGORICAL SKEW LATTICES

THE NUMBER OF UNARY CLONES CONTAINING THE PERMUTATIONS ON AN INFINITE SET

4 Martingales in Discrete-Time

The illustrated zoo of order-preserving functions

CS134: Networks Spring Random Variables and Independence. 1.2 Probability Distribution Function (PDF) Number of heads Probability 2 0.

Outline of Lecture 1. Martin-Löf tests and martingales

COMBINATORICS OF REDUCTIONS BETWEEN EQUIVALENCE RELATIONS

Algorithmic Game Theory and Applications. Lecture 11: Games of Perfect Information

3 Arbitrage pricing theory in discrete time.

is a path in the graph from node i to node i k provided that each of(i i), (i i) through (i k; i k )isan arc in the graph. This path has k ; arcs in i

TABLEAU-BASED DECISION PROCEDURES FOR HYBRID LOGIC

Generalization by Collapse

arxiv: v2 [math.lo] 13 Feb 2014

Tug of War Game. William Gasarch and Nick Sovich and Paul Zimand. October 6, Abstract

ADDING A LOT OF COHEN REALS BY ADDING A FEW II. 1. Introduction

Notes on Natural Logic

Sy D. Friedman. August 28, 2001

arxiv: v1 [math.lo] 24 Feb 2014

Advanced Operations Research Prof. G. Srinivasan Dept of Management Studies Indian Institute of Technology, Madras

Lecture 10: The knapsack problem

Finding Equilibria in Games of No Chance

Notes on the symmetric group

Principles of Financial Computing. Introduction. Useful Journals. References

sample-bookchapter 2015/7/7 9:44 page 1 #1 THE BINOMIAL MODEL

HW 1 Reminder. Principles of Programming Languages. Lets try another proof. Induction. Induction on Derivations. CSE 230: Winter 2007

Semantics with Applications 2b. Structural Operational Semantics

Best-Reply Sets. Jonathan Weinstein Washington University in St. Louis. This version: May 2015

The Real Numbers. Here we show one way to explicitly construct the real numbers R. First we need a definition.

Maximizing the Spread of Influence through a Social Network Problem/Motivation: Suppose we want to market a product or promote an idea or behavior in

LECTURE 3: FREE CENTRAL LIMIT THEOREM AND FREE CUMULANTS

MAC Learning Objectives. Learning Objectives (Cont.)

MSU CSE Spring 2011 Exam 2-ANSWERS

5 Deduction in First-Order Logic

arxiv: v1 [math.co] 31 Mar 2009

Laurence Boxer and Ismet KARACA

Homework #4. CMSC351 - Spring 2013 PRINT Name : Due: Thu Apr 16 th at the start of class

Max Registers, Counters and Monotone Circuits

Trinomial Tree. Set up a trinomial approximation to the geometric Brownian motion ds/s = r dt + σ dw. a

Interpolation of κ-compactness and PCF

Problem Set 2: Answers

Asymptotic Notation. Instructor: Laszlo Babai June 14, 2002

Approximability and Parameterized Complexity of Minmax Values

CEC login. Student Details Name SOLUTIONS

1 Online Problem Examples

The Turing Definability of the Relation of Computably Enumerable In. S. Barry Cooper

On the Number of Permutations Avoiding a Given Pattern

Laurence Boxer and Ismet KARACA

Fixed-Income Options

CMPSCI 311: Introduction to Algorithms Second Midterm Practice Exam SOLUTIONS

On the Optimality of a Family of Binary Trees Techical Report TR

Best response cycles in perfect information games

SMT and POR beat Counter Abstraction

CS364A: Algorithmic Game Theory Lecture #3: Myerson s Lemma

Martingales. by D. Cox December 2, 2009

Lecture 14: Basic Fixpoint Theorems (cont.)

Harvard School of Engineering and Applied Sciences CS 152: Programming Languages

Recitation 1. Solving Recurrences. 1.1 Announcements. Welcome to 15210!

Separable Preferences Ted Bergstrom, UCSB

Unary PCF is Decidable

Computational Independence

Transcription:

The Traveling Salesman Problem We are given n cities 1, 2,..., n and integer distances d ij between any two cities i and j. Assume d ij = d ji for convenience. The traveling salesman problem (tsp) asks for the total distance of the shortest tour of the cities. The decision version tsp (d) asks if there is a tour with a total distance at most B, where B is an input. Both problems are extremely important but equally hard (p. 325 and p. 392). Time Complexity under Nondeterminism Nondeterministic machine N decides L in time f(n), where f : N N, if N decides L, and for any x Σ, N does not have a computation path longer than f( x ). We charge only the depth of the computation tree. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 87 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 89 A Nondeterministic Algorithm for tsp (d) 1: for i = 1,2,...,n do 2: Guess x i {1,2,...,n}; {The ith city.} 3: end for 4: x n+1 := x 1 ; 5: {Verification stage:} 6: if x 1, x 2,...,x n are distinct and n i=1 d x i,x i+1 B then 7: yes ; 8: else 9: no ; 10: end if Time Complexity Classes under Nondeterminism NTIME(f(n)) is the set of languages decided by NTMs within time f(n). NTIME(f(n)) is a complexity class. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 88 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 90

NP Define NP = k>0ntime(n k ). Clearly P NP. Think of NP as efficiently verifiable problems. Boolean satisfiability (sat). tsp (d). Hamiltonian path. Graph colorability. The Proof (concluded) If some path leads to yes, then M enters the yes state. If none of the paths leads to yes, then M enters the no state. Corollary 6 NTIME(f(n))) c>1 TIME(cf(n) ). The most important open problem in computer science is whether P = NP. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 91 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 93 Simulating Nondeterministic TMs Theorem 5 Suppose language L is decided by an NTM N in time f(n). Then it is decided by a 3-string deterministic TM M in time O(c f(n) ), where c > 1 is some constant depending on N. On input x, M goes down every computation path of N using depth-first search (but M does not know f(n)). As M is time-bounded, the depth-first search will not run indefinitely. NTIME vs. TIME Does converting an NTM into a TM require exploring all the computation paths of the NTM as done in Theorem 5? This is the most important question in theory with practical implications. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 92 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 94

Nondeterministic Space Complexity Classes Let L be a language. Then L NSPACE(f(n)) if there is an NTM with input and output that decides L and operates within space bound f(n). NSPACE(f(n)) is a set of languages. As in the linear speedup theorem (Theorem 4 on p. 71), constant coefficients do not matter. The First Try in NSPACE(n log n) 1: x 1 := a; {Assume a b.} 2: for i = 2, 3,...,n do 3: Guess x i {v 1, v 2,...,v n }; {The ith node.} 4: end for 5: for i = 2, 3,...,n do 6: if (x i 1, x i ) E then 7: no ; 8: end if 9: if x i = b then 10: yes ; 11: end if 12: end for 13: no ; c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 95 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 97 Graph Reachability Let G(V, E) be a directed graph (digraph). reachability asks if, given nodes a and b, does G contain a path from a to b? Can be easily solved in polynomial time by breadth-first search. How about the nondeterministic space complexity? 1: x := a; In Fact reachability NSPACE(log n) 2: for i = 2, 3,...,n do 3: Guess y {2, 3,...,n}; {The next node.} 4: if (x, y) E then 5: no ; 6: end if 7: if y = b then 8: yes ; 9: end if 10: x := y; 11: end for 12: no ; c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 96 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 98

Space Analysis Variables i, x, and y each require O(log n) bits. Testing (x, y) E is accomplished by consulting the input string with counters of O(log n) bits long. Hence reachability NSPACE(log n). reachability with more than one terminal node also has the same complexity. It seemed unworthy of a grown man to spend his time on such trivialities, but what was I to do? Bertrand Russell (1872 1970), Autobiography, Vol. I reachability P (p. 185). c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 99 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 101 Infinite Sets Undecidability A set is countable if it is finite or if it can be put in one-one correspondence with N, the set of natural numbers. Set of integers Z. 0 0, 1 1, 2 3, 3 5,..., 1 2, 2 4, 3 6,.... Set of positive integers Z + : i 1 i. Set of odd integers: (i 1)/2 i. Set of rational numbers: See next page. Set of squared integers: i i. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 100 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 102

Rational Numbers Are Countable 1/1 1/2 1/3 1/4 1/5 1/6 Cardinality (concluded) 2/1 2/2 2/3 2/4 3/1 3/2 3/3 3/4 4/1 4/2 4/3 2/5 A B if there is a one-to-one correspondence between A and one of B s subsets. A < B if A B but A B. If A B, then A B. 5/1 5/2 But if A B, then A < B? 6/1 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 103 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 105 Cardinality For any set A, define A as A s cardinality (size). Two sets are said to have the same cardinality, written as A = B or A B, if there exists a one-to-one correspondence between their elements. 2 A denotes set A s power set, that is {B : B A}. If A = k, then 2 A = 2 k. So A < 2 A when A is finite. Cardinality and Infinite Sets If A and B are infinite sets, it is possible that A B yet A = B. The set of integers properly contains the set of odd integers. But the set of integers has the same cardinality as the set of odd integers (p. 102). A lot of paradoxes. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 104 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 106

Hilbert s a Paradox of the Grand Hotel For a hotel with a finite number of rooms with all the rooms occupied, a new guest will be turned away. Now let us imagine a hotel with an infinite number of rooms, and all the rooms are occupied. A new guest comes and asks for a room. But of course! exclaims the proprietor, and he moves the person previously occupying Room 1 into Room 2, the person from Room 2 into Room 3, and so on.... The new customer occupies Room 1. a David Hilbert (1862 1943). Galileo s a Paradox (1638) The squares of the positive integers can be placed in one-to-one correspondence with all the positive integers. This is contrary to the axiom of Euclid b that the whole is greater than any of its proper parts. Resolution of paradoxes: Pick the notion that results in better mathematics. The difference between a mathematical paradox and a contradiction is often a matter of opinion. a Galileo (1564 1642). b Euclid (325 B.C. 265 B.C.). c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 107 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 109 Hilbert s Paradox of the Grand Hotel (concluded) Let us imagine now a hotel with an infinite number of rooms, all taken up, and an infinite number of new guests who come in and ask for rooms. Certainly, gentlemen, says the proprietor, just wait a minute. He moves the occupant of Room 1 into Room 2, the occupant of Room 2 into Room 4, and so on. Now all odd-numbered rooms become free and the infinity of new guests can be accommodated in them. There are many rooms in my Father s house, and I am going to prepare a place for you. (John 14:3) Cantor s a Theorem Theorem 7 The set of all subsets of N (2 N ) is infinite and not countable. Suppose it is countable with f : N 2 N being a bijection. Consider the set B = {k N : k f(k)} N. Suppose B = f(n) for some n N. a Georg Cantor (1845 1918). According to Kac and Ulam, [If] one had to name a single person whose work has had the most decisive influence on the present spirit of mathematics, it would almost surely be Georg Cantor. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 108 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 110

The Proof (concluded) If n f(n), then n B, but then n B by B s definition. If n f(n), then n B, but then n B by B s definition. Hence B f(n) for any n. f is not a bijection, a contradiction. A Corollary of Cantor s Theorem Corollary 8 For any set T, finite or infinite, T < 2 T. The inequality holds in the finite A case. Assume A is infinite now. T 2 T : Consider f(x) = {x}. The strict inequality uses the same argument as Cantor s theorem. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 111 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 113 Cantor s Diagonalization Argument Illustrated f(1) f(2) f(3) f(4) f(5) f(6) B A Second Corollary of Cantor s Theorem Corollary 9 The set of all functions on N is not countable. Every function f : N {0, 1} determines a set And vice versa. {n : f(n) = 1} N. So the set of functions from N to {0, 1} has cardinality 2 N. Corollary 8 (p. 113) then implies the claim. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 112 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 114

Existence of Uncomputable Problems Every program is a finite sequence of 0s and 1s, thus a nonnegative integer. Hence every program corresponds to some integer. The set of programs is countable. A function is a mapping from integers to integers. The set of functions is not countable by Corollary 9 (p. 114). So there must exist functions for which there are no programs. The Halting Problem Undecidable problems are problems that have no algorithms or languages that are not recursive. We knew undecidable problems exist (p. 115). We now define a concrete undecidable problem, the halting problem: H = {M; x : M(x) }. Does M halt on input x? c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 115 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 117 Universal Turing Machine a A universal Turing machine U interprets the input as the description of a TM M concatenated with the description of an input to that machine, x. Both M and x are over the alphabet of U. U simulates M on x so that U(M; x) = M(x). U is like a modern computer, which executes any valid machine code, or a Java Virtual machine, which executes any valid bytecode. H Is Recursively Enumerable Use the universal TM U to simulate M on x. When M is about to halt, U enters a yes state. If M(x) diverges, so does U. This TM accepts H. Membership of x in any recursively enumerative language accepted by M can be answered by asking M; x H? a Turing (1936). c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 116 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 118

H Is Not Recursive Suppose there is a TM M H that decides H. Consider the program D(M) that calls M H : 1: if M H (M; M) = yes then 2: ; {Writing an infinite loop is easy, right?} 3: else 4: yes ; 5: end if Consider D(D): D(D) = M H (D; D) = yes D; D H D(D), a contradiction. Self-Loop Paradoxes Cantor s Paradox (1899): Let T be the set of all sets. Then 2 T T, but we know 2 T > T (p. 113)! Eubulides: The Cretan says, All Cretans are liars. Liar s Paradox: This sentence is false. Sharon Stone in The Specialist (1994): I m not a woman you can trust. D(D) = yes M H (D; D) = no D; D H D(D) =, a contradiction. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 119 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 121 Comments Two levels of interpretations of M: A sequence of 0s and 1s (data). An encoding of instructions (programs). There are no paradoxes. Concepts should be familiar to computer scientists. Supply a C compiler to a C compiler, a Lisp interpreter to a Lisp interpreter, etc. More Undecidability {M : M halts on all inputs}. Given M; x, we construct the following machine: M x (y) : if y = x then M(x) else halt. M x halts on all inputs if and only if M halts on x. So if the said language were recursive, H would be recursive, a contradiction. This technique is called reduction. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 120 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 122

More Undecidability (concluded) {M; x : there is a y such that M(x) = y}. {M; x : the computation M on input x uses all states of M}. {M; x; y : M(x) = y}. Complements of Recursive Languages Lemma 10 If L is recursive, then so is L. Let L be decided by M (which is deterministic). Swap the yes state and the no state of M. The new machine decides L. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 123 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 125 Reductions in Proving Undecidability Suppose we are asked to prove L is undecidable. Language H is known to be undecidable. We try to find a computable transformation (or reduction) R such that R(x) L if and only if x H. This suffices to prove that L is undecidable. Recursive and Recursively Enumerable Languages Lemma 11 L is recursive if and only if both L and L are recursively enumerable. Suppose both L and L are recursively enumerable, accepted by M and M, respectively. Simulate M and M in an interleaved fashion. If M accepts, then x L and M halts on state yes. If M accepts, then x L and M halts on state no. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 124 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 126

A Very Useful Corollary and Its Consequences Corollary 12 L is recursively enumerable but not recursive, then L is not recursively enumerable. Suppose L is recursively enumerable. Then both L and L are recursively enumerable. By Lemma 11 (p. 126), L is recursive, a contradiction. Corollary 13 H is not recursively enumerable. R, RE, and core (concluded) R = RE core (p. 126). There exist languages in RE but not in R and not in core. Such as H (p. 118 and p. 119). There are languages in core but not in RE. Such as H (p. 127). There are languages in neither RE nor core. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 127 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 129 R, RE, and core RE: The set of all recursively enumerable languages. core: The set of all languages whose complements are recursively enumerable (note that core is not RE). R: The set of all recursive languages. RE R core c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 128 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 130

Notations Suppose M is a TM accepting L. Write L(M) = L. In particular, if M(x) = for all x, then L(M) =. If M(x) is never yes nor (as required by the definition of acceptance), we let L(M) =. Consequences of Rice s Theorem Corollary 14 The following properties of recursively enumerative sets are undecidable. Emptiness. Finiteness. Regularity. Context-freedom. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 131 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 133 Nontrivial Properties of Sets in RE A property of a set accepted by a TM (a recursively enumerable set) is trivial if it is always true or false. Is a recursively enumerable set accepted by a TM? Always true. It can be defined by the set C of recursively enumerable sets that satisfy it. Boolean Logic The property is nontrivial if C RE and C. Up to now, all nontrivial properties of recursively enumerable sets are undecidable (pp. 122 123). In fact, Rice s theorem confirms that. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 132 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 134

Boolean Logic a Boolean variables: x 1, x 2,... Literals: x i, x i. Boolean connectives:,,. Boolean expressions: Boolean variables, φ (negation), φ 1 φ 2 (disjunction), φ 1 φ 2 (conjunction). n i=1 φ i stands for φ 1 φ 2 φ n. n i=1 φ i stands for φ 1 φ 2 φ n. Implications: φ 1 φ 2 is a shorthand for φ 1 φ 2. Biconditionals: φ 1 φ 2 is a shorthand for (φ 1 φ 2 ) (φ 2 φ 1 ). Satisfaction T = φ means boolean expression φ is true under T; in other words, T satisfies φ. φ 1 and φ 2 are equivalent, written φ 1 φ 2, if for any truth assignment T appropriate to both of them, T = φ 1 if and only if T = φ 2. Equivalently, T = (φ 1 φ 2 ). a Boole (1815 1864) in 1847. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 135 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 137 Truth Assignments A truth assignment T is a mapping from boolean variables to truth values true and false. A truth assignment is appropriate to boolean expression φ if it defines the truth value for every variable in φ. {x 1 = true, x 2 = false} is appropriate to x 1 x 2. Truth Tables Suppose φ has n boolean variables. A truth table contains 2 n rows, one for each possible truth assignment of the n variables together with the truth value of φ under that truth assignment. A truth table can be used to prove if two boolean expressions are equivalent. Check if they give identical truth values under all 2 n truth assignments. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 136 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 138

Conjunctive Normal Forms A Truth Table p q p q 0 0 0 0 1 0 1 0 0 1 1 1 A boolean expression φ is in conjunctive normal form (CNF) if n φ = C i, i=1 where each clause C i is the disjunction of one or more literals. For example, (x 1 x 2 ) (x 1 x 2 ) (x 2 x 3 ) is in CNF. Convention: An empty CNF is satisfiable, but a CNF containing an empty clause is not. c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 139 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 141 De Morgan s a Laws De Morgan s laws say that (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2. Here is a proof for the first law: φ 1 φ 2 (φ 1 φ 2 ) φ 1 φ 2 0 0 1 1 0 1 1 1 Disjunctive Normal Forms A boolean expression φ is in disjunctive normal form (DNF) if n φ = D i, i=1 where each implicant D i is the conjunction of one or more literals. For example, 1 0 1 1 1 1 0 0 a Augustus DeMorgan (1806 1871). is in DNF. (x 1 x 2 ) (x 1 x 2 ) (x 2 x 3 ) c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 140 c 2004 Prof. Yuh-Dauh Lyuu, National Taiwan University Page 142