Arbre pondéré

Règles du forum
ATTENTION ! Il est demandé de ne déposer dans ce forum que des exemples en langage Asymptote
  • finalisés
  • que l'on pense intéressants et optimisés
  • et qui se rapportent au thème du forum.
Si certains exemples déposés donnent lieu à de nombreuses modifications, ils seront déplacés et remplacés par un nouveau sujet dans ce forum avec la ou les meilleures propositions.
Pour les demandes d'aide ... il y a un forum spécifique !
Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Arbre pondéré

Message non lu par GM » lun. 22 mars 2010, 14:24

Un exemple d'arbre avec les instructions natives d'Asymptote

Figure asymptote 06eac1a61a3ed76ca3553e2888f1d68b
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. unitsize(1cm);
  2.  
  3. pen p=invisible;
  4. real marge=0.2, EspH=2, EspV=2;
  5.  
  6. object objet_1=draw("$R_n$",box,(EspH,EspV),marge,p),
  7. objet_2=draw("$\overline{R_n}$",box,(EspH,-EspV),marge,p),
  8. objet_11=draw("$R_{n+1}$",box,(2*EspH,EspV*5/3),marge,p),
  9. objet_12=draw("$\overline{R_{n+1}}$",box,(2*EspH,EspV*1/3),marge,p),
  10. objet_21=draw("$R_{n+1}$",box,(2*EspH,-EspV*1/3),marge,p),
  11. objet_22=draw("$\overline{R_{n+1}}$",box,(2*EspH,-EspV*5/3),marge,p);
  12.  
  13. add(new void(picture pic, transform t) {
  14. draw(pic,Label("$p_n$",UnFill(1)),(0,0)--point(objet_1,W,t),Center);
  15. draw(pic,Label("$q_n$",UnFill(1)),(0,0)--point(objet_2,W,t),Center);
  16. draw(pic,Label("$\frac{1}{20}$",UnFill(1)),point(objet_1,E,t)--point(objet_11,W,t),Center);
  17. draw(pic,Label("$\frac{19}{20}$",UnFill(1)),point(objet_1,E,t)--point(objet_12,W,t),Center);
  18. draw(pic,Label("$\frac{1}{5}$",UnFill(1)),point(objet_2,E,t)--point(objet_21,W,t),Center);
  19. draw(pic,Label("$\frac{4}{5}$",UnFill(1)),point(objet_2,E,t)--point(objet_22,W,t),Center);
  20. });


A venir... des exemples avec l'extension probabilitytree.asy
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: Arbre pondéré

Message non lu par Zaf » ven. 26 mars 2010, 18:11

Bonjour,
L'adaptation de ton arbre à une autre situation me paraît lourde, ce serait plus commode de passer en paramètres les différentes valeurs des probabilités :roll:

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Arbre pondéré

Message non lu par GM » ven. 26 mars 2010, 18:21

Zaf a écrit :Bonjour,
L'adaptation de ton arbre à une autre situation me paraît lourde, ce serait plus commode de passer en paramètres les différentes valeurs des probabilités :roll:

Je pense avoir bien précisé que c'est un exemple avec les fonctions natives d'Asymptote...

... et j'ai parlé de probabilitytree.asy dont tu n'as apparemment pas encore vu des exemples ici : les derniers sur cette page.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: Arbre pondéré

Message non lu par Zaf » ven. 26 mars 2010, 22:48

En effet, on peut les adapter facilement à la situation voulue, et ça couvre assez bien les besoins, bien qu'une seule procédure avec des paramètres soit mieux appréciée...

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Arbre pondéré

Message non lu par GM » ven. 26 mars 2010, 23:00

Zaf a écrit :En effet, on peut les adapter facilement à la situation voulue, et ça couvre assez bien les besoins, bien qu'une seule procédure avec des paramètres soit mieux appréciée...

Tu n'as pas encore assez bien regardé alors :

Les procédures Bernouilli et GagnerAToutPrix t'illustre la façon de créer ces procédures que tu espères.

Code : Tout sélectionner

void Bernouilli( Label Succes="$S$", Label probS="$p$",
                 Label Echec="$\overline{S}$", Label probE="$q$",
                 int repet=2, pair pos=(0,0) )
{
  int n = 2^repet-1, j;
  Noeud[] N;
  N[0] = addN( );
  for (int i=1; i<=2*n; i+=2) {
        j=floor((i-1)/2);
        N[i] = addN( N[j], Succes, probS );
        N[i+1] = addN( N[j], Echec, probE );
  }
  TracerArbre( N[0], pos );
}


Code : Tout sélectionner

void GagnerAToutPrix( Label Succes="$G$", Label probS="$\frac{1}{2}$",
                      Label Echec="$P$", Label probE="$\frac{1}{2}$",
                      int repet=4, pair pos=(0,0) )
{
  int n = 2*repet;
  Noeud[] N;
  N[0] = addN( );
  for (int i=0; i<=repet; ++i) {
        N[2*i+1] = addN( N[2*i], Succes, probS );
        N[2*i+2] = addN( N[2*i], Echec, probE );
  }
  TracerArbre( N[0], pos );
}


Tu peux créer d'autres procédures ainsi : il s'agit à chaque fois de décrire l'arbre de racine N[0], avec une série bien pensée de addN ... puis d'exécuter TracerArbre( N[0], pos );
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: Arbre pondéré

Message non lu par Zaf » ven. 26 mars 2010, 23:16

Ok je vais essayer.
Merci beaucoup pour le temps que tu y passes.

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Arbre pondéré

Message non lu par GM » sam. 27 mars 2010, 11:01

Zaf a écrit :Ok je vais essayer.

Quand j'aurai un peu de temps, je rajouterai des procédures dans probabilitytree.asy.
Peut-être quelque chose du genre : ArbreA, ArbreAB, ArbreABC pour les arbres à 1, 2 ou 3 niveaux.

Je dis cela... mais je me suis déjà dit aussi qu'il faudrait que je reprenne complètement l'ensemble... pour peut-être faire quelque chose dans l'esprit de ce que j'ai fait pour les tableaux, à savoir définir des fonctions qui renvoient une picture que l'on ajoute avec une syntaxe add(pic) chère à l'auteur d'Asymptote.
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: Arbre pondéré

Message non lu par Zaf » sam. 27 mars 2010, 21:16

Ce serait un soulagement pour moi, car Je suis en ce moment en train d'écrire des fonctions dans des cas particuliers, mais je me casse le nez manque de connaissance d'Asymptote

Avatar du membre
GM
Administrateur du site
Administrateur du site
Messages : 1512
Enregistré le : dim. 7 mars 2010, 14:50

Re: Arbre pondéré

Message non lu par GM » sam. 27 mars 2010, 21:29

Zaf a écrit :Ce serait un soulagement pour moi, car Je suis en ce moment en train d'écrire des fonctions dans des cas particuliers, mais je me casse le nez manque de connaissance d'Asymptote

Serais-tu en train de te dire que finalement pour des arbres de 2 ou 3 niveaux cette syntaxe est finalement simple ? :mrgreen:

Plus sérieusement : quels cas particuliers t'intéressent ?
Index des fonctions - Exemple de lien donnant le résultat d'une recherche sur les mots 'arc' et 'triple' : http://asy.marris.fr/indexasy/?filtre=arc triple
Mes configurations (le 24/02/21) :
PC n°1 :Windows 10 - Asymptote(2.82)+MikTeX2.9 - Editeurs : Notepad++, TeXworks, Visual Studio Code.
PC n°2 : Ubuntu 20.04LTS - Asymptote(2.67-?? git) + TexLive2020
Mon serveur : Debian Stretch- Asymptote(2.68-16 git) + TexLive2018
Merci de préciser la votre !

Zaf
Messages : 56
Enregistré le : mer. 17 mars 2010, 07:11

Re: Arbre pondéré

Message non lu par Zaf » sam. 27 mars 2010, 21:40

Sous forme d'une fonction ce serait plus simple et plus pratique, où on passerait, en paramètres, les événements et les probabilités sans modifier à chaque fois le programme.

Répondre