コード例 #1
0
ファイル: Backtrack.py プロジェクト: Acwok/TP_CSP
            for v in voisins:
                # On lit la couleur du voisin
                couleur_voisin = self.a.get(v)

                if(couleur_voisin!=None):

                    # Si un voisin utilise déjà la couleur
                    if(c == couleur_voisin):
                        ok = False
                        # On teste la couleur suivante
                        break
                # else:
                #     # Si le voisin n'a pas encore de couleur on sort du while
                #     # pour attribuer la couleur à la variable en cours
                #     break


            # Si aucun voisin n'utilise la couleur, on assigne la couleur
            if(ok==True):
                self.a[variable] = c
                return True

        return False

if __name__ == "__main__":
    g = CSP("instances_moodle/flat20_3_0.col",3)
    g.trierParMaxContraintes()
    # print g.contraintes
    b = Backtrack(g)
コード例 #2
0
ファイル: Menu.py プロジェクト: Acwok/TP_CSP
    elif (res=='1'):
        print "Indiquez le chemin du fichier labyrinthe a charger: ",
        path = raw_input()
        print "Indiquez le nombre de couleurs à utiliser: ",
        nb_couleurs = input()
        csp = CSP(path,nb_couleurs)

        if(csp.erreur_chargement==False):
            print OKGREEN+"=> CSP chargé!"+ENDC
        else:
            csp=None

    elif (res=='2'):
        if(csp!=None):
            csp.trierParMaxContraintes()
            print OKGREEN+"=> CSP trié!"+ENDC
        else:
            print FAIL+"Aucun CSP n'a été chargé! Veuillez charger un CSP."+ENDC

    elif (res=='3'):
        afficher_trace = not afficher_trace
        if(afficher_trace==True):
            print OKGREEN+"=> La trace d'exécution sera affichée!"+ENDC
        else:
            print OKGREEN+"=> La trace d'exécution sera masquée!"+ENDC

    elif (res=='4'):
        if(csp!=None):
            print OKGREEN+"=> BackTrack sur le CSP",path,":"
            backtrack = Backtrack(csp,afficher_trace)