Computational Complexity I: Computability vs...

Post on 25-Jul-2020

8 views 0 download

Transcript of Computational Complexity I: Computability vs...

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Computational Complexity I: Computability vs Complexity

Maria-Eirini Pegia

School of Informatics Thessaloniki

Seminar on Theoretical Computer Science and Discrete MathematicsAristotle University of Thessaloniki

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context

1 Section 1: Computability

2 Section 2: Finite Automata - Recognizable Languages

3 Section 3: Context-free Grammars - Context-free Languages

4 Section 4: Turing Machines

5 Section 6: Synopsis

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Computational Theory

What is a decision problem?

Figure: A decision problem has only two possible outputs, YES or NO.

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Computational Theory

What is a decision problem?

Figure: A decision problem has only two possible outputs, YES or NO.

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Computational Theory

What is a decision problem?

Figure: A decision problem has only two possible outputs, YES or NO.

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Computational Theory

Y Can we solve all the problems?

Y Why some problems are notsolving by computers?

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Computational Theory

Y Can we solve all the problems?

Y Why some problems are notsolving by computers?

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Computational Theory

Y Can we solve all the problems?

Y Why some problems are notsolving by computers?

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

History Overview

Figure: Hilbert Figure: Godel Figure: Turing

Y Completeness and automation of mathematics (1900).Y Mathematics are not complete!Y Mathematics are not automating!There are problems that are not computable!!!

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

History Overview

Figure: Hilbert Figure: Godel Figure: Turing

Y Completeness and automation of mathematics (1900).

Y Mathematics are not complete!Y Mathematics are not automating!There are problems that are not computable!!!

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

History Overview

Figure: Hilbert Figure: Godel Figure: Turing

Y Completeness and automation of mathematics (1900).Y Mathematics are not complete!

Y Mathematics are not automating!There are problems that are not computable!!!

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

History Overview

Figure: Hilbert Figure: Godel Figure: Turing

Y Completeness and automation of mathematics (1900).Y Mathematics are not complete!Y Mathematics are not automating!

There are problems that are not computable!!!

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

History Overview

Figure: Hilbert Figure: Godel Figure: Turing

Y Completeness and automation of mathematics (1900).Y Mathematics are not complete!Y Mathematics are not automating!There are problems that are not computable!!!

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Models of Computation

Y Finite Automata and RegularExpressions

Y Grammars and PushdownAutomata

Y Turing Machines

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context

1 Section 1: Computability

2 Section 2: Finite Automata - Recognizable Languages

3 Section 3: Context-free Grammars - Context-free Languages

4 Section 4: Turing Machines

5 Section 6: Synopsis

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Finite Automata

Y Automaton = an abstract computing device

Figure: L = �ab 8 aab��

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Recognizable Languages

L = � anbn S n C 0 �

NOT recognizable. . .(pumping lemma)

What can we do now?

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Recognizable Languages

L = � anbn S n C 0 � NOT recognizable. . .(pumping lemma)

What can we do now?

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context

1 Section 1: Computability

2 Section 2: Finite Automata - Recognizable Languages

3 Section 3: Context-free Grammars - Context-free Languages

4 Section 4: Turing Machines

5 Section 6: Synopsis

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context-free Grammars

Definition

G = �X ,V ,S ,R� context-free grammar

X : terminals,

V : variables,

S : axiom,

R b V � �V 8X ��

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context-free Languages

L = � anbn S n C 0 � is context-free

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context-free Languages

L = � anbn S n C 0 �

is context-free

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context-free Languages

L = � anbn S n C 0 � is context-free

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context-free Languages

L = � ww S w > �a,b�� �

NOT context-free. . .

What can we do now?

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context-free Languages

L = � ww S w > �a,b�� � NOT context-free. . .

What can we do now?

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context

1 Section 1: Computability

2 Section 2: Finite Automata - Recognizable Languages

3 Section 3: Context-free Grammars - Context-free Languages

4 Section 4: Turing Machines

5 Section 6: Synopsis

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Turing Machine

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Turing Machine

Definition

M = �Q,Σ,Γ, δ,q0,B,F � Turing Machine

Q: set of states,Σ: finite set of inputs,Γ: complete set of tape symbols, Σ b Γ,δ: Q � Γ Ð� Q � Γ � �L,R�,q0 > Q: initial state,B > Γ: blank symbol,F ` Q: final states

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Turing Machine

Definition

M = �Q,Σ,Γ, δ,q0,B,F � Turing MachineQ: set of states,

Σ: finite set of inputs,Γ: complete set of tape symbols, Σ b Γ,δ: Q � Γ Ð� Q � Γ � �L,R�,q0 > Q: initial state,B > Γ: blank symbol,F ` Q: final states

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Turing Machine

Definition

M = �Q,Σ,Γ, δ,q0,B,F � Turing MachineQ: set of states,Σ: finite set of inputs,

Γ: complete set of tape symbols, Σ b Γ,δ: Q � Γ Ð� Q � Γ � �L,R�,q0 > Q: initial state,B > Γ: blank symbol,F ` Q: final states

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Turing Machine

Definition

M = �Q,Σ,Γ, δ,q0,B,F � Turing MachineQ: set of states,Σ: finite set of inputs,Γ: complete set of tape symbols, Σ b Γ,

δ: Q � Γ Ð� Q � Γ � �L,R�,q0 > Q: initial state,B > Γ: blank symbol,F ` Q: final states

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Turing Machine

Definition

M = �Q,Σ,Γ, δ,q0,B,F � Turing MachineQ: set of states,Σ: finite set of inputs,Γ: complete set of tape symbols, Σ b Γ,δ: Q � Γ Ð� Q � Γ � �L,R�,

q0 > Q: initial state,B > Γ: blank symbol,F ` Q: final states

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Turing Machine

Definition

M = �Q,Σ,Γ, δ,q0,B,F � Turing MachineQ: set of states,Σ: finite set of inputs,Γ: complete set of tape symbols, Σ b Γ,δ: Q � Γ Ð� Q � Γ � �L,R�,q0 > Q: initial state,

B > Γ: blank symbol,F ` Q: final states

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Turing Machine

Definition

M = �Q,Σ,Γ, δ,q0,B,F � Turing MachineQ: set of states,Σ: finite set of inputs,Γ: complete set of tape symbols, Σ b Γ,δ: Q � Γ Ð� Q � Γ � �L,R�,q0 > Q: initial state,B > Γ: blank symbol,

F ` Q: final states

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Turing Machine

Definition

M = �Q,Σ,Γ, δ,q0,B,F � Turing MachineQ: set of states,Σ: finite set of inputs,Γ: complete set of tape symbols, Σ b Γ,δ: Q � Γ Ð� Q � Γ � �L,R�,q0 > Q: initial state,B > Γ: blank symbol,F ` Q: final states

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Thesis Church-Turing

If a problem can be solved with an algorithm, then there is a TMwhich solves the problem.

Extended model of TM:

- DTM- Nondeterministic TM- Restricted TM,- Multitape TM, . . .

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Thesis Church-Turing

If a problem can be solved with an algorithm, then there is a TMwhich solves the problem.

Extended model of TM:

- DTM- Nondeterministic TM- Restricted TM,- Multitape TM, . . .

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Halting Problem

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Halting Problem

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Context

1 Section 1: Computability

2 Section 2: Finite Automata - Recognizable Languages

3 Section 3: Context-free Grammars - Context-free Languages

4 Section 4: Turing Machines

5 Section 6: Synopsis

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Synopsis

Y Computability

Y Finite Automata

Y Context-free Grammars

Y Turing Machines

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

References

Hopcroft, J. E., Ullman, J. D.. Introduction to AutomataTheory, Languages, and Computation. Boston:Addison-Wesley, c2001.

Papadimitriou, C. H.. Computational Complexity. Reading,Mass.: Addison-Wesley, 1994.

Maria-Eirini Pegia Computational Complexity I

Section 1: ComputabilitySection 2: Finite Automata - Recognizable Languages

Section 3: Context-free Grammars - Context-free LanguagesSection 4: Turing Machines

Section 6: Synopsis

Thank you!

Maria-Eirini Pegia Computational Complexity I