Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity.

Similar presentations


Presentation on theme: "Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity."— Presentation transcript:

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

12

13

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

16

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?


Download ppt "Introduction Chapter 0. Three Central Areas 1.Automata 2.Computability 3.Complexity."

Similar presentations


Ads by Google