eco and object grammars two methods for the enumeration of combinatorial objects n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
ECO and Object Grammars: two methods for the enumeration of combinatorial objects PowerPoint Presentation
Download Presentation
ECO and Object Grammars: two methods for the enumeration of combinatorial objects

play fullscreen
1 / 42

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

92 Views Download Presentation
Download Presentation

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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

  2. 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: J: OnP(On+1 ) P(On+1 ) is the set of parts of On+1

  3. Proposition: Let J be an operator on O, such that: 1. for each o'On+1there iso On s.t. o'J(o); 2. for each o,o'Onwitho o', J(o) J(o') = ; then {J(o) : oOn } is a partition ofOn+1

  4. A very simple example: Parallelogram Polyominoes • A parallelogram polyomino

  5. A very simple example: Parallelogram Polyominoes • A parallelogram polyomino

  6. A very simple example: Parallelogram Polyominoes • A parallelogram polyomino upper path lower path

  7. Well-known enumerative results • The number of parallelogram polyominoes with semi-perimeter n+2: • The Catalan numbers: • 1,2,5,42,132,429,… • The 5 parallelogran polyominoes with sp=4

  8. The ECO operator for Parallelogram Polyominoes (3) (1) (2) (3) (4) (k)  (1)(2) (3)…(k-1)(k)(k+1)

  9. (1) (2) (1) (1) (2) (2) (3) (1) Generating tree of the operator  The recursive construction determined by  can be suitably described through a generating tree

  10. fn (1) 1 (1) (2) 2 5 (1) (2) (1) (2) (3) A succession rule  (1) (k)  (1)(2)…(k)(k+1) (k+1)

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

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

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

  14. ECO method: random and exhaustive generation (4) • Random generation of combinatorial objects: • E. Barcucci, A. Del Lungo, E. Pergola, R. Pinzani, Random generation 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

  15. Object grammars <{Oi}iI, {EOi}iI, {j}jJ, {A}> • Oi is a class of objects; • EOi is a finite subsets of Oi (terminal objects); • j is an operation on {Oi}iI(object operation); • A is an element of {Oi}iI (axiom).

  16. Object grammar for Dyck paths <{D}, {.}, {}, {D}>

  17. = + Object grammar for Dyck paths <{D}, {.}, {}, {D}> f(x)=1+x2f 2(x)

  18. (1) (1) (2) (1) (2) (1) (2) (3) A new approach Let L be the language of the words from the root to a node in the generating tree of  L= {(1),(1)(1), (1)(2), (1)(1)(1), (1)(1)(2), (1)(2)(1), (1)(2)(2), (1)(2)(3), … }

  19. Operations on S

  20. Example:

  21. The series associated with  • Let C be the series associated with : C=(1)+(1)C +(1)C +(1)CC • Let wC, 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

  22. Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC C(x)=x+xC(x) +xC(x)+xC2

  23. Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC

  24. Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC (1)(1)(2)(3)(3) (1)

  25. Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC (1)(1)(2)(3)(3) (1)(1)

  26. Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC (1)(1)(2)(3)(3) (1)(1)(2)

  27. Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC (1)(1)(2)(3)(3) (1)(1)(2)(3)

  28. Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC (1)(1)(2)(3)(3) (1)(1)(2)(3)(3)

  29. C Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC

  30. C Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC

  31. C C Formal power series and Object Grammars C=(1)+(1)C +(1)C +(1)CC

  32. Object Grammar for parallelogram polyominoes = + + +

  33. Results • Object grammars for various classes of polyominoes • Directed-convex polyominoes • Directed column-convex polyomines • Column-convex polyominoes • Convex polyominoes

  34. Example: column-convex polyomines Class C

  35. Example: column-convex polyomines Class B

  36. Example: column-convex polyomines Class P

  37. Example: column-convex polyomines Class Q

  38. Operations for column-convex polyominoes (class C)

  39. Operations for the class B

  40. Operations for the class P

  41. Operations for the class Q