cogitoTeam / IA_a_cognitive_approach

TER Intelligence Artificielle, une approche cognitive - TER M1 informatique UM2
3 stars 2 forks source link

use an logical representation for high level concept? #2

Closed sipi closed 12 years ago

sipi commented 12 years ago

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?

wilbefast commented 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.

sipi commented 12 years ago

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)

wilbefast commented 12 years ago

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.

wilbefast commented 12 years ago

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).

marminthibaut commented 12 years ago

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 ;)

wilbefast commented 12 years ago

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

marminthibaut commented 12 years ago

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

wilbefast commented 12 years ago

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.

sipi commented 12 years ago

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