Alg Markov Chapter 4
Alg Markov Chapter 4
Alg Markov Chapter 4
An Alternative Model of
Computation
An Algorithm Scheme
Example 4.1.1. Let be alphabet {a, b, c, d}. By a
Markov algorithm scheme or schema we shall mean a finite
sequence of productions or rewrite rules. As a first
example, consider the following two-member sequence of
productions.
(i) a c
(ii) b
Another Example
Example 4.1.2. Let be alphabet {a, b, c, d}. Next,
consider the following three-member sequence of
productions.
(i) a c
(ii) bc cb
(iii) b .cd
Appends ab
Example 4.1.3. Let input alphabet = {a, b}. Let work
alphabet be {#}. We see that the Markov algorithm
scheme consisting of the four-member production sequence
(i) #a a#
(ii) #b b#
(iii) # .ab
(iv) #
has the effect of appending string ab to any word over .
Reverse Word
Input word w over = {a, b} transformed
by AS into output word wR
Markov Algorithms
We can implement each of our three
computational paradigms
Language acceptance (recognition)
Function computation
Transduction
A Formal Definition
Markov algorithm schema S = any triple , ,
nonempty input alphabet
finite work alphabet with
finite, ordered sequence of productions of form
or of form .
and (possibly empty) words over
Language Acceptance
Example 4.2.1
Input alphabet = {a, b}
Work alphabet = {@, %, $, 1}.
Six productions/one of them terminal
Transforms all and only words in language
{anbm|n 0, m 1} to word 1
Some Conventions
Markov-Acceptable Language
Schema S accepts language L if S accepts
all and only words in L.
A language that is accepted by some
Markov algorithm is said to be a Markovacceptable language.
Example
Language {anbm|n 0, m 1} is accepted
by Example 4.2.1
Language Recognition
Input alphabet and work alphabet such that
both 0, 1 \
S recognizes language L over
S transforms w L into 1, that is, w * 1
(accepting 1)
S transforms w L into 0, that is, w * 0
(rejecting 0)
Language recognized by some Markov algorithm S
is said to be Markov-recognizable
Resources (Time)
Definition
timeS(n) = the maximum number of steps
in any terminating computation of S for
input of length n
Resources (Space)
Computation of a Markov algorithm =
sequence of computation words
Definition
spaceS(n) = the maximum length of any
computation word in any terminating
computation of S for input of length n
Resource Analysis
Example 4.2.3 accepts language {w*|
na(w) = nb(w)} with = {a, b}
timeS(n) = (n/2)2 + n + 2 for even n so O(n2)
spaceS(n) = n + 1 so O(n)
Compare single-tape Turing machine Same
Number of as and bs
Function Computation
Example
One terminal production 1 .11
Computes unary successor function
Formal Definition
S computes unary partial number-theoretic
function f
S applied to input 1n + 1 yields output 1f(n) + 1
If S applied to input 1n + 1, where function f is
not defined for n, then either S computation
never terminates or its output is not of form
1m
Other Examples
Palindromes
m divides n
log n labeled algorithms
Equivalence Result
Let S be labeled Markov algorithm with
input alphabet . Then there exists standard
Markov algorithm S with input alphabet
that is computationally equivalent to S.
Converse obvious
Equivalence Result
Class of Markov-computable functions Is
identical to the class of Turingcomputable functions
Function f is Markov-computable iff f is
Turing-computable
Proof
Example 4.5.1/Turing machine that
simulates a Markov algorithm
For the other direction, see Example
4.5.2/Markov algorithm that simulates a
Turing machine
Generalizations
Another Example
= and single production 11 1
Computes unary constant-0 function
C01(n) = 0 for all n
So C01 is Markov-computable
Another Example
2n 1 if n 1
f(n) =
0
if n = 0
computed by
$1 11$
111$ .1
11$ .1
$