Précédent   Forum du club des développeurs et IT Pro > Autres langages > Algorithmes > Mathématiques
Mathématiques Forum d'entraide sur les mathématiques et l'algorithmique numérique. Avant de poster : Cours d'algorithmique numérique
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/11/2012, 16h22   #21
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 572
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 572
Points : 11 865
Points : 11 865
oui, mais je crois que Aleph t'as un peu emmêlé les pinceaux..

(et d'ailleurs il le mentionne :
Citation:
en posant H(x)=log(G(N)), a=k, b=log(ck) et X=log(N).
)


là, ce que tu prouves, c'est que le log de ta fonction est proportionnel à N, donc que ta fonction est proportionnelle à l'exponentielle de N

Si tu traces f(x) vs x, si tu mets une échelle log en X : (une échelle, hein ??)
  • si tu as une droite : ta fonction est bien en log(N)
  • si tu mets une échelle log en Y (tout en gardant l'echelle log en X), et si tu as une droite, alors c'est une loi de puissance, dont le coefficient de pente te donnera la puissance..


PS: ta légende est fausse, puisque tu n'as pas une échelle log en x..
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 01/11/2012, 17h10   #22
Décembre
Membre du Club
 
Avatar de Décembre
 
Inscription : avril 2010
Messages : 215
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 215
Points : 53
Points : 53
Salut,
Citation:
Envoyé par souviron34 Voir le message
oui, mais je crois que Aleph t'as un peu emmêlé les pinceaux..

(et d'ailleurs il le mentionne :

)


là, ce que tu prouves, c'est que le log de ta fonction est proportionnel à N, donc que ta fonction est proportionnelle à l'exponentielle de N

Si tu traces f(x) vs x, si tu mets une échelle log en X : (une échelle, hein ??)
  • si tu as une droite : ta fonction est bien en log(N)
  • si tu mets une échelle log en Y (tout en gardant l'echelle log en X), et si tu as une droite, alors c'est une loi de puissance, dont le coefficient de pente te donnera la puissance..
comment dois-je faire pour l'échelle? je suis perdue
Fichiers attachés
Type de fichier : xlsx tab.xlsx (9,8 Ko, 5 affichages)
Décembre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2012, 17h17   #23
Aleph69
Membre Expert
 
Homme
Chercheur
Inscription : mars 2010
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : mars 2010
Messages : 1 143
Points : 1 654
Points : 1 654
Bonjour,

Citation:
Envoyé par Aleph69 Voir le message
Concrètement, il te suffit donc de faire des mesures (N,T) pour N assez grand, puis de tracer, non pas T en fonction de N, mais log(T) en fonction N.
Mea culpa! Une erreur s'est glissée ici : il faut tracer log(T) en fonction de log(N) bien sûr!

Tu ne dois avoir qu'un seul et unique graphique : celui de log(T) en fonction de log(N). Si tu obtiens une droite pour N grand, alors la complexité de ton algorithme est polynomiale. Sinon, il faut chercher ta loi sous une autre forme.

Merci souviron34!
Aleph69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2012, 17h48   #24
Décembre
Membre du Club
 
Avatar de Décembre
 
Inscription : avril 2010
Messages : 215
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 215
Points : 53
Points : 53
Citation:
Envoyé par Aleph69 Voir le message
Bonjour,



Mea culpa! Une erreur s'est glissée ici : il faut tracer log(T) en fonction de log(N) bien sûr!

Tu ne dois avoir qu'un seul et unique graphique : celui de log(T) en fonction de log(N). Si tu obtiens une droite pour N grand, alors la complexité de ton algorithme est polynomiale. Sinon, il faut chercher ta loi sous une autre forme.

Merci souviron34!
Regardez ce que j'ai obtenu en traçant:

- Log(t) en fonction de log(n)-->O(n)
- Log(t) en fonction de log(n²)-->O(n²)
- Log(t) en fonction de log(n^3)-->O(n^3)
- Log(t) en fonction de log(log(n))-->O(log(n))
- Log(t) en fonction de log(n*log(n))-->O(n*log(n))

Il n 'ya que des lignes droites...que choisir maintenant
Images attachées
Type de fichier : jpg wow.jpg (48,0 Ko, 11 affichages)
Décembre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2012, 18h05   #25
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 572
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 572
Points : 11 865
Points : 11 865
je ne sais pas ce que tu fais.. Tu n'as pas 2 fois la même échelle pour X : 10, 32, .. 4..

Reprenons...

De quel outil te sers-tu pour tracer ?? Avec gnuplot, il suffit de faire "set logscale x".
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2012, 18h10   #26
Décembre
Membre du Club
 
Avatar de Décembre
 
Inscription : avril 2010
Messages : 215
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 215
Points : 53
Points : 53
Salut,

Je trace avec matlab et les valeurs que je trace sont sur le poste #22 sous forme d'un fichier excel
Décembre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2012, 18h12   #27
Aleph69
Membre Expert
 
Homme
Chercheur
Inscription : mars 2010
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : mars 2010
Messages : 1 143
Points : 1 654
Points : 1 654
Décembre, c'est pourtant clair :

Citation:
Envoyé par Aleph69 Voir le message
Tu ne dois avoir qu'un seul et unique graphique : celui de log(T) en fonction de log(N).
Aleph69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2012, 18h13   #28
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 572
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 572
Points : 11 865
Points : 11 865
je ne peux l'ouvrir avec mon Excel...

Mais maintenant, je ne connais pas Matlab, mais je suis certain qu'il y a, sns calculer quoi que ce soit, juste le moyen de modifier les échelles du tracé..
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2012, 18h19   #29
Décembre
Membre du Club
 
Avatar de Décembre
 
Inscription : avril 2010
Messages : 215
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 215
Points : 53
Points : 53
Citation:
je ne peux l'ouvrir avec mon Excel...
Je pense que c'est un problème d'extension essayez celui la:
Fichiers attachés
Type de fichier : xls tab.xls (19,5 Ko, 5 affichages)
Décembre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2012, 18h24   #30
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 572
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 572
Points : 11 865
Points : 11 865
si j'en crois ton premier graphique précédent, si il est bien ce qui correspond à ce que Aleph69 a dit (log(f(N)) <-> log(N)), alors :

pour un delta de 1.85 en log(N) (entre 10.7 quand ça touche en haut et 8.85 quand ça touche en bas) , tu as un delta de 4 en log(f(N)). A vue de nez, comme ça, juste en regardant.

C'est donc légèrement supérieur à O(N^2)... (O(N^2.16)) (puisqu'alors pour un delta de 2 en logN tu aurais 4 en log((n)))

Pour avoir le vrai coeff, il te faut faire une régression linéaire sur ce graphique.
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2012, 18h34   #31
Décembre
Membre du Club
 
Avatar de Décembre
 
Inscription : avril 2010
Messages : 215
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 215
Points : 53
Points : 53
Citation:
si j'en crois ton premier graphique précédent, si il est bien ce qui correspond à ce que Aleph69 a dit (log(f(N)) <-> log(N)),
Le graphique de quel poste s'il vous plait?
Décembre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2012, 01h31   #32
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 572
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 572
Points : 11 865
Points : 11 865
numéro 24, juste au dessus..
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

Consultant indépendant.
Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
C, Fortran, XWindow/Motif, Java

Je ne réponds pas aux MP techniques
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2012, 10h29   #33
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par Décembre Voir le message
Je pense que c'est un problème d'extension essayez celui la:
D'après les données de ton fichier excel, on voit bien que ta fonction "t(n)" domine n.log(n) mais est dominée par n^3.

Et comme la courbe pour n^2 semble assez linéaire, on suspecte fortement que t(n) se comporte comme a*n^2.

__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2012, 13h17   #34
Décembre
Membre du Club
 
Avatar de Décembre
 
Inscription : avril 2010
Messages : 215
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 215
Points : 53
Points : 53
Citation:
Envoyé par pseudocode Voir le message
D'après les données de ton fichier excel, on voit bien que ta fonction "t(n)" domine n.log(n) mais est dominée par n^3.

Et comme la courbe pour n^2 semble assez linéaire, on suspecte fortement que t(n) se comporte comme a*n^2.


Merci beaucoup pour l'explication, donc il se comporte comme un a*n^2, pour le coefficient a (la pente). est ce que c'est juste de le calculer graphiquement à partir de mes données? car mon programme et très complexe et fait appel à plusieurs fonctions et c'est pas très simple de calculer la complexité directement !!

Merci encore
Décembre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h09.


 
 
 
 
Partenaires

Hébergement Web