1 / 57

Introduction to Theoretical Computer Science COMP 335 Fall 2004

Introduction to Theoretical Computer Science COMP 335 Fall 2004 Slides by Costas Busch, Rensselaer Polytechnic Institute, Modified by N. Shiri & G. Grahne, Concordia University. This course: A study of abstract models of computers and computation .

candacea
Download Presentation

Introduction to Theoretical Computer Science COMP 335 Fall 2004

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Theoretical Computer Science COMP 335 Fall 2004 Slides by Costas Busch, Rensselaer Polytechnic Institute, Modified by N. Shiri & G. Grahne, Concordia University COMP 335

  2. This course: A study of • abstract models of computers and computation. • Why theory, when computer field is so practical? • Theory provides concepts and principles, for both hardware and software that help us understand the general nature of the field. COMP 335

  3. Mathematical Preliminaries COMP 335

  4. Mathematical Preliminaries • Sets • Functions • Relations • Graphs • Proof Techniques COMP 335

  5. SETS A set is a collection of elements We write COMP 335

  6. Set Representations • C = { a, b, c, d, e, f, g, h, i, j, k } • C = { a, b, …, k } • S = { 2, 4, 6, … } • S = { j : j > 0, and j = 2k for k>0 } • S = { j : j is nonnegative and even } finite set infinite set COMP 335

  7. U A 6 8 2 3 1 7 4 5 9 10 A = { 1, 2, 3, 4, 5 } • Universal Set: all possible elements • U = { 1 , … , 10 } COMP 335

  8. B A • Set Operations • A = { 1, 2, 3 } B = { 2, 3, 4, 5} • Union • A U B = { 1, 2, 3, 4, 5 } • Intersection • A B = { 2, 3 } • Difference • A - B = { 1 } • B - A = { 4, 5 } 2 4 1 3 5 U 2 3 1 Venn diagrams COMP 335

  9. Complement • Universal set = {1, …, 7} • A = { 1, 2, 3 } A = { 4, 5, 6, 7} 4 A A 6 3 1 2 5 7 A = A COMP 335

  10. { even integers } = { odd integers } Integers 1 odd 0 5 even 6 2 4 3 7 COMP 335

  11. DeMorgan’s Laws A U B = A B U A B = A U B U COMP 335

  12. Empty, Null Set: = { } S U = S S = S - = S - S = U = Universal Set COMP 335

  13. U A B U A B Subset A = { 1, 2, 3} B = { 1, 2, 3, 4, 5 } Proper Subset: B A COMP 335

  14. A B = U Disjoint Sets A = { 1, 2, 3 } B = { 5, 6} A B COMP 335

  15. Set Cardinality • For finite sets A = { 2, 5, 7 } |A| = 3 (set size) COMP 335

  16. Powersets A powerset is a set of sets S = { a, b, c } Powerset of S = the set of all the subsets of S 2S = { , {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c} } Observation: | 2S | = 2|S| ( 8 = 23 ) COMP 335

  17. Cartesian Product A = { 2, 4 } B = { 2, 3, 5 } A X B = { (2, 2), (2, 3), (2, 5), ( 4, 2), (4, 3), (4, 5) } |A X B| = |A|*|B| Generalizes to more than two sets A X B X … X Z COMP 335

  18. FUNCTIONS domain range B 4 A f(1) = a a 1 2 b c 3 5 f : A -> B If A = domain then f is a total function otherwise f is a partial function COMP 335

  19. RELATIONS R = {(x1, y1), (x2, y2), (x3, y3), …} xi R yi e. g. if R = ‘>’: 2 > 1, 3 > 2, 3 > 1 COMP 335

  20. Equivalence Relations • Reflexive: x R x • Symmetric: x R y y R x • Transitive: x R y and y R z x R z • Example: R = ‘=‘ • x = x • x = y y = x • x = y and y = z x = z COMP 335

  21. Equivalence Classes For an equivalence relation R, we define equivalence class of x [x]R = {y : x R y} Example: R = { (1, 1), (2, 2), (1, 2), (2, 1), (3, 3), (4, 4), (3, 4), (4, 3) } Equivalence class of [1]R = {1, 2} Equivalence class of [3]R = {3, 4} COMP 335

  22. GRAPHS A directed graph G=〈V, E〉 e b node d a edge c • Nodes (Vertices) • V = { a, b, c, d, e } • Edges • E = { (a,b), (b,c), (b,e),(c,a), (c,e), (d,c), (e,b), (e,d) } COMP 335

  23. Labeled Graph 2 6 e 2 b 1 3 d a 6 5 c COMP 335

  24. e b d a c Walk Walk is a sequence of adjacent edges (e, d), (d, c), (c, a) COMP 335

  25. e b d a c Path A path is a walk where no edge is repeated A simple path is a path where no node is repeated COMP 335

  26. Cycle e base b 3 1 d a 2 c Acycle is a walk from a node (base) to itself Asimple cycle: only the base node is repeated COMP 335

  27. Trees root parent leaf child Trees have no cycles Ordered trees? COMP 335

  28. root Level 0 Level 1 Height 3 leaf Level 2 Level 3 COMP 335

  29. PROOF TECHNIQUES • Proof by induction • Proof by contradiction COMP 335

  30. Induction We have statements P1, P2, P3, … • If we know • for some b that P1, P2, …, Pb are true • for any k >= b that • P1, P2, …, Pk imply Pk+1 • Then • Every Pi is true, that is, ∀i P(i) COMP 335

  31. Proof by Contradiction • We want to prove that a statement P is true • we assume that P is false • then we arrive at an incorrect conclusion • therefore, statement P must be true COMP 335

  32. Example • Theorem: is not rational • Proof: • Assume by contradiction that it is rational • = n/m • n and m have no common factors • We will show that this is impossible COMP 335

  33. = n/m 2 m2 = n2 n is even n = 2 k Therefore, n2 is even m is even m = 2 p 2 m2 = 4k2 m2 = 2k2 Thus, m and n have common factor 2 Contradiction! COMP 335

  34. Pigeon Hole Principle: If n+1 objects are put into n boxes, then at least one box must contain 2 or more objects. Ex: Can show if 5 points are placed inside a square whose sides are 2 cm long  at least one pair of points are at a distance ≤2 cm. According to the PHP, if we divide the square into 4, at least two of the points must be in one of these 4 squares. But the length of the diagonals of these squares is 2.  the two points cannot be further apart than 2 cm. COMP 335

  35. Languages COMP 335

  36. A language is a set of strings • String:A sequence of letters/symbols • Examples: “cat”, “dog”, “house”,… • Defined over an alphabet: COMP 335

  37. Alphabets and Strings • We will use small alphabets: • Strings COMP 335

  38. String Operations Concatenation COMP 335

  39. Reverse COMP 335

  40. String Length • Length: • Examples: COMP 335

  41. Length of Concatenation • Example: COMP 335

  42. The Empty String • A string with no letters: • Observations: COMP 335

  43. Substring • Substring of string: • a subsequence of consecutive characters • String Substring COMP 335

  44. Prefix and Suffix • Prefixes Suffixes prefix suffix COMP 335

  45. Another Operation • Example: • Definition: COMP 335

  46. The * Operation • : the set of all possible strings from • alphabet COMP 335

  47. The + Operation : the set of all possible strings from alphabet except COMP 335

  48. Languages • A language is any subset of • Example: • Languages: COMP 335

  49. Note that: Sets Set size Set size String length COMP 335

  50. Another Example • An infinite language COMP 335

More Related