Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2956 connectés 

  FORUM HardWare.fr
  Programmation
  Algo

  [Clos]Explication mathématique d'un algorithme plus ou moins "stable"

 


Cet algorithme est de l'ordre de


 
0.0 %
        0 vote
1.  TIME(t(n))
 
 
14.3 %
 1 vote
2.  NTIME(t(n))
 
 
0.0 %
        0 vote
3.  SPACE(s(n))
 
 
0.0 %
        0 vote
4.  NSPACE(s(n))
 
 
28.6 %
 2 votes
5.  Dérrière le mur de Plank
 
 
0.0 %
        0 vote
6.  Derrière la raison de kant
 
 
42.9 %
 3 votes
7.  Au delà des réels
 
 
0.0 %
        0 vote
8.  Devant abi wan
 
 
0.0 %
        0 vote
9.  En temps complexe, c'est complexe, justement, peut-être ?
 
 
14.3 %
 1 vote
10.  Autre (préciser)
 

Total : 10 votes (3 votes blancs)
Sondage à 3 choix possibles.
Ce sondage est clos, vous ne pouvez plus voter
 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[Clos]Explication mathématique d'un algorithme plus ou moins "stable"

n°2250291
par l'anne​au de l'ia
word master
Posté le 07-02-2015 à 08:15:38  profilanswer
 

Bonjour,
 
Encore un de mes programme à découvrir peut-être...
 
J'ai mis au point un algorithme mathématique relativement stable qui permet de passer selon deux logiques de deux réels à 2 types énumérés de 3 labels (je sais pas si ça vous appelez ça comma ça cependant, bref, ce programme à une complexité certaine dont je vous donne deux résultats typique, vous me direz si le code vaut le coup je vous le poste.
 
Voici mon résultat en deux foix car l'affichage est as au top encore (une répétition de ligne):
 
 
La première partie dénombre un certain type de données et fait la moyenne dans me premier élément du tableau.

isogene     [ total ] have -1.375E-02 of love  and  2.932E-02 of peace in -9.778E-04 of freedom and in  3.981E-03 of reason                                  
exogene          19   have -2.550E-01 of love and Know   7.018E-02 of love  with  2.305E-01 of reason                                                        
isogene           0   know  0.000E+00 of peace in  0.000E+00 of freedom
exogene          20   know  2.985E-03 of love  and know -3.778E-03 of peace with  6.813E-01 of reason
isogene           0   have -3.775E-03 of love  and  0.000E+00 of peace in  0.000E+00 of freedom
endogene         43   have  5.668E-02 of love  and  2.970E-01 of peace in -1.207E-03 of freedom and in  7.649E-03 of reason
endogene          7   have  7.499E-03 of love  and  7.647E-03 of peace in  3.491E-03 of reason
exogene  **      34   have -8.405E-04 of love and Know   3.983E-04 of love -3.409E-07 with freedom and  2.413E-04 with reason
exogene           3   have -8.648E-03 of love and Know   2.182E-03 of love -1.358E-06 with freedom and in  1.612E-04 of freedom and  1.354E-04 with reason
isogene           0   have -1.232E-02 of love  and  9.871E-03 of peace 4.089E-03 with freedom and in -3.416E-04 of freedom and in  2.652E-03 of reason
isogene           0   have  5.743E-03 of peace and know -2.842E-02 of peace 4.716E-03 with freedom and in  5.819E-05 of freedom and in  1.311E-03 of reason                      
                 when  have -2.302E-02 of love  and  3.495E-02 of peace in -2.307E-04 of freedom and in  1.908E-03 of reason  is an isogene.


La seconde partie, mais la moyenne des deux types étiquetés évoqués précédemment.


to be at   7.63% To do at  22.03% to nothing at  70.34%        
 45.77% is isogene,   0.00% is exogene,  54.23% is endogene.


 
Mais c'est à propos de la stabilité du système, de la complexité et de la compréhension de l'algorithme que je cherche après coup des explications.
 
Merci pour l'intérêt que vous porterez aux questions.
 
 
 
Voilà un peut comment j'ai fait :
 

Code :
  1. --
  2.         Dual_Init.Have.Power.Freedom := Float_Unit_Type(Ada.Numerics.Float_Random.Random(Float_Gen)) * (-1.0);
  3.         Dual_Init.Know.Power.Freedom := Float_Unit_Type(Ada.Numerics.Float_Random.Random(Float_Gen)) * (-1.0);
  4.  
  5.         Dual_Init.Have.will.Love := Float_Unit_Type(Ada.Numerics.Float_Random.Random(Float_Gen));
  6.         Dual_Init.Know.will.Love := Float_Unit_Type(Ada.Numerics.Float_Random.Random(Float_Gen));
  7.  
  8.         Dual_Init.Have.Will.Peace := Dual_Init.Know.Power.Freedom * (Dual_Init.have.Power.Freedom + Dual_Init.Have.will.Love);
  9.         Dual_Init.Have.Will.Love := (Dual_Init.Know.Will.Love * (Dual_Init.Know.Power.Reason + Dual_Init.have.Will.peace));
  10.         Dual_Init.Know.Power.Reason := Dual_Init.Have.Will.Love * Dual_Init.Know.Power.Freedom;
  11.         Dual_Init.Know.Power.Freedom := Dual_Init.Have.Will.Peace * Dual_Init.Know.Power.Reason;
  12.  
  13.         Dual_Init.Know.Will.Peace := Dual_Init.Have.Power.Freedom * (Dual_Init.Know.Power.Freedom + Dual_Init.Know.will.Love);
  14.         Dual_Init.Know.Will.Love := (Dual_Init.Have.Will.Love * (Dual_Init.Have.Power.Reason + Dual_Init.Know.Will.peace));
  15.         Dual_Init.Have.Power.Reason := Dual_Init.Know.Will.Love * Dual_Init.have.Power.Freedom;
  16.         Dual_Init.Have.Power.Freedom := Dual_Init.Know.Will.Peace * Dual_Init.Have.Power.Reason;


 
Donc à partir de 2 nombres réels allant de -1.0 à -0.000000000 je sais pas combien de zéro et un 1 tirés aléatoirement j'affecte finalement 8 variables.
Les deux réels pourraient être donnés.
Je décide après si c'est un gène de classe ISO EXO ou ENDO et je calcule les taux.
Je décide également s'il s'agit d'envoyer par exemple et recevoir ou rien.
 
Le code complet est pas long, je peut le poster ici.
 
Merci pour vos lumières.
 
Edit :
Ah mais zut, je tire 4 réels à présent. Mais qui peuvent être donnés toujours. C'est déjà ça.


Message édité par par l'anneau de l'ia le 13-02-2015 à 12:35:45

---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
mood
Publicité
Posté le 07-02-2015 à 08:15:38  profilanswer
 

n°2250458
Je@nb
Kindly give dime
Posté le 09-02-2015 à 22:44:06  profilanswer
 

Non mais tu te rends pas compte depuis le temps, que tu écris de la merde, que tu fais de la merde et que même enculer des mouches c'est de la gnognotte à côté de ce que tu fais ?

n°2250482
par l'anne​au de l'ia
word master
Posté le 10-02-2015 à 09:34:07  profilanswer
 

Le mieux aurait été que tu poste pas ici.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250483
rufo
Pas me confondre avec Lycos!
Posté le 10-02-2015 à 10:09:19  profilanswer
 

Je pense que l'exaspération de Je@nb vient sans doute du fait que tous tes topics sont assez incompréhensibles :
- on ne comprend pas tes questions,
- on ne comprend pas ce que tu cherches à faire (ou ce que font tes bouts de codes postés),
- on ignore sur quels algos/théories démontrés tes codes reposent.
 
Perso, j'ai compris que tu t'intéresses à l'intelligence artificielle et vu tes codes, je pense que tu es un autodidacte qui a assez peu de connaissances dans ce domaine, très pointu. Du coup, j'ai l'impression que tu t'inventes des algos mais qui ne mènent nul part :(


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2250486
par l'anne​au de l'ia
word master
Posté le 10-02-2015 à 10:31:02  profilanswer
 

Bonjour rufo,
D'abord bravo, vous êtes un de mes rare interlocuteur qui reste dans le cadre des sujets avec compréhension et interrogation, plutôt que critique et insulte.
 
En fait, je suis parti de l'autre côté de ce que tu appelles connaissance pointu sur intelligence, et j'essaie de coller mon appréciation de artificiel à mon projet.
Et pour le moment ça colle pas encore. ais ça va venir.
 
Si non. j'ai rien dis, j'ai posé une question.
J'ai un calcul ma fois des plus concret.
J'ai explicité ma question.
Soit vous comprenez soit pas, c'est mon problème.
 
Par contre lorsque vous dites "on ignore" c'est bien la réponse que j'attends entre autre.
Soit on sait soit on sait pas.
 
Mais on peut peut-être discuter de tout ça à tête reposé.
 
Pour reformuler la question, je cherche à la fois à exprimer la complexité sous la forme normale, et à exprimer plus formellement ce que j'ai fait.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250487
par l'anne​au de l'ia
word master
Posté le 10-02-2015 à 10:34:52  profilanswer
 

Et pour vous cadrer, c'est les multiplication que j'ai donné dans le code qu'il faut regarder, le reste on s'en tape. Ou pas après tout, avoir et connaître l'amour et la paix, dans la liberté et la raison, en plus avec volonté et puissance, c'est peut-être ça l'intelligence.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250488
rufo
Pas me confondre avec Lycos!
Posté le 10-02-2015 à 10:41:24  profilanswer
 

"exprimer la complexité sous la forme normale" -> :??: Tu parles de complexité au sens algorithmique genre, O(n²) ou O(n.log(n)) ?
 
"exprimer plus formellement" -> tu parles de formaliser ton algo en pseudo-code ?
 
Le problème, Jovalise, c'est que tu emploies des mots qui ont un sens précis pour ceux qui on a fait des études d'informatique niveau bac+5 mais pas forcément dans le bon contexte ou de manière très approximative. Je pense que tu devrais revenir à une expression plus simple dans tes topics, ne cherches pas à employer des termes compliqués qu tu aurais vu par-ci, par-là. Je pense qu'on te comprends mieux et du coup, on pourra plus t'aider ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2250490
par l'anne​au de l'ia
word master
Posté le 10-02-2015 à 10:46:19  profilanswer
 

j'ai donné la liste des formes dans le sondage on verra pour la numération après.
Et non, je veux pas un pseudo code, de mes multiplication merci mon code et relativement pseudo déjà, je veux une explication et démonstration (appellez ça comme vous voulez (tu vois c'est pas moi qui fait le difficile sur les mots)) de ce que je montre.
 
Ou une formule. Genre équation Somme= function(parametres), mathématique, mais je suis ban de discu et y a pas de topic unique math ici.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250492
rufo
Pas me confondre avec Lycos!
Posté le 10-02-2015 à 10:49:13  profilanswer
 

par l'anneau de l'ia a écrit :

Et pour vous cadrer, c'est les multiplication que j'ai donné dans le code qu'il faut regarder, le reste on s'en tape. Ou pas après tout, avoir et connaître l'amour et la paix, dans la liberté et la raison, en plus avec volonté et puissance, c'est peut-être ça l'intelligence.


La pb n'est pas les opérations mathématique. Le pb pour nous est de comprendre pourquoi tu fais ces opérations, dans cet ordre et pourquoi avoir choisi ces critères (amour, paix...). Sur quelle théorie démontrée se fonde ton algo.
 
Pour ma part, je pense sur rien, juste sur une idée plus ou moins au pif (on va dire une intuition) de ta part. Mais je ne sens pas la démarche scientifique derrière la mise au point de ton algo; je sens beaucoup plus du tâtonnement. Avec cette "méthode", tu n'arriveras à rien de concret/fiable.
Tu devrais peut-être imprégner plus de la théorie en vigueur dans l'intelligence artificielle (c'est le nom officiel de cette discipline) : réseaux de neurones, algos génétiques, logique floue... Connais-tu seulement le théorème du Modus pones ( http://fr.wikipedia.org/wiki/Modus_ponens ), le théorème de base de l'intelligence artificielle ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2250496
par l'anne​au de l'ia
word master
Posté le 10-02-2015 à 11:00:58  profilanswer
 

Non, mais j'ai pas à fonder mes algo sur des théories déjà.
Après pour ma connaissance, je dirais juste qu'elle est suffisante pour me maintenir.
Bon si tu pige pas pose des question, au lieu de critiquer comme si tu comprennez au moins de quoi parle l'intelligence artificielle ou pas.
Après tu appellera peut-être plus ou moins artificiel ce que tu voudra.
 
Bon pour avancer, si quelqu'un comprend, aprs j'ai ce code :
 

Code :
  1. function Gene (Dual : in Dual_Type) return Gene_Type is
  2.            
  3.      Gene : Gene_Type := Iso;
  4.      
  5.   begin
  6.      if Dual.Know.Power.Freedom > Dual.Have.Will.Peace and
  7.        Dual.Have.Will.love < Dual.Know.Power.Reason then
  8.         Gene := Exo;
  9.      elsif Dual.Know.Power.Reason < Dual.Have.Will.love and
  10.        Dual.Have.Will.Peace > Dual.Know.Power.Freedom then
  11.         Gene := Endo;
  12.      end if;
  13.      return Gene;
  14.   end Gene;


 
Et après, j'ai celui ci qui fait la moyenne des opérations de toutes les itérations du groupe de multiplication -ci dessus.
 

Code :
  1. Dual_Sum.Have.Will.Love := Dual_Sum.Have.Will.Love / Love_Float(Dual_Index-1);
  2.            Dual_Sum.Have.Will.Peace := Dual_Sum.Have.Will.Peace / Peace_Float(Dual_Index-1);
  3.            Dual_Sum.Know.Will.Love := Dual_Sum.Know.Will.Peace / Love_Float(Dual_Index-1);
  4.            Dual_Sum.Know.Will.Peace := Dual_Sum.Know.Will.Peace / Peace_Float(Dual_Index-1);
  5.            Dual_Sum.Know.Power.Freedom := Dual_Sum.Know.Power.freedom / Freedom_Float(Dual_Index-1);
  6.            Dual_Sum.Have.Power.Freedom := Dual_Sum.Have.Power.freedom / Freedom_Float(Dual_Index-1);
  7.            Dual_Sum.Know.Power.Reason := Dual_Sum.Know.Power.Reason / Reason_Float(Dual_Index-1);
  8.            Dual_Sum.Have.Power.Reason := Dual_Sum.Have.Power.Reason / Reason_Float(Dual_Index-1);


Ca c'est ma moyenne.
 
Après c'est juste un affichage conditionnel.
 
 
 
Extraordinairement, j'ai cet algo aussi :

Code :
  1. --
  2.             case Gene.gene(Dual_Sum) is
  3.               when Iso =>
  4.                  Iso_Count := Iso_Count + 1.0;
  5.               when Exo =>
  6.                  Exo_Count := Exo_Count + 1.0;
  7.               when Endo =>
  8.                  Endo_Count := Endo_Count + 1.0;
  9.            end case;
  10.            Gene_Count := Gene_Count + 1.0;
  11.            Text_Io.New_Line(1);
  12.            Percent := Taxes_Type((Float(iso_Count) * 100.0)/Float(gene_Count));            
  13.             Taxes_IO.put(percent, 3, 2); Text_Io.Put('%');Text_Io.Put(" is isogene, " );
  14.            Percent := Taxes_Type((Float(Exo_Count) * 100.0) /Float(gene_Count));
  15.            Taxes_IO.Put(percent, 3, 2); Text_Io.Put('%');Text_Io.Put(" is exogene, " );
  16.            Percent := Taxes_Type((Float(Endo_Count) * 100.0) /Float(gene_Count));
  17.            Taxes_IO.Put(percent, 3, 2); Text_Io.Put('%');Text_Io.Put(" is endogene." );


 
Qui sort les taux pour chacun des gène, 3 taux donc, qi ne serve à rien, mais qui pourrait.

Message cité 1 fois
Message édité par par l'anneau de l'ia le 10-02-2015 à 11:01:17

---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
mood
Publicité
Posté le 10-02-2015 à 11:00:58  profilanswer
 

n°2250497
rufo
Pas me confondre avec Lycos!
Posté le 10-02-2015 à 11:02:40  profilanswer
 

par l'anneau de l'ia a écrit :

j'ai donné la liste des formes dans le sondage on verra pour la numération après.
Et non, je veux pas un pseudo code, de mes multiplication merci mon code et relativement pseudo déjà, je veux une explication et démonstration (appellez ça comme vous voulez (tu vois c'est pas moi qui fait le difficile sur les mots)) de ce que je montre.
 
Ou une formule. Genre équation Somme= function(parametres), mathématique, mais je suis ban de discu et y a pas de topic unique math ici.


TIME(t(n)) -> Ok, j'imagine que ça désigne O(n)
NTIME(t(n)) -> :??:
SPACE(s(n)) -> :??:
NSPACE(s(n)) -> :??:
Dérrière le mur de Plank ->  :pt1cable:  
Derrière la raison de kant ->  :pt1cable:  
Au delà des réels ->  :pt1cable:  
Devant abi wan ->  :pt1cable:  
En temps complexe, c'est complexe, justement, peut-être ? -> en complexité algorithmique, je pense que tu veux désigner ton pb comme faisant partie de la classe des algos NP complet qui se résolvent par une heuristique :??:
 
Cours sur le calcul de la complexité d'un algo :
http://www.dil.univ-mrs.fr/~gcolas [...] ite-cm.pdf
 
Pour ce que tu demandes en terme de démonstration, je pense que tu veux parler de preuve de programme :
https://www.lri.fr/~paulin/MPRI/notes/cours008.html
http://www.pps.univ-paris-diderot. [...] urs_pp.pdf
http://mpsi1.lamartiniere.free.fr/ [...] s.poly.pdf


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2250500
rufo
Pas me confondre avec Lycos!
Posté le 10-02-2015 à 11:13:43  profilanswer
 

par l'anneau de l'ia a écrit :

Non, mais j'ai pas à fonder mes algo sur des théories déjà.
Après pour ma connaissance, je dirais juste qu'elle est suffisante pour me maintenir.
Bon si tu pige pas pose des question, au lieu de critiquer comme si tu comprennez au moins de quoi parle l'intelligence artificielle ou pas.
Après tu appellera peut-être plus ou moins artificiel ce que tu voudra
.
 
[...]


Ben si, un algo vient d'une théorie qui a été démontrée :/
 
Ayant été en école d'ingénieur en informatique, j'ai fait 2 ans d'intelligence artificielle (comme je te l'expliquais calmement, c'est le nom donné officiellement par la communauté scientifique mondiale à cette discipline :o). Donc, sans être mon domaine de prédilection ni ma spécialité, j'ai les connaissances de base. Comme je te l'expliquais, je connais le théorème du Modus Ponens, j'ai étudié la logique floue, la classification automatique, la reconnaissance de forme (ce qu'on appelle la vision artificielle, une branche de l'intelligence artificielle), les algos génétiques, le Q-learning (apprentissage par renforcement, utile, par ex, pour faire une iA pour le jeu des allumettes), les réseaux de neurones, le min-max (utile pour une IA jouant aux échecs par ex)...
 
Donc, si un interlocuteur m'explique l'algo qu'il a inventé pour faire une IA, je pense avoir le bagage intellectuel pour le comprendre, dès lors qu'il s'exprimera correctement, en utilisant les mots en respectant leur sens.
J'attire ton attention sur le fait que tes posts sont rédigés dans un français très approximatif; du coup, ça ne facilite pas leur compréhension. :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2250502
par l'anne​au de l'ia
word master
Posté le 10-02-2015 à 11:24:00  profilanswer
 

rufo a écrit :


TIME(t(n)) -> Ok, j'imagine que ça désigne O(n)
NTIME(t(n)) -> :??:
SPACE(s(n)) -> :??:
NSPACE(s(n)) -> :??:
Dérrière le mur de Plank ->  :pt1cable:  
Derrière la raison de kant ->  :pt1cable:  
Au delà des réels ->  :pt1cable:  
Devant abi wan ->  :pt1cable:  
En temps complexe, c'est complexe, justement, peut-être ? -> en complexité algorithmique, je pense que tu veux désigner ton pb comme faisant partie de la classe des algos NP complet qui se résolvent par une heuristique :??:


J'expliquerai rien, je suis venu poser une question.

rufo a écrit :


Cours sur le calcul de la complexité d'un algo :
http://www.dil.univ-mrs.fr/~gcolas [...] ite-cm.pdf


Ca ça va pas, parce que j'ai pas de problème. Donc oublie la complexité. Bon fermez le sujet même peut-être.


Ca va pas non plus, Je sais plus pourquoi. (après 1 minutes de lecture) mais ça m'intéresse pas non plus. Ca répond pas ma question.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250503
par l'anne​au de l'ia
word master
Posté le 10-02-2015 à 11:27:05  profilanswer
 

rufo a écrit :


J'attire ton attention sur le fait que tes posts sont rédigés dans un français très approximatif; du coup, ça ne facilite pas leur compréhension. :/


 
Du coup on doit pas avoir la même notion de intelligence.  :jap:


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250504
antac
..
Posté le 10-02-2015 à 11:36:29  profilanswer
 

Je pense objectivement que FA n'est pas forcément le forum le plus adapté pour débattre de ce genre de problématiques complexes liées à l’algorithmie en IA.
Qui plus est, j'ai l'impression qu'au lieu de te baser sur des théorèmes vérifiés, tu pars sur des pseudos axiomes de ton cru.
 
Quelle est la finalité de tout ça ?

n°2250510
rufo
Pas me confondre avec Lycos!
Posté le 10-02-2015 à 11:55:21  profilanswer
 

par l'anneau de l'ia a écrit :


 
Du coup on doit pas avoir la même notion de intelligence.  :jap:


Si tu t'es intéressé à l'IA, tu dois donc savoir qu'actuellement, on a justement un pb pour définir ce qu'est l'intelligence, raison, en partie, pour laquelle on a du mal à en concevoir une proche de ce que sait faire un humain.
Intelligence <> connaissances (au sens BD)
Intelligence <> calculatrice (au sens que c'est pas parce qu'une machine peut réaliser des calculs complexes qu'elle est intelligente).
 
Quelles est la définition pour toi de ce qu'est l'intelligence ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2250513
par l'anne​au de l'ia
word master
Posté le 10-02-2015 à 12:04:22  profilanswer
 

On verra ça dans discussion dans 6 mois.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250515
gilou
Modérateur
Modzilla
Posté le 10-02-2015 à 12:12:16  profilanswer
 

Le pire dans l'histoire, c'est qu'il a pas défini ce que mesure le n vis à vis duquel il veut évaluer la complexité de son "algo". Parler de O(n) (si on décrypte bien son sondage) pour un algo dont l'entrée n'est pas un entier, sans le définir, ça laisse s'interroger sur sa compréhension des concepts qu'il manipule.
A+,


Message édité par gilou le 10-02-2015 à 12:30:56

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2250545
TotalRecal​l
Posté le 10-02-2015 à 21:52:48  profilanswer
 

A voté http://forum-images.hardware.fr/icones/message/icon10.gif [:ca m'gaaave:2]

 

J'ai quand même lu 3 lignes par accident avant d'aller voir le pseudo, ça méritait bien ça :/


Message édité par TotalRecall le 10-02-2015 à 21:53:45

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2250546
Devil'sTig​er
Posté le 10-02-2015 à 22:43:00  profilanswer
 

Réponse sérieuse:
 
Ton code là, il définit des randoms, et ensuite tu fais des opérations de bases (multiplication et addition principalement), et tu te poses la question de la complexité là dessus ?
 
J'entends par là, d'habitude on se pose ces questions quand on entre sur de la volumétrie, ou des algos qui sont potentiellement problématique avec du volume.
 
Cad, tu as au moins une boucle for a un endroit, ou un appel récursif qui laisse entendre qu'il faille regarder un peu sérieusement son évolution dans le temps et surtout sur le volume.
 
Par exemple, la tour de Hanoï est un exemple classique mais toujours intéressant à étudier en terme de complexité: http://fr.wikipedia.org/wiki/Tours_de_Hano%C3%AF
 
Hors, ici, tu fais des multiplications, et des additions, sans aucune liaison avec les autres éléments que pourrait contenir ton code; donc ya même pas, quoi que ce soit à se poser comme question dessus. Ton algo est linéaire, point barre.
 
Revenons à ton soucis. A la différence de beaucoup ici, j'ai travaillé avec des étrangers, donc au moins NSpace/DSpace je sais ce que c'est.
 
Sache que sur le sol français, on a deux notations, une en théorie, une en pratique, la pratique:
 
O(n): complexité linéaire
O(log(n)): complexité logarithmique, au début la complexité grandit rapidement, pour ensuite stangner malgré l'augmentation du nombre d'élements à traiter -un des meilleurs cas possible donc-
O(n^2), O(n^3);.. Les cas que l'on évite. Ceux qui "explosent" avec le volume
 
La théorique s'appelle NP, NP-complet: http://fr.wikipedia.org/wiki/Probl%C3%A8me_NP-complet
C'est plus une façon de classer les problème, plutôt que de calculer leur complexité.
 
NSpace/DSpace n'ont pas réellement d'équivalent sur le sol francais puisqu'il s'agit de la complexité d'un algorithme et surtout, de la quantité de ram/allocation nécessaire pour le résoudre, on est donc légèrement a côté de la complexité de résolution pure, bien que les deux soient souvent liés.
 
Time/NTime c'est le même délire, mais pour le CPU.
 
Sachant bien sur que le NSpace/DSpace est le plus souvent utilisé puisque, il n'y a pas encore très longtemps (et même encore aujourd'hui), c'est la ram qui limite le plus les algos plus que la puissance de calcul (quoi que ca tends à changer ces derniers temps).
 
Cependant, on peut, la plupart du temps faire une approximation entre O et NSpace/DSpace, un programme qui a besoin sans cesses de revenir en arrière & co utilisera forcément pas mal de ram et aura forcément une complexité se rapprochant de O(n^2). On aura donc très fréquemment (mais pas toujours) un O problématique qui correspondra à un NSPace problématique et inversement.
 
Pour revenir à ta question: sache que ton algo bouffe rien, et n'a aucune complexité. Achète toi une bonne fois pour toute un bouquin d'algo pour saisir les cas problématiques, plutôt que de te poser la question de la complexité sur des additions et des multiplications.
 
C'est méchant, et cassant comme dernière phrase, mais nécessaire, t'es intellectuellement entrain de te poser la question combien il y a de haricots dans une conserve. Tout le monde s'en branle, et la programmation, ça cherche à résoudre des problèmes concrets (même en IA sisi), t'a rien de concret là, puisque tu n'as pas de problème de complexité à résoudre.
 
EDIT: tout du moins avec les codes que tu as postés.

Message cité 1 fois
Message édité par Devil'sTiger le 10-02-2015 à 22:52:08
n°2250551
par l'anne​au de l'ia
word master
Posté le 11-02-2015 à 03:12:53  profilanswer
 

je vous poste l'adresse du programme Ada ici : HTML direct download link au format tar.
 
Si ça dépend du code.


Message édité par par l'anneau de l'ia le 11-02-2015 à 03:13:21

---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250560
antac
..
Posté le 11-02-2015 à 09:02:50  profilanswer
 

Excuse moi d'être aussi un peu cassant mais ton code est dégueulasse... mal indenté et non documenté.

n°2250564
TotalRecal​l
Posté le 11-02-2015 à 09:46:52  profilanswer
 

Devil'sTiger a écrit :

Réponse sérieuse:
...


Chapeau pour avoir su faire une réponse de qualité (vraiment!!) sur un tel topic :jap:


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2250580
par l'anne​au de l'ia
word master
Posté le 11-02-2015 à 11:45:19  profilanswer
 

+1
 
 
Comment ça mon code est mal indenté ?


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250581
par l'anne​au de l'ia
word master
Posté le 11-02-2015 à 11:46:18  profilanswer
 

Et puis finalement va collez ton mot dégueulasse ailleurs stp.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250615
antac
..
Posté le 11-02-2015 à 15:40:36  profilanswer
 

Tu fais des indentations avec des espaces... Ensuite dans tes conditionnelles imbriquées, le niveau d'indentation de l'imbrication est inférieure à ta conditionnelle de départ.... (mais pas systématiquement)  
 
Ensuite (et surtout) tu n'as pas un poil de commentaire, ce qui rend ton code illisible pour d'autres personnes que toi (mais c'est peut être le but).
 

n°2250616
Devil'sTig​er
Posté le 11-02-2015 à 15:51:46  profilanswer
 

De ce que je peux lire on en revient à ce qu'a dit un peu tout le monde:
 
- Ton code est pas correctement indenté, rendant la lecture très difficile.
- Il n'y a nulle par des commentaires dans le code pour que l'on puisse comprendre à tel ou tel endroit ce que chaque fonction/bout de code fait. En moyenne tu as, dans un code correctement fait, a peu près 1 ligne de commentaire toutes les 2/3 lignes de code... Prend par exemple là dessus, c'est loin d'être parfait mais déjà ca donne une base pour imaginer ce que tu dois faire: https://github.com/persan/zeromq-Ad [...] ssages.ads
- Tu enchaines les if/else avec frénésie sans que l'on sache ni comprenne pourquoi cet ordre et dans quel but.
- Les extrémistes te diront qu'un code correctement fait a des fonctions qui approchent au pire un bloc de 80x25 (80 caractères/ligne max, pour 25 lignes max). Si tu fais plus, sépare en sous fonction.
Exemple:
 
     if Have then
        Free(Buffer);
        Buffer := new String '(Line.all & " and know " );
        Free(Line);
        Line := new String '(Buffer.all);      
     else
        Free(Buffer);
        Buffer := new String '(Line.all & "know " );
        Free(Line);
        Line := new String '(Buffer.all);      
     end if;
     Free(Buffer);
        Buffer := new String '(Line.all & "peace " );
        Free(Line);
        Line := new String '(Buffer.all);      
 
3x la même chose à 5 caractères près. Tu peux faire une sous fonction ou gérer les 3 cas en une ligne a chaque fois.
 
- Tu mélanges espace et tabulation dans ton indentation, très problématique, tu as des indentations/Tabulations en fin de ligne, a corriger aussi.
- Et comme dit Rufo, as-tu une idée de la finalité, parce que c'est loin d'être évident... A quoi va servir ton code, qu'est ce que tu cherches à prouver à travers lui ?

n°2250656
Totoche17
Posté le 12-02-2015 à 08:42:13  profilanswer
 


Jovalise, c'est quoi ton vrai job dans la vie ?

n°2250710
par l'anne​au de l'ia
word master
Posté le 12-02-2015 à 14:15:37  profilanswer
 

Devil'sTiger a écrit :

De ce que je peux lire on en revient à ce qu'a dit un peu tout le monde:
 
- Ton code est pas correctement indenté, rendant la lecture très difficile.
- Il n'y a nulle par des commentaires dans le code pour que l'on puisse comprendre à tel ou tel endroit ce que chaque fonction/bout de code fait. En moyenne tu as, dans un code correctement fait, a peu près 1 ligne de commentaire toutes les 2/3 lignes de code... Prend par exemple là dessus, c'est loin d'être parfait mais déjà ca donne une base pour imaginer ce que tu dois faire: https://github.com/persan/zeromq-Ad [...] ssages.ads
- Tu enchaines les if/else avec frénésie sans que l'on sache ni comprenne pourquoi cet ordre et dans quel but.
- Les extrémistes te diront qu'un code correctement fait a des fonctions qui approchent au pire un bloc de 80x25 (80 caractères/ligne max, pour 25 lignes max). Si tu fais plus, sépare en sous fonction.
Exemple:
 
     if Have then
        Free(Buffer);
        Buffer := new String '(Line.all & " and know " );
        Free(Line);
        Line := new String '(Buffer.all);      
     else
        Free(Buffer);
        Buffer := new String '(Line.all & "know " );
        Free(Line);
        Line := new String '(Buffer.all);      
     end if;
     Free(Buffer);
        Buffer := new String '(Line.all & "peace " );
        Free(Line);
        Line := new String '(Buffer.all);      
 
3x la même chose à 5 caractères près. Tu peux faire une sous fonction ou gérer les 3 cas en une ligne a chaque fois.
 
- Tu mélanges espace et tabulation dans ton indentation, très problématique, tu as des indentations/Tabulations en fin de ligne, a corriger aussi.
- Et comme dit Rufo, as-tu une idée de la finalité, parce que c'est loin d'être évident... A quoi va servir ton code, qu'est ce que tu cherches à prouver à travers lui ?


 
 
Puisque tu ne sais pas ce que je fais, je vois pas comment me dire comment le faire.
Mais t'a peut-être raison quand même.
 
Si non, j'ai posté le résultat, après le résultat peut-être utilisé pour autre chose.
 
Pour les tabulation et les espaces c'est pas de ma faute, c'est emacs qui était configurer pour insérer des tabulations à l'intendation. Mais j'ai peut-être indenté quelque par avec des espaces.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250711
par l'anne​au de l'ia
word master
Posté le 12-02-2015 à 14:16:51  profilanswer
 

Totoche17 a écrit :


Jovalise, c'est quoi ton vrai job dans la vie ?


 
Je fais un homme avec un homme.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250760
Devil'sTig​er
Posté le 12-02-2015 à 22:21:51  profilanswer
 

par l'anneau de l'ia a écrit :


 
 
Puisque tu ne sais pas ce que je fais, je vois pas comment me dire comment le faire.
Mais t'a peut-être raison quand même.


 
Parce que ne pas comprendre le fond, ne m'empêche en rien de critiquer la forme.
Que ca te plaise ou non, ton code est dégeu, et que je comprenne ou non le but, ca ne change rien.
 
De la même façon, malgré que je ne sois pas plombier, je suis pourtant capable de critiquer un boulot sur une canalisation qui a consisté à mettre du scotch "pour réparer". Je ne sais pas ou elle va, ni ce qu'elle fait, mais je sais pourtant que son boulot c'est dla merde.
 
Ben c'est la même chose, je saisis pas forcément le fond, mais la forme, ca oui, je la saisie bien, et elle n'est pas bonne (t'es pas au stade de la merde je te rassure :D).
 
Maintenant pour revenir au sujet, ya pas mal de très bon programmeur sur ce forum, qui ont manifestement des expériences à rallonges. Plutôt que de rembarrer tout le monde, écoute, met en pause un temps ton programme pour recommencer les bases, les bonnes, celles a partir duquel des gens vont pouvoir se cristalliser autour de ton projet.
Parce que, si en l'état, tu penses sincèrement que quelqu'un va s'emmerder à reprendre ton code "et en faire quelque chose" comme tu le suggères, simplement parce que tu l'as "offert" à la communauté (vu que tu signes le tout en GNU), tu pars pas bien. Mais alors pas bien du tout.
 
Je m'arrête là pour ma part, j'ai grillé mes plumes comme manifestement la plupart des autres :D

n°2250778
par l'anne​au de l'ia
word master
Posté le 13-02-2015 à 10:53:11  profilanswer
 

Devil'sTiger a écrit :


 
Parce que ne pas comprendre le fond, ne m'empêche en rien de critiquer la forme.


La forme de quoi ?

Devil'sTiger a écrit :


Que ca te plaise ou non, ton code est dégeu, et que je comprenne ou non le but, ca ne change rien.


Eh, dégeu toi même.

Devil'sTiger a écrit :


De la même façon, malgré que je ne sois pas plombier, je suis pourtant capable de critiquer un boulot sur une canalisation qui a consisté à mettre du scotch "pour réparer". Je ne sais pas ou elle va, ni ce qu'elle fait, mais je sais pourtant que son boulot c'est dla merde.


ben va poser la tienne ailleurs stp.

Devil'sTiger a écrit :


Ben c'est la même chose, je saisis pas forcément le fond, mais la forme, ca oui, je la saisie bien, et elle n'est pas bonne (t'es pas au stade de la merde je te rassure :D).
 
Maintenant pour revenir au sujet, ya pas mal de très bon programmeur sur ce forum, qui ont manifestement des expériences à rallonges. Plutôt que de rembarrer tout le monde, écoute, met en pause un temps ton programme pour recommencer les bases, les bonnes, celles a partir duquel des gens vont pouvoir se cristalliser autour de ton projet.
Parce que, si en l'état, tu penses sincèrement que quelqu'un va s'emmerder à reprendre ton code "et en faire quelque chose" comme tu le suggères, simplement parce que tu l'as "offert" à la communauté (vu que tu signes le tout en GNU), tu pars pas bien. Mais alors pas bien du tout.
 
Je m'arrête là pour ma part, j'ai grillé mes plumes comme manifestement la plupart des autres :D


Ouais arrêtes.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250784
par l'anne​au de l'ia
word master
Posté le 13-02-2015 à 12:35:08  profilanswer
 

Je suis désolé, mais vous êtes injurieux et hors sujet.
Sincèrement.
 
Ce sujet est clos.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250787
antac
..
Posté le 13-02-2015 à 13:24:36  profilanswer
 

En quoi est-on injurieux et hors sujet ?  
 
Tu t'exprimes ici de la même manière que tu codes... Tu alignes des mots sans explications et sans sens précis et tu demandes des explications.... :??:

n°2250789
Ralph-
★ You'll hate me. ★
Posté le 13-02-2015 à 13:39:33  profilanswer
 

J'ose même pas lui répondre tellement il est dans son monde, mais les critiques que tu te prends la, elles ont quand même bien des argumentations derrière, et mis à part toi, personne ne les remet en cause. Bref, ça va plus loin qu'un soucis de communication la.

n°2250790
Baron314
Posté le 13-02-2015 à 13:55:08  profilanswer
 

Heu je suis pas expert du langage qu'il utilise( je sais même pas ce que c'est) ni de l'IA mais je m'y connais bien en psychologie : je crois que Mr anneau de l'ia ne demande pas vraiment d'aide, je crois qu'il post son code juste parce qu'il croit que sa impressionne (en effet il refuse d'expliqué ce qu'il fait, à quoi sert son code et ou il va avec...).  
 
Suffit de voir le topic ou il se parle à lui même sans attendre de réponse... Il post son code (j'ignore si lui même le comprend), attend que ont lui répondent (ou pas !) et critique nos réponse sans se remettre le moins du monde en question. Mon impression c'est qu'il veut se prouvé à lui-même qu'il est intelligent.

Message cité 1 fois
Message édité par Baron314 le 13-02-2015 à 13:59:12
n°2250791
antac
..
Posté le 13-02-2015 à 14:01:49  profilanswer
 

Peut être... le langage en question c'est de l'ADA... (Pour le coup c'est un langage assez strict qui doit être codé particulièrement proprement si on veut que ça marche...)

n°2250792
par l'anne​au de l'ia
word master
Posté le 13-02-2015 à 14:10:01  profilanswer
 

antac a écrit :

Peut être... le langage en question c'est de l'ADA... (Pour le coup c'est un langage assez strict qui doit être codé particulièrement proprement si on veut que ça marche...)


 
Et donc tu prétends que mon code ne fonctionne pas ?
 
Et Ada, tiens c'est le prénom d'une lady.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250793
par l'anne​au de l'ia
word master
Posté le 13-02-2015 à 14:12:03  profilanswer
 

Baron314 a écrit :

Heu je suis pas expert du langage qu'il utilise( je sais même pas ce que c'est) ni de l'IA mais je m'y connais bien en psychologie : je crois que Mr anneau de l'ia ne demande pas vraiment d'aide, je crois qu'il post son code juste parce qu'il croit que sa impressionne (en effet il refuse d'expliqué ce qu'il fait, à quoi sert son code et ou il va avec...).  
 
Suffit de voir le topic ou il se parle à lui même sans attendre de réponse... Il post son code (j'ignore si lui même le comprend), attend que ont lui répondent (ou pas !) et critique nos réponse sans se remettre le moins du monde en question. Mon impression c'est qu'il veut se prouvé à lui-même qu'il est intelligent.


 
On s'en fou de ta spycho, on est en cat prog, je demande un avis mathématique.


---------------
Toute expression prend un sens spirituel qui nous influence dans notre quête de l'Homme.
n°2250795
antac
..
Posté le 13-02-2015 à 14:21:56  profilanswer
 

par l'anneau de l'ia a écrit :


 
Et donc tu prétends que mon code ne fonctionne pas ?
 
Et Ada, tiens c'est le prénom d'une lady.


 
Oui Ada Lovelace et alors ?
Je prétends que ton code n'est pas rigoureux et ne réponds pas aux standards du développement... Si tu estimes coder un truc "high-level", qui plus est sous licence GPL... autant que ça soit propre

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
  FORUM HardWare.fr
  Programmation
  Algo

  [Clos]Explication mathématique d'un algorithme plus ou moins "stable"

 

Sujets relatifs
algorithme d'enrichissementAlgorithme Unsharp Mask (HELP)
[MATLAB] Algorithme ressortissant les plus courts chemins[HELP ] Explication d'un Programme
algorithme pour réseau d'échange numismatiqueAlgorithme pour le calcul de % de paiements affectés à des factures
Help, Algorithme de tri sélectif VBAProgrammation , Organigramme , Algorithme .
Faire une somme mathématique sigma avec variable en vba.[VBS] Explication de script
Plus de sujets relatifs à : [Clos]Explication mathématique d'un algorithme plus ou moins "stable"


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR