[R] Arbres et feuilles

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [R] Arbres et feuilles

#21

Message par PandiPanda »

Sinon ceci?
avec cette udf
► Afficher le texte
resultat:
► Afficher le texte
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [R] Arbres et feuilles

#22

Message par sozary »

Ah....... Je vais tester les deux méthodes pour savoir laquelle me parrait la plus facile à utiliser!!
Merci pour tout!
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Arbres et feuilles

#23

Message par mikell »

sozary a écrit :Donc un codage de Huffman serait inenvisageable avec Autoit?
J'ai pas dit ça :shock:
Je voulais juste dire qu'une solution Autoit risque fort d'être lourdasse

En se basant strictement sur l'exemple proposé dans la page du site dont tu as tiré la belle image du post n°1 :mrgreen:
http://walid.nabhan.pagesperso-orange.f ... fman5.html
le script ci-dessous à base d'array 2D est une possibilité
► Afficher le texte
Edit après remarque pertinente de jguinch :idea:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [R] Arbres et feuilles

#24

Message par Faco »

Hello,
Sin on a le droit de donner du code :D , moi aussi j'ai testé de le faire : (c'est bourrin et pas très très bien structuré mais ça fait le travail ^^)
► Afficher le texte
Modifié en dernier par mikell le dim. 10 août 2014 20:58, modifié 1 fois.
Raison : balise spoiler
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Arbres et feuilles

#25

Message par mikell »

Le mécanisme de la fonction récursive est sympa
Le problème c'est qu'avec ton code les caractères ";" et "|" sont interdits dans l'input string sous peine de fatal error (comme n'importe quel autre caractère utilisé comme séparateur pourrait l'être d'ailleurs)
C'est à cause de cette limitation que je me suis rabattu sur la formule 'rustique' de l'array évolutive :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Arbres et feuilles

#26

Message par jguinch »

@Mikell : tu devrais revoir la partie encodage, en utilisant le même mécanisme que pour le décodage, car dans l'état, si la phrase contient des 0 et des 1, ça fout le bronx :P (Par exemple "Les 101 dalmatiens").
Tu peux mettre ça à la place (à faire à ta sauce...) :
► Afficher le texte

Sinon, j'ai fait aussi un code, en partant sur une petite base SQLite (je voulais le poster ça ce week-end, mais ma box a cramé, snif) :
► Afficher le texte
Bon par contre, on est bien d'accord : c'est super lent avec AutoIt, c'est pas fait pour ça :(
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Arbres et feuilles

#27

Message par mikell »

Merci pour les 101 dalmatiens, erreur d'inattention typique :roll:
Mais je suis pas le seul :P

Code : Tout sélectionner

 If $aOcc[$j][0] [color=#FF0000]==[/color] StringMid( $sContent, $i, 1) Then
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Arbres et feuilles

#28

Message par jguinch »

Ah oui, bien joué l'ami... :D
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [R] Arbres et feuilles

#29

Message par Faco »

mikell a écrit :Le mécanisme de la fonction récursive est sympa
Le problème c'est qu'avec ton code les caractères ";" et "|" sont interdits dans l'input string sous peine de fatal error (comme n'importe quel autre caractère utilisé comme séparateur pourrait l'être d'ailleurs)
C'est à cause de cette limitation que je me suis rabattu sur la formule 'rustique' de l'array évolutive :wink:
effectivement, quand j'ai codé ça, ça ma même pas traversé la tête de mettre autre chose que des lettres en entrée.
Mais, c'est facilement contournable, il faut des séparateurs avec 2 caractères ( ";" -> ";/" , "|"->"|!" par exemple).
mon code reste quand même pas top.

tchou !
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [R] Arbres et feuilles

#30

Message par sozary »

Merci bien!!
Je ne suis pas chez moi actuellement et ne pourrais pas tester vos codes :(!
Je reviendrais ce week end et y mettrais mes différentes questions, car après un coup d'oeil, eh bah... j'ai pas trop compris comment vous procédiez pour classer les donner comme dans un arbre :)!
J'envois ce message grâc à une borne wi-fi de Quick donc j'ai pus accèder pendant quelques minutes au forum :)!
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Arbres et feuilles

#31

Message par jguinch »

Juste une question sozary a quoi va te servir un tel script ? Vu la lenteur...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Arbres et feuilles

#32

Message par mikell »

Surtout avec un code à base de sqlite 300 fois plus lent (environ) qu'un code à base d'array :P
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Arbres et feuilles

#33

Message par jguinch »

@mikell : mon code est lent, c'est un fait... Ce temps de latence est simplement dû au fait que le script va télécharger SQLite.dll systématiquement...
Si tu télécharges la dll et que tu la place dans le même dossier que le script, tu verras qu'il n'y a pas une si grande différence que ça (le tiens est 3 fois plus rapide pour la phrase d'intro AutoIt que tu as utilisé dans ton code...)
Maintenant, avec un fichier de 100 lignes :
- mon script : 9801ms
- ton script : 94409ms
:P
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Arbres et feuilles

#34

Message par jchd »

Et si, par curiosité, tu englobes ta boucle de création des noeuds ainsi :

Code : Tout sélectionner

_SQLite_Exec(-1, "begin;")
While 1
    ; ...insertion des noeuds
WEnd
_SQLite_Exec(-1, "commit;")
est-ce que ça impacte le chrono ?
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Arbres et feuilles

#35

Message par jguinch »

Comme je ne maîtrise pas tellement du tout le SQL, je n'avais pas pensé à utiliser le begin/commit...
A priori, pas d'amélioration...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Arbres et feuilles

#36

Message par mikell »

C'est vrai, l'array marche mieux jusqu'à une trentaine de lignes à peu près, après c'est l'horreur :mrgreen:
Mais de toute façon c'est académique, pour un fichier de 100 lignes on arrive déjà dans la tranche des 10 secondes (20 s pour 200 lignes avec ton code, etc) alors que le premier zippeur venu fait ça en quelques centièmes :roll:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Arbres et feuilles

#37

Message par jguinch »

Entièrement d'accord : c'est pas fait pour ça.
D'où ma question sur l'intérêt de la chose :?:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Arbres et feuilles

#38

Message par jchd »

Personnellement je préfère de loin voir des questions posées sur des implémentations d'algorithmes courants, plutôt que sur des PixelSearch et autre MouseClick dont on sait très bien à quoi ils vont servir.

Pour la transaction, ça ne m'étonne pas : avec une base en mémoire on ne court-circuite que peu voire pas de code dans bien des cas.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [R] Arbres et feuilles

#39

Message par sozary »

Ah! Ok! J'ai bien étudié vos codes et est compris dans l'ensemble (je suis même parvenus à faire un petit arbre tout seul :P !)!

Pour la question, je me suis intéressé à cet algorithme car étudiant la programmation, ma curiosité m'a poussé à me documenter :)!
L'algorithme de Huffman m'a alors séduit :P!
Merci encore à tous pour vos réponses!
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Répondre