Aller au contenu

Discussion:Algorithmique

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une page de Wikipédia, l'encyclopédie libre.
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Implémentation

[modifier le code]

Le Grand dictionnaire terminologique de l'Office québécois de la langue française semble indiquer, à ma grande surprise, que le mot « implémentation » soit un synonyme correcte de « mise en œuvre ». Est-ce un anglicisme ou un terme accepté en France ?

-- Mathieugp 21 jun 2005 à 16:45 (CEST)

Il y a d'horribles confusions entre "emprunt" d'un mot complet à la langue anglaise et "anglicisme" qui est un mot employé dans la signification anglaise. Par exemple, "contrôler" signifie "surveiller" en français (contrôleur de la SNCF) et "commander" en anglais ("radio control": radiocommande).

Emprunt: "rodingote" est une francisation de l'emprunt "riding coat".

gallicisme: en anglo-américain le mot "rendez vous" employé dans la signification française de rencontre galante serait un gallicisme. Chez le dentiste, ce serait "appointment". "meeting" est utilisé pour une rencontre à plus de deux.

"implementation" correspond à "implantation" avec le suffixe "ation" qui indique "l'acte de..." et le résultat de cet acte, comme dans "organisation" et "complémentation" qui indique l'acte de "complémenter" et son résultat qui est différent de celui de "compléter" CQFD

Une langue qui n'évolue pas au besoin devient une langue morte et la francophonie n'est pas seulement le franco-française hexagonale. Logiquememt et linguistiquement, les "septante, "octante" et "nonante" franco-suisses et franco-belges (ne pas confondre le .belgicain", de même formation que "Afrique e Africain") sont plus exacts, sinon, on dirait deux-vingt-dix, au lieu de cinquante. CQFD.

Takima 24 février 2006 à 14:23 (CET)[répondre]

Exemple d'algorithme

[modifier le code]

Je pense que l'exemple d'algorithme des bonbons, que je poste ici en copie, n'illustre pas vraiment ce qu'est un algorithme en informatique, dans le sens où il ne résout pas de problème, mais donne simplement une suite d'instructions à réaliser

Exemple d'algorithme

  1. entrer dans le magasin
  2. prendre 150g de bonbons
  3. passer en caisse
  4. compter ses sous
  5. s'il reste plus de 1/2 € alors retourner au point 2
  6. sortir du magasin

Je propose de le remplacer par un lien sur la page d'un fameux problème d'informatique, du genre les tours de Hanoï.

--Kingmike 27 juillet 2005 à 10:48 (CEST)[répondre]

Origine du terme algorithme

[modifier le code]

Je propose de remplacer :

Son nom est d'ailleurs à l'origine du mot algorithme créé par lady Ada Lovelace,

par :

Son nom est d'ailleurs à l'origine du mot algorithme car un de ses ouvrages avait été traduit en latin sous le nom Algoritmi par Ada Lovelace

Je vous laisse faire si ok. BMR 7 septembre 2005 à 08:51:05 (CEST)

Algorithmique vs algorithmie

[modifier le code]

Je sais que cela a déjà été discuté, mais je pense qu'il serait bon de faire (au moins une fois) mention du mot algorithmie. En effet, bien que ce mot ne soit pas dans le dictionnaire de l'Académie française, il est suffisamment utilisé par la société informatique pour être présent dans cet article (la preuve est que le site developpez.com qui est référencé dans cet article utilise algorithmie aussi bien que algorithmique). Si personne ne me répond, j'ajouterais algorithmie dans l'introduction par quelque chose du genre On nomme algorithmique ou algorithmie la science des .... Si quelqu'un a un lien vers une discussion WP sur la politique à tenir vis-à-vis des mots qui ne sont pas dans le dictionnaire, je suis preneur. A.K. 23 mai 2006 à 16:46 (CEST)[répondre]

Il n'a a aucune référence, je ne suis pas favorable à l'ajouter. A noter que la situation n'a pas évolué depuis 2006. D'où vient ce néologisme? Où est-il utilisé? --Pierre de Lyon (discuter) 9 septembre 2015 à 12:37 (CEST)[répondre]
J'avais souvenir, que mes cours il y a 20 ans (enstb,) portant sur la construction des algorithmes s’appelaient algorithmie. A chercher aujourd'hui, effectivement , on ne trouve plus guère que le terme algorithmique pour désigner cette branche de l'informatique (mathématique). L'académie des sciences dans cette remarquable étude ( http://www.academie-sciences.fr/pdf/rapport/rads_0513.pdf) parle d' algorithmique, le Collège de France également dans le descriptif de sa chaire annuelle informatique et sciences numériques parle également d'algorithmique . Pour le CNRTL algorithmie n'existe pas. Seul exception mais notable, la société Thalés (dont c'est le métier et société de rayonnement internationale particulièrement vigilante sur la terminologie ) parle d'algorithmie dans ces descriptifs de poste : ici par exemple http://www.jobtic.fr/fr/emploi/ingenieur-etudes-amont-algorithmie-radar-h-f/45030. De la à conclure que le terme algorithmie peut s'utiliser lorsqu'il est suivi d'un complément ; algorithmie radar , algorithmie probabilistes ? Manque source tertiaire sur cette aspect . Avis ?
Pour être franc j'aime bien le terme « algorithmie » et j'aurais aimé qu'il s'imposât. Ceci dit, on parle bien d'arithmétique, de linguistique de casuistique etc. --Pierre de Lyon (discuter) 9 septembre 2015 à 16:36 (CEST),[répondre]
Aprés recherche plus approfondie, on trouve trace d'algorithmie . En ne gardant que les sources 'sérieuses' (universitaire) :

http://irfu.cea.fr/Phocea/file.php?class=cours&file=/paul.lotrus/TD5.pdf http://fr.jeffprod.com/blog/2015/comment-programmer-un-jeu-de-mots-meles.html http://www2.cegep-matane.qc.ca/billettec/algo-inter-pdf/sol_suppl2.pdf https://dept-info.univ-fcomte.fr/joomla/images/CR0700/Projets/2011/LPRO/projetlpro_jacquetjp.pdf http://www.bertrand-lacoste.fr/fr/catalogue/post-bac/bts/informatique-gestion/informatique-algorithmie-programma.html https://tel.archives-ouvertes.fr/tel-00442634/ --Yond29 (discuter) 9 septembre 2015 à 16:53 (CEST)(discuter) 9 septembre 2015 à 16:41 (CEST)[répondre]

Donc algorithmie est au moins un néologisme. On peut le faire figurer comme tel dans WK ?.--Yond29 (discuter) 9 septembre 2015 à 16:41 (CEST)[répondre]
Je pense que le mettre dans la première phrase c'est trop, mais que mettre en fin d'intro un « Certains auteurs utilisent le mot algorithmie» est possible. --Roll-Morton (discuter) 9 septembre 2015 à 17:19 (CEST)[répondre]
Pourquoi Pas. Je ne m'y oppose pas, mais j'aime bien ma version (néologisme :algorithmie) , puisque en deux mots c'est réglé.--Yond29 (discuter) 9 septembre 2015 à 19:45 (CEST)[répondre]
J'aurais été plus radical que Roll-Morton, par exemple en mettant la mention dans le paragraphe « Vocabulaire ». Les sources ne me satisfont pas : des polys de cours, un article écrit par un physicien — pas que ce soit un péché, mais il n'a peut-être pas eu la formation algorithmique en français nécessaire—… Mais va pour la solution médiane proposée R-M. Cordialement, (:Julien:) 12 septembre 2015 à 08:50 (CEST)[répondre]
En tout cas, je note agronomie, astronomie, anatomie, économie, gastronomie, mais tous ces mots dérivent de « nomos », contrairement à algorithme dont la racine n'est pas grecque et n'a donc rien à voir avec rythmie, arythmie, polyrythmie, cacorythmie. Ces mots ont peut-être suscité une attraction pour créer le néologisme. Va savoir! --Pierre de Lyon (discuter) 13 septembre 2015 à 12:25 (CEST)[répondre]
Merci pour cette éclairage.--Yond29 (discuter) 13 septembre 2015 à 14:12 (CEST)[répondre]

Donald Knuth

[modifier le code]

Donald Knuth ayant joué un rôle fondamental dans le développement de l'algorithmique mathématique, une section de cet article devrait lui être consacrée.

Liens externes

[modifier le code]
Effectivement je pense que ce cher Knuth merite quelque chose dans cet article. Un lien interne, c'est sûr, une référence dans l'historique aussi, du genre : 'Donald E. Knuth est l'une des personnes qui a fait le plus avancer l'algorithmie durant ces dernières années...' . Une section, ca fait beaucoup je pense surtout qu'il y a déjà une bonne page sur lui (un peu courte certes). A.K. 30 mai 2006 à 12:15 (CEST)[répondre]

Complexité algorithmique

[modifier le code]

Je trouve que cette section pourrait introduire la différence entre évaluation dans le pire cas et évaluation en moyenne. De plus, je trouve que la même section règle un peu rapidement et à sens unique le problème que les algorithmiciens appellent presser la constante (squeezing the constant) et qui est important pratiquement. Si dans un algorithme, la constante est 1 000 000, un algorithme logarithmique l'emporte. De plus, les derniers gains d'une implantation se font dans les optimisations de moyen et bas niveau comme l'explique Jon Bentley dans son très beau livre Writing efficient programs (Prentice Hall, Englewood Cliffs, 1982). Pierre de Lyon 25 juillet 2006 à 15:33 (CEST)[répondre]

Ou classer "Algorithmique" dans la Liste des disciplines scientifiques ?

[modifier le code]

Dans logique mathématique ? mathématiques ? informatique ? ou a part...?--Josce 27 septembre 2006 à 18:12 (CEST)[répondre]

Il me semble qu'en 2006, on doit la classer dans l'informatique. Pierre de Lyon 28 septembre 2006 à 09:54 (CEST)[répondre]
Personnellement, je laisserais l'algorithmique dans la mathématique car l'informatique n'est pas la seule cliente de ses outils. Lacrymocéphale 1 septembre 2008 à 20:01 (CEST)[répondre]

Les débuts de l'algorithmique

[modifier le code]

Il me semble qu'il manque une partie sur les débuts de l'algorithmique, notamment avec :

  • Les travaux de Turing et de Church, qui permirent la définition rigoureuse de la notion d'algorithme
  • La thèse de Church
  • Les travaux de Gödel
  • Le 10ème problème de Hilbert (important car il a été posé par Hilbert sans vraiment connaître ce qu'était précisément un algorithme).
Tout cela existe sur les pages de ces sujets. Mais perso je ne classerai pas cela (classiquement) dans l'algo. On pourrait faire un renvoi. Outs 15 juillet 2007 à 13:02 (CEST)[répondre]

Proposition de sélection de cet article pour Portail:Informatique

[modifier le code]

Cet article est proposé pour faire partie de la sélection Wikipédia:Sélection/Informatique. Cette page permet d'afficher aléatoirement un article parmis la sélection sur Portail:Informatique. Les articles sélectionnés représentent la vitrine du projet.

Vous êtes invités à vous exprimer sur la page suivante : Wikipédia:Sélection/Informatique/Algorithmique. Toutes les remarques d'amélioration sont les bienvenues, mais notez que puisque c'est un vote interne au projet, seuls les votes des participants déjà inscrits sur le projet informatique seront pris en compte. --T (d) 11 décembre 2007 à 13:26 (CET)[répondre]

Objects trouvés

[modifier le code]

Le terme algorithmie n'est pas correct. J'ai apporté quelques modifications concernant les heuristiques. Il faut noter que certains problèmes ne seront jamais résolus, quand bien même nous aurions toute la puissance de calcul possible. De même, une heuristique fournit généralement une solution approchée. Enfin, il peut exister plusieurs solutions exactes différentes. Bien à vous, --bd 213.103.47.200 25 oct 2004 à 09:58 (CEST)


J ai un probleme de fond avec néologisme, en quoi algorithmique est un néologisme, parce qu'il n est pas dans le dictionnaire ? N'est-ce pas des plus courant pour des termes scientifiques ?

Dtcube


Je pense que le "n'est pas dans le dictionnaire" est là pour souligner le fait que c'est un mot récent, et donc un néologisme. Mais je suis pour enlever cette détermination relative au présent (comme je l'ai dis déjà en d'autres endroits). Tout d'abord parce que, effectivement, ce mot est très utilisé dans les professions informatiques et que, s'il n'est pas encore dans quelques dictionnaires, il ne tardera plus à y être, et ensuite car cette justification ne me plait pas.

Je propose à la place "l'Algorithmique est un mot apparu en même temps que l'émergence des sciences de l'informatique" (si cela est bien vrai et que ce mot ne se trouve effectivement pas avant dans la littérature, à vérifier, je n'ai pas le dico sur moi).

Mokona


Je pense que la personne qui a écris l'intro de Algorithmique voulais juste donner des détails sur l'origine du mot (ce qui est louable). Mais c'est vrai qu'en première ligne ca fait un peu bizarre. Pourquoi pas déplacer la remarque plus bas ?
Je suis d'accord avec Mokona a propos des notions temporelles qui sont a eviter dans Wikipedia.

Aoineko



Ca me plait mieux mais c'est à verifier... Algorithme trouve tout de meme son origine dans le nom de Abu Ja'far Mohammed ibn Musa al-Khwarizmi (genre 750-850 ap jc) auteur de ce que l'on considère comme l un des premiers traités sur le calcul algebrique. On peut également mentionner le célèbre algorithme d'Euclide qui pour le coup remonte à avant jc.
Certes, algorithmique est un peu different, mais bon

Dtcube


Puisque c'est moi qui ai écrit cette définition, il me faut donner mon avis. Ok pour changer la définition (prenons celle de Mokona) et supprimer l'emploi du terme "néologisme", voire déplacer ma remarque. Mais j'aimerai que soit conservée l'explication de l'origine du nom, à savoir l'adjectif relatif à "algorithme". Et ajouter celle de "algorithme" si Dtcube peut/veut vérifier.

J'insiste sur la distinction du nom commmun "algorithme" (d'origine ancienne, grecque ou arabe vraisemblablement) et du nom nouveau "algorithmique", forgé récemment pour désigner la science des algorithmes. C'est ce que j'ai voulu dire.

Valéry Beaud


Depuis quand Descartes est l'auteur de l'Esprit des Lois ??? Aurélien

Depuis qu'on mes les nouveaux messages en haut des pages de discussion ;-) (Normalement, c'est en bas. Sans rancune !) FvdP (disc.) 10 jun 2004 à 18:09 (CEST)
Je sais, mais c'est une provocation. Maintenant que le point est corigé, ça peut aller en bas :) Aurélien

diviser chacune des difficultés que j'examinerois, en autant de parcelles qu'il se pourroit, et qu'il seroit requis pour les mieux résoudre. Ce n'est pas plutôt une définition des algorithmes "diviser pour régner" ? --Turb 17 jul 2004 à 16:06 (CEST)



Une procédure désigne une méthode d’organisation, la stratégie d'une modification qui passe par les étapes d'un processus. Elle introduit donc ce terme de processus. Ne serait-il pas sage de garder la page procédure plutôt que de faire une redirection. Procédure peut s'appliquer à d'autres choses qu'à une procédure algorithmique. Le manuel d'utilisation de la machine à laver nous donne la procédure à suivre pour ressortir le linge propre ? --LR 13 mai 2005 à 09:51 (CEST)[répondre]


Je trouve la première illustration peu convaincante, et fausse: "L'ampoule fonctionne-t'elle? --> Oui -> Changer l'ampoule" ... Elle n'illustre pas ce qu'est un algorithme, et d'ailleurs c'est une adaptation de l'illustration de l'article en anglais flowchart.

Complexité factorielle

[modifier le code]

Est-ce que cette terminologie est classique? Puisque est égale à , ne devrait-on pas plutôt citer cette complexité quoique je ne sache pas lui donner de nom? --Pierre de Lyon (d) 12 décembre 2009 à 18:22 (CET)[répondre]

Je n'ai jamais rencontré de truc en ou . Il faudrait que je réfléchisse où on peut trouver ça, j'imagine un truc de chemins dans et regarder la littérature. (:Julien:) 14 décembre 2009 à 19:44 (CET)[répondre]
Le Problème du voyageur de commerce a une solution optimale calculable en (voir l'Algorithme de Little) Spikyvins (d) 5 février 2012 à 12:50 (CET)[répondre]

Algorithms + Data Structures = Programs

[modifier le code]

Il manque une description succincte des structures de données et structures de contrôle. Dans une version précédente http://fr.wikipedia.org/w/index.php?title=Algorithmique&oldid=47655328 j'avais mis :

Les concepts en œuvre en algorithmique sont en petit nombre, ils appartiennent à deux classes :

  • les structures de contrôle
    • séquences
    • conditionnelles
    • boucles
  • les structures de données
    • constantes
    • variables
    • tableaux
    • structures récursives (listes, arbres, graphes)

avec quelques renvois à d'autres sections de wikipédia pour une définition complète. Cet ajout a été supprimé avec une explication courte "pas convaincu par ce parag "concept", c'est plus lié à la prog qu'à l'algo.".

L'équation "Algorithms + Data Structures = Programs" vient de

author = {Wirth, Niklaus},
title = {Algorithms + Data Structures = Programs},
year = {1978},
isbn = {0130224189},
publisher = {Prentice Hall PTR},
address = {Upper Saddle River, NJ, USA},

une autre équation intéressante pour légitimer mon ajout est :

  • Kowalski, Robert (1979). "Algorithm=Logic+Control". Communications of the ACM 22 (7): 424–436. doi:10.1145/359131.359136. ISSN 0001-0782.

Ces deux citations, d'auteurs de références, montrent que l'algorithmique est liée à la notion de programme, de structures de données et de structures de contrôle, et que l'on ne peut définir algorithmique sans en faire mention.

Plus généralement, en regardant l'historique de cet article, j'observe qu'il est difficile d'apporter des contributions pour cet article, une modification sur 3 est un retour en arrière ! Au vu de l'article, c'est étonnant, car il est loin d'être idéal. Outre l'ajout que je souhaite voir :

  • il manque un paragraphe ou une section sur la récursivité,
  • il manque une description sur les différents types d'algorithmes (glouton, diviser-et-régner, brut-force, combinatoire, aléatoire, ...),
  • il manque une section sur les problèmes classiques de l'algorithmique (complétude, correction, terminaison, complexité, ...)
  • la section "exemple" demande à être complétée et illustrée (sont-ce les algorithmes qui sont décrits ou les problèmes, ou ni l'un ni l'autre ?) en particulier, quelques exemples paradigmiques pourraient être développés à travers plusieurs algorithmes éventuellement (échange, tri, ...)
  • l'aspect 'complexité' est sur-développé (une seule section ou sous-section doit suffire)
  • ...

L'article anglais est bien meilleur, sans être excellent non plus.

J'aimerais donc que l'on éclaire ma lanterne, dans quelle optique est écrit cet article "Algorithmique", en tant qu'informaticien, je ne m'y retrouve pas, la quotation Avancement : "B" me semble usurpée, mais je suis d'accord sur l'importance "Maximum" de cet article pour la communauté informatique. Comment améliorer cet article sans être "défait".

Par ailleurs, "Algorithmique" nécéssite facilement un livre (ou plus), -mais le cours sur wikiuniversité est en panne !- je comprendrais que l'on veuille se limiter à une ou deux pages (mais alors il faut savoir ce que l'on veut y mettre) — Le message qui précède, non signé, a été déposé par Bdenis (discuter)

Plutôt d'accord avec toutes ces remarques. En ce qui concerne le "revert" sur les concepts, je le comprends, car il présentait les choses de manière absolue : les concepts de l'algorithmique c'est ça, alors qu'il existe des approches algorithmiques comme le LISP sans véritable structure de contrôle, et sans séparation entre structure de donnée et de contrôle. Il aurait mieux valu dire : selon l'approche de N. Wirth, correspondant aux langages les plus répandus (Pascal, C, etc..) les bases de l'algorithmique sont.. Cordialement --Jean-Christophe BENOIST (d) 28 décembre 2009 à 11:22 (CET)[répondre]

proposition de changement dans le plan de l'article

[modifier le code]

Est-ce que l'on pourrait un peu restructurer (et développer) l'article de la manière suivante :

  1. Définition (repris)
  2. Historique (repris)
    1. Antiquité (repris)
    2. Étude systématique (repris)
  3. Vocabulaire (à voir)
  4. Exemples d’algorithmes (repris, à développer)
  5. Approche pratique (à écrire) : description des stratégies courantes (glouton, diviser-et-régner, brut-force, combinatoire, aléatoire, ...) ajout peut-être de la section "heuristique"
  6. Etude formelle (à écrire)
    1. Structures algorithmiques classiques (à écrire, ou a reprendre de la page discusssion) : structures de données, structures de contrôle, récursivité
    2. Complétude, correction, terminaison (à écrire)
    3. Complexité (repris, déplacé)
      1. Quelques indications sur l’efficacité des algorithmes (repris, déplacé, revoir le titre (?))
      2. Les heuristiques (repris, à déplacer vers approche pratique(?))

--Bdenis (d) 11 janvier 2010 à 11:32 (CET)[répondre]

Je trouve cette proposition pas mal. Je mettrais l'"Etude formelle" avant "Approche pratique" (les fondements avant l'application), et "Exemples d'algorithmes" après "Approche pratique" (même logique), mais c'est une question de goût. Cordialement Jean-Christophe BENOIST (d) 11 janvier 2010 à 12:27 (CET)[répondre]

Restructuration des exemples

[modifier le code]

La partie "Exemples d’algorithmes et d'applications" est peu homogène, pas très structurée, etc ...

Que pensez-vous de :

Titre : Exemples d’algorithmes, de problèmes, d'applications ou domaines d'application

Il existe un certain nombre d’algorithmes classiques, utilisés pour résoudre des problèmes ou plus simplement pour illustrer des méthodes de programmation. On se référera aux articles suivants pour de plus amples détails (voir aussi liste des algorithmes) :

BDenis.--90.27.16.32 (d) 27 mai 2010 à 10:22 (CEST)[répondre]

Paragraphe introductif

[modifier le code]

Merci Epsilon pour l'ajout, dont l'article avait bien besoin. Mais en le lisant, on se pose la question de savoir si c'est un RI sur l'algorithmique ou un algorithme. "L'algorithmique est l’ensemble des règles et des techniques qui sont impliquées dans la définition et la conception d'algorithmes". Je suis parfaitement d'accord avec cette définition. Mais la suite du RI ne parle pas du tout des "règles et des techniques pour définir un algorithme" mais parle de ce qu'est un algorithme, et pourrait très bien être le RI de algorithme.

Il faudrait vraiment recentrer l'article sur les méthodes de conception des algorithmes, et non sur les algorithme, ou alors il faudrait fusionner cet article avec Algorithme. Cordialement --Jean-Christophe BENOIST (discuter) 5 février 2015 à 17:14 (CET)[répondre]

Mmmh. Il n'y a pas eu d'ajout d'epsilon0, mais un revert de vandalisme. Sinon sur le fond, je suis d'accord avec toi. J'ai essayé un truc. J'aime pas trop « étude » parce que donne un goût d'a posteriori alors que l'algorithmique fournit aussi des outils de conception d'algo (a priori). Et « production », ça fait trop orienté industriel. Cordialement, (:Julien:) 7 février 2015 à 10:32 (CET)[répondre]

Exemples d’algorithmes, de problèmes, d'applications ou domaines d'application

[modifier le code]

Je serais pour supprimer ce paragraphe qui doit dater. En effet, c'est un puits sans fond et il y a peu de chances que nous soyons exhaustif un jour. --Pierre de Lyon (discuter) 14 septembre 2015 à 18:12 (CEST)[répondre]

Euh, sur le principe, il me semble évident qu'une section "exemple" ne prétend pas à l’exhaustivité. On devrait plutôt réfléchir à des exemples pertinents et un tant soi peu variés. — TomT0m [bla] 14 septembre 2015 à 18:18 (CEST)[répondre]
Bien sûr, même Wikipédia ne peut prétendre à l'exhaustivité! Mais je constate un biais dans le choix des domaines choisis. --Pierre de Lyon (discuter) 14 septembre 2015 à 18:36 (CEST)[répondre]

Définition algorithme - Fusion avec article algorithme

[modifier le code]

Copie de ma réponse dans ma page de discussion privée:

Effectivement, le terme cheminement logique est flou, mais la notion d'étape est trop vague et trop imprécise. Elle pourrait convenir tout aussi bien avec la définition de schéma ou d'analyse... En consultant les différentes définitions proposées par les dictionnaires en lignes (encyclopédie Larouse, Académie francaise, L'internaute ,etc) il ressort que le terme « ensembles de règles » fait consensus : exemples tirés de quelques définitions : Processus constitué par un ensemble d'opérations et de règles opératoires …, Ensemble de règles opératoires dont l'application permet de résoudre ...en appliquant dans un ordre précis une suite finie de règles , etc. Exit donc la notion d'étape .
Mention spéciale pour l'Encyclopédie Universalis qui propose à mon sens la définition la plus précise : Un algorithme consiste en la spécification d'un schéma de calcul, sous forme d'une suite d'opérations élémentaires obéissant à un enchaînement déterminé. Mais la reprendre tel quel serait du plagiat.
En application du principe de moindre surprise , je suggérerai comme définition pour algorithme celle proposée dans WK sur l'article homonyme : Un algorithme est une suite finie et non ambiguë d’opérations ou d'instructions permettant de résoudre un problème ou d'obtenir un résultat donné. D'ailleurs ne faudrait-il pas fusionner les deux articles ?--Yond29 (discuter) 10 octobre 2015 à 11:06 (CEST)

Il me semble que la fusion des articles Algorithmique et Algorithme a déjà été discutée. Il faudrait voir l'historique. --Pierre de Lyon (discuter) 10 octobre 2015 à 11:44 (CEST)[répondre]

Je suis assez contre la fusion, parce que ce sont deux concepts liés mais distincts (qui doivent être cernés l’un par rapport à l’autre, clairement les algorithmes en sport, on sait pas trop ce que c'est et ce n’est pas le sujet principal de l’article algorithme, faudrait peut être même encore séparer les articles). Ce genre de distinction apparaît clairement lorqu'un tente d'exprimer des choses clairement dans Wikidata : on se retrouve avec des interwikis foireux et des confusions de concepts ou finalement à cause de fusion maladroite on arrive à dire que l’algorithme de Dijkstra est une instance d'algorithmique, ce qui n’a pas de vraiment de sens. Un algorithme est un sujet notable en soi, avec une définition propre, l’algorithmique est une science qui étudie ces objets. Ils méritent deux éléments distincts sur Wikidata et deux articles distincts liés à ces éléments pour qu'on ait des définitions claires. — TomT0m [bla] 10 octobre 2015 à 12:55 (CEST)[répondre]
Je pense aussi que les articles Algorithmique et Algorithme ne devraient pas être fusionnés. --Pierre de Lyon (discuter) 10 octobre 2015 à 17:37 (CEST)[répondre]

RI et cadre

[modifier le code]

Notification Yond29‎ et PIerre.Lescanne : Je voudrai commenter "ce diff" https://fr.wikipedia.org/w/index.php?title=Algorithmique&curid=10&diff=119375301&oldid=119375123 Salut, il me semble nécessaire de parler de cadre formel pour la définition d'algorithme pour donner une idée de ce qu'on entend par étape précise et non ambiguë. La bonne approche ne me semble donc pas de bêtement supprimer le sujet du RI, mais plutôt de le développer dans l'article. Surtout que c'est quand même super élusif comme allusion ... J'ai rajouté ça dans le RI parce qu'il ne se tient à mon avis pas en l’état actuel et est bien trop évasif. Vous en pensez quoi ? — TomT0m [bla] 10 octobre 2015 à 17:35 (CEST)[répondre]

Effectivement il y a deux aspects:
  1. Noter qu'il y a plusieurs algorithmiques en fonction du modèle de calcul (terme qui n'est jamais employé),
  2. Évoquer l'épanouissement de l'algorithmique au XXe siècle.
Je n'ai pas de point de vue arrêté sur la forme. J'ai fait une annulation car j'ai constaté ces changements pendant que je faisais d'autres changements et je ne voulais pas reverter Yond29 sans discussion. Je constate que la discussion a lieu maintenant. --Pierre de Lyon (discuter) 10 octobre 2015 à 17:45 (CEST)[répondre]
Notification TomT0m et PIerre.Lescanne :
1/ Bonsoir, je n'ai pas, à propos des ajouts TomT0m , bêtement supprimer le sujet du RI mais je les ai intégrés dans le corps du texte , paragraphe "époque moderne" . A mon sens, la machine de Turing comme paradigme de l'algorithme est une notion intéressante, quoique difficile, mais qui peut-être développée dans le corps du texte et mieux encore sourcée.
2/ Le RI en l'état actuel est trop court et devrait être développé (une bonne âme pour ce travail ?) mais en respect avec sa finalité : voir ici : https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:R%C3%A9sum%C3%A9_introductif - Par exemple en présentant rapidement les structures et les mesures de complexité algorithmique qui en constituent l'ossature mais en évitant un jargonnage de spécialiste .
3/ L'épanouissement de l'algorithmique au XXe siècle est effectivement une thématique qui devrait être développée avec notamment ses implications en Intelligence Artificielle.--Yond29 (discuter) 10 octobre 2015 à 18:13 (CEST)[répondre]
Notification Yond29 : Disons que rien qu'en déplaçant ça dans l'article tu rend caduque le fait que c'est pas dit dans l’article :) La machine de Turing n’est pas forcément un paradigme algorithmique, c'est un modèle parmis d'autre, mais le truc intéressant c'est qu'il a permis de formaliser à la fois la notion d'algorithme (grosso modo en même temps que le lambda calcul) et d'en étudier certaines propriétés de manière rigoureuses - la complexité par exemple, ce qui est fondamental en algorithmie. Et, ce qui m’intéressait en particulier ici, de préciser qu'il existe des moyens de définir les notions qu'on utilise pour définir les algorithmes sans rentrer dans les détails dans le RI évidemment. — TomT0m [bla] 10 octobre 2015 à 18:40 (CEST)[répondre]
Pour les sources, grosso modo tu peux te référer à la Thèse de Church. — TomT0m [bla] 10 octobre 2015 à 19:00 (CEST)[répondre]
je cite WK:RI : le RI ne doit pas contenir d’informations qui ne soient pas détaillées et correctement sourcées dans le développement de l’article . Donc exit : modèle de calcul, machine de Turing , étapes , l'algorithmique récursive, l'algorithmique parallèle ou l’informatique quantique, notions qui ne sont pas présentes dans le corps du texte. Commencez par présenter ces notions de manière claire et intelligible en sourçant précisément vos informations et en montrant leurs pertinences en lien avec le sujet de l'article avant de rentrer dans des arguties de spécialiste en recherche mathématiques, en particulier dans le RI.--Yond29 (discuter) 11 octobre 2015 à 07:59 (CEST)[répondre]
1) S'il y a un article « algorithme » distinct c'est justement pour que le RI d'algorithmique ne serve pas à décrire ce qu'est un algorithme (cf. § Paragraphe introductif) mais renvoie le lecteur vers l'article algorithme. Une partie de la discussion actuelle sur le RI me semble donc plus adaptée à l'article algorithme. Donc exit la discussion sur non ambigu, … Mais je comprends le problème : l'article traite à la fois de l'algorithmique et des algos avec, par exemple, une section « exemples d'algos » qui a plus sa place sur l'article algorithme qu'ici.
2) L'algorithmique vit (nait ?) de la formalisation des algorithmes donc il me semble essentiel (comme le dit TomT0m) de mentionner, dès le RI, les cadres formels d'étude que sont les machines de Turing ou l'info quantique. Après, au pire, faire des liens vers les articles ad hoc sur WP. Cordialement, (:Julien:) 11 octobre 2015 à 10:35 (CEST)[répondre]
1) Pas vraiment, algorithme est un article court qui est supposé fournir un élément de contexte et une introduction au sujet qui est supposé être détaillé dans l’article algorithmique qui doit donc être complet. La discussion sur la fusion montre que certains Wikipédiens ne seraient pas contre que algorithme soit une redirection vers algorithmique, ce qui me semble pédagogiquement désastreux parce que si le lecteur s'attend à une définition d'algorithme il va pas être déçu. J'aime pas du tout perso être dans ce genre de situation et être redirigé vers une section d'un article en étant obligé de revenir au début pour savoir de quoi on parle (parfois d'un truc assez lointain), c'est très désagréable et c'est un travers de Wikipédia et d'une forme de fusionite que j'aimerai éviter. Algorithme est dans cette optique un SAS pour aider un peu le lecteur pour introduire le sujet en douceur. — TomT0m [bla] 11 octobre 2015 à 11:07 (CEST)[répondre]
Pourquoi algorithme devrait rester un article court, une introduction et algorithmique l'article détaillé ? Pour moi les deux ont vocation à être développés. En le laissant comme article court, et en mettant dans algorithmique des trucs qui seraient plus justifiés dans algorithme, je comprends que certains pensent à la fusion : on ne voit pas la différence claire entre les deux notions. Ça oblige à cliquer sur algorithme quand on lit le RI d'algorithmique mais je ne vois pas comment l'éviter (à moins de dupliquer le contenu d'algorithme dans algorithmique). Cordialement, (:Julien:) 11 octobre 2015 à 11:39 (CEST)[répondre]
Parce que l’article algorithmique se doit d'aborder la notion d'algorithme en profondeur, je vois pas trop comment y couper. Il s'agit de trouver un compromis entre une fusion complète qui ferait une confusion totale entre les deux sujets et "noierait" un peu la notion d'algorithme dans algorithmique, ce qui serait dommageable pour les débutants, et une grosse duplication des contenus qui ne me parait pas souhaitable. Le sujet d'algorithme me semble plus propice à un article court par essence. — TomT0m [bla] 11 octobre 2015 à 11:50 (CEST)[répondre]
Ce que je comprends pas c'est pourquoi algorithme doit être un article court et non l'article qui aborde la notion d'algo en profondeur. Et dans l'intro de l'article algorithmique y'a un lien vers algorithme pour développer. Tu dis que c'est par essence qu'algo est court mais tu dois être conscient que c'est pas un argument. Je ne dis pas que mes arguments pour "mon" plan sont meilleurs ou plus susceptibles de te convaincre, mais on est sur deux plans différents (sans compter ceux qui veulent la fusion), avec des arguments qui ne passent pas et je ne vois pas comment sortir par le haut de ce débat. Donc pour l'instant je me rendors. Cordialement, (:Julien:) 11 octobre 2015 à 12:00 (CEST)[répondre]
Notification (:Julien:) : Comment sortir par le haut ? en continuant la discussion pardi :) On est pas pressé non ? C'est un choix, mais algorithmique étant un sujet plus général qu'algorithme il me semble que tous les points développés dans algorithmes ont leur place dans algorithmique. Algorithmique à donc toutes les cartes en mains pour faire un article un peu plus détaillé et fouillé qui tient debout tout seul, tandis qu’algorithme m’a l’air d'être un truc ou on serait un peu être obligé d'être allusif et de renvoyer en permanence vers l’article plus fouillé pour les détails. Mais ce n’est que mon avis et je suis pas fermé aux suggestions. — TomT0m [bla] 11 octobre 2015 à 12:08 (CEST)[répondre]
Je signale que ce dont nous parlons ne sont pas des « arguties de spécialiste en recherche mathématiques » mais de ce que l'introduction de l'informatique dans les lycées va mettre au cœur de l'enseignement et les enseignants ont besoin de références ; très probablement ils la rechercheront dans Wikipédia. Cependant je ne veux pas me faire troller et je ne souhaite plus croiser le fer pour défendre ce point de vue. Ceci dit l'introduction (telle que je l'avais rétablie) ne renvoie pas à algorithme mais à algorithmique récursive, algorithmique parallèle et informatique quantique. Certes les articles Algorithme et Algorithmique ne sont pas équilibrés et nécessitent encore du travail, mais la dynamique fait partie de Wikipédia, m'est-ce pas? De plus, nous sommes trois sur quatre à penser que le paragraphe « L’algorithmique du XXe et du XXIe siècle .... issue de la machine de Turing. » a sa place dans l'introduction. Je propose de le laisser là. --Pierre de Lyon (discuter) 11 octobre 2015 à 12:22 (CEST)[répondre]

SAT et heuristiques

[modifier le code]

SAT me semble un mauvais exemple pour la résolution par heuristiques vu que des solveurs et des algos exacts sont quand même assez efficaces même sur des instances de grandes tailles, il y a même des compétitions de solveurs au top, et ceux qui trustent les premières places sont exacts depuis des années il me semble : cf. http://www.satcompetition.org/TomT0m [bla] 11 octobre 2015 à 11:20 (CEST)[répondre]

Je ne pense pas et pour cela je m'appuie sur l'éditorial de CACM (Communications of the ACM, Vol. 57 No. 3, Page 5) de Moshe Vardi (qui a été entre autres juge de la computation de 2011) et j'extraie deux phrases de sa conclusion.
  1. « Current SAT engineering research is intensely heuristic. »
  2. « At the same time, this heuristic approach lacks science, not only theoretical science but also empirical science.  »
--Pierre de Lyon (discuter) 11 octobre 2015 à 11:47 (CEST)[répondre]
Notification PIerre.Lescanne : Alors j’ai lu ta références, et je pense pas que dans l'article il soit question d'heuristique dans le sens ou tu l’entend (marrant on a déja eu cette discussion) : l’algorithme de Davis Putman (Algorithme DPLL en variante récente) est un algorithme de recherche arborescente complet. Les heuristiques dans ce cadres sont des heuristiques de branchement qui servent à choisir le noeud de l’arbre qu'on explore en premier. Il dit que la recherche est heuristique, je pense, parce qu'il ne doit pas y avoir de bonne connaissance théorique de pourquoi en pratique une heuristique de branchement (ou heuristique de choix des lemmes de conflits à enregistrer dans l'analyse de conflit, vu qu'il peut y en avoir un nombre exponentiel il faut ne garder qu’un nombre limité). Les tests d'algorithme sont fait sur des tests d'instances issues en général de problème pratiques industriels (ou aléatoires) Mais je maintiens le fait que les algos qui marchent en pratiques ne sont pas des heuristiques dans le sens ou tu l’entends. Ils restent dans le pire cas exponentiels (pour ce qu'on en sait) et complets. — TomT0m [bla] 11 octobre 2015 à 13:01 (CEST)[répondre]
Oui nous avons eu cette discussion et j'avais montré comment la littérature internationale (y compris Moshe Vardi, mais aussi (Lane A. Hemaspaandra, Ryan Williams: SIGACT News Complexity Theory Column 76: an atypical survey of typical-case heuristic algorithms. SIGACT News 43(4): 70-89 (2012))) allait dans mon sens. On est typiquement en face d'un algorithme de Las Vegas qui ne rentre pas dans la notion d'algorithme que nous sommes en train de définir. Une fois de plus j'ai l'impression de me faire troller. --Pierre de Lyon (discuter) 11 octobre 2015 à 13:53 (CEST)[répondre]
Notification PIerre.Lescanne : Euh, de quoi tu parles ? De l’algorithme de Davis Putnam ? C'est un algorithme complet, ne t’en déplaise. Ça rentre totalement dans la définition d'algorithme. Et il a été défini bien avant qu'on commence à parler d'algorithme de Las Vegas. Et il faudra m’expliquer en quoi le fait que ces algorithmes utilisent des heuristiques les rend forcément probabilistes. Les heuristiques peuvent parfaitement être déterministes. Je ne vois rien dans l’article que tu cites qui accrédites cette thèse : DPLL est parfaitement complet. Ou alors n'importe quel solveur de CSP est une heuristique bien que garantissant de manière certaine de donner une solution ou de décider si il y en a pas. Eventuellement au bout d'un temps exponentiel, exactement comme DPLL. Voilà un exemple de travail ou on parle d'heuristique de branchement exactement dans mon sens pour un algo exact pour résoudre un problème d'optimisation (en plus) : https://hal.archives-ouvertes.fr/hal-00946300/ dans le cadre. — TomT0m [bla] 11 octobre 2015 à 19:59 (CEST)[répondre]
Je vais regarder les sources pour pouvoir participer. Pour DPLL, j'imagine qu'il est souvent fait usage de méthodes au doigt mouillé pour choisir le branchement, et que ces heuristiques sont souvent randomisées, ce qui implique que le temps de calcul n'est pas connu exactement, et sans doute même pas analysé/analysable pour savoir le temps en espérance. Si je me souviens bien Pierre a une notion d'algorithme plus restrictive que beaucoup ici. J'avoue que je ne sais pas trop sur quel pied danser. Pour revenir à la remarque de TomTOm : oui et non, c'est un bon exemple (du fait de son utilisation massive) si l'on accepte la définition "heuristique = truc qui marche pas trop mal, mais on ne sait pas trop pourquoi", mais c'est un mauvais exemple si on veut "heuristique = truc qui marche parfois". --Roll-Morton (discuter) 12 octobre 2015 à 09:22 (CEST)[répondre]
Eh mais rentre pas dans le jeu comme ça, bientôt il va nous faire croire qu'un algorithme comme un algorithme de monte carlo n'est pas un algorithme Sifflote. Je commence à croire que quand il dit qu'il a l'impression de se faire troller, il faut plutôt renverser le miroir. — TomT0m [bla] 12 octobre 2015 à 11:33 (CEST)[répondre]
J'essaye juste de comprendre tout le monde. Pierre n'a pas un avis absurde. Pour essayer de clarifier le propos, il me semble qu'il y a deux points de vue :
1 - pour certains (eg TomTOm) un algorithme est une méthode de calcul pour laquelle on peut prouver la correction et la terminaison. La notion est alors indépendante du problème algorithmique (à part le format de l'entrée). Le fait d'être adapté à un problème n'est qu'une propriété.
2 - Pour d'autres (eg Pierre), un algorithme résout un problème (exactement) et est intimement lié à ce problème. Dans le second cas, un algorithme d'approx, ou un algorithme probabiliste, est un algorithme pour une version affaiblie du problème principal, mais pas pour le problème de départ.
J'espère avoir bien compris, reprenez-moi si je me trompe. Le cas de DPLL est un peu particulier puisque l'on parle de "sous-algorithme" : les heuristiques de branchement, ne sont pas des algorithmes au sens 2 dans le sens où elles ne font pas toujours le bon choix, donc ne répondent pas à la question "quel est le bon choix ?". --Roll-Morton (discuter) 12 octobre 2015 à 15:04 (CEST)[répondre]
Plus ou moins, je préfère aborder le problème sous l'angle de l’heuristique.
  • En optimisation, une heuristique est souvent définie comme un moyen de trouver un moyen pas trop mauvais pour trouver rapidement des solutions pas trop mauvaises mais sans aucune garantie d'optimalité, qui peuvent servir une ou plusieurs fois, dans le cadre d'un algorithme par exemple pour trouver un point de départ pour un algorithme itératif de recherche locale
  • Une métaheuristique sert à trouver une solution pratique à un problème d'optimisation, souvent sans garantie d'optimalité. Elle correspond donc à la définition donnée plus haut, une fois spécialisée pour un problème donné.
  • En algorithmique de manière plus générale, une heuristique peut être définie comme "n'importe quel moyen qui permet d'accélérer la résolution d'un problème (autrement dit de rendre un algorithme plus rapide)" 'désolé j’ai pas la ref, c'est des souvenirs de cours d'algo, mais ça devrait être retrouvable). Dans les algorithmes de Backtracking ou de parcours d'arbre, type Alpha/Beta pour les algos de jeu, algorithme de résolution de contrainte complets ou le choix du type de parcours de l’arbre. Autre exemple, dans l'algorithme A* on parle d'heuristique pour choisir quel chemin explorer en premier (par ex. dans un graphe plongé dans un plan Euclidien, c'est assez naturel de chercher en premier si le chemin le plus court à vol d'oiseau combien) avec ou sans garantie d'optimalité.
On note que le troisième point est plus général que le premier mais pas contradictoire. Bien qu’en considérant le problème de la minimisation du temps de calcul pour répondre au problème, ou de manière similaire de minimiser la taille de l’arbre de recherche parcouru, on peut considérer qu'il s'agit dans d'approximation en l’absence de moyen totalement sûr d'être certain qu'on fait absolument le bon choix pour minimiser la taille de l'arbre. Mais on note que "Heuristique" est loin d'être synonyme de non déterministe ou de stochastique, par exemple dans le cas d'A* avec une fonction heuristique h basée sur la distance Euclidienne. Ou on ne peut certainement pas opposer heuristique à algorithme clairement puisque c'est un algorithme y compris dans les définitions les plus restrictives. — TomT0m [bla] 12 octobre 2015 à 15:28 (CEST)[répondre]

@PIerre.Lescanne et @Roll-Morton Je maintiens donc que le problème SAT est résolu par des solveur basé sur des VRAIS ALGORITHMES, des exponentiels dans le pire cas mais efficaces pour bien des instances. Je vais donc supprimer l'affirmation du paragraphe sur les heuristiques. — TomT0m [bla] 9 novembre 2015 à 21:59 (CET)[répondre]

Descartes & Co

[modifier le code]
  • La stratégie cartésienne ne décrit pas un algorithme, mais une méthode d'analyse, d'autant plus brève que l'analyste est compétent. Elle comporte deux limites :
    • comme l'indiquait Leibniz, c'est bien de subdiviser, mais pas n'importe comment (sinon on multipliera les raffinements inutiles).
    • d'autre part, la stratégie cartésienne est irréaliste, en ce qu'elle ne prévoit ni impasse ni alternative.
  • peut-on citer Knuth sans citer Andrei Ershov qui l'inspira ?

Tout cela pourrait être éclairé en distinguant, comme Konrad Zuse, Rechenplan et Plankalkül. --Lf69100 (discuter) 10 novembre 2015 à 11:06 (CET)[répondre]

L'article ne dit pas que "la stratégie cartésienne décrit un algorithme", mais que "on pourrait entrevoir une certaine allusion à la méthode algorithmique", ce qui est très prudent et déploie même un luxe de précautions et de conditionnels. Descartes étant mentionné dans pratiquement toutes les sources faisant l'histoire de l'algorithmique, il serait difficile de ne pas le mentionner, et il serait difficile de le mentionner plus prudemment. --Jean-Christophe BENOIST (discuter) 10 novembre 2015 à 11:53 (CET)[répondre]

Suppression

[modifier le code]

J'avais supprimé la référence à Descartes, sans voir cette discussion et je vous prie de m'excuser. J'avais considéré qu'elle n'était appuyée par aucune référence (comble, pas même une référence à Descartes lui-même, à part une vague référence bateau au Discours de la Méthode). S'il existe un cours d'algorithmique qui mentionne Descartes, il faut absolument le citer. Pour moi la référence aurait plus à voir avec la méthode Diviser pour régner qu'avec l'algorithmique en général. En revanche Leibniz me parait plus avoir parlé d'algorithme et il n'est pas mentionné. --Pierre de Lyon (discuter) 19 septembre 2017 à 18:58 (CEST)[répondre]

Si on regarde bien le contexte de la citation de Descartes [1], à savoir les points premier, troisième et dernier, on voit qu'il s'agit de méthodes de raisonnement (méthodes d'analyse) pas de méthodes de calcul. --Pierre de Lyon (discuter) 19 septembre 2017 à 23:30 (CEST)[répondre]

Algorithme ou programme ?

[modifier le code]

L'article sensé parler d'algorithme, dit « l’approche de Descartes prédispose la logique à accueillir le concept de programme ». Peut-on laisser cela en l'état? --Pierre de Lyon (discuter) 19 septembre 2017 à 19:22 (CEST)[répondre]

La mention de Descartes comme précurseur de l'algorithmique (dans sa formulation wikipedia) est reprise en particulier ici (cnrs)
http://liris.cnrs.fr/amelie.cordier/teaching/algo/aut2015/IntroAlAlgo.pdf (voir en particulier question 6 page 10)
et ici https://www.google.fr/search?q=descarte+algorithme&sa=N&tbm=isch&tbo=u&source=univ&ved=0ahUKEwib7Lrm0bHWAhWGKMAKHdM0Bx04FBDsCQhZ&biw=1920&bih=901#imgrc=QSb9B4Mm7SjTLM:--Yond29 (discuter) 19 septembre 2017 à 19:30 (CEST)[répondre]
Oui, mais ces sources reprennent Wikipédia.. En fait, Descartes est souvent cité dans le cadre de l'algorithmique, mais plutôt pour sa méthode de quadrature du cercle. Je n'ai pas réussi à trouver de sources convaincante pour la phrase en question, qui - au mieux - est peu citée en exemple dans ce cadre et au pire pas du tout. Je serais donc plutôt en accord avec Pierre. --Jean-Christophe BENOIST (discuter) 19 septembre 2017 à 22:21 (CEST)[répondre]
Les documents cités ne sont pas vraiment convaincants.--Pierre de Lyon (discuter) 19 septembre 2017 à 23:20 (CEST)[répondre]

Entre deux algorithmes informatiques de complexité identique, on utilisera celui dont l’occupation mémoire est moindre.

[modifier le code]

Il me semble que l'affirmation « Entre deux algorithmes informatiques de complexité identique, on utilisera celui dont l’occupation mémoire est moindre » appartient au siècle dernier. Au XXIe siècle on dirait « Entre deux algorithmes informatiques de complexité identique, on utilisera celui dont l’impact environnemental est moindre ». On peut aussi dire « la consommation énergétique », mais il est vrai que cet aspect de consommation est complètement occulté dans cet article. --Pierre de Lyon (discuter) 10 mai 2020 à 19:09 (CEST)[répondre]


Cette discussion est pertinente. Merci pour cette idée d'amélioration de l'article. Je pense que ce genre d'affirmations doivent être sourcées (y compris l'affirmation déjà présente dans l'article) et ça dépend beaucoup du contexte. Je pense, qu'entre deux algorithmes informatiques de complexité identique, il y a pleins de possibilités de choix. On peut aussi choisir, dans un cours, celui qui est le plus simple à expliquer ou qui est le plus élégant. Dans un programmation informatique, on peut choisir celui qui est le plus abstrait car on peut plus facile l'étendre, on peut aussi choisir celui qui est le plus simple à comprendre, car plus simple à maintenir en terme de génie logiciel. D'ailleurs, je suis sûr qu'il arrive qu'on choisisse un algorithme moins efficace en temps, car architecture logicielle beaucoup plus simple à maintenir, ou développement trop couteux. Je ne maîtrise pas assez le sujet en ce moment pour bien sourcer, mais effectivement, il y aurait beaucoup à dire. :) Bonne soirée. Fschwarzentruber (discuter) 10 mai 2020 à 19:27 (CEST)[répondre]

Très juste. --Pierre de Lyon (discuter) 10 mai 2020 à 23:31 (CEST)[répondre]