- 122 Views
- Uploaded on
- Presentation posted in: General

Discrete Mathematics and applications Autumn 2010

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

- Tôi là
- Moshe Rosenfeld
- Tôi sinh ra ở Israel
- Tôi đã học toán học tại Đại học Hebrew ở Jerusalem
- Tôi đến từ trường Đại học Washington
- Tôi không biết nói tiếng Việt

1

2

4

7

11

22

29

37

??

16

37 + 9 = 46

2

2

3

5

5

7

11

11

11

7

??

11

Both slides show numbers and patterns.

Did you see the pattern?

Can you tell which number will be in location number 1000? 2,000,000?

Mathematics is the Study of Numbers, Shapes and Patterns

- A statement which is either TRUE or FALSE is called a Proposition.
- Examples:
- Today is Wednesday (T)
- Vietnam won the World Soccer title. (F)
- When is my birthday?
- The barber of Seville shaves all persons who do not shave themselves.

- 7x = 28
- Every even integer > 2 is the sum of two prime numbers.
- Every even integer > 6 is the sum of two distinct prime numbers.
- If today is Tuesday then tomorrow is Friday.
- This statement is false!

- We shall treat propositions as mathematical objects and introduce unary and binary operations on them.
- We shall denote propositions by single letters like, p, q etc.
- Every proposition can have one of two values: T(true) or F(alse).

- Negation (a unary operation). p : p

p = “it is hot today” then p = “it is not hot today”

- Each binary operation is governed by a “truth table:”

- 1. p q (“and”)
- 2. p q (“or”)

- There are 12 possible non-trivial truth tables for binary operations.
- p q (“implies”, false only when p = T and q = F).
- p q (Biconditional; “if and only if” True only when both are equal).
- pq (“xor”, exclusive or, True when exactly one proposition is True).
- Most programming languages provide three logical operations: not, and, or

- A compound propositionis formed from existing propositions using logical operators.
- For example: (p hq v p) (h p) is a compound proposition.
- Truth tables can be used to evaluate the values of compound propositions.
- Two propositions are equivalent if they have identical truth tables.
- Notation: b a

- A compound proposition of the form:
(p vq vw v u …) is called a disjunction.

- A compound proposition of the form:
(p q w u…) is called a conjunction.

- Theorem: every compound proposition is equivalent to a disjunction of conjunctions.
- Theorem: every compound proposition is equivalent to a conjunction of disjunctions also known as CNF (conjunctive normal form).

- Trung, Hoa and Tuan had same Phở for lunch at the same restaurant. They asked Ha to guess where they ate and what kind of Phở they had. To challenge Ha they decided that each will tell Ha two things and that at least one of the things they tell will be true.
- Trung: “We ate Phở bò tái at Phở -24”
- Hoa: “We ate Phở ga at Tranh Brothers.”
- Tuan: “We ate at Cha Ca but definitely not Phở bò tái “
What did they eat and where?

- We introduce five propositions:
- A : ate Phở bò tái
- B: ate at Phở -24
- C: ate Phở ga
- D: ate at Tranh brothers
- E: ate at Cha Ca.

- This means that:
(A v B) (C v D) ( A V E) = T

- OR:
- AC( A ) v ACE v AD( A ) v ADE
v BC( A ) v BCE v BD( A ) v BDE = T

The only possible true statement is:

BC( A )

A a logic problem:

From K. Rosen's book.

Five friends have access to a chat room. Is it possible to determine who is chatting if the following information is known?

1. Either Kevin or Heather or both, are chatting.

2. Either Randy or Vijay, but not both are chatting.

3. If Abby is chatting, so is Randy.

4. Vijay and Kevin are either both chatting or neither are chatting.

5. If Heather is chatting, then so are Abby and Kevin.

Ans. Create five propositions:

A : Abbey is chatting.

H : Heather is chatting

R : Randy is chatting

V : Vijay is chatting

K : Kevin is chatting

We can now build a compound statement based on the given data:

(H or K) and (xor(R,V) and implies(A,R) and (not (xor(K,V)) and

(implies(H, (A and K)) = T

Can we write a computer program

to solve this puzzle?

Can we write a computer program

to solve this puzzle?

for H in [true, false]:

for K in [true, false]:

- for R in [true, false]:
- for V in [true, false]:
- for A in [true, false]:
if ((H or K) and (xor(R,V) and implies(A,R)

and (not (xor(K,V)) and

(implies(H, (A and K)) == T):

print(`Heather is chatting: `,H, `\nAbbey is chatting: `, A,

`\nKevin is chatting: `,K,`\nRandy is chatting: `,R,

`\nVijay is chatting: `,V );

- for A in [true, false]:

- for V in [true, false]:

Heather is chatting: false

Abbey is chatting: false

Kevin is chatting: true

Randy is chatting: false

Vijay is chatting: true

- A compound proposition which is always TRUE is called a Tautology:
Example:p p

2. A compound statement which is always FALSE is called a Contradiction

Example:p p

Show that the implication [p(pq)] q is a tautology.

Ans. Need to show that the compound statement is always TRUE.

p q(p q)p(pq)p(pq) q

Show that: (p q) r and p(qr) are not equivalent.

It is common to refer to variables associated with propositions as Boolean.

It is also a common practice to use the “+” sign for “or”, the “.” for “and” and the

(over-strike) for “not”

For example: (p q) (p r)will be written as: (p + q).(p + q)

Truth tables can be used to check the validity of arguments.

Mathematical proofs are a sequence of propositions: p1 p2 ...p2n | q

Where each p2i is either a premise (given true proposition) or an inference and q is the conclusion. The rules are broken down as shown in the table:

We observed that every truth table can be constructed using only “not”, “and”, and “or” operators.

- Definition: a set of operators that can construct every truth table is called functionally complete.
- “not”, “and”, and “or” is a functionally complete set.
- Claim: “not” and “and” are functionally complete.

- The electronic building elements of the unary and binary logic operators are called logic gates.
- Every truth table can be electronically implemented.

Logic gate symbols

Theoretically and physically there are more gates.

Truth tables of logic gates

- The NAND gate is the cheapest to build.
- Claim: The NAND gate is functionally complete.
- Proof:
- Exercise (in class): prove that the NOR gate is functionally complete.

- An example of combining multiple gates:

A fundamental problem in both mathematics and computer science is:

Given a compound proposition is there an efficient way to decide whether it is satisfiable?

A “simpler” looking problem but actually equivalent is:

Is there an efficient way to decide whether a given 3-SAT instance is satisfiable?

The logic gates were the bridge that enabled us to explore the many applications provided by computers.

Walther Bothe invented the first modern electronic AND gate. He received the Nobel prize in physics in 1954.

Further interesting information can be found at:

http://en.wikipedia.org/wiki/Logic_gate#Symbols