Localisation
MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-3-RelevanceLearning.ipynb, cellules 4 6b2244c7, 25 6d1d952f, 26 7c4e0e96. Verifie sur 2c500fe6b.
Defaut 1 — le temoin de violation ne montre aucune contradiction
check_determination rapporte violations.append((rows[0], rows[1])) : les deux premieres lignes du groupe, sans verifier qu'elles different sur l'attribut cible. Quand le groupe contient trois lignes dont deux s'accordent, le temoin exhibe la paire qui s'accorde.
Mesure sur les donnees du notebook lui-meme (copper_data, density -> conductivity) : le temoin rendu est
Cu / high / high vs Cu / high / high
Attributs determinants egaux et valeurs cibles identiques : la paire produite comme preuve d'une violation n'en montre pas.
Cas minimal reproduisant le mecanisme : cible [0, 0, 1] sur un meme groupe determinant -> temoin (ligne0, ligne1), toutes deux a 0.
Correctif verifie : choisir la paire sur un desaccord effectif de la cible -> le temoin devient Cu(high) vs Fe(medium), qui montre la contradiction.
Defaut 2 — parite OWL surclamee
La docstring de functional_violations (cellule 26) annonce detecter « exactement ce que detecterait un reasoner OWL (HermiT, Pellet) sur l'ontologie ».
Pour une propriete d'objet fonctionnelle, p(a,b) ^ p(a,c) n'est pas une inconsistance : l'axiome entraine b = c. Un reasoner ne signale une inconsistance que si DifferentIndividuals(b, c) est par ailleurs asserte — ce que le notebook ne pose pas. Pour une propriete de donnee fonctionnelle, deux litteraux distincts sont bien contradictoires ; or les objets du notebook sont des chaines nues, ce qui rend l'alternative individu/litteral genuinement ambigue.
Aucun reasoner n'a ete execute — ni ici, ni a l'origine du constat. Le defaut porte donc sur la promesse de parite, pas sur un desaccord mesure.
Correctif : enoncer ce que la fonction fait reellement (detection de multiplicite sur une propriete declaree fonctionnelle) ; si la parite OWL doit etre affirmee, la demontrer en executant un reasoner et en montrant sa sortie, ou preciser l'hypothese DifferentIndividuals et la poser explicitement dans l'ontologie.
La table RBL <-> OWL de la cellule 25 doit etre relue avec la meme exigence.
Critere de cloture
- Chaque temoin rendu par
check_determination montre deux lignes qui different sur la cible ; sortie citee sur copper_data.
- La docstring de
functional_violations decrit le contrat effectif, ou la parite est demontree par une sortie de reasoner.
- Notebook re-execute et committe avec ses sorties (C.2).
Localisation
MyIA.AI.Notebooks/SymbolicAI/SymbolicLearning/SL-3-RelevanceLearning.ipynb, cellules 46b2244c7, 256d1d952f, 267c4e0e96. Verifie sur2c500fe6b.Defaut 1 — le temoin de violation ne montre aucune contradiction
check_determinationrapporteviolations.append((rows[0], rows[1])): les deux premieres lignes du groupe, sans verifier qu'elles different sur l'attribut cible. Quand le groupe contient trois lignes dont deux s'accordent, le temoin exhibe la paire qui s'accorde.Mesure sur les donnees du notebook lui-meme (
copper_data,density -> conductivity) : le temoin rendu estAttributs determinants egaux et valeurs cibles identiques : la paire produite comme preuve d'une violation n'en montre pas.
Cas minimal reproduisant le mecanisme : cible
[0, 0, 1]sur un meme groupe determinant -> temoin(ligne0, ligne1), toutes deux a0.Correctif verifie : choisir la paire sur un desaccord effectif de la cible -> le temoin devient
Cu(high)vsFe(medium), qui montre la contradiction.Defaut 2 — parite OWL surclamee
La docstring de
functional_violations(cellule 26) annonce detecter « exactement ce que detecterait un reasoner OWL (HermiT, Pellet) sur l'ontologie ».Pour une propriete d'objet fonctionnelle,
p(a,b) ^ p(a,c)n'est pas une inconsistance : l'axiome entraineb = c. Un reasoner ne signale une inconsistance que siDifferentIndividuals(b, c)est par ailleurs asserte — ce que le notebook ne pose pas. Pour une propriete de donnee fonctionnelle, deux litteraux distincts sont bien contradictoires ; or les objets du notebook sont des chaines nues, ce qui rend l'alternative individu/litteral genuinement ambigue.Aucun reasoner n'a ete execute — ni ici, ni a l'origine du constat. Le defaut porte donc sur la promesse de parite, pas sur un desaccord mesure.
Correctif : enoncer ce que la fonction fait reellement (detection de multiplicite sur une propriete declaree fonctionnelle) ; si la parite OWL doit etre affirmee, la demontrer en executant un reasoner et en montrant sa sortie, ou preciser l'hypothese
DifferentIndividualset la poser explicitement dans l'ontologie.La table RBL <-> OWL de la cellule 25 doit etre relue avec la meme exigence.
Critere de cloture
check_determinationmontre deux lignes qui different sur la cible ; sortie citee surcopper_data.functional_violationsdecrit le contrat effectif, ou la parite est demontree par une sortie de reasoner.