Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Problèmes de chemins

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en algèbre linéaire
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
yoan123



Inscrit le: 13 Déc 2003
Messages: 3

MessagePosté le: 13 Déc 2003 15:12    Sujet du message: Problèmes de chemins Répondre en citant

J'ai un gros souci,et j'aimerais avoir un gros coup de main...En effet j'ai un projet(dont la date arrive bientot à expiration...) et je n'arrive pas à trouver des procédures qui:

determinent des chemins les plus courts,plus longs,plus fiables,plus grandes capacités.
et pour chacune de ces procédures, elles doivent prendre en entrée une matrice d'adjacence A de taille n et fournir en sortie une matrice de fermeture B correspondante.

En espérant qu'une généreuse personne pourra m'aider-que dis-je me sauver!!-
Merci d'avance...
Crying or Very sad
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 14 Déc 2003 12:21    Sujet du message: Re: problèmes de chemins Répondre en citant

Je ne suis pas spécialiste, aussi allez peut-être dans les moteurs de recherche en tapant le mot-clé "matrice de fermeture"
Cette page contient des renseignements qui pourront vous aider je pense:

http://www-igm.univ-mlv.fr/~perrin/Enseignement/X/X98/pc8/pc8Java/pc8Java.html

A plus tard.
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
yoan123



Inscrit le: 13 Déc 2003
Messages: 3

MessagePosté le: 14 Déc 2003 21:56    Sujet du message: Re: problèmes de chemins Répondre en citant

Je vous remercie de m'avoir répondu,et il est vrai qu'il y a de nombreux renseignements utiles,mais cependant ils sont dans un autre langage,je m'en suis inspiré ainsi qu'avec d'autres exemples et j'en ai "pondu" quelques procédures,mais bon je n'arrive pas à les tester (peut-être sont-elles fausses...) et j'aimerais avoir un avis:

fermeture transitive:
Code:

> fermtrans:=proc(t::matrix,i::integer,j::integer,n::integer,k::integer)
> t:=m;
> for i from 1 to n do
> for j from 1 to n do
> if t[j,i]=1 then
> for k from 1 to n do
> if t[i,k]=1 then
>  t[j,k]:=1;fi;
> od;
> fi;
> od;
> od;
> end;


Détermination des chemins les plus courts:
Code:

> Courtchemin:= proc (m::matrix ,i::integer,j::integer,k::integer ,n::integer )
> d:=m;
> for i from 1 to n do
> for j from 1 to n do
> if d[j,i] < infinity then
> for k from 1 to n do
> if d[j,k]>d[j,i]+d[i,k] then
> d[j,k]:=d[j,i]+d[i,k];
> fi;
> od;
> fi;
> od;
> od;
> end;


Je ne voudrais pas abuser...et si vous n'avez pas d'avis sur mes procédures,ce n'est pas grave.Je vous réitère mes remerciements pour m'avoir répondu, et encore un grand merci! : D
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
yoan123



Inscrit le: 13 Déc 2003
Messages: 3

MessagePosté le: 15 Déc 2003 18:03    Sujet du message: Re: problème de chemins Répondre en citant

[quote="ALS"]Sans me prononcer sur la justesse des algorithmes utilisés, je corrige la syntaxe de vos 2 procédures (on peut aussi remplacer integer par posint (entier >0) )
Mettre i,j,k en variables locales.


[code]
>with(linalg):

>fermtrans := proc(m::matrix, n::integer)
>local i, j, k, t;
> t := m;
> for i to n do for j to n do
> if t[j, i] = 1 then for k to n do
> if t[i, k] = 1 then t[j, k] := 1 end if;
> end do;
> end if;
> end do;
> end do;
> evalm(t)
end proc;

> A:=matrix([[1,1,0,1],[0,0,1,0],[1,1,1,0],[0,0,0,1]]);

[1 1 0 1]
[ ]
[0 0 1 0]
A := [ ]
[1 1 1 0]
[ ]
[0 0 0 1]

> fermtrans(A,4);

[1 1 1 1]
[ ]
[1 1 1 1]
[ ]
[1 1 1 1]
[ ]
[0 0 0 1]

> Courtchemin:= proc(m::matrix, n::integer )
> local d,i,j,k;
> d:=m;
> for i from 1 to n do
> for j from 1 to n do
> if d[j,i] < infinity then
> for k from 1 to n do
> if d[j,k]>d[j,i]+d[i,k] then
> d[j,k]:=d[j,i]+d[i,k];
> fi;
> od;
> fi;
> od;
> od;
> evalm(d)
> end;


> Courtchemin(A,4);

[1 1 1 1]
[ ]
[1 1 1 1]
[ ]
[1 1 1 1]
[ ]
[0 0 0 1]
[/code][/quote]

Je ne fait donc que sans cesse vous remercier,car gràce à vos précieux renseignements,j'ai pu finir mes procédures sur les chemins...Donc je vous témoigne de ma reconnaissance et longue vie au site! Very Happy
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Maple en algèbre linéaire Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.