42
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 and Object Grammars: two methods for the enumeration of combinatorial objects

  • Upload
    bayard

  • View
    36

  • Download
    0

Embed Size (px)

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

Citation preview

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

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

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

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

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

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

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

A very simple example: Parallelogram Polyominoes

A parallelogram polyomino

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

A very simple example: Parallelogram Polyominoes

A parallelogram polyomino

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

A very simple example: Parallelogram Polyominoes

A parallelogram polyomino

upper path lower path

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

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

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

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

(3)

(4)

(1) (2) (3)

The ECO operator for Parallelogram Polyominoes

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

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)

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

A succession rule

(1)

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

(1)

(2)

(1) (2) (3)

(1)

(1) (2)

fn

1

2

5

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

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.

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

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.

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

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.

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

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

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

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).

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

Object grammar for Dyck paths

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

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

Object grammar for Dyck paths

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

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

+=

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

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), … }

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

Lwwm

wS )(

...4252 32 xxxxf

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

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

Operations on S

L

wwmnw

nS ))(( Nn

Lwiwm

w

Si ))(()( Ni

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

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

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

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

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

Formal power series and Object Grammars

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

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

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

Formal power series and Object Grammars

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

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

Formal power series and Object Grammars

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

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

(1)

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

Formal power series and Object Grammars

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

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

(1)(1)

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

Formal power series and Object Grammars

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

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

(1)(1)(2)

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

Formal power series and Object Grammars

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

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

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

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

Formal power series and Object Grammars

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

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

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

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

Formal power series and Object Grammars

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

C

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

Formal power series and Object Grammars

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

C

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

Formal power series and Object Grammars

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

C

C

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

Object Grammar for parallelogram polyominoes

=

+ + +

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

Results

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

polyomines Column-convex polyominoes Convex polyominoes

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

Example: column-convex polyomines

Class C

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

Example: column-convex polyomines

Class B

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

Example: column-convex polyomines

Class P

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

Example: column-convex polyomines

Class Q

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

Operations for column-convex polyominoes (class C)

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

Operations for the class B

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

Operations for the class P

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

Operations for the class Q