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

Algorithmes et structures de données Discussion :

Heuristique pour Taquin


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut Heuristique pour Taquin
    Bonjour a tous,

    Alors voila je suis en train de développer une résolution du taquin en C++ avec l'algorithme A*.

    J'utilise déjà deux heuristiques :

    -Celle de manhattan
    -Celle du nombre de pièces mal placées...

    Ces deux la sont les plus connues, mais j'aimerai utiliser une troisième heuristique...

    Connaissez vous une autre heuristique et si oui plus perfectionnée que les deux précédentes?

    Merci d'avance

  2. #2
    Membre actif Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Points : 237
    Points
    237
    Par défaut
    Tu peux faire sa somme des distances de manhattan de chaque pièce à leur destination, c'est encore plus efficace que les deux que tu as citées

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Twindruff Voir le message
    Tu peux faire sa somme des distances de manhattan de chaque pièce à leur destination, c'est encore plus efficace que les deux que tu as citées
    C'est pas ce que fait manhattan?

    Dans ma fonction manhattan, je calcule le nombre de deplacements de la piece pour arriver a l'etat final (destination)... Et je le fais pour toutes les pieces et je retourne donc le nombre de coups total...

  4. #4
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    S'il s'agit de prendre d'autres heuristiques, on peut aussi prendre

    somme de (pour chaque pièce le nombre de voisins corrects [0,1,2,3,4])

  5. #5
    Membre actif Avatar de Twindruff
    Inscrit en
    Janvier 2005
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 216
    Points : 237
    Points
    237
    Par défaut
    Citation Envoyé par sn@ke51 Voir le message
    C'est pas ce que fait manhattan?

    Dans ma fonction manhattan, je calcule le nombre de deplacements de la piece pour arriver a l'etat final (destination)... Et je le fais pour toutes les pieces et je retourne donc le nombre de coups total...
    ah quand tu as dis "distance de manhattan" tout court j'ai cru que tu faisais la distance de manhattan du vide à sa destination seulement

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par khayyam90 Voir le message
    S'il s'agit de prendre d'autres heuristiques, on peut aussi prendre

    somme de (pour chaque pièce le nombre de voisins corrects [0,1,2,3,4])
    Ok merci

    Je vais faire ca...

    Vous connaissez un lien ou il y a toutes les heuristiques pour le taquin?

    Merci a tous.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par khayyam90 Voir le message
    S'il s'agit de prendre d'autres heuristiques, on peut aussi prendre

    somme de (pour chaque pièce le nombre de voisins corrects [0,1,2,3,4])
    Apres avoir code cette heuristique, le bench est affreux... Elle est 10x plus lente que le nombre de pieces mal placees.

    Dommage

  8. #8
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    Je n'ai pas dit qu'elle serait rapide. Elle convient au problème.

Discussions similaires

  1. API pour les cartes heuristiques
    Par sciencesmaths dans le forum Général Java
    Réponses: 0
    Dernier message: 13/02/2012, 14h18
  2. Réponses: 2
    Dernier message: 24/11/2009, 18h08
  3. Outils, cours et NOUVEAUX tutoriels pour Borland C++Builder
    Par hiko-seijuro dans le forum C++Builder
    Réponses: 10
    Dernier message: 12/03/2006, 22h33
  4. Tutoriels et liens pour le Borland Database Engine
    Par Community Management dans le forum Paradox
    Réponses: 0
    Dernier message: 25/03/2002, 10h23
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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