IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Algo de transformation d'arbre


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Par défaut Algo de transformation d'arbre
    Hello,

    Je cherche un algorithme rapide pour transformer des arbres, en python. Peut-être existe-t-il une librairie qui fait déjà ça.

    Quelques exemples de transformation pour me faire comprendre :
    (m,(m,a,b),c) => (m,a,(m,b,c)
    (m,(m,a,b),c) => m(k(t(c),a),v(b))
    avec m,k,t,a,b,c des objets quelconques

    Il est assez important que l'algo soit rapide.

    Des idées ?

    Merci

  2. #2
    Membre Expert Avatar de plxpy
    Homme Profil pro
    Ingénieur géographe
    Inscrit en
    Janvier 2009
    Messages
    792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur géographe
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2009
    Messages : 792
    Par défaut
    Bonjour

    Citation Envoyé par davcha
    Quelques exemples de transformation pour me faire comprendre :
    (m,(m,a,b),c) => (m,a,(m,b,c)
    (m,(m,a,b),c) => m(k(t(c),a),v(b))
    avec m,k,t,a,b,c des objets quelconques
    pour moi, c'est râté.

    C'est une notation "standard" ? Elle porte un nom ?

  3. #3
    Membre Expert Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Par défaut
    Oui. Désolé pour le manque de précision : http://fr.wikipedia.org/wiki/S-expression

    En ce qui concerne la question posée ici, il s'agit de tuples python imbriqués qui forment une structure arborescente.
    La permutation des membres gauche/droite est un exemple de transformation simple : (a, b) => (b, a).

    J'espère que c'est un peu plus clair.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Citation Envoyé par plxpy Voir le message
    C'est une notation "standard" ? Elle porte un nom ?
    Bah, en considérant çà comme une notation de Newick, çà parle un peu.
    Après, il faut décrire la transformation à effectuer...
    Ce qui sera un mini-langage en soi.
    De tels outils existent mais j'ai le souvenir que c'est un problème NP-hard => ca traitera certaines catégories de transformations.

    Dans tous les cas, il va falloir mieux définir le besoin et se contenter de ce qu'on trouve avec Google.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre Expert Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Par défaut
    L'apprentissage de transformations à partir d'exemples peut être un pb NP-dur et décider si un ensemble de transformation ne comporte pas de cycles est NP-dur ou indécidable, je ne sais plus.

    Ici, je me contente seulement de transformations connues d'un arbre vers un autre.
    Je suis quasi certain qu'on peut faire ça avec du pattern-matching "à-la-OCaml".

Discussions similaires

  1. Algo de transformation de "courbes" (composées d'un nb fini de points)
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 24/03/2009, 11h14
  2. Algo d'envoie d'arbre
    Par mensoif dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 04/03/2009, 12h34
  3. algo construction d'un arbre
    Par grabriel dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 18/08/2008, 09h16
  4. Recherche algo pour Merger deux arbres
    Par L4BiN dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 28/04/2008, 07h52
  5. Algo de création d'arbre
    Par Loceka dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 24/11/2005, 23h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo