• [^] # Re: Lae boulangèreuratriceuse qui calcule la monnaie exécute un algorithme

    Posté par . En réponse au lien Quand l'algorithmique devient fasciste. Évalué à 3.

    Moi la simple "suite d'instruction" dans le cas général, je dis que c'est un programme

    Un algorithme écrit en pseudo-code, ça n'est pas un programme. Un programme est une implémentation concrète, les deux concepts ne sont pas équivalents. Pour moi, je rapproche "programme" de "logiciel", mais pas d'algorithme.

    Ben non, un algo est une suite d'instruction qui résout un problème.

    Ça n'est pas vrai, sauf avec une définition pathologique de "problème". Je trouve beaucoup plus clair de parler de "tâche". Par exemple, remplir un rectangle de pixels verts, c'est une tâche, mais pas un problème (le rectangle vert n'est pas la solution, puisque c'est l'énoncé). Pourtant, il va te falloir un algorithme pour remplir cette tâche. Un algorithme, c'est l'idée de la liste d'instructions nécessaires à faire une tâche. Tu peux implémenter cet algorithme dans un langage de programmation particulier et le compiler pour une plate-forme particulière, ça te donne un programme (un programme peut contenir beaucoup d'algorithmes).

    Par contraste, un problème est un énoncé qui attend une réponse (non-triviale). Par exemple, la commande sleep est un programme qui implémente un algorithme qui effectue une tâche (attendre un certain temps), mais qui ne résout pas de problème. Par contre, le tri à bulle est un algorithme qui résout un problème (trier un vecteur), mais ça n'est pas un programme. Il faut implémenter cet algorithme pour obtenir un programme, qui fera autre chose en plus du tri à bulle (notamment, gérer les entrées/sorties).

    et la non utilisation de "algorithme" ici est voulue.

    C'est juste toi qui le dis, mais j'ai toujours entendu et compris "une heuristique" comme un simple raccourci de "un algorithme heuristique", et je pense que c'est ce que la plupart des gens sous-entendent.

    quand le grand public dénonce "l'algorithme"

    Tant mieux si tu comprends ce que le grand public appelle "les algorithmes" en général, parce que moi je ne comprends pas. L'algorithme "PageRank" de Google ne m'a jamais posé de problème particulier, par exemple. La seule chose qui me semble sensée, c'est de faire référence aux algorithmes qui déterminent l'ordre et la visibilité des contenus proposés sur les réseaux sociaux. Le problème est souvent que ces algorithmes sont conçus pour optimiser les revenus des plateformes, et ni l'expérience ni le bien-être des utilisateurs. Mais si on compare par exemple avec Mastodon, l'algorithme est simple (posts des utilisateurs suivis dans l'ordre chronologique), mais il n'optimise pas non plus le bien-être des utilisateurs (en tout cas, moi j'aimerais bien aussi avoir accès à des choses intéressantes qui viennent de l'extérieur du cercle des gens que je suis). On pourrait classer les algorithmes en fonction de critères (par exemple, est-ce qu'ils sont publics, est-ce qu'ils sont simples, sont-ils manipulables, sur quelles données ils se basent, quels sont les critères optimisés, sont-ils conçus pour manipuler les comportements, etc). Ça serait d'autant plus important pour les plateformes qui rémunèrent les auteurs de contenus, puisque les algorithmes créent le cadre de la concurrence.