eco and object grammars: two methods for the enumeration of combinatorial objects
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 PresentationTRANSCRIPT
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