The class P - PowerPoint PPT Presentation

About This Presentation
Title:

The class P

Description:

a) There is a polynomial upper bound (usually in big-O notation) on the number ... of nodes, it is OK if we show the polynomiality of an algorithm in the number of ... – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 9
Provided by: giorgija
Category:
Tags: big | class | show | the

less

Transcript and Presenter's Notes

Title: The class P


1
The class P
Giorgi Japaridze Theory of
Computability
Section 7.2
2
The definition of P and the importance of P
7.2.a
Giorgi Japaridze Theory of Computability
Definition 7.12 P is the class of languages that
are decidable in polynomial time on a
deterministic (single-tape) TM. In other words,
P TIME(n1) ? TIME(n2) ? TIME(n3) ?
TIME(n4) ?
  • Importance
  • P is invariant for all models of computation that
    are polynomially equivalent to
  • the deterministic single-tape TM.
  • Here polynomial equivalence means
    equivalence with only a polynomial
  • difference in running time.
  • Thus, P is a mathematically robust class,
    not affected by the particulars of the
  • model of computation that we are using.
  • P roughly corresponds to the class of problems
    that are realistically solvable on
  • a computer.
  • Thus, P is relevant from a practical
    standpoint.



3
Analyzing polynomial-time algorithms
7.2.b
Giorgi Japaridze Theory of Computability
1. When we only care about polynomiality,
algorithms can be described at high level
without reference to features of a particular
implementation model. Doing so avoids tedious
details of tapes and head motions. 2. We
describe algorithms with numbered stages. The
notion of a stage is Analogous to a step of a
TM, though of course, implementing one stage will
usually require many TM steps. Asymptotic
analysis allows us to ignore this difference.
3. To show that an algorithm runs in
polynomial time, it is sufficient to show that
a) There is a polynomial upper bound
(usually in big-O notation) on the number of
stages that the algorithm uses when it runs on an
input of length n, and b) Each stage
takes a polynomial number of (actual TM) steps on
a reasonable deterministic model. 4. The
underlying (and usually non-specified) encoding
of objects should be reasonable, and
polynomially equivalent to other reasonable
encodings. E.g., encoding 12 as 111111111111 is
unreasonable as it is exponentially bigger than
the binary (or decimal) encoding. 5.
Among the reasonable encodings for graphs are
encodings of their adjacency matrices. Since the
size of such a matrix only polynomially differs
from the number of nodes, it is OK if we show the
polynomiality of an algorithm in the number
of its nodes rather than in the size of its
adjacency matrix.
4
The PATH problem
7.2.c
Giorgi Japaridze Theory of Computability
PATH ltG,s,tgt G is a directed graph that has
a directed path from s to t
2
3
1
4
5
8
s
7
6
t
9
12
10
11
14
15
13
16
5
A polynomial-time algorithm for the PATH problem

7.2.d
Giorgi Japaridze Theory of Computability
M On input ltG,s,tgt where G is a directed graph
and s,t are nodes of G 1. Mark s.
2. Repeat until no additional nodes are
marked 3. Scan all the edges of G.
If an edge (a,b) is found going from a marked
node a to an unmarked node b, mark
node b. 4. If t is marked, accept.
Otherwise reject.
2
3
1
4
5
8
s
7
6
t
9
12
10
11
14
15
13
16


6
The RELPRIME problem
7.2.e
Giorgi Japaridze Theory of Computability
Two numbers are relatively prime iff 1 is the
largest integer that evenly divides both of
them. Are the following numbers relatively
prime?

15 and 27 8 and 9 11 and 19
RELPRIME ltx,ygt x and y are relatively prime
Is RELPRIME decidable? What is the time
complexity of an ad hoc decision algorithm (TM)?
But there is a smarter algorithm that runs in
polynomial time. It is based on the Euclidean
algorithm for finding the greatest common
divisor.



7
A polynomial-time algorithm for the RELPRIME
problem
7.2.f
Giorgi Japaridze Theory of Computability
The Euclidean algorithm E On input ltx,ygt,
where x and y are natural numbers, xgty 1.
Repeat until y0. 2. Assign x ? x mod
y. 3. Exchange x and y. 4. Output
x.
Testing on lt33,15gt
Output 3
What is the time complexity of this algorithm?
--- It can be shown to be polynomial because on
every iteration of Step 1, the value of x is at
most half of the previous value.
Now, the following algorithm R solves RELPRIME in
polynomial time
R On input ltx,ygt, where x and y are natural
numbers 1. Swap x and y if necessary so
that xgty. 2. Run E on ltx,ygt. 3. If
the result is 1, accept. Otherwise reject.



8
The time complexity of context-free languages
7.2.g
Giorgi Japaridze Theory of Computability
Theorem 7.16 Every context-free language is a
member of P.
Specifically, is of complexity O(n3). Proof
omitted (and will not be asked).


Write a Comment
User Comments (0)
About PowerShow.com