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 :

Défi : Déduire des liens familiaux !


Sujet :

Python

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Points : 240
    Points
    240
    Par défaut Défi : Déduire des liens familiaux !
    Bonjour,

    Je recherche une méthode (ou un bout de code !) qui me permettrait de déduire des liens familiaux en fonction des informations données.

    Par exemple, je sais que :
    - Bernard est le père de Marie et Marion
    - Bernadette est la mère de Marie
    - Marie et Marion sont soeurs.

    DONC, le code déduit que : Bernadette est également la mère de Marion, etc...

    Je suppose qu'il ne s'agit que d'un petit problème de logique ?!

    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Fastoche, il suffit de mettre "Prolog" dans le Python

    Code Python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    >>> from pyswip import Prolog
    >>> prolog = Prolog()
    >>> prolog.assertz("father(michael,john)")
    >>> prolog.assertz("father(michael,gina)")
    >>> list(prolog.query("father(michael,X)"))
    [{'X': 'john'}, {'X': 'gina'}]
    >>> for soln in prolog.query("father(X,Y)"):
    ...     print soln["X"], "is the father of", soln["Y"]
    ...
    michael is the father of john
    michael is the father of gina
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 328
    Points : 240
    Points
    240
    Par défaut
    Merci pour ta réponse.

    En fait, je le teste déjà depuis une semaine mais le résultat n'est totalement satisfaisant. J'ai 2 soucis :

    - Je n'arrive pas à créer toutes les règles qui permettent de déduire toutes les relations. Par exemple, j'arrive à trouver tous les liens de parenté sans souci quand je saisi tous les enfants et leurs parents, mais Prolog perd les pédales quand je saisi les faits père, oncle ou soeur par exemple. Je doute donc d'arriver à créer toutes les bonnes règles par moi-même

    - 2ème problème : quand je fais mes tests, pyswip a tendance à tout conserver en mémoire(pb connu sur le web apparemment). Ce qui fausse les résultats suivants ! Je n'arrive pas à trouver une méthode pour réinitialiser le moteur après chaque test.

    Si quelqu'un avait un coup de génie pour ces 2 soucis, ce serait génial !

    Merci pour votre aide...

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Hmmm
    Si vous avez un problème de formalisation de votre moteur de règle Prolog, il serait peut être plus judicieux d'aller dans le forum
    Car dans le coin nous sommes plutôt Lisp, C, C++ mais Prolog
    Personnellement, j'ai adoré il y a longtemps....
    J'ai un peu fait mumuse avec PySwip mais pas assez sérieusement pour vous faire espérer que je puisse traiter votre problème rapidement: mes neurones sont fort occupés à d'autres sujets.

    => Espérons qu'un lecteur avisé pourra vous répondre ici...

    2ème problème : quand je fais mes tests, pyswip a tendance à tout conserver en mémoire(pb connu sur le web apparemment). Ce qui fausse les résultats suivants ! Je n'arrive pas à trouver une méthode pour réinitialiser le moteur après chaque test.
    A défaut de raconter comment vous faites et pourquoi cela ne vous plait pas, donnez nous au moins l'URL qui parle de votre problème....

    Courage,
    - W
    A défaut
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Outil pour vérification automatique des liens
    Par zazaraignée dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/01/2005, 20h00
  2. Entourer des liens d'un border
    Par fytheone dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 04/01/2005, 20h12
  3. Aspect des liens hypertextes
    Par flzox dans le forum Mise en forme
    Réponses: 5
    Dernier message: 04/09/2004, 15h29
  4. Problème à l'édition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/11/2003, 14h50

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