PSTricks
Arbres de Bernoulli

Arbres de Bernoulli

En cliquant sur l'image vous obtiendrez le fichier PDF dont elle est issue. Le code est de Jean-Côme Charpentier, donné en réponse à une question sur la liste syracuse.

bernoulli.tex [ retoursource ]

Conversion au format PDF de bernoulli.tex
\documentclass{article} 
\usepackage{pst-tree} 
 
\makeatletter 
 
\newcount\@Bernoudepth 
\newcount\@Bernoumaxdepth 
 
\newcommand\Bernoutree[8][treemode=R,nodesep=1ex,levelsep=12ex]{% 
  % #2 = profondeur de l'arbre 
  % #3 = nom de l'évènement réussite 
  % #4 = nom de l'évènement échec 
  % #5 = proba de l'événement réussite 
  % #6 = placement de #5 
  % #7 = proba de l'évènement échec 
  % #8 = placement de #7 
  \begingroup 
  % initialise paramètres 
  \psset{treemode=R,nodesep=1ex,levelsep=12ex}% 
  \psset{#1}% 
  \@Bernoumaxdepth #2\relax 
  \def\@Reussite{#3}% 
  \def\@Echec{#4}% 
  \def\@probareussite{#5}% 
  \def\@Argreussite{#6}% 
  % Si pas de spécification de placement, 
  % on place au centre 
  \ifx\empty\@Argreussite 
    \def\@Argreussite{0.5}% 
  \fi 
  \def\@probaechec{#7}% 
  \def\@Argechec{#8} 
  \ifx\empty\@Argechec 
    \def\@Argechec{0.5}% 
  \fi 
  % Premier appel (racine vide, niveau 1) 
  \pstree{\TR{}}{\@Bernoutree{1}} 
  \endgroup 
} 
\newcommand\@Bernoutree[1]{% 
  % #1 = profondeur récursive 
  % initialise profondeur en cours 
  \@Bernoudepth #1\relax 
  \ifnum\@Bernoudepth=\@Bernoumaxdepth 
    % si la profondeur max est atteinte 
    % on place les deux noeuds terminaux 
    \TR{\@Reussite}\taput[tpos=\@Argreussite]{\@probareussite} 
    \TR{\@Echec}\tbput[tpos=\@Argechec]{\@probaechec} 
    % et c'est tout 
  \else 
    % sinon on construit récursivement 
    % les deux sous-arbres de niveau supérieur 
    \advance\@Bernoudepth \@ne 
    \pstree{\TR{\@Reussite}\taput[tpos=\@Argreussite] 
           {\@probareussite}}{\@Bernoutree{\the\@Bernoudepth}} 
    \pstree{\TR{\@Echec}\tbput[tpos=\@Argechec] 
           {\@probaechec}}{\@Bernoutree{\the\@Bernoudepth}} 
  \fi 
} 
\makeatother 
 
\pagestyle{empty} 
 
\begin{document} 
\Bernoutree{3}{$A$}{$\bar{A}$}{$p$}{0.4}{$1-p$}{0.2} 
 
\Bernoutree[levelsep=18ex,treenodesize=0pt]{4}{$R$}{$E$}{$p$}{}{$q$}{} 
 
\end{document} 
 

Validation CSS Validation XHTMLJean-Michel Sarlat — Dernière modification : 29 avril 2006 (0.07s - 3006266 - mardi 13 mai 2008)