Arbre virtuel

Le
fraction
Bonjour
J'ai une série d'inconnues. Mettons w, x, y et z.
Je sais que w détermine y.
Je sais que y détermine z.
Mais cet enchainement est dissocié.
Cet arbre de détermination n'est pas vrai un arbre. Il n'a que deux
niveaux, deux dimensions, deux collections imbriquées. La liste
initiale des inconnues (w,x,y,z) et pour chaque inconnue la liste des
inconnues qu'elle détermine directement.
Ma question parait simple. Comment, à partir de cette collection à
deux dimensions, écrire l'ensemble des chaînes de détermination
possibles.
Par exemple, ici, obtenir la chaîne w, y, z. Ainsi que toutes les
autres.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
fraction
Le #20994121
Pour être plus explicite,
Je sais que :
w détermine x et y
x détermine y et z
y détermine w
z détermine x et z
Comment obtenir l'ensemble des chaînes de détermination, sans aucune
arborescence ?
jean-marc
Le #21000351
>"fraction" news:0e660a19-b383-4b5b-8a17->
Pour être plus explicite,
Je sais que :
w détermine x et y
x détermine y et z
y détermine w
z détermine x et z
Comment obtenir l'ensemble des chaînes de détermination, sans aucune
arborescence ?



Hello,
Il suffit d'écrire la matrice correspondante:
w x y z
w 0 1 1 0 ' w détermine x et y
x 0 0 1 1 ' x détermine y et z
y 1 0 0 0 ' y détermine w
z 0 1 0 0 ' z détermine x

(on ignore les relations triviales du genre
"x détermine x")

Dela, un simple parcours va nous permettre
d'énumérer toutes les chaines:

1ere ligne:
-----------
w détermine x;
x détermine y;
y détermine w; ignore
==> w -> x -> y
x détermine z;
z détermine x ; ignore
==> w -> x -> z;

w détermine y;
y détermine w; ignore;

2eme ligne:
-----------
x détermine y;
y détermine w;
w détermine x ; ignore
w détermine y ; ignore
=> x -> y -> w
x détermine z;
z détermine x ; ignore

3eme ligne:
-----------
y détermine w;
w détermine x
x détermine y ; ignore
x détermine z;
z détermine x; ignore
=> y -> w -> x

w détermine y
y détermine w; ignore
=> y -> w

3eme ligne:
-----------
z détermine x;
x détermine y
y détermine w
=> z -> x -> y
x détermine z ; ignore
=> z -> x

Et voila. les chaines sont donc :
w -> x -> y
w -> x -> z
x -> y -> w
y -> w -> x
y -> w
z -> x -> y
z -> x

NOTE: j'ai fait ça en vitesse, je ne garantit pas
d'avoir toutes les chaines, hein ! Mais l'idée est là.

Il reste à coder le petit parcours de la matrice,
rien de compliqué ici.

--
Jean-Marc
fraction
Le #21000941
Merci.
Je suis en train de coder ta méthode. Mais il reste un problème de
taille. Comment revenir au noeud inférieur quand on change de
chaîne ?
jean-marc
Le #21001121
"fraction" news:
Merci.
Je suis en train de coder ta méthode. Mais il reste un problème de
taille. Comment revenir au noeud inférieur quand on change de
chaîne ?



En codant le parcours de la matrice de façon récursive,
seul moyen (ou en tout cas moyen le plus naturel)
d'implémenter ce genre de parcours.

Tu peux t'inspirer du parcours infixe d'un arbre binaire
pour le codage, c'est très proche. Ca demande d'être familier
avec la notion de récursivité;:
http://fr.wikipedia.org/wiki/Arbre_binaire#Parcours_infixe

Sans récursivité, ça me semble un peu plus compliqué à coder,
il va falloir gérer une pile (LIFO) à la main pour "retenir"
l'endroit ou l'on est. Pas non plus super compliqué, mais moins
simple, à mon avis.

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
fraction
Le #21003631
Je vais essayer une autre méthode, wiki c'est trop compliqué.
Je crée une collection d'étude de noeuds que je compare à la
collection de noeuds maximum, comme une rétro-recherche.
fraction
Le #21007911
On 18 jan, 23:20, fraction
Je vais essayer une autre méthode, wiki c'est trop compliqué.
Je crée une collection d'étude de noeuds que je compare à la
collection de noeuds maximum, comme une rétro-recherche.



La rétro-recherche du Petit Poucet, c'est ce que tu me conseillais. Je
viens de le comprendre.
En tous cas merci. Sans toi, ,j'en serais encore à essayer de créer un
arbre potentiellement infini. Une histoire de fous. Mieux vaut une
matrice qu'un arbre indéterminé.
Jean-marc
Le #21008511
fraction wrote:
On 18 jan, 23:20, fraction
Je vais essayer une autre méthode, wiki c'est trop compliqué.
Je crée une collection d'étude de noeuds que je compare à la
collection de noeuds maximum, comme une rétro-recherche.



La rétro-recherche du Petit Poucet, c'est ce que tu me conseillais. Je
viens de le comprendre.



Je viens d'apprendre moi aussi : que "rétro-recherche du petit poucet"
était un synonyme de "parcours infixe" :-)

En tous cas merci.



Avec plaisir!

Sans toi, ,j'en serais encore à essayer de créer un
arbre potentiellement infini.



Ton problème peut aussi se représenter en arbre, mais de façon moins
naturelle. Ici c'était clair : une matrice était la structure de choix.

Une histoire de fous. Mieux vaut une
matrice qu'un arbre indéterminé.



Il a 3 trucs *vraiment* géniaux (tm) en informatique :
Les arbres, les automates et les matrices ou représentations matricielles.

Bien employés, c'est 80% des tâches les plus courantes et le modèle
pour 50% des problèmes "classiques".

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
fraction
Le #21086571
On 19 jan, 19:55, "Jean-marc"
fraction wrote:
> On 18 jan, 23:20, fraction >> Je vais essayer une autre méthode, wiki c'est trop compliqué.
>> Je crée une collection d'étude de noeuds que je compare à la
>> collection de noeuds maximum, comme une rétro-recherche.

> La rétro-recherche du Petit Poucet, c'est ce que tu me conseillais. J e
> viens de le comprendre.

Je viens d'apprendre moi aussi : que "rétro-recherche du petit poucet"
était un synonyme de "parcours infixe" :-)

> En tous cas merci.

Avec plaisir!

> Sans toi, ,j'en serais encore à essayer de créer un
> arbre potentiellement infini.

Ton problème peut aussi se représenter en arbre, mais de façon moin s
naturelle. Ici c'était clair : une matrice était la structure de choi x.

> Une histoire de fous. Mieux vaut une
> matrice qu'un arbre indéterminé.

Il a 3 trucs *vraiment* géniaux (tm) en informatique :
Les arbres, les automates et les matrices ou représentations matriciell es.

Bien employés, c'est 80% des tâches les plus courantes et le modèle
pour 50% des problèmes "classiques".

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
FAQ VB:http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;



Tu m'as donné une idée, et je vais refaire mon déducteur logique pour
qu'il soit plus rapide.
Le secret c'est de faire fonctionner la matrice un peu comme un
processeur. En abscisses et en ordonnées les mêmes propriétés mises en
relation, dans chaque case le types de relation, en entrées les
combinaisons possibles, et en sortie les existants et les
contradictions.
On peut modéliser cette matrice sous forme "d'atomium", de molécule
(je ne sais pas comment ça s'appelle), un arbre qui tolère la
circularité. Mon problème, c'est que déjà, je ne sais pas lire et
écrire un arbre indéterminé, alors un "atomium" encore moins.
LE TROLL
Le #21087391
Ah ben, ça marche pas encore depuis le temps, ben alors, tu vas pas
t'endormir quand même, faut dire que ton langage
pseudo-scientifico-littéraire à tendance à assoupir les méninges. Comme ça
tu vas faire un décideur, enfin, une aide à la décision, comme un grand,
mais sur Excel si j'ai un peu compris, faudra accélérer les rames, on ne
pouvait pas mieux choisir quand on parle de vitesse !
Faut espérer que tu va proposer le code à tester, juste histoire
d'éblouir...

-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"fraction" news:
On 19 jan, 19:55, "Jean-marc"
fraction wrote:
> On 18 jan, 23:20, fraction >> Je vais essayer une autre méthode, wiki c'est trop compliqué.
>> Je crée une collection d'étude de noeuds que je compare à la
>> collection de noeuds maximum, comme une rétro-recherche.

> La rétro-recherche du Petit Poucet, c'est ce que tu me conseillais. Je
> viens de le comprendre.

Je viens d'apprendre moi aussi : que "rétro-recherche du petit poucet"
était un synonyme de "parcours infixe" :-)

> En tous cas merci.

Avec plaisir!

> Sans toi, ,j'en serais encore à essayer de créer un
> arbre potentiellement infini.

Ton problème peut aussi se représenter en arbre, mais de façon moins
naturelle. Ici c'était clair : une matrice était la structure de choix.

> Une histoire de fous. Mieux vaut une
> matrice qu'un arbre indéterminé.

Il a 3 trucs *vraiment* géniaux (tm) en informatique :
Les arbres, les automates et les matrices ou représentations matricielles.

Bien employés, c'est 80% des tâches les plus courantes et le modèle
pour 50% des problèmes "classiques".

Cordialement,

--
Jean-marc Noury (jean_marc_n2)
FAQ VB:http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;



Tu m'as donné une idée, et je vais refaire mon déducteur logique pour
qu'il soit plus rapide.
Le secret c'est de faire fonctionner la matrice un peu comme un
processeur. En abscisses et en ordonnées les mêmes propriétés mises en
relation, dans chaque case le types de relation, en entrées les
combinaisons possibles, et en sortie les existants et les
contradictions.
On peut modéliser cette matrice sous forme "d'atomium", de molécule
(je ne sais pas comment ça s'appelle), un arbre qui tolère la
circularité. Mon problème, c'est que déjà, je ne sais pas lire et
écrire un arbre indéterminé, alors un "atomium" encore moins.
fraction
Le #21092201
On 30 jan, 01:49, "LE TROLL"
Ah ben, ça marche pas encore depuis le temps, ben alors, tu vas pas
t'endormir quand même, faut dire que ton langage
pseudo-scientifico-littéraire à tendance à assoupir les méninges. Comme ça
tu vas faire un décideur, enfin, une aide à la décision, comme un g rand,
mais sur Excel si j'ai un peu compris, faudra accélérer les rames, on ne
pouvait pas mieux choisir quand on parle de vitesse !
Faut espérer que tu va proposer le code à tester, juste histoire
d'éblouir...



Tu peux parler sans agresser.
Je me suis donné trente ans pour pousser mon IA généraliste au maximu m
de mes capacités. Le temps a donc une moindre importance que si
j'avais une commande à honorer. Une heure de programmation par jour
c'est suffisant. Récemment, ce qui m'a pris du temps, c'est le
déducteur mathématique : la circularité dans la détermination des
inconnues (ex : a détermine b, b détermine a). Finalement j'ai laissé
tomber en me disant que la circularité est un cas particulier
rarissime. Mais j'y reviendrais.
Ma façon de m'exprimer n'est peut-être pas académique, mais il faut
dire que j'ai appris à programmer avec un mode d'emploi de TI-82, et
que mes profs de maths ont fini en prison.
Je veux bien vous donner mon code, mais mon fichier Excel fait 895 Ko.
Je ne sais pas ce qu'est un décideur, ni comment ça marche, pour
l'instant je n'ai rien automatisé en amont de la volonté de
l'utilisateur. Mais je compte programmer ultérieurement (je ne sais
pas comment) un système monétaire (ou je ne sais pas quoi) à ma
machine qui l'aidera dans sa prise de décision.
Mon but ultime est de dessiner une IA généraliste anthropomorphe, qui
ne saura même pas jouer au morpion. Je veux dessiner un homme, sachant
que je ne suis pas le meilleur dessinateur et que cet homme ne sera
pas d'un réalisme opérationnel.
Publicité
Poster une réponse
Anonyme