Download presentation
Presentation is loading. Please wait.
Published byDiane Clark Modified over 9 years ago
1
Introduction Chapter 0
2
Three Central Areas 1.Automata 2.Computability 3.Complexity
3
Complexity Theory Central Question: What makes some problems computationally hard and other easy? – Sorting (easy) – Computers can easily sort a billion items in seconds. – Scheduling (hard) – With real constraints scheduling a thousand courses to avoid room and instructor conflicts can take years of computation. Cryptography (secret encryption) depends on the existence of sufficiently hard problems.
4
Computability Based on the work of Kurt Gödel, Alan Turing, and Alonzo Church. Some very basic problems cannot be solved by computers. – Example: Determining if a mathematical statement is true or false. Instead of hard vs. easy, Computability centers on solvable vs. unsolvable problems.
5
Automata Theory We construct a simple, formal and precise model of a computer. – The precision and formality allow us to prove the computability of problems Three types of computer machines 1.Finite Automata 2.Pushdown Automata 3.Turing Machine
6
Sets {7, 57, 7, 7, 21, 7} = {21, 7, 57} Order does not matter Repetition is not a factor
7
Infinite Sets
8
Subsets
9
Set Descriptions
10
Set Operations
11
Venn Diagrams
14
What would A-B look like? A B
15
Sequences (Tuples) Order and repetition matter (7, 21, 57) different than (57, 21, 7) (4,3) ordered pair, whereas {4,3} set of size 2 (11, 21, 3, 24, 57) is a 5-tuple
17
Functions (Relations)
18
Domain & Range
19
Example
20
Binary Function (two inputs) g(x,y) = z where x, y and z are in {0,1,2,3}
21
Predicate function whose range is {True, False} Example: f(a,b) = a Beats b f(scissors,paper) = scissors Beats paper = TRUE
22
Binary Relation Predicate whose domain is a set of ordered pairs P: A x A {True False} Example: A = {paper, stone, scissors} (scissors, stone) False (stone, scissors) True Predicates can be described as sets S= { (scissors,stone), (paper, stone), (stone, scissors) }
23
Equivalence Relation Binary Relation that is 1.Reflexive: f(x,x) is always true 2.Symmetric: if f(x,y) is true then f(y,x) is true 3.Transitive: if f(x,y) and f(y,z) are both true then f(x,z) is true.
24
Example f(a,b) = a Beat b; Not reflexive: f(paper,paper) = false Not symmetric: f(paper, stone) = true, but f(stone, paper) = false Not transitive: f(paper, stone) and f(stone, scissors) is true, but f(paper, scissors) is false
25
Example f(a, b) true if a <= b, otherwise false f(a, b) a <= b R = {(a,b) | a <= b} Always reflexive: (a,a) is always true for all a’s Not always symmetric: If (a,b) is true then (b,a) might be false. Always transitive: (a,b) and (b,c) imply (a,c)
26
Question Is this an equivalence relation (i.e., reflexive, symmetric, and transitive)? f(a,b) a != 1 AND b != 1 R = {(a,b) | a != 1 AND b != 1}
27
Equivalence Relations f: S x S {True, False} S = {s 1, s 2, s 3, s 4, s 5 } fs1s1 s2s2 s3s3 s4s4 s5s5 s1s1 True s2s2 s3s3 s4s4 s5s5
28
Equivalence Relations & Automata We are interested in functions that can separate a set of items into disjoint classes. {{s 1, s 2 }, {s 3, s 4, s 5 }} In automata theory, the items will be languages. The functions will be automata and Turing machines The classes will be – Regular languages – Context-free languages – Context-sensitive languages
29
Equivalence & Automata Theory The theoretical “heart” of computation Inputs, outputs and algorithms can all be encoded as strings of a language Solving problems can be reduced to defining languages (set of strings) that correspond to correct solutions to a problem. Then, solving a problem reduces to creating an automata that can recognize if a string is in a particular language – i.e., is a string a solution to the encoded problem?
30
Graph Theory Terminology: Nodes/vertices Edges Degree Self-loop Directed vs. Undirected Graphs Labeled Graph Subgraph
31
Graph Theory Paths, cycles, trees Outdegree, Indegree Directed path Strongly connected
32
Meaningful graphs Directed graphs can show relations
33
Equivalence Relations as Graphs Example to be drawn
34
Strings & Languages Defining alphabets (symbol domain)
35
String terminology Length w = abc, |w| = 3 Empty string ɛ Reverse w = abc, w R = cba Substrings of w = {ɛ, a, b, c, ab, bc, abc} – ba, cb, ca, cba, and ac are not substrings of w, but they are subsets if w were considered a set – ac is not a substring, but it is subsequence (confusing) Lexicographic order {ɛ, 0, 1, 00, 01, 10, 11, 000, … }
36
Language A language is a set of strings Languages can be explicitly described Animals = {cat, dog, cow, …} {w | a n, n > 1} = {a, aa, aaa, aaaa, … } Languages can also be described using – grammar rules and – automata that can recognize strings in the language.
37
Boolean Logic Review on your own, but
38
Boolean Logic
39
Proof by Construction State your claim. Be very specific and describe an object you claim exists Construct the object. Show details and describe parameters Conclusion. Restate your goal in constructing the object.
40
Example
41
Proof By Contradiction Assume that the theorem is false – Even though you know it to be true Show that this assumption leads to a contradiction with something that has already been proven true
42
Example Prove that First, assume that it is rational, i.e., Where m and n are integers Also, m/n is reduced, so one of them has to be even.
43
Example Prove that Do some algebra We know that m must be even. Why?
44
Example Prove that We know that n must be even. Why? Thus, m and n are even. Why is this a contradiction?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.