Title: DISCRETE COMPUTATIONAL STRUCTURES
1DISCRETE COMPUTATIONAL STRUCTURES
- CSE 2353
- Material for Second Test
- Spring 2006
2CSE 2353 OUTLINE
- Sets
- Logic
- Proof Techniques
- Integers and Inductions
- Relations and Posets
- Functions
- Counting Principles
- Boolean Algebra
3Proof Technique Learning Objectives
- Learn various proof techniques
- Direct
- Indirect
- Contradiction
- Induction
- Practice writing proofs
- CS Why study proof techniques?
4Proof Techniques
- Theorem
- Statement that can be shown to be true (under
certain conditions) - Typically Stated in one of three ways
- As Facts
- As Implications
- As Biimplications
5Proof Techniques
- Direct Proof or Proof by Direct Method
- Proof of those theorems that can be expressed in
the form ?x (P(x) ? Q(x)), D is the domain of
discourse - Select a particular, but arbitrarily chosen,
member a of the domain D - Show that the statement P(a) ? Q(a) is true.
(Assume that P(a) is true - Show that Q(a) is true
- By the rule of Universal Generalization (UG),
- ?x (P(x) ? Q(x)) is true
6Proof Techniques
- Indirect Proof
- The implication p ? q is equivalent to the
implication (q ? p) - Therefore, in order to show that p ? q is true,
one can also show that the implication
(q ? p) is true - To show that (q ? p) is true, assume that the
negation of q is true and prove that the negation
of p is true
7Proof Techniques
- Proof by Contradiction
- Assume that the conclusion is not true and then
arrive at a contradiction - Example Prove that there are infinitely many
prime numbers - Proof
- Assume there are not infinitely many prime
numbers, therefore they are listable, i.e.
p1,p2,,pn - Consider the number q p1p2pn1. q is not
divisible by any of the listed primes - Therefore, q is a prime. However, it was not
listed. - Contradiction! Therefore, there are infinitely
many primes
8Proof Techniques
- Proof of Biimplications
- To prove a theorem of the form ?x (P(x) ? Q(x )),
where D is the domain of the discourse, consider
an arbitrary but fixed element a from D. For this
a, prove that the biimplication P(a) ? Q(a) is
true - The biimplication p ? q is equivalent to
(p ? q) ? (q ? p) - Prove that the implications p ? q and q ? p are
true - Assume that p is true and show that q is true
- Assume that q is true and show that p is true
9Proof Techniques
- Proof of Equivalent Statements
- Consider the theorem that says that statements
p,q and r are equivalent - Show that p ? q, q ? r and r ? p
- Assume p and prove q. Then assume q and prove r
Finally, assume r and prove p - Or, prove that p if and only if q, and then q if
and only if r - Other methods are possible
10Other Proof Techniques
- Vacuous
- Trivial
- Contrapositive
- Counter Example
- Divide into Cases
11Proof Basics
- You can not prove by example
12Proofs in Computer Science
- Proof of program correctness
- Proofs are used to verify approaches
13CSE 2353 OUTLINE
- Sets
- Logic
- Proof Techniques
- Integers and Induction
- Relations and Posets
- Functions
- Counting Principles
- Boolean Algebra
14Learning Objectives
- Learn about the basic properties of integers
- Explore how addition and subtraction operations
are performed on binary numbers - Learn how the principle of mathematical induction
is used to solve problems - CS
- Become aware how integers are represented in
computer memory - Looping
15Integers
16Integers
17Integers
18Integers
19Integers
- The div and mod operators
- div
- a div b the quotient of a and b obtained by
dividing a on b. - Examples
- 8 div 5 1
- 13 div 3 4
- mod
- a mod b the remainder of a and b obtained by
dividing a on b - 8 mod 5 3
- 13 mod 3 1
20Integers
21Integers
22Integers
23Integers
24Integers
25Representation of Integers in Computer
- Electrical signals are used inside the computer
to process information - Two types of signals
- Analog
- Continuous wave forms used to represent such
things as sound - Examples audio tapes, older television signals,
etc. - Digital
- Represent information with a sequence of 0s and
1s - Examples compact discs, newer digital HDTV
signals
26Representation of Integers in Computers
- Digital Signals
- 0s and 1s 0s represent low voltage, 1s high
voltage - Digital signals are more reliable carriers of
information than analog signals - Can be copied from one device to another with
exact precision - Machine language is a sequence of 0s and 1s
- The digit 0 or 1 is called a binary digit , or
bit - A sequence of 0s and 1s is sometimes referred to
as binary code
27Representation of Integers in Computers
- Decimal System or Base-10
- The digits that are used to represent numbers in
base 10 are 0,1,2,3,4,5,6,7,8, and 9 - Binary System or Base-2
- Computer memory stores numbers in machine
language, i.e., as a sequence of 0s and 1s - Octal System or Base-8
- Digits that are used to represent numbers in base
8 are 0,1,2,3,4,5,6, and 7 - Hexadecimal System or Base-16
- Digits and letters that are used to represent
numbers in base 16 are 0,1,2,3,4,5,6,7,8,9,A ,B
,C ,D ,E , and F
28Representation of Integers in Computers
29Representation of Integers in Computers
- Twos Complements and Operations on Binary
Numbers - In computer memory, integers are represented as
binary numbers in fixed-length bit strings, such
as 8, 16, 32 and 64 - Assume that integers are represented as 8-bit
fixed-length strings - Sign bit is the MSB (Most Significant Bit)
- Leftmost bit (MSB) 0, number is positive
- Leftmost bit (MSB) 1, number is negative
30Representation of Integers in Computers
31Representation of Integers in Computers
- Ones Complements and Operations on Binary
Numbers
32Representation of Integers in Computers
33Mathematical Deduction
34Mathematical Deduction
- Proof of a mathematical statement by the
principle of mathematical induction consists of
three steps
35Mathematical Deduction
- Assume that when a domino is knocked over, the
next domino is knocked over by it - Show that if the first domino is knocked over,
then all the dominoes will be knocked over
36Mathematical Deduction
- Let P(n) denote the statement that then nth
domino is knocked over - Show that P(1) is true
- Assume some P(k) is true, i.e. the kth domino is
knocked over for some - Prove that P(k1) is true, i.e.
37Mathematical Deduction
- Assume that when a staircase is climbed, the next
staircase is also climbed - Show that if the first staircase is climbed then
all staircases can be climbed - Let P(n) denote the statement that then nth
staircase is climbed - It is given that the first staircase is climbed,
so P(1) is true
38Mathematical Deduction
- Suppose some P(k) is true, i.e. the kth staircase
is climbed for some - By the assumption, because the kth staircase was
climbed, the k1st staircase was climbed - Therefore, P(k) is true, so
-
39Mathematical Deduction
40Mathematical Deduction
- We can associate a predicate, P(n). The predicate
P(n) is such that
41Prime Numbers
42Prime Numbers
43Prime Numbers
Example Consider the integer 131. Observe that 2
does not divide 131. We now find all odd primes p
such that p2 ? 131. These primes are 3, 5, 7, and
11. Now none of 3, 5, 7, and 11 divides 131.
Hence, 131 is a prime.
44Prime Numbers
45Prime Numbers
- Factoring a Positive Integer
- The standard factorization of n
46Prime Numbers
47Prime Numbers
48CSE 2353 OUTLINE
- Sets
- Logic
- Proof Techniques
- Integers and Induction
- Relations and Posets
- Functions
- Counting Principles
- Boolean Algebra
49Learning Objectives
- Learn about relations and their basic properties
- Explore equivalence relations
- Become aware of closures
- Learn about posets
- Explore how relations are used in the design of
relational databases
50Relations
- Relations are a natural way to associate objects
of various sets
51Relations
- R can be described in
- Roster form
- Set-builder form
52Relations
- Arrow Diagram
- Write the elements of A in one column
- Write the elements B in another column
- Draw an arrow from an element, a, of A to an
element, b, of B, if (a ,b) ? R - Here, A 2,3,5 and B 7,10,12,30 and R
from A into B is defined as follows For all a ?
A and b ? B, a R b if and only if a divides b - The symbol ? (called an arrow) represents the
relation R
53Relations
54Relations
- Directed Graph
- Let R be a relation on a finite set A
- Describe R pictorially as follows
- For each element of A , draw a small or big dot
and label the dot by the corresponding element of
A - Draw an arrow from a dot labeled a , to another
dot labeled, b , if a R b . - Resulting pictorial representation of R is called
the directed graph representation of the relation
R
55Relations
56Relations
- Directed graph (Digraph) representation of R
- Each dot is called a vertex
- If a vertex is labeled, a, then it is also called
vertex a - An arc from a vertex labeled a, to another
vertex, b is called a directed edge, or directed
arc from a to b - The ordered pair (A , R) a directed graph, or
digraph, of the relation R, where each element of
A is a called a vertex of the digraph
57Relations
- Directed graph (Digraph) representation of R
(Continued) - For vertices a and b , if a R b, a is adjacent to
b and b is adjacent from a - Because (a, a) ? R, an arc from a to a is drawn
because (a, b) ? R, an arc is drawn from a to b.
Similarly, arcs are drawn from b to b, b to c , b
to a, b to d, and c to d - For an element a ? A such that (a, a) ? R, a
directed edge is drawn from a to a. Such a
directed edge is called a loop at vertex a -
58Relations
- Directed graph (Digraph) representation of R
(Continued) - Position of each vertex is not important
- In the digraph of a relation R, there is a
directed edge or arc from a vertex a to a vertex
b if and only if a R b - Let A a ,b ,c ,d and let R be the relation
defined by the following set - R (a ,a ), (a ,b ), (b ,b ), (b ,c ), (b
,a ), (b ,d ), (c ,d ) -
59Relations
- Domain and Range of the Relation
- Let R be a relation from a set A into a set B.
Then R ? A x B. The elements of the relation R
tell which element of A is R-related to which
element of B
60Relations
61Relations
62Relations
63Relations
- Let A 1, 2, 3, 4 and B p, q, r. Let R
(1, q), (2, r ), (3, q), (4, p). Then R-1
(q, 1), (r , 2), (q, 3), (p, 4) - To find R-1, just reverse the directions of the
arrows - D(R) 1, 2, 3, 4 Im(R-1), Im(R) p, q, r
D(R-1)
64Relations
65Relations
- Constructing New Relations from Existing
Relations
66Relations
- Example
- Consider the relations R and S as given in Figure
3.7. - The composition S ? R is given by Figure 3.8.
67Relations
68Relations
69Relations
70Relations
71Relations
72Relations
73Relations
74Relations
75Relations
76Relations
77Relations
78Relations
79Relations
80Partially Ordered Sets
81Partially Ordered Sets
82Partially Ordered Sets
83Partially Ordered Sets
84Partially Ordered Sets
- Hasse Diagram
- Let S 1, 2, 3. Then P(S) ?, 1, 2, 3,
1, 2, 2, 3, 1, 3, S - Now (P(S),) is a poset, where denotes the set
inclusion relation. The poset diagram of (P(S),)
is shown in Figure 3.22
85Partially Ordered Sets
86Partially Ordered Sets
- Hasse Diagram
- Let S 1, 2, 3. Then P(S) ?, 1, 2, 3,
1, 2, 2, 3, 1, 3, S - (P(S),) is a poset, where denotes the set
inclusion relation - Draw the digraph of this inclusion relation (see
Figure 3.23). Place the vertex A above vertex B
if B ? A. Now follow steps (2), (3), and (4)
87Partially Ordered Sets
88Partially Ordered Sets
- Hasse Diagram
- Consider the poset (S,), where S 2, 4, 5, 10,
15, 20 and the partial order is the
divisibility relation - In this poset, there is no element b ? S such
that b ? 5 and b divides 5. (That is, 5 is not
divisible by any other element of S except 5).
Hence, 5 is a minimal element. Similarly, 2 is a
minimal element
89Partially Ordered Sets
- Hasse Diagram
- 10 is not a minimal element because 2 ? S and 2
divides 10. That is, there exists an element b ?
S such that b lt 10. Similarly, 4, 15, and 20 are
not minimal elements - 2 and 5 are the only minimal elements of this
poset. Notice that 2 does not divide 5.
Therefore, it is not true that 2 b, for all b ?
S, and so 2 is not a least element in (S,).
Similarly, 5 is not a least element. This poset
has no least element
90Partially Ordered Sets
Figure 3.24
- Hasse Diagram
- There is no element b ? S such that b ?15, b gt
15, and 15 divides b. That is, there is no
element b ? S such that 15 lt b. Thus, 15 is a
maximal element. Similarly, 20 is a maximal
element. - 10 is not a maximal element because 20 ? S and 10
divides 20. That is, there exists an element b ?
S such that 10 lt b. Similarly, 4 is not a maximal
element.
91Partially Ordered Sets
Figure 3.24
- Hasse Diagram
- 20 and 15 are the only maximal elements of this
poset - 10 does not divide 15, hence it is not true that
b 15, for all b ? S, and so 15 is not a
greatest element in (S,) - This poset has no greatest element
92Partially Ordered Sets
93Partially Ordered Sets
94Partially Ordered Sets
95Partially Ordered Sets
96Partially Ordered Sets
97Partially Ordered Sets
98Partially Ordered Sets
99Partially Ordered Sets
100Application Relational Database
- A database is a shared and integrated computer
structure that stores - End-user data i.e., raw facts that are of
interest to the end user - Metadata, i.e., data about data through which
data are integrated - A database can be thought of as a well-organized
electronic file cabinet whose contents are
managed by software known as a database
management system that is, a collection of
programs to manage the data and control the
accessibility of the data
101Application Relational Database
- In a relational database system, tables are
considered as relations - A table is an n-ary relation, where n is the
number of columns in the tables - The headings of the columns of a table are called
attributes, or fields, and each row is called a
record - The domain of a field is the set of all
(possible) elements in that column
102Application Relational Database
- Each entry in the ID column uniquely identifies
the row containing that ID - Such a field is called a primary key
- Sometimes, a primary key may consist of more than
one field
103Application Relational Database
- Structured Query Language (SQL)
- Information from a database is retrieved via a
query, which is a request to the database for
some information - A relational database management system provides
a standard language, called structured query
language (SQL) - A relational database management system provides
a standard language, called structured query
language (SQL)
104Application Relational Database
- Structured Query Language (SQL)
- An SQL contains commands to create tables, insert
data into tables, update tables, delete tables,
etc. - Once the tables are created, commands can be used
to manipulate data into those tables. - The most commonly used command for this purpose
is the select command. The select command allows
the user to do the following - Specify what information is to be retrieved and
from which tables. - Specify conditions to retrieve the data in a
specific form. - Specify how the retrieved data are to be
displayed.