1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown...

59
An application of iterative pushdown automata to contour words of balls and truncated balls in hyperbolic tessellations Maurice Margenstern Universit´ e Paul Verlaine Metz, LITA, EA 3097, and LORIA, CNRS Journ´ ees Montoises 2010 September, 9, 2010 Amiens, France

Transcript of 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown...

Page 1: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

An application of iterative

pushdown automata to contour

words of balls and truncated balls

in hyperbolic tessellations

Maurice Margenstern

Universite Paul Verlaine − Metz,LITA, EA 3097, and LORIA, CNRS

Journees Montoises 2010September, 9, 2010

Amiens, France

Page 2: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

in this talk:

1. iterated pushdown automata

2. tessellations in the hyperbolic plane

3. contour words of balls

4. in 3D

Page 3: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

1. iterated pushdown automata

Page 4: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

we will see, successively:

1.1 pushdown automata

1.2 iterated pushdown automata

Page 5: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

1.1 pushdown automata

it consists of two structures:

a finite automaton

finitely many states, finite alphabet

reading the input word letter after

letter with possible ǫ-transitions

Page 6: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

and an additional feature:

a stack:

list of letters, top only accessible

while reading, two possible actions:

push and pop

transitions: fixed by the read letter

and by the top of the stack

Page 7: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

1.2 iterated pushdown automata

again a finite automaton,

but with an iterated store:

again stack structure

but the elements are stacks of stacks

below, formal presentation based

on a paper by G. Senizergues

and S. Fratani,

Annals of pure and applied logic,

(2006)

Page 8: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

formally define k-iterated store as fol-

lows:

0-pds(Γ) = {ǫ}k+1-pds(Γ) = (Γ[k-pds(Γ)])∗

it-pds = ∪k

k-pds(Γ)

unique representation of a k+1 store

ω as:

ω = A[flag].rest, A ∈ Γ,

with flag k-store, and rest k+1-store

we have: lgth(ω) = lgth(rest)+1

Page 9: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

operations on k-iterated stores:

notion of top symbols:

topsym(ǫ) = ǫ,

topsym(A[flag].rest) = A.topsym(flag)

the pop operation:

popj(ǫ) undefined

popj+1(A[f ].r) = A[popj(f)].r,

A ∈ Γ

Page 10: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

operations on k-iterated stores:

the push operation:

push1(w)(ǫ) = w, w ∈ Γ∗

pushj(γ)(ǫ) undefined for j > 1

push1(w)(A[f ].r) = w1[f ]..wh[f ].r,

pushj+1(w)(A[f ].r) = A[pushj(w)(f)].r,

w = w1..wh ∈ Γ∗, wi ∈ Γ

operations performed within the top symbols

Page 11: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

k-iterated pushdown automata:

operate on a word as a finite

automaton, using a k-store and the

push and pop operations

computation:

there are final states

word accepted if and only if at least

one path of computation leads to a

final state

Page 12: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

theorem (G. Senizergues, 2003) −the languages recognized by a k-iterated

pushdown automaton define a stricly

increasing hierarchy with respect to k

key example:

2-pds automata recognize:

{afn | {fn}n∈IN : Fibonacci sequence}

Page 13: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

three states: q0, q1 and q2;

input word in {a}∗; Γ = {Z, X1, X2, F};

initial state: q0; initial stack: Z[ǫ];transition function δ:δ(q0, ǫ, Z) = {(q0, push2(F)), (q0, push1(X2))}δ(q0, ǫ, ZF) = {(q0, push2(FF)), (q0, push1(X2))}δ(q0, ǫ, X1F) = (q1, pop2)δ(q0, ǫ, X2F) = (q2, pop2)δ(q0, a, X1) = (q0, pop1)δ(q0, a, X2) = (q0, pop1)δ(q1, ǫ, X1F) = (q0, push1(X1X2))δ(q2, ǫ, X2F) = (q0, push1(X1))δ(q1, ǫ, X1) = (q0, push1(X1X2))δ(q2, ǫ, X2) = (q0, push1(X1))

Page 14: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

indeed,it is enough to prove the following

lemma for any nonnegative k and m:

(q0, afkam, X2[Fk].ω) ⇒∗

δ (q0, am, ω)

(q0, afk+1am, X1[Fk].ω) ⇒∗

δ (q0, am, ω)

Page 15: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

the case k = 0 is obviousassuming the above for k, and any m,

consider (q0, afk+2am, X1[Fk+1].ω)

then

(q0, afk+2am, X1[Fk+1].ω)

⊢ (q1, afk+2am, X1[Fk].ω)

δ(q0, ǫ, X1F) = (q1, pop2)

⊢ (q0, afk+2am, X1[Fk].X2[F

k].ω)δ(q1, ǫ, X1F) = (q0, push1(X1X2))

⊢ (q0, afkam, X2[Fk].ω) ⇒∗

δ (q0, am, ω)as fk+2 = fk+1 + fkand induction hypothesis

Page 16: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2. tessellations

in the hyperbolic plane

Page 17: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

we shall see:

2.1 Poincare’s disc model

2.2 the pentagrid and the heptagrid

Page 18: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2.1 Poincare’s disc model

the disc

Page 19: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2.1 Poincare’s disc model

a point A

A

Page 20: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2.1 Poincare’s disc model

a point A

a line ℓ A

l

Page 21: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2.1 Poincare’s disc model

a secant

through A

which cuts ℓ

A

l

s

Page 22: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2.1 Poincare’s disc model

a parallel p

to ℓ

through A

A

l

sp

P

Page 23: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2.1 Poincare’s disc model

another

parallel q

to ℓ

through A

A

l

sp

q

PQ

Page 24: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2.1 Poincare’s disc model

a non secant

line m to ℓ

through A

A

p

PQ

l

q

m

s

Page 25: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2.1 Poincare’s disc model

the common

perpendicular

to ℓ and to m

A

p

PQ

l

q

m

s

h

PQ

Page 26: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

a few useful properties

the sum of angles in a triangle:

always less than π

non-secant lines :

always a unique common perpen-

dicular

no similarity in the Euclidean mean-

ing

Page 27: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

2.2 the pentagrid and the heptagrid

from Poincare’s theorem:

infinitely many tilings of thehyperbolic plane by replicating atriangle in its side and, recursively,

the images in their sides

angles of the triangle, necessarily

p,2π

q,2π

r,

with p, q, r positive integers

satisfying:1

p+

1

q+

1

r< 1

Page 28: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

from now on focus on

the pentagrid and the heptagrid:

{5,4} {7,3}

Page 29: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

navigation in {5,4} and {7,3}

in the pentagrid

a quarter,

Page 30: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

navigation in {5,4} and {7,3}

in the pentagrid

a quarter, and the underlying tree

Page 31: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

navigation in {5,4} and {7,3}

in the heptagrid

a sector,

Page 32: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

navigation in {5,4} and {7,3}

in the heptagrid

a sector, and the underlying tree

Page 33: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

navigation in {5,4} and {7,3}

in both cases:

a central tile and α sectors, α ∈ {5,7}

Page 34: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

the common tree for {5,4} and {7,3}

in both cases, the Fibonacci tree:

10

100

101

1000

100

1010

1000

1000

1001

1010

10101

0 1 0 0 1

10000

1000

100

10

0

10

001

010

01

00

1010

0

01

10

101001

101010

10

0

0

10

0

00

10

00

0

10

000

10

000

100

0

0

100

00

100

000

1000

0

1000

00

10000

0

1000001

1000000

1

1

2 3 4

5 6 7 8 9 10 11 12

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

11 1

1

1 1

1

1

1

1 1

0 1

1 1 1

11 1

1

Page 35: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

the common tree for {5,4} and {7,3}

why Fibonacci tree?

because

level n in the tree: f2n+1 nodes

two kinds of nodes: Black and White

with the rules:

B → BW , W → BWW

Page 36: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

hence the

connection with 2-iterated pds

Page 37: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

3. contour words of balls

Page 38: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

we shall see:

3.1 balls in {5,4} and {7,3}

3.2 contour words and

their recognition

Page 39: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

3.1 balls in {5,4} and in {7,3}

common definition:

path between a tile A and a tile B,

A 6= B:

sequence {Ti}0≤i≤n of tiles with:

Ti and Ti+1 share a side, i < n,

T0 = A, Tn = B

Page 40: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

3.1 balls in {5,4} and in {7,3}

let {Ti}0≤i≤n be a path

from A and B

n is the length of the path

now, d(A, B) is the length of a

shortest path between A and B,

A 6= B,

d(A, B) = 0, when A = B

Page 41: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

3.1 balls in {5,4} and in {7,3}

a ball of radius n around A is the

set of tiles at a distance from A not

greater than n: denoted by BA(n)

Page 42: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

3.2 contour wordsand their recognition

contour of a ball:

the contour of the ball BA(n),denoted by ∂BA(n),is the set of tiles at a distance n from A

exactly

Page 43: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

3.2 contour wordsand their recognition

illustration:

pentagrid heptagrid

Page 44: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

3.2 contour wordsand their recognition

a contour word of BA(n) is a word

asn where sn is the length of ∂BA(n)

theorem (MM, arXiv 2009)

the language of the contour words of

the balls of the pentagrid can be

recognized by a 2-iterated pushdown

automaton; the same for the

heptagrid

Page 45: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

sketch of the proof:

each of the 5 sectors

is spanned by a

Fibonacci tree

the 2-iterated

pushdown automaton

performs a traversal

of the tree

Page 46: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

same proof for the heptagrid:

7 sectors here,

each one spanned by the

same Fibonacci tree

the 2-iterated

pushdown automaton

performs a traversal

of the tree

Page 47: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

two states: q0 and q1;

input word in {b, w}∗; Γ = {Z, B, W, F};

initial state: q0; initial stack: Z[ǫ];transition function δ, α ∈ {5,7}:δ(q0, ǫ, Z) = {(q0, push2(F)), (q0, push1(W

α))}δ(q0, ǫ, ZF) = {(q0, push2(FF)), (q0, push1(W

α))}δ(q0, ǫ, WF) = (q1, pop2)δ(q0, ǫ, BF) = (q1, pop2)δ(q0, b, B) = (q0, pop1)δ(q0, w, W ) = (q0, pop1)δ(q1, ǫ, WF) = (q0, push1(BWW ))δ(q1, ǫ, BF) = (q0, push1(BW ))δ(q1, ǫ, W ) = (q0, push1(BWW ))δ(q1, ǫ, B) = (q0, push1(BW ))

Page 48: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

the theorem can be extended to

contour words of sectors:

pentagrid, see MM arXiv paper

Page 49: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

similar extension to

contour words of sectors:

heptagrid, see MM arXiv paper

Page 50: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

the theorem can be extended

to balls and sectors

of the tilings {p,4} of IH2,

and the tilings {p+2,3} of IH2,

p ≥ 5 in both cases

to balls

of the tiling {5,3,4} of IH3

and the tiling {5,3,3,4} of IH4

Page 51: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

4. in 3D

Page 52: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

we shall see:

4.1 {5,3,4}: the dodecagrid

4.2 recognition of contour words

in the dodecagrid

Page 53: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

4.1 {5,3,4}: the dodecagrid

first, extend Poincae’s disc model:

the points: inside the unit nD ball

the border, the unit n−1D ball= the points at infinity

hyperplanes:

trace of diametral hyperplanes

or of n−1D balls, orthogonal to the border

k-hyperplanes, 1 ≤ k ≤ n−2:

intersection of k+1-hyperplanes

Page 54: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

only 4 tessellations in the hyperbolic

3D space

notation {p, q, r}:

p sides around a face

q faces around a vertex

r polyhedra around an edge

the tessellations:

{3,5,3} {4,3,5} {5,3,4} {5,3,5}

the dodecagrid: {5,3,4}

Page 55: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

an important tool: Schlegel diagrams

1

2

3

4

56

7

89

10 11

0

1

23

4

5

6

78

910

11

12

13

1415

1617

18

19

projection of the regular rectangular

dodecahedron on the plane of a face

Page 56: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

navigation in the dodecagrid

1

2

3

4

56

7

89

10 11

1

2

3

4

56

7

89

10 11

1

2

3

4

56

7

89

10 11

O H T

this gives us a tree in bijection with

the tiling, whose generating rules are:

O → O2H6T , H → OH6T , T → H5T

Page 57: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

a sector is the set of tiles generated

by the tree Twe have 3 kinds of γ-sectors:

with γ ∈ O-, H- and T -sectors,

depending on the root of the tree Tγ

a k-truncated γ-sector is generated

by the first k levels of Tγ

a ball Bk is the union of 8 k-truncated

O-sectors around a vertex

Page 58: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

we can state:

theorem (MM, arxiv 2009)

there is a 2-iterated pushdown automa-

ton which recognizes the countour

words of ball Bk in the dodecagrid;

for each γ ∈ {O, H, T}, there is

a 2-iterated pushdown automaton

which recognizes the contour word

of any k-truncated γ-sector

Page 59: 1. iterated pushdown automata - UPJVleve/JM2010/PDF_Journees_Montoises... · 1.2 iterated pushdown automata again a finite automaton, but with an iterated store: again stack structure

Thank you for your attention!