1 / 17

CSCI 2670 Introduction to Theory of Computing

Explore the capabilities and limitations of computers, complexity theory, computability theory, and automata theory. Learn about sets, multisets, sequences, functions, relations, graphs, alphabets, strings, Boolean logic, and proof techniques.

wjacobson
Download Presentation

CSCI 2670 Introduction to Theory of Computing

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. CSCI 2670Introduction to Theory of Computing Instructor: Shelby Funk

  2. Today • Syllabus • Chapter 0 • Homework due Tuesday, August 23 • Read pages Chapter 0 • You are responsible for all this material even if I don’t cover it in class • Send me an e-mail telling me your favorite thing about Athens • If you’re new to Athens, tell me your favorite thing about your most recent hometown

  3. Course goals • Theoretically explore the capabilities and limitations of computers • Complexity theory • What makes some problems computationally hard and others easy? • Computability theory • What problems can be solved by a computer? • Automata theory • How can we mathematically model computation?

  4. Sets, multisets and sequences • Set • Order and repetition don’t matter • {7,4,7,3} = {3,4,7} • Multiset • Order doesn’t matter, repetition does • {7,4,7,3} = {3,4,7,7}  {3,4,7} • Sequence • Order and repetition matter • (7,4,7,3)  (3,4,7,7) • Finite sequence of k elements may be called a k-tuple

  5. Set notation • Union: AB • Intersection: AB • Complement: A • Cartesian Product: AB • Also called cross product • Power set:P(A)

  6. Example • A = {1,2}, B={2,3}, U = {xN|x < 6} • AB = • AB = • A = • AB = • P(A) = • A = {1,2}, B={2,3}, U = {xN|x < 6} • AB = {1,2,3} • AB = {2} • A = {3,4,5} • AB = {(1,2), (1,3), (2,2), (2,3)} • P(A) = {Ø, {1}, {2}, {1,2}}

  7. Function • Mechanism associating each input value with exactly one output value • Domain: set of all possible input values • Range: set containing all possible output values f : D  R n f (n) f : {1, 2, 3, 4}  {2, 4} 1 2 3 4 2 4 2 4 f : {1, 2, 3, 4}  {1, 2, 3, 4}

  8. Relation • Predicate: function whose output value is always either true or false • Relation: predicate whose domain is the set A×A×…×A • If domain is all k-tuples of A, the relation is a k-ary relation on A

  9. Nodes Graphs

  10. Edges Graphs

  11. Degree = 2 Degree = 1 Degree = 3 Graphs

  12. Graphs Subgraph Binary tree

  13. Directed graphs 1 2 {(2,1),(3,1),(4,3),(5,2)} 3 4 5

  14. Alphabets and strings • Alphabet: any finite set 1 = {1,2,3} 2 = {,,} • String: finite sequence of symbols from the given alphabet 1212123  • Empty string, ε, contains no symbols of the alphabet • Language: a set of strings

  15. Boolean logic • Conjunction (and)  • Disjunction (or)  • Negation (not)  • Exclusive or (xor)  • Equality  • Implication 

  16. Proof techniques • Construction • Prove a “there exists” statement by finding the object that exists • Contradiction • Assume the opposite and find a contradiction • Induction • Show true for a base case and show that if the property holds for the value k, then it must also hold for the value k + 1

  17. Have a great weekend!

More Related