ECO and Object Grammars: two methods for the enumeration of combinatorial objects

Post on 11-Jan-2016

34 views 0 download

Tags:

description

ECO and Object Grammars: two methods for the enumeration of combinatorial objects. Simone Rinaldi. Dipartimento di Scienze Matematiche e Informatiche “Roberto Magari” Siena. Workshop "Formal Languages and Automata: Theory and Applications", September 2003, Ravello. ECO method. - PowerPoint PPT Presentation

transcript

ECO and Object Grammars: two methods for the

enumeration of combinatorial objects

Simone Rinaldi

Dipartimento di Scienze Matematiche e Informatiche “Roberto Magari” Siena

Workshop "Formal Languages and Automata: Theory and Applications",

September 2003, Ravello

ECO method

ECO is a method for Enumeration of Combinatorial Objects introduced by Barcucci, Del Lungo, Pergola and Pinzani

O a class of combinatorial objects

p a parameter on O (i.e. p: O N+)

On the objects of O having size n, On={o:p(o)=n}

ECO operator:

On P(On+1 )

P(On+1 ) is the set of parts of On+1

Proposition: Let be an operator on O, such that:

1. for each o' On+1 there is o On s.t. o' o 2. for each o,o' On with o o',

'then

{ : On }

is a partition of On+1

A very simple example: Parallelogram Polyominoes

A parallelogram polyomino

A very simple example: Parallelogram Polyominoes

A parallelogram polyomino

A very simple example: Parallelogram Polyominoes

A parallelogram polyomino

upper path lower path

Well-known enumerative results

The number of parallelogram polyominoes with semi-perimeter n+2:

n

n

nfn

2

1

1

•The Catalan numbers:

1,2,5,42,132,429,…

•The 5 parallelogran polyominoes with sp=4

(k) (1) (2) (3) … (k-1) (k) (k+1)

(3)

(4)

(1) (2) (3)

The ECO operator for Parallelogram Polyominoes

Generating tree of the operator

The recursive construction determined by can be suitably described through a generating tree

(1)

(2)

(1) (2) (3)

(1)

(1) (2)

A succession rule

(1)

(k) (1) (2) … (k) (k+1) (k+1)

(1)

(2)

(1) (2) (3)

(1)

(1) (2)

fn

1

2

5

ECO method: enumeration (1)

Born as a method for the enumeration of combinatorial objects: E. Barcucci, A. Del Lungo, E. Pergola, R. Pinzani,

ECO: a methodology for the Enumeration of Combinatorial Objects.

E. Barcucci, A. Del Lungo, E. Pergola, R. Pinzani, A methodology for plane tree enumeration.

E. Barcucci, A. Del Lungo, E. Pergola, R. Pinzani, Directed animals, forests and permutations.

ECO method: algebraic characterizations (2)

Operations on succession rules: L. Ferrari, E. Pergola, R. Pinzani, S. Rinaldi, An

algebraic characterization of the set of succession rules.

L. Ferrari, E. Pergola, R. Pinzani, S. Rinaldi, Jumping succession rules and their generating functions.

S. Brlek, E. Duchi, E. Pergola, S. Rinaldi, On the equivalence problem for succession rules.

Production matrices: E. Deutsch, L. Ferrari, S. Rinaldi, Production

matrices.

ECO method: generating functions (3)

To determine the generating function associated with an ECO operator: C. Banderier, M. Bousquet-Melou, A. Denise, P.

Flajolet, D. Gardy and D. Gouyou-Beauchamps, Generating functions for generating trees.

E. Duchi, A. Frosini, S. Rinaldi, R. Pinzani, A note on rational succession rules.

ECO method: random and exhaustive generation (4)

Random generation of combinatorial objects: E. Barcucci, A. Del Lungo, E. Pergola, R. Pinzani,

Randomgeneration of trees and other combinatorial objects.

Exhaustive generation of objects: A. Del Lungo, A. Frosini, S. Rinaldi, ECO method and

the exhaustive generation of convex polyominoes. S. Bacchelli, E. Barcucci, E. Grazzini, E. Pergola,

Exhaustive generation of combinatorial objects by ECO

Object grammars

<{Oi}iI , {EOi}iI , {j}jJ , {A}>

Oi is a class of objects; EOi is a finite subsets of Oi (terminal

objects); j is an operation on {Oi}iI (object

operation); A is an element of {Oi}iI (axiom).

Object grammar for Dyck paths

<{D}, {.}, {}, {D}>

Object grammar for Dyck paths

f(x)=1+x2f 2(x)

<{D}, {.}, {}, {D}>

+=

A new approach

Let L be the language of the words from the root to a node in the generating tree of (1)

(2)

(1) (2) (3)

(1)

(1) (2)

L= {(1),(1)(1), (1)(2), (1)(1)(1), (1)(1)(2), (1)(2)(1), (1)(2)(2), (1)(2)(3), … }

Lwwm

wS )(

...4252 32 xxxxf

)1)(1)(1()2)(1()1)(1()1(S...)2)(2)(1()1)(2)(1()2)(1)(1(

Operations on S

L

wwmnw

nS ))(( Nn

Lwiwm

w

Si ))(()( Ni

Lwwm

wS )(

1 .... 1 121

iii kw

Example:

iii kw ....

21 Lw

3 2 3 2 1w 4 3 4 3 2w

LL ww

:

function generating same thehave ,SS

The series associated with

Let C be the series associated with :C=(1)+(1)C +(1)C +(1)CC

Let wC, w (1) :

w = (1)(1)(2)(3)(3) (1)C

w = (1)(2)(2)(3)(4)(2) (1)C

w = (1)(2)(2)(3)(4)(2)(1)(2)(2) (1)C C

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

C(x)=x+xC(x) +xC(x) +xC2

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

(1)(1)(2)(3)(3)

(1)

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

(1)(1)(2)(3)(3)

(1)(1)

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

(1)(1)(2)(3)(3)

(1)(1)(2)

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

(1)(1)(2)(3)(3)

(1)(1)(2)(3)

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

(1)(1)(2)(3)(3)

(1)(1)(2)(3)(3)

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

C

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

C

Formal power series and Object Grammars

C=(1)+(1)C +(1)C +(1)CC

C

C

Object Grammar for parallelogram polyominoes

=

+ + +

Results

Object grammars for various classes of polyominoes Directed-convex polyominoes Directed column-convex

polyomines Column-convex polyominoes Convex polyominoes

Example: column-convex polyomines

Class C

Example: column-convex polyomines

Class B

Example: column-convex polyomines

Class P

Example: column-convex polyomines

Class Q

Operations for column-convex polyominoes (class C)

Operations for the class B

Operations for the class P

Operations for the class Q