OVH Cloud OVH Cloud

Arbre virtuel

10 réponses
Avatar
fraction
Bonjour
J'ai une s=E9rie d'inconnues. Mettons w, x, y et z.
Je sais que w d=E9termine y.
Je sais que y d=E9termine z.
Mais cet enchainement est dissoci=E9.
Cet arbre de d=E9termination n'est pas vrai un arbre. Il n'a que deux
niveaux, deux dimensions, deux collections imbriqu=E9es. La liste
initiale des inconnues (w,x,y,z) et pour chaque inconnue la liste des
inconnues qu'elle d=E9termine directement.
Ma question parait simple. Comment, =E0 partir de cette collection =E0
deux dimensions, =E9crire l'ensemble des cha=EEnes de d=E9termination
possibles.
Par exemple, ici, obtenir la cha=EEne w, y, z. Ainsi que toutes les
autres.

10 réponses

Avatar
fraction
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 ?
Avatar
jean-marc
>"fraction" wrote in message
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
Avatar
fraction
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 ?
Avatar
jean-marc
"fraction" wrote in message
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_' ;
Avatar
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.
Avatar
fraction
On 18 jan, 23:20, fraction wrote:
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é.
Avatar
Jean-marc
fraction wrote:
On 18 jan, 23:20, fraction wrote:
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_' ;
Avatar
fraction
On 19 jan, 19:55, "Jean-marc" wrote:
fraction wrote:
> On 18 jan, 23:20, fraction wrote:
>> 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.
Avatar
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 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" a écrit dans le message de
news:
On 19 jan, 19:55, "Jean-marc" wrote:
fraction wrote:
> On 18 jan, 23:20, fraction wrote:
>> 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.
Avatar
fraction
On 30 jan, 01:49, "LE TROLL" <le wrote:
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.