SCSR
SCSR : Savoir = concepts + symboles + relations
Il nous est assez facile de savoir, facile d'être conscient du fait que l'on sait, facile encore de l'exprimer. Mais il est extraordinairement difficile de décrire de manière précise et détaillée la manière dont est organisé ce que nous savons.
Peut-on ramener tout ce que nous savons, tout ce que nous avons appris. à des briques simples et élémentaires se prêtant bien à une représentation formelle, voire à une représentation artificielle ?
Voici un essai dans cette direction: le modèle SCSR : "savoir = concepts + symboles + relations"
Ambition
Construire un modèle SCSR avec les caractéristiques suivantes
- capable d'apprendre
- capable de répondre vari ou faux à des questions factuelles simples
- capable de traiter des problèmes de classification
- capable de traiter des problèmes d'arithmétique élémentaire (addition, soustraction, multiplication, division)
Tout cela doit être obtenu par le seul moyen de structure et d'algorithmes non-numériques. Par exemple à la question "3+4=?", le modèle devrait répondre 4 sans avoir utilisé d'opérateur mathématique direct.
Savoir
Le savoir est organisé comme une masse (un amas, une collection) de données organisées en réseau. Cela signifie donc d'un part la présence d'entités élémentaires intrinsèques (les concepts) et dérivées (les symboles) et d'autre part la présence de connections (relations) liant entre elles les entités élémentaires, les liens étant d'intensité très variables.
Objets
Ici nous appellons objets à la fois les concepts, les symboles et les relations.
Concepts
Les concepst sont intrinsèques, primaires: ils ne se définissent que par rapport à eux-mêmes, comme en mathématiques les axiomes.
Les concepts sont persistants: ils subsitent au sein du savoir.
Les concepts sont atomiques: ils ne se découpent pas en sous-concepts.
Les concepts sont liables - et liés - par des relations diverses.
Symboles
Un symbole est un concept secondaire.
Un symbole est toujours lié à un concept primaire.
Un symbole appartient à un champs de symboles (exemple: champs des symboles visuels, champs des symboles sonores, champs des symboles textuels).
Un symbole est persistant.
Un symbole n'est pas atomique : il relève d'un concept et d'un champs symbolique, et se définit par eux.
Un symbole n'est liable qu'à son concept et à son champs symbolique.
Relations
Une relation est ...
Une relation est une table de correspondance (une table de traduction, une HashMap,...)
Une relation est une requête et une réponse
Une relation reçoit (requête) un argument, qui est un objet.
Une relation renvoie (réponse) un résultat, qui est un objet.
Exemples de concepts
rien / vrai / faux / invérifiable
jaune / bleu / couleur
moi / maman / papa / Louis
un / deux / trois
chien / lapin / animal
zéro
concept / symbole / relation
train / avion / bateau
main / jambe / peau
Dans ce qui suit, pour exprimer un concept, l'écriture <concept> sera utilisée. Par exemple <jaune>, <vrai>, <cinq>...
Exemples de symboles
Symboles visuels : l'image ou les images associées au jaune, à maman, au serpent, à la main... Ils seront représentés par "V:concept", par exemple "V:main". Les images peuvent être concrètes ou abstraites, schématisées...
Symboles textuels : les textes représentant le jaune, maman, un serpent, une main, le trois, qui sont donc surtout "jaune", "maman", "serpent" (ou "snake"), "main", "trois" (ou "3"),...
Symboles sonores : les sons et combinaisons de sons associées au jaune, à maman, au serpent, à la main. Principalement donc les mots prononcés, mais aussi le timbre de la voix de maman, le sifflement (du serpent)...Il seront représentés ici par "S:concept", par exemple "S:serpent".
Nous avons donc le concept <serpent>, les symboles textuels "serpent" et "snake", les symboles visuels "V:serpent" et les symboles sonores "S:serpent".
Exemples de relations
categSup(objet) : concept
categSup(<3>) : <chiffre entier> categSup(<chien>) : <animal> categSup(<animal>) : <concept>
chiffreSuivant(concept) : concept
chiffreSuivant(<2>) : <3>
conceptSymbole(symbole) : concept
conceptSymbole("orange") : <orange>
estVrai(<relation>) : <concept>
estVrai(chiffreSuivant(<2>) : <3>) : <vrai>
estVrai(chiffreSuivant(<7>) : <4>) : <faux>
estVrai(chiffreSuivant(<orange>) : <banane>) : <niVraiNiFaux>