0% found this document useful (0 votes)
28 views

Complexity Chapter 2 New

This document discusses decidability and complexity of languages. It defines decidable and undecidable languages. Problems related to regular, context-free and Turing languages are discussed. It is shown that testing properties of finite automata is decidable, while the halting problem is undecidable. The closure properties and reducibility of decidable languages are also discussed. Deterministic and nondeterministic time complexity classes are defined based on time-constructible functions.

Uploaded by

Dagmawit Teshome
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views

Complexity Chapter 2 New

This document discusses decidability and complexity of languages. It defines decidable and undecidable languages. Problems related to regular, context-free and Turing languages are discussed. It is shown that testing properties of finite automata is decidable, while the halting problem is undecidable. The closure properties and reducibility of decidable languages are also discussed. Deterministic and nondeterministic time complexity classes are defined based on time-constructible functions.

Uploaded by

Dagmawit Teshome
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 9

Chapter 2

Decidability
Decidable Languages
Decidable problems concerning Regular Languages
Problems:
-testing whether a finite automation accepts a
string or not,
-testing whether the language of finite automation
is empty or not,
-testing whether two finite automata are equivalent
or not.
Definition: A language L is called Turing-decidable
(or just decidable), if there exists a Turing Machine M such
that on input x, M accepts if x ∈ L, and M rejects otherwise.
L is called undecidable if it is not decidable.
A language L is decidable if an acceptor Turing machine T
exists such that, for all x ∈ Σ∗ , T(x) halts and it accepts x if
and only if x ∈ L (that is, if x not ∈ L then T(x) halts in the
rejecting state). We shall also state that such a T decides L.

Lemma If a language is decidable then it is acceptable.


Theorem A language L is decidable if and only if both L and
Lc are acceptable.

A deterministic Turing machine cannot include two or more


quintuples with the same first two elements.
Two acceptor Turing machines as equivalent if they accept
the same language.
Closure properties:
Theorem: The class of decidable languages is closed
under complement.
Theorem: The class of decidable languages is closed
under union.
Theorem: The class of decidable languages is closed
under intersection.
Notation
ADFA= {<B, w>: B is a DFA that accepts input string w}.
ANFA= {<B, w>: B is an NFA that accepts input string w}.
AREX={<R,w>: R is a regular expression that generates string w}.
Theorem ADFA is a decidable language.
Theorem ANFA is a decidable language.
Decidable problems concerning Context Free
Languages
ACFG={<G,w>: G is a CFG that generates string w }.
Theorem ACFG is a decidable language.

Undecidable Problems
Notation
ATM={<M,w> : M is a tape and M accepts w}.
ATM is undecidable.
Corollary Some languages are not Turing –
recognizable.
 A language L1 is acceptable if a Turing machine T exists which
accepts L1, that is, a machine T such that L(T) = L1.
Reducibility between languages
First two main applications
- to classify acceptable languages according to their degree
of unsolvability
-to prove that some important languages are not decidable.
A language A is many-one reducible or m-reducible to a
second language B, in symbols A ≤m B, if a total and
computable function f exists such that, for all x ∈ Σ∗ ,
x ∈ A ↔ f(x) ∈ B.
The function f is called an m-reduction between A and B.
Lemma If L1 ≤m L2 and L1 is not decidable, then L2 is not
decidable either.
Properties of m-reducibility
For all languages A, B, C ⊆ Σ∗ ,
A ≤m A and A ≤m B ∧ B ≤m C → A ≤m C.
A second property of ≤m is that, for all pairs of languages A,
B ⊆ Σ ∗ , A ≤m B → A c ≤ m B c .
Lemma Let B be any language such that B ≠ ∅ and B ≠ Σ∗ .
Then, for any decidable language A, A ≤m B.
Time-constructible functions
A time-constructible function t is a function mapping
natural numbers onto natural numbers such that a
multitape Turing machine exists which, for any input x, halts
after exactly t(|x|) steps.
Deterministic time-complexity classes
Given a time-constructible function t, the time-complexity
class DTIME[t(n)] is defined as
DTIME[t(n)] = {L : ∃Ti [L = L(Ti) ∧ TIMEi(x) ∈ O[t(|x|)]]}.

Lemma For any time-constructible function t,


DTIME[t(n)] = coDTIME[t(n)].
Lemma For any time-constructible function t such that
t(n) ≥ n and for any pair of languages L1 and L2 which differ
for finitely many words, L1 ∈ DTIME[t(n)] if and only if
L2 ∈ DTIME[t(n)].
Corollary 3.1 For any finite language L and for any
time-constructible function t such that t(n) ≥ n,
L ∈ DTIME[t(n)].
Nondeterministic time-complexity classes
Given a time-constructible function t, the time-complexity
class DTIME[t(n)] is defined as
NTIME[t(n)] = {L : ∃NTi [L = L(NTi) ∧ NTIMEi(x) ∈ O[t(|
x|)]]}.

Lemma For any time-constructible function t such that


t(n) ≥ n and for any pair of languages L1 and L2 which differ
for finitely many words, L1 ∈ NTIME[t(n)] if and only if
L2 ∈ NTIME[t(n)].
Corollary For any finite language L and for any
time-constructible function t such that t(n) ≥ n,
L ∈ NTIME[t(n)].

You might also like