Closed sipi closed 12 years ago
Searching for graph isomorphisms means opening a can of NP-Complet worms, it's true. Then again, the whole formalisation is based around the idea, as it provides the rotation/translation invariance we need. It's a matter of whether we can find an appropriate logical formulation quickly, or whether it makes more sense to press on with what we have.
edit: it is possible to convert these structure in propositional logic, though I believe it requires existence operators - this could be a problem.
An conceptual graph can be directly translate in an logical representation in a polynomial time. And the rotation/translation is not a problem.
N ---is_near--- B => Ex,y Noir(x) et Blanc(y) et near(x,y)
True. The problem is the Ex,y: we've written code to treat "forall x,y" by not "exists x,y". I seem to remember hearing that the same techniques can't be used in this (more complicated) case.
Re phone conversation with Clement: okay, think this may indeed be worth looking into as an alternative, especially since we have a good amount of code already written (+ understanding of how it works).
Désolé pour le Français mais ça sera plus simple ;)
Pour la représentation sous forme de graphe, j'aime bien l'article wikipedia qui dit que les graphes conceptuels sont une interface graphique de la logique du premier ordre. En effet, toutes les opérations (y compris l'homomorphisme) peuvent être traitée sous la forme de formules logique.
A noter que M.L. Mugnier est notée dans l'artcle ! 3e paragraphe, et dans la Biblio ;)
Ce qu'on sait dit avec Clément c'est que traiter des formules logiques tend à être plus simple que les graphes, et particulier qu'on a déjà le projet d'IA d'écrite. Après c'est vraiment que les formules logiques sous formes de graphes ça se mémorise mieux informatiquement que des FBF écrites en toute lettres :P
Donc on représente sous la forme de graphe ou de FBF ? On peu très bien créer toute une librairie de logique (genre classe prédicat, etc..) pour éviter de se trimbaler avec des strings comme on avait fait en TP d'IA
On est d'accord que l'API du TP IA est totalement dégueulasse. Un format FBF-objet serait probablement plus exploitable (avec des méthodes adaptés) que des graphes.
Nous sommes d'accord pour utiliser une logique du première ordre dont les prédicats sont définis ici : https://cogito.framapad.org/7
For @violethaze :
I think that is possible to use an logical representation for high level concept instead of the graph representation, so as to reuse more easier your rule-based program and resolve the problem of encoding, because these representation are equivalents.
What do you think about this idea?