30
Discrete Mathematics CS 285

Discrete Mathematics CS 285

Embed Size (px)

DESCRIPTION

Discrete Mathematics CS 285. Quick Overview. The conceptual center of computer science is the ALGORITHM. Quick Overview. Discrete Math helps provide… … the machinery necessary for creating sophisticated algorithms … the tools for analyzing their efficiency - PowerPoint PPT Presentation

Citation preview

Page 1: Discrete Mathematics  CS 285

Discrete Mathematics CS 285

Page 2: Discrete Mathematics  CS 285

Lecture 1 2

Quick Overview

The conceptual center of computer science is the ALGORITHM.

Page 3: Discrete Mathematics  CS 285

Lecture 1 3

Quick OverviewDiscrete Math helps provide…

…the machinery necessary for creating sophisticated algorithms…the tools for analyzing their efficiency…the means of proving their validity

Page 4: Discrete Mathematics  CS 285

Lecture 1 4

Quick Overview - Topics

Logic and Sets Make notions you’re already used to from

programming a little more rigorous (operators)

Fundamental to all mathematical disciplines Useful for digital circuits, hardware design

Elementary Number Theory Get to rediscover the old reliable number and

find out some surprising facts Very useful in crypto-systems

Page 5: Discrete Mathematics  CS 285

Lecture 1 5

Quick Overview - Topics

Proofs (especially induction) If you want to debug a program beyond a

doubt, prove that it’s bug-free Proof-theory has recently also been shown

to be useful in discovering bugs in pre-production hardware

Counting and Combinatorics Compute your odds of winning lottery Important for predicting how long certain

computer program will take to finish Useful in designing algorithms

Page 6: Discrete Mathematics  CS 285

Lecture 1 6

Quick Overview - Topics

Graph Theory Many clever data-structures for organizing

information and making programs highly efficient are based on graph theory

Very useful in describing problems in Databases Operating Systems Networks EVERY CS DISCIPLINE!!!!

Page 7: Discrete Mathematics  CS 285

Lecture 1 7

Section 1.1: Logic

Axiomatic concepts in math:EqualsOppositeTruth and falsehoodStatementObjectsCollections

Page 8: Discrete Mathematics  CS 285

Lecture 1 8

Section 1.1: Logic

We intuitively know that Truth and Falsehood are opposites. That statements describe the world and can be true/false. That the world is made up of objects and that objects can be organized to form collections.

The foundations of logic mimic our intuitions by setting down constructs that behave analogously.

Page 9: Discrete Mathematics  CS 285

Lecture 1 9

False, True, Statements

Axiom: False is the opposite to Truth.A statement is a description of

something. Examples of statements:

I’m 31 years old. I have 17 children. I always tell the truth.

Q’s: Which statements are True? False? Both?

Page 10: Discrete Mathematics  CS 285

Lecture 1 10

False, True, Statements

True: I’m 31 years old.False: I have 17 children.

I always tell the truth.Both: IMPOSSIBLE, by our Axiom.

Page 11: Discrete Mathematics  CS 285

Lecture 1 11

PropositionsTo avoid painful head-aches, we ban

such silly non-sense and avoid the most general type of statements limiting ourselves to statements with valid truth-values instead:

DEF: A proposition is a statement that is true or false.

Page 12: Discrete Mathematics  CS 285

Lecture 1 12

Compound Propositions

In Propositional Logic, we assume a collection of atomic propositions are given: p, q, r, s, t, ….

Then we form compound propositions by using logical connectives (logical operators) .

Page 13: Discrete Mathematics  CS 285

Lecture 1 13

Logical ConnectivesOperator Symb

olUsage

Negation not

Conjunction

and

Disjunction or

Exclusive or

xor

Conditional

if,then

Biconditional

iff

Page 14: Discrete Mathematics  CS 285

Lecture 1 14

Compound Propositions: Examples

p = “Cruise ships only go on big rivers.”q = “Cruise ships go on the Hudson.”r = “The Hudson is a big river.”

r = “The Hudson is not a big river.”

pq = “Cruise ships only go on big rivers and go on the Hudson.”

pq r = “If cruise ships only go on big rivers and go on the Hudson, then the Hudson is a big river.”

Page 15: Discrete Mathematics  CS 285

Lecture 1 15

Negation

This just turns a false proposition to true and the opposite for a true proposition.

EG: p : “23 = 15 +7”p happens to be false, so p is true.

Page 16: Discrete Mathematics  CS 285

Lecture 1 16

Negation – truth table

Logical operators are defined by truth tables –tables which give the output of the operator in the right-most column.

Here is the truth table for negation:p p

FT

TF

Page 17: Discrete Mathematics  CS 285

Lecture 1 17

Conjunction

Conjunction is a binary operator in that it operates on two propositions when creating compound proposition. On the other hand, negation is a unary operator (the only non-trivial one possible).

Page 18: Discrete Mathematics  CS 285

Lecture 1 18

Conjunction

Conjunction is supposed to encapsulate what happens when we use the word “and” in English. I.e., for “p and q ” to be true, it must be the case that BOTH p is true, as well as q. If one of these is false, than the compound statement is false as well.

Page 19: Discrete Mathematics  CS 285

Lecture 1 19

Conjunction

EG. p = “Riyadh is the capital of Saudi.” q = “Saudi is a cold Country.” r = “The meaning of is is important.”

Assuming p and r are true, while q false.

Out of pq, pr, qr only pr is true.

Page 20: Discrete Mathematics  CS 285

Lecture 1 20

Conjunction – truth table

p q pqTTFF

TFTF

TFFF

Page 21: Discrete Mathematics  CS 285

Lecture 1 21

Disjunction – truth table

Conversely, disjunction is true when at least one of the components is true:

p q pqTTFF

TFTF

TTTF

Page 22: Discrete Mathematics  CS 285

Lecture 1 22

Exclusive-Or – truth table

p q p q

TTFF

TFTF

FTTF

Page 23: Discrete Mathematics  CS 285

Lecture 1 23

Conditional (Implication)

This one is probably the least intuitive. It’s only partly akin to the English usage of “if,then” or “implies”.

DEF: p q is true if q is true, or if p is false. In the final case (p is true while q is false) p q is false.

Semantics: “p implies q ” is true if one can mathematically derive q from p.

Page 24: Discrete Mathematics  CS 285

Lecture 1 24

Conditional -- truth table (*)

p q p q

TTFF

TFTF

TFTT

Page 25: Discrete Mathematics  CS 285

Lecture 1 25

Bi-Conditional -- truth table

p q p q

TTFF

TFTF

TFFT

For p q to be true, p and q must have

the same truth value. Else, p q is false:

Q : Which operator is the opposite of?

Page 26: Discrete Mathematics  CS 285

Lecture 1 26

Bi-Conditional

A : has exactly the opposite truth table

as .

Page 27: Discrete Mathematics  CS 285

Lecture 1 27

Bit Strings

Electronic computers achieve their calculations inside semiconducting materials. For reliability, only two stable voltage states are used and so the most fundamental operations are carried out by switching voltages between these two stable states.

In logic, only two truth values are allowed. Thus propositional logic is ideal for modeling computers. High voltage values are modeled by True, which for brevity we call the number 1, while low voltage values are modeled by False or 0.

Page 28: Discrete Mathematics  CS 285

Lecture 1 28

Bit Strings

Thus voltage memory stored in a computer can be represented by a sequence of 0’s and 1’s such as

01 1011 0010 1001Another portion of the memory might look

like10 0010 1111 1001

Each of the number in the sequence is called a bit, and the whole sequence of bits is called a bit string.

Page 29: Discrete Mathematics  CS 285

Lecture 1 29

Bit Strings

It turns out that the analogs of the logical operations can be carried out quite easily inside the computer, one bit at a time. This can then be transferred to whole bit strings. For example, the exclusive-or of the previous bit strings is:

01 1011 0010 1001

10 0010 1111 1001 11 1001 1101 0000

Page 30: Discrete Mathematics  CS 285

Lecture 1 30

Blackboard Exercises for 1.11. q = “You miss the final exam.”

r = “You pass the course.” Express q r in English.

2. Construct a truth table for p q.