from usainboltz import *
z = Atom()
C = RuleName()
grammar = Grammar({C : z * Seq(C)})
generator = Generator(grammar)
generator.sample((20,40))
('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [])]), ('z', [])])]), ('z', []), ('z', [('z', [('z', []), ('z', [])])])]), ('z', [])]), ('z', [('z', []), ('z', [])])])
Définition (construction admissible) :
Opérateurs | Interprétation "ensembliste" | usainboltz.grammar |
---|---|---|
$\mathcal{E}$ | Élément de taille $0$ | Epsilon() |
$\mathcal{Z}$ | Élément de taille $1$ | Atom() |
$\mathcal{U}_i$ | Des poids | Marker("U_i") |
$\mathcal{A} + \mathcal{B}$ | Union disjointe | A + B |
$\mathcal{A} \times \mathcal{B}$ | Produit cartésien | A * B |
$\mathcal{A} \star \mathcal{B}$ | Produit cartésien, bien étiqueté | A * B |
$Seq\left(\mathcal{A}\right)$ | Suites d'éléments | Seq(A) |
$Set\left(\mathcal{A}\right)$ | Ensembles d'éléments | Set(A) |
avec A, B = RuleName("A"), RuleName("B")
Soit une classe combinatoire $\mathcal{A}$, un générateur de Boltzmann de paramètre $x$ pour $\mathcal{A}$ (noté $\Gamma\mathcal{A}(x)$) construit aléatoirement des objets $\gamma \in \mathcal{A}$ avec la distribution suivante
$$ \mathbb{P}(\Gamma\mathcal{A}(x) = \gamma) = \frac{x^{|\gamma|}}{A(x)}, $$où $A(x)$ est la série génératrice de $\mathcal{A}$ définie comme
$$ A(z) = \sum_{\gamma \in \mathcal{A}} z^{|\gamma|} = \sum_{n \geq 0} \sharp\mathcal{A}_n ~z^n $$from random import random as uniform
def gen_C(x):
root_degree = 0
while uniform() < x:
root_degree += 1
return ('z', [gen_C(x) for _ in range(root_degree)])
gen_C(0.5)
('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [])])])])])])])])])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [])]), ('z', [])])]), ('z', [('z', []), ('z', []), ('z', [])])])])]), ('z', [])])])]), ('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', [])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', [])])])]), ('z', [('z', []), ('z', []), ('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', [])])])])]), ('z', [])]), ('z', [])]), ('z', []), ('z', [('z', [])])]), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [])])]), ('z', []), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [])])]), ('z', [('z', [('z', [])]), ('z', [('z', []), ('z', [])])])]), ('z', [])])])]), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', [('z', [])])])])]), ('z', []), ('z', []), ('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', [])])])])]), ('z', [('z', []), ('z', [])])])])]), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [])])])])])])])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [])])])]), ('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [])])]), ('z', [('z', [])])]), ('z', [])]), ('z', []), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', []), ('z', [])])])]), ('z', [('z', [])])])])])]), ('z', []), ('z', [('z', []), ('z', [('z', [])])]), ('z', [])]), ('z', [('z', [])])])])])]), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [])])]), ('z', [])])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', [])]), ('z', [])])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [])]), ('z', []), ('z', [('z', [('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [])]), ('z', [('z', []), ('z', [])])]), ('z', [('z', [('z', [('z', [])]), ('z', [])]), ('z', [])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', [])])]), ('z', [('z', [])])])]), ('z', [('z', []), ('z', []), ('z', []), ('z', [])])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [])])])]), ('z', [])])]), ('z', [])]), ('z', [('z', [])])]), ('z', [])]), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [])])])])])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [])])]), ('z', [('z', []), ('z', []), ('z', []), ('z', [('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [])]), ('z', [])]), ('z', [])])])]), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [])])]), ('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [])])])]), ('z', [('z', []), ('z', [('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', []), ('z', []), ('z', [('z', [])])])])]), ('z', [('z', [('z', []), ('z', []), ('z', [])])])]), ('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [])])])]), ('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [])])]), ('z', [])]), ('z', []), ('z', [])])]), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', [])])]), ('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [])])])])])])])])]), ('z', [('z', []), ('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', []), ('z', [])])]), ('z', [('z', [])]), ('z', [('z', [('z', [])]), ('z', [('z', [])])]), ('z', [('z', [('z', [('z', [])]), ('z', []), ('z', [('z', [])])])]), ('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [])])])]), ('z', [('z', [])])]), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [])])])])])]), ('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])])]), ('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', []), ('z', [])])])])]), ('z', []), ('z', [('z', [('z', [])]), ('z', [])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', [])]), ('z', [])]), ('z', [])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [])])])])])]), ('z', [])])]), ('z', []), ('z', [])])])]), ('z', []), ('z', [])])]), ('z', [('z', [('z', [])])])])]), ('z', [('z', [('z', [])])]), ('z', [('z', [('z', [])]), ('z', [])]), ('z', [('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [])]), ('z', [])]), ('z', []), ('z', [('z', [])])])]), ('z', [])]), ('z', [('z', []), ('z', [('z', [])])])])]), ('z', [('z', [('z', [])]), ('z', [('z', [])])])])])]), ('z', [])])]), ('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', [])]), ('z', [])])]), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', [])]), ('z', []), ('z', []), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [])])])])]), ('z', [('z', [])])]), ('z', []), ('z', [])])]), ('z', [('z', [])])])])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [])]), ('z', [('z', []), ('z', [])])]), ('z', [])])])]), ('z', [])])])]), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [])])])])]), ('z', [])]), ('z', []), ('z', [('z', [])])]), ('z', [('z', [('z', [])])]), ('z', [('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [])]), ('z', [])]), ('z', [])])])]), ('z', [('z', []), ('z', [])]), ('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [])]), ('z', [('z', [])]), ('z', []), ('z', [])])]), ('z', [])]), ('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', [])])])])]), ('z', [])]), ('z', [])])])])]), ('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [])])])]), ('z', [])])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [])])]), ('z', [])]), ('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [])]), ('z', []), ('z', []), ('z', [])])])]), ('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [])])])])]), ('z', [('z', [])])]), ('z', []), ('z', [])])]), ('z', [('z', [('z', [])])]), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [])])]), ('z', []), ('z', [('z', [])])]), ('z', [])]), ('z', [])])])]), ('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', [])])]), ('z', [('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [])])])])]), ('z', [('z', [])])]), ('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [])])])])])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [])])])])])])])]), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [])])])])])]), ('z', [])])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [])])])])])])]), ('z', [('z', [])])]), ('z', [])])])])]), ('z', []), ('z', []), ('z', [('z', [])])])]), ('z', [('z', [])])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [])])])])]), ('z', [])])]), ('z', []), ('z', [])])])]), ('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [])])])])]), ('z', []), ('z', []), ('z', [('z', [('z', [('z', [])])])])])])]), ('z', [('z', [('z', [('z', [])])])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', [])])])])])])])]), ('z', []), ('z', []), ('z', [])])])]), ('z', [('z', []), ('z', [])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [])]), ('z', [('z', [])])])])])])])]), ('z', [])])])]), ('z', [])]), ('z', [])]), ('z', []), ('z', [])])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [])])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [])]), ('z', []), ('z', [])])]), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [])])])])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [])])]), ('z', [('z', [])]), ('z', [('z', [])]), ('z', []), ('z', [('z', [])])])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', [])])]), ('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', []), ('z', []), ('z', [('z', [])]), ('z', [])])])])])])])]), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', [])]), ('z', [])])]), ('z', [('z', [])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [])]), ('z', [])]), ('z', [])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', [])])])]), ('z', []), ('z', [('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', [])]), ('z', [('z', []), ('z', []), ('z', [('z', [])])])]), ('z', [])])]), ('z', []), ('z', [('z', [])])])])])])])]), ('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [('z', []), ('z', [])])])]), ('z', [('z', [])])])]), ('z', [])]), ('z', [('z', [('z', [])])]), ('z', [])]), ('z', [])]), ('z', [('z', []), ('z', [('z', [])]), ('z', [])]), ('z', [('z', []), ('z', [('z', [])])])]), ('z', [('z', [])])])])]), ('z', []), ('z', [])]), ('z', [('z', [])]), ('z', [])])]), ('z', [('z', [('z', [])])])])]), ('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', [])]), ('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', []), ('z', [])]), ('z', [])]), ('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', [])]), ('z', [])])])])]), ('z', [('z', []), ('z', []), ('z', []), ('z', [])])])]), ('z', []), ('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [])])])]), ('z', [('z', []), ('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [])]), ('z', [('z', [])])])])]), ('z', []), ('z', [('z', [])])]), ('z', [])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [])])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [])])])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', [])])]), ('z', []), ('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [])]), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [])])])])])])])])])]), ('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [])])]), ('z', [])]), ('z', [])]), ('z', [('z', [])])]), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [])])])])])]), ('z', [('z', [('z', [])])]), ('z', [])])]), ('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [])])])]), ('z', [('z', [('z', [])])]), ('z', [('z', [])])]), ('z', [])])])]), ('z', [])])])]), ('z', [('z', [])]), ('z', []), ('z', []), ('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [])]), ('z', [])]), ('z', [])])])]), ('z', []), ('z', [('z', [('z', []), ('z', [])]), ('z', [])])]), ('z', [])])])])])])]), ('z', []), ('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [])]), ('z', [])])]), ('z', [])])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', []), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', []), ('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [])])]), ('z', [('z', []), ('z', [('z', [])]), ('z', [('z', [])]), ('z', [])])])]), ('z', [])])])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', [])])])])])])]), ('z', []), ('z', [])])]), ('z', [])])]), ('z', []), ('z', [('z', [])])])])])])])]), ('z', [])])])])])]), ('z', [('z', [('z', [])])]), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [])])]), ('z', [('z', [('z', [])]), ('z', [])])]), ('z', [])])])])]), ('z', [('z', [])]), ('z', [('z', [('z', [])])]), ('z', [])]), ('z', [('z', [])])])])]), ('z', [('z', []), ('z', [])])])]), ('z', [('z', [])]), ('z', [])]), ('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [])])])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [])])])]), ('z', [])])]), ('z', [('z', [])])])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [])]), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [])])]), ('z', [('z', [('z', []), ('z', [])])]), ('z', [('z', [])]), ('z', []), ('z', [])])]), ('z', [('z', [])])]), ('z', []), ('z', [('z', [])])]), ('z', [('z', []), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [])])])])]), ('z', []), ('z', []), ('z', [('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', [])])])])])]), ('z', [])]), ('z', [])])])])])]), ('z', [])]), ('z', [('z', [])]), ('z', [])])])])])])])]), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', [])]), ('z', [])]), ('z', []), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [])])])])])]), ('z', [])])]), ('z', []), ('z', []), ('z', [])])])])]), ('z', []), ('z', [])])])]), ('z', [('z', []), ('z', [('z', [])])])]), ('z', [])]), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', [])])])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [])])])])])])]), ('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [])])])])])]), ('z', [])])])]), ('z', [('z', []), ('z', [('z', [('z', [])])])])]), ('z', [('z', [('z', []), ('z', [])]), ('z', [])]), ('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', [])])]), ('z', [])]), ('z', []), ('z', [('z', [])])])])])])]), ('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', []), ('z', [])])]), ('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [])])])]), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [])])])]), ('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [])]), ('z', [])]), ('z', [])])])])]), ('z', [])]), ('z', [('z', [('z', []), ('z', [])]), ('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [])]), ('z', [])]), ('z', [('z', [])]), ('z', [('z', [('z', [])]), ('z', [('z', []), ('z', []), ('z', [])])])])]), ('z', [])])]), ('z', [])]), ('z', [('z', []), ('z', []), ('z', []), ('z', []), ('z', [])])]), ('z', []), ('z', []), ('z', []), ('z', [('z', [])])])]), ('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', [('z', [('z', [('z', [])]), ('z', [('z', [('z', [])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [])])])])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])])]), ('z', [])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [('z', [])])]), ('z', [('z', [('z', [])])])]), ('z', [('z', [('z', []), ('z', [])]), ('z', [])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [])])]), ('z', [])]), ('z', [])]), ('z', []), ('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', [])])])])]), ('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [])])])]), ('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', []), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', [])]), ('z', [])])]), ('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [])])])])])])]), ('z', [])])])]), ('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', [])])])]), ('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [('z', [])]), ('z', [])])])])])]), ('z', [('z', [('z', [('z', [('z', [])])]), ('z', [('z', [])])])]), ('z', []), ('z', [('z', [])]), ('z', [])])])])])])])])]), ('z', [('z', []), ('z', []), ('z', [])])]), ('z', []), ('z', [('z', []), ('z', [('z', [])]), ('z', [])])]), ('z', [])]), ('z', [])]), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', [])]), ('z', [])])])]), ('z', [])])])]), ('z', [('z', [])]), ('z', [])])])])])])]), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [])])])])])])]), ('z', [])])])])])]), ('z', []), ('z', [])])])])]), ('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [])])]), ('z', []), ('z', [])]), ('z', [])]), ('z', [('z', []), ('z', [('z', [])]), ('z', [])])])]), ('z', [])])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', [])])])]), ('z', []), ('z', [])])])])])]), ('z', [('z', [])])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', [('z', [])])]), ('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [])]), ('z', [])]), ('z', []), ('z', [('z', [])])]), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', [])]), ('z', []), ('z', [])])])])])]), ('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [])])])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [])])])])])])]), ('z', [('z', []), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [])])])]), ('z', [])]), ('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [])])])])]), ('z', [])]), ('z', [])])])]), ('z', [('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])]), ('z', []), ('z', [('z', [])])]), ('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', []), ('z', [])])])])]), ('z', [('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [])]), ('z', [])]), ('z', [])])])])]), ('z', [('z', [])])]), ('z', [('z', [('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [])])])]), ('z', [('z', [])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [])])])])])])]), ('z', []), ('z', []), ('z', [])])]), ('z', []), ('z', [])]), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', [('z', [('z', [])])])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [])])]), ('z', [])]), ('z', [])]), ('z', [('z', [])]), ('z', [])]), ('z', [])])]), ('z', [])])])])])])])])]), ('z', [])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [])]), ('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', [])])]), ('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [('z', [])])]), ('z', [('z', []), ('z', []), ('z', []), ('z', []), ('z', []), ('z', []), ('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', [])])])])]), ('z', []), ('z', [('z', []), ('z', [])])]), ('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [])])])]), ('z', [('z', [('z', []), ('z', [])])])]), ('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', [])]), ('z', []), ('z', [])]), ('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', [])]), ('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', []), ('z', [])]), ('z', []), ('z', []), ('z', [('z', [])])])]), ('z', []), ('z', [('z', [])]), ('z', [])]), ('z', [])]), ('z', [])])])]), ('z', [])]), ('z', [('z', [('z', []), ('z', [('z', [])])]), ('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [])])])]), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [])])])])]), ('z', [('z', [])])])])]), ('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [])])]), ('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', [])]), ('z', [('z', [])]), ('z', [('z', [('z', [])]), ('z', [])])])]), ('z', [('z', [])])]), ('z', [('z', [('z', [])])]), ('z', []), ('z', [])]), ('z', []), ('z', [])]), ('z', []), ('z', []), ('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', [])])])])])])]), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [])])])]), ('z', []), ('z', []), ('z', [])])]), ('z', []), ('z', []), ('z', [])]), ('z', [])])]), ('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', []), ('z', [])])]), ('z', [('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])])]), ('z', []), ('z', [('z', [])])])])]), ('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [])])]), ('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [])])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', [])])])])]), ('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [])])])])]), ('z', [('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', [('z', [])]), ('z', [])])])]), ('z', []), ('z', [('z', [('z', [])]), ('z', [])])]), ('z', []), ('z', [])])])]), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [])]), ('z', [('z', [])])]), ('z', [('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [])])]), ('z', [('z', [('z', []), ('z', [])])])]), ('z', [])]), ('z', []), ('z', [('z', [('z', [])])])]), ('z', [('z', [('z', [('z', [])])])])])]), ('z', [])]), ('z', [])])]), ('z', [])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [])])])])])]), ('z', [('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', [])]), ('z', [('z', [('z', [])])])])])]), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [])]), ('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [])])])])])]), ('z', [('z', []), ('z', [('z', [])]), ('z', [('z', [('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [])])])])]), ('z', [])])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', [])])])])])])])])])]), ('z', [])])])])]), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [])])])])]), ('z', [('z', [])]), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [])])]), ('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [])])])])])])])]), ('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', [])]), ('z', [('z', []), ('z', [])])]), ('z', []), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [])])])])]), ('z', []), ('z', [])]), ('z', []), ('z', [('z', [])])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [])])])])]), ('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', [])])]), ('z', [('z', []), ('z', []), ('z', [('z', [('z', [])]), ('z', [])])])])])])])])]), ('z', [('z', [('z', []), ('z', [])])])]), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', []), ('z', [('z', [('z', [])])])]), ('z', [])])])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [])])])]), ('z', [])]), ('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [])])]), ('z', [('z', [('z', [('z', [('z', [])]), ('z', [])])])]), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [])]), ('z', [])])])]), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [])])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [])])])])])])])]), ('z', [('z', [('z', []), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [])]), ('z', []), ('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', [('z', [('z', [])])])])])])]), ('z', [])]), ('z', []), ('z', [])]), ('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', [])]), ('z', [('z', []), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [])])]), ('z', [('z', []), ('z', []), ('z', [])])])])])]), ('z', [('z', [])])]), ('z', [])])])]), ('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])]), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [])])])])]), ('z', [])])])])]), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', [])]), ('z', []), ('z', [('z', []), ('z', []), ('z', [('z', [])])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [])])])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', [])]), ('z', [])])]), ('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [])]), ('z', []), ('z', []), ('z', [])]), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [])]), ('z', [])]), ('z', []), ('z', [])]), ('z', [('z', [])]), ('z', [])]), ('z', [])])])])]), ('z', [])])])]), ('z', [('z', []), ('z', [])]), ('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [])])])])]), ('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', []), ('z', [('z', [])])])]), ('z', []), ('z', [('z', [])]), ('z', [])]), ('z', [('z', []), ('z', [('z', [])]), ('z', [])])]), ('z', []), ('z', []), ('z', []), ('z', [('z', [('z', []), ('z', [('z', [('z', []), ('z', [])]), ('z', [])]), ('z', [])])])]), ('z', [('z', [('z', []), ('z', []), ('z', [])])])])])])]), ('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', [])])]), ('z', [('z', []), ('z', [])])])])])])])])]), ('z', [('z', []), ('z', [])]), ('z', [])])])]), ('z', [])])])]), ('z', [('z', [('z', [('z', [])])])])]), ('z', []), ('z', [('z', [])]), ('z', []), ('z', []), ('z', [('z', [])])])])])]), ('z', [('z', [('z', [('z', [])]), ('z', [])])]), ('z', [('z', [('z', [])]), ('z', [])]), ('z', []), ('z', [])])])])]), ('z', [('z', [])])])]), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [])])])])]), ('z', [('z', [('z', []), ('z', [])])])])]), ('z', [('z', []), ('z', [])])])])]), ('z', [])])]), ('z', [('z', [])]), ('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', [])])]), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [])]), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [])]), ('z', [('z', [])])]), ('z', [('z', [])])]), ('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', []), ('z', [])])]), ('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [])])]), ('z', [('z', [])]), ('z', [])])]), ('z', [])])])])]), ('z', [('z', [('z', [])]), ('z', [('z', [])])]), ('z', []), ('z', [('z', []), ('z', [('z', [])])])]), ('z', [('z', []), ('z', [('z', [])])]), ('z', [('z', [])])])])])]), ('z', [])]), ('z', [])])]), ('z', [('z', []), ('z', [('z', []), ('z', [])])]), ('z', [])]), ('z', [])])]), ('z', []), ('z', []), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [('z', [])]), ('z', []), ('z', []), ('z', [])])]), ('z', [])])]), ('z', []), ('z', [])]), ('z', [])]), ('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', []), ('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', []), ('z', []), ('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', [])])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [])])])])]), ('z', []), ('z', [('z', [('z', []), ('z', []), ('z', [])]), ('z', [('z', [])])]), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [])]), ('z', []), ('z', [])])])])])])])])]), ('z', [('z', [('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', [])])]), ('z', [('z', [])]), ('z', [])])]), ('z', []), ('z', [])]), ('z', [('z', []), ('z', []), ('z', [('z', [])])])]), ('z', []), ('z', [('z', [('z', [('z', [])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [('z', []), ('z', [('z', [])])]), ('z', [('z', [('z', [])])])])]), ('z', [('z', [('z', [('z', [('z', []), ('z', [])])]), ('z', [('z', []), ('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', []), ('z', [('z', [('z', [])])])])]), ('z', [('z', [])])])]), ('z', []), ('z', [('z', []), ('z', [])])]), ('z', [])])]), ('z', [('z', [])])])])])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [])]), ('z', [('z', [('z', [])])])])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [])])])])])])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [])])])])])])]), ('z', [('z', [('z', [])])])])]), ('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', []), ('z', [])])]), ('z', [('z', [])]), ('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [('z', []), ('z', []), ('z', [])]), ('z', [])])]), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', []), ('z', [])])])])])]), ('z', [])])]), ('z', []), ('z', []), ('z', [])])])]), ('z', [('z', [('z', [('z', [])])])])])]), ('z', []), ('z', [('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', []), ('z', []), ('z', [('z', [])]), ('z', []), ('z', [])])]), ('z', [])])])])])])]), ('z', []), ('z', [('z', [('z', [])])]), ('z', []), ('z', [])]), ('z', [('z', [('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [])]), ('z', [('z', [])])]), ('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', [('z', []), ('z', [])])])])])])])])])]), ('z', [('z', [('z', [('z', [('z', [('z', [('z', [])])]), ('z', [('z', []), ('z', [])])]), ('z', [])]), ('z', [('z', []), ('z', []), ('z', [])])]), ('z', [])])])]), ('z', [('z', []), ('z', []), ('z', [])])])]), ('z', [])]), ('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', [('z', [('z', [('z', [])])])])])]), ('z', [('z', []), ('z', [('z', [('z', [('z', [])])]), ('z', [])])]), ('z', [])]), ('z', [('z', []), ('z', [])]), ('z', [('z', [])]), ('z', [('z', []), ('z', [])])]), ('z', [])]), ('z', []), ('z', [])]), ('z', [('z', []), ('z', [('z', []), ('z', []), ('z', []), ('z', [('z', [])])]), ('z', [('z', []), ('z', [('z', [])])])]), ('z', [('z', [('z', [('z', []), ('z', [('z', []), ('z', [('z', [('z', []), ('z', [])])])])])]), ('z', []), ('z', []), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [])]), ('z', [])])])])])])])]), ('z', []), ('z', [('z', [('z', []), ('z', [])])])]), ('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', [])]), ('z', [('z', [])])])])])]), ('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [('z', [('z', [('z', []), ('z', [])]), ('z', []), ('z', [('z', [('z', []), ('z', [])]), ('z', []), ('z', [])]), ('z', [('z', [('z', []), ('z', [])])])])]), ('z', []), ('z', [('z', [('z', []), ('z', [])])]), ('z', [('z', [('z', [('z', [])])])])])])])]), ('z', [('z', [('z', []), ('z', [])])])])]), ('z', [('z', [('z', [('z', [])])]), ('z', []), ('z', [])])])
non-singulier : $x$ solution de $n = x \cdot \frac{A'(x)}{A(x)}$
singulier : $x \simeq \rho_A$
Exemples en utilisant Sagemath : https://www.sagemath.org/
from sage.combinat.ordered_tree import OrderedTree
from usainboltz.generator import rng_seed as ub_seed
def C_builder(arg):
root, children = arg
return OrderedTree(children)
# Pour rappel : Grammar({C : z * Seq(C)})
ub_seed(0xdeadbeef)
generator.set_builder(C, C_builder)
ascii_art(generator.sample((10,10)))
o | __o____ / / o ___o_____ / / / / o o o_ o / / o o
from sage.combinat.binary_tree import BinaryTree
def C_as_btree_builder(arg):
root, children = arg
btree = None
for child in children[::-1]:
btree = BinaryTree([child[0],btree])
return BinaryTree([btree, None])
ub_seed(0xdeadbeef)
generator.set_builder(C, C_as_btree_builder)
ascii_art(generator.sample((10,10)))
o / o / o \ o / o \ o \ _o_ / \ o o \ o
from sage.combinat.dyck_word import DyckWord
def C_as_dyckword_builder(arg):
root, children = arg
return "".join(["(" + child + ")" for child in children])
ub_seed(0xdeadbeef)
generator.set_builder(C, C_as_dyckword_builder)
plot(DyckWord(generator.sample((10,10))))
def C_as_height_builder(arg):
root, children = arg
return 0 if not children else 1 + max(children)
ub_seed(0xdeadbeef)
generator.set_builder(C, C_as_height_builder)
generator.sample((10,10))
4
ub_seed(0xdeadbeef)
points(((i,generator.sample((0.9*i, 1.1*i))) for i in range(1,100001,10000) for _ in range(5)))
pip install usain-boltz
Définition (Bandet, Mulder et sans Scully) : Un graphe construit à partir d'un noeud isolé et des règles suivantes
z = Atom()
Pendant, FTwins, TTwins = Marker("P"), Marker("F"), Marker("T")
inc_DH = RuleName()
grammar = Grammar({inc_DH : z**2 * Seq(z * Pendant + z * FTwins + z * TTwins)}, labelled=True)
from sage.graphs.graph import Graph
identity = lambda x : x
def inc_DH_builder(arg):
_, _, seq = arg
graph = Graph()
lbl = 2
graph.add_edge(1,2)
for (_,vertex_type) in map(union_builder(identity, identity, identity), seq):
lbl += 1
u = graph.random_vertex()
if vertex_type == "P":
graph.add_edge(u, lbl)
else:
for v in graph.neighbor_iterator(u):
graph.add_edge(v, lbl)
if vertex_type == "T":
graph.add_edge(u, lbl)
return graph
increasing_DH_gen = Generator(grammar, expectations={z:30, Pendant:10, FTwins:10})
increasing_DH_gen.set_builder(inc_DH, inc_DH_builder)
graph = increasing_DH_gen.sample((20,40))
graph.show()
opérateurs de Pólya (structures non-étiquetées) : $PSet, Mset, Cycle$
opérateurs boîtes (structures ave étiquetages croissants)
pointage (et dérivation de grammaire)