1 / 44

Introduction - PowerPoint PPT Presentation

  • Uploaded on

Introduction. Chapter 0. Three Central Areas. Automata Computability Complexity. Complexity Theory. Central Question: What makes some problems computationally hard and other easy? Sorting ( easy ) – Computers can easily sort a billion items in seconds.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Introduction' - alessa

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript


Chapter 0

Three central areas
Three Central Areas

  • Automata

  • Computability

  • Complexity

Complexity theory
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.


  • 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.

Automata theory
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

    • Finite Automata

    • Pushdown Automata

    • Turing Machine


{7, 57, 7, 7, 21, 7} = {21, 7, 57}Order does not matter

Repetition is not a factor

Venn diagrams3
Venn Diagrams

  • What would A-B look like?



Sequences tuples
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

Binary function two inputs
Binary Function (two inputs)

g(x,y) = z


x, y and z are in {0,1,2,3}


  • function whose range is {True, False}

  • Example: f(a,b) = a Beats bf(scissors,paper) = scissors Beats paper = TRUE

Binary relation
Binary Relation

  • Predicate whose domain is a set of ordered pairs

    P: A x A  {True False}


    A = {paper, stone, scissors}

    (scissors, stone)  False(stone, scissors)  True

    Predicates can be described as sets

    S= { (scissors,stone), (paper, stone), (stone, scissors) }

Equivalence relation
Equivalence Relation

Binary Relation that is

  • Reflexive: f(x,x) is always true

  • Symmetric: if f(x,y) is true then f(y,x) is true

  • Transitive: if f(x,y) and f(y,z) are both true then f(x,z) is true.


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


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)


  • 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}

Equivalence relations
Equivalence Relations

  • f: S x S  {True, False}

  • S = {s1,s2, s3, s4, s5}

Equivalence relations automata
Equivalence Relations & Automata

  • We are interested in functions that can separate a set of items into disjoint classes.

  • {{s1,s2}, {s3,s4,s5}}

  • 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

Equivalence automata theory
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?

Graph theory
Graph Theory


  • Nodes/vertices

  • Edges

  • Degree

  • Self-loop

  • Directed vs. Undirected Graphs

  • Labeled Graph

  • Subgraph

Graph theory1
Graph Theory

  • Paths, cycles, trees

  • Outdegree, Indegree

  • Directed path

  • Strongly connected

Meaningful graphs
Meaningful graphs

  • Directed graphs can show relations

Equivalence relations as graphs
Equivalence Relations as Graphs

  • Example to be drawn

Strings languages
Strings & Languages

  • Defining alphabets (symbol domain)

String terminology
String terminology

  • Length w = abc, |w| = 3

  • Empty string ɛ

  • Reverse w = abc, wR= 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, … }


  • A language is a set of strings

  • Languages can be explicitly described Animals = {cat, dog, cow, …} {w | an, n > 1} = {a, aa, aaa, aaaa, … }

  • Languages can also be described using

    • grammar rules and

    • automatathat can recognize strings in the language.

Boolean logic
Boolean Logic

  • Review on your own, but

Proof by construction
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.

Proof by contradiction
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


  • 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.


  • Prove that

  • Do some algebra

  • We know that m must be even. Why?


  • Prove that

  • We know that n must be even. Why?

  • Thus, m and n are even. Why is this a contradiction?