documentation de référence sur algorithmique

Cette page contient les information de référence sur algorithmique :

web sémantique sur algorithmique

En outre, on trouve les analogies de algorithmique :

   Publicité ▼

sensagent's office

Raccourcis et gadgets. Gratuit.

* Raccourci Windows : sensagent.

* Widget Vista : sensagent.


Alexandria poste de travail. 29€.

Pour Windows ou Vista. Simple/double clique/Ctrl+F10. Pour tout logiciel (word, excel, etc.). Sans publicité.

dictionnaire et traducteur pour sites web

Alexandria

Une fenêtre (pop-into) d'information (contenu principal de Sensagent) est invoquée un double-clic sur n'importe quel mot de votre page web. LA fenêtre fournit des explications et des traductions contextuelles, c'est-à-dire sans obliger votre visiteur à quitter votre page web !

Essayer ici, télécharger le code;

SensagentBox

Avec la boîte de recherches Sensagent, les visiteurs de votre site peuvent également accéder à une information de référence pertinente parmi plus de 5 millions de pages web indexées sur Sensagent.com. Vous pouvez Choisir la taille qui convient le mieux à votre site et adapter la charte graphique.

Solution commerce électronique

Augmenter le contenu de votre site

Ajouter de nouveaux contenus Add à votre site depuis Sensagent par XML.

Parcourir les produits et les annonces

Obtenir des informations en XML pour filtrer le meilleur contenu.

Indexer des images et définir des méta-données

Fixer la signification de chaque méta-donnée (multilingue).


Renseignements suite à un email de description de votre projet.

Jeux de lettres

Les jeux de lettre français sont :
○   Anagrammes
○   jokers, mots-croisés
○   Lettris
○   Boggle.

Lettris

Lettris est un jeu de lettres gravitationnelles proche de Tetris. Chaque lettre qui apparaît descend ; il faut placer les lettres de telle manière que des mots se forment (gauche, droit, haut et bas) et que de la place soit libérée.

boggle

Il s'agit en 3 minutes de trouver le plus grand nombre de mots possibles de trois lettres et plus dans une grille de 16 lettres. Il est aussi possible de jouer avec la grille de 25 cases. Les lettres doivent être adjacentes et les mots les plus longs sont les meilleurs. Participer au concours et enregistrer votre nom dans la liste de meilleurs joueurs ! Jouer

Dictionnaire de la langue française
Principales Références

La plupart des défintions du français sont proposées par Memodata et comportent un approfondissement avec Littré et plusieurs auteurs techniques spécialisés.
Le dictionnaire des synonymes est surtout dérivé du Crisco ou du dictionnaire intégral (TID).
L'encyclopédie française bénéficie de la licence Wikipedia (GNU).

Traduction

Changer la langue cible pour obtenir des traductions.
Astuce: parcourir les champs sémantiques du dictionnaire analogique en plusieurs langues pour mieux apprendre avec sensagent.

Copyright

Les jeux de lettres anagramme, mot-croisé, joker, Lettris et Boggle sont proposés par Memodata.
Le service web Alexandria est motorisé par Memodata pour faciliter les recherches sur Ebay.
La SensagentBox est offerte par sensAgent.

Dernières recherches dans le dictionnaire :

1004 visiteurs en ligne

calculé en 0.453s

   Publicité 

Ecran ▼    Interface ▼    Favoris ▼   

 » 

Choisissez vos langues source et cible.

Résumé des résultats
 définitions   synonymes   locutions   réseau sémantique   anagrammes   mots-croisés   conjugaison   exemple   wikipedia   Ebay   Amazon   traductions 
 
définitions

algorithmique (adj.)

1.relatif aux algorithmes.

algorithmique (n.f.)

1.(JO)Étude de la résolution de problèmes par la mise enœuvre de suites d'opérations élémentaires selon un processus défini aboutissant à une solution.
(Arrêté du 27/06/1989 - date de la publication : 22/09/2000 - éd. commission de l'informatique et des composants électroniques)

 
voir aussi

algorithmique (adj.)

algorithme

 
synonymes

algorithmique (nominal)

mathématique

 
locutions
 
dictionnaire analogique

algorithmique (adj.)

tid

relatif à[Classe...]

 
Wikipedia

Algorithmique

Un article de Wikipédia, l'encyclopédie libre.

On désigne par algorithmique ou algorithmie l'ensemble des activités logiques qui relèvent des algorithmes. Le mot vient du nom du mathématicien Al Khuwarizmi, qui, au IXe siècle écrivit le premier ouvrage systématique sur la solution des équations linéaires et quadratiques. Dans le cas général, l'algorithmique s'effectue au moyen de calculs.

Sommaire

  • 1 Définition
  • 2 Historique
    • 2.1 Antiquité
    • 2.2 Étude systématique
  • 3 Exemples d’algorithme
  • 4 Complexité algorithmique
  • 5 Quelques indications sur l'efficacité des algorithmes
  • 6 Les heuristiques
  • 7 Applications
  • 8 Voir aussi
    • 8.1 Liens externes

Définition

Un algorithme est un moyen pour un humain de présenter la résolution par calcul d'un problème à une autre personne physique (un autre humain) ou virtuelle (un calculateur). En effet, un algorithme est un énoncé dans un langage bien défini d'une suite d'opérations permettant de résoudre par calcul un problème. Si ces opérations s'exécutent en séquence, on parle d'algorithme séquentiel. Si les opérations s'exécutent sur plusieurs processeurs en parallèle, on parle d'algorithme parallèle. Si les tâches s'exécutent sur un réseau de processeurs on parle d'algorithme réparti ou distribué.

Historique

Antiquité

Les algorithmes dont on a retrouvé des descriptions exhaustives ont été utilisés dès l'époque des Babyloniens, pour des calculs concernant le commerce et les impôts.

L'algorithme le plus célèbre est celui qui se trouve dans le livre 7 des Eléments d'Euclide. Il permet de trouver le plus grand diviseur commun, ou PGCD, de deux nombres. Un point particulièrement remarquable est qu'il contient explicitement une itération et que les propositions 1 et 2 démontrent (maladroitement pour nos contemporains) sa convergence.

Étude systématique

L'algorithmique a été systématisée par le mathématicien perse Al Khuwarizmi (né vers 780 - mort vers 850), auteur d'un ouvrage (souvent traduit par L'algèbre et le balancement) qui décrit des méthodes de calculs algébriques (ainsi que d'un autre introduisant le zéro des Indiens).

Le savant arabe Averroès (1126-1198) évoque une méthode de raisonnement où la thèse s'affine étape par étape (itérativement) jusqu'à une certaine convergence et ceci conformément au déroulement d'un algorithme. À la même époque, au XIIe siècle, le moine Adelard de Bath a introduit le terme latin de algorismus (par référence au nom de Al Khuwarizmi). Ce mot donne algorithme en français en 1554.

Au XVIIe siècle, on pourrait entrevoir une certaine allusion à la méthode algorithmique chez René Descartes dans la méthode générale proposée par le Discours de la méthode (1637), notamment quand, en sa deuxième partie, le logicien français propose de « 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.» Sans évoquer explicitement les concepts de boucle ou d'itération, l'approche de Descartes prédispose la logique à accueillir le concept de programme, mot qui naît en français en 1677.

L'utilisation du terme algorithme a été remarquable chez Ada Lovelace, fille de lord Byron et assistante de Charles Babbage (1792-1871).

Le substantif algorithmique désigne la méthode utilisant des algorithmes. Le terme est également employé comme adjectif.

Un algorithme énonce une résolution sous la forme d'une série d'opérations à effectuer. La mise en œuvre de l'algorithme consiste en l'écriture de ces opérations dans un langage de programmation et constitue alors la brique de base d'un programme informatique.

Les informaticiens utilisent fréquemment l'anglicisme implémentation pour désigner cette mise en œuvre. L'écriture en langage informatique est aussi fréquemment désignée par le terme « codage », qui n'a ici aucun rapport avec la cryptographie, mais qui se réfère au terme « code source » pour désigner le texte, en langage de programmation, constituant le programme. L'algorithme devra être plus ou moins détaillé selon le niveau d'abstraction du langage utilisé ; autrement dit, une recette de cuisine doit être plus ou moins détaillée en fonction de l'expérience du cuisinier.

Exemples d’algorithme

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 :

  • tours de Hanoï, problème célèbre illustrant la programmation récursive ;
  • algorithme de tri, ou comment trier un ensemble de nombres le plus rapidement possible ;
  • huit dames, placer huit dames sur un échiquier sans qu'elles puissent se prendre entre elles ;
  • algorithme récursif, quelques présentations d'algorithmes récursifs simples ;
  • algorithme du simplexe, qui minimise une fonction linéaire de variables réelles soumises à des contraintes linéaires.

Complexité algorithmique

Article détaillé : Complexité algorithmique.

Les principales notions mathématiques dans le calcul du coût d'un algorithme précis sont les notions de domination (notée O(f(n)), « grand o »), où f est une fonction mathématique de n, variable désignant la quantité d'informations (en bits, en nombre d'enregistrements, etc.) manipulée dans l'algorithme. En algorithmique on trouve souvent des complexités du type :


Notation Type de complexité
O(1) complexité constante (indépendante de la taille de la donnée)
O(log(n)) complexité logarithmique
O(n) complexité linéaire
O(nlog(n)) complexité quasi-linéaire
O(n2) complexité quadratique
O(n3) complexité cubique
O(np) complexité polynomiale
O(nlog(n)) complexité quasi-polynomiale
O(2n) complexité exponentielle
O(n!) complexité factorielle

Sans entrer dans les détails mathématiques, on peut dire que lorsque l'on calcule l'efficacité d'un algorithme (sa complexité algorithmique), on cherche à connaître deux données importantes : tout d'abord, l'évolution du nombre d'instructions de base en fonction de la quantité de données à traiter (par exemple, dans un algorithme de tri, le nombre de lignes à trier), que l'on privilégiera sur le coût exact en secondes, ensuite l'appréciation de la quantité de mémoire nécessaire pour effectuer les calculs. Baser le calcul de la complexité d'un algorithme sur le temps ou la quantité effective de mémoire qu'un ordinateur particulier prend pour effectuer ledit algorithme ne permet pas de prendre en compte la structure interne de l'algorithme, ni la particularité de l'ordinateur : selon sa charge de travail, la vitesse de son processeur, la vitesse d'accès aux données, l'exécution de l'algorithme (qui peut faire intervenir le hasard) ou son organisation de la mémoire, le temps d'exécution et la quantité de mémoire ne seront pas les mêmes.

On trouvera dans l'article sur la théorie de la complexité d'autres évaluations de la complexité qui vont en général au delà des valeurs proposées ci-dessus et qui répartissent les problèmes (plutôt que les algorithmes) en classes de complexité.

Quelques indications sur l'efficacité des algorithmes

Souvent, l'efficacité d'un algorithme n'est connue que de manière asymptotique, c'est-à-dire pour de grandes valeurs du paramètre n. Lorsque ce paramètre est suffisamment petit, un algorithme de complexité supérieure peut en pratique être plus efficace. Ainsi, pour trier un tableau de 30 lignes (c'est un paramètre de petite taille), il est inutile d'utiliser un algorithme évolué comme le Tri rapide (l'un des algorithmes de tri les plus efficaces en moyenne) : l'algorithme de tri le plus trivial sera suffisamment efficace.

À noter aussi : entre deux algorithmes dont la complexité est identique, on cherchera à utiliser celui dont l'occupation mémoire est la plus faible. L'analyse de la complexité algorithmique peut également servir à évaluer l'occupation mémoire d'un algorithme. Enfin, le choix d'un algorithme plutôt qu'un autre doit se faire en fonction des données que l'on s'attend à lui fournir en entrée. Ainsi, le Quicksort (ou tri rapide), lorsque l'on choisit le premier élément comme pivot, se comporte de façon désastreuse si on l'applique à une liste de valeurs déjà triée. Il n'est donc pas judicieux de l'utiliser si on prévoit que le programme recevra en entrée des listes déjà presque triées.

Un autre paramètre à prendre en compte est la localité de l'algorithme. Par exemple pour un système à mémoire virtuelle qui dispose de peu de mémoire (par rapport au nombre de données à traiter), le Tri rapide sera normalement plus efficace que le Tri par tas car le premier ne passe qu'une seule fois sur chaque élément de la mémoire tandis que le second accède à la mémoire de manière discontinue (ce qui augmente le risque de swapping).

Enfin, il existe certains algorithmes dont la complexité est dite amortie. Cela signifie que, pour certaines exécutions de l'algorithme (cas marginaux), la complexité de l'algorithme sera très supérieure au cas moyen. Bien sûr, on n'utilise la notion de complexité amortie que dans les cas où cette réaction est très marginale.

Les heuristiques

Pour certains problèmes, les algorithmes ont une complexité beaucoup trop grande pour obtenir un résultat en temps raisonnable, même si l'on pouvait utiliser une puissance de calcul phénoménale. On est donc amené à rechercher une solution la plus proche possible d'une solution optimale en procédant par essais successifs. Puisque toutes les combinaisons ne peuvent être essayées, certains choix stratégiques doivent être faits. Ces choix, généralement très dépendants du problème traité, constituent ce qu'on appelle une heuristique. Le but d'une heuristique est donc de ne pas essayer toutes les combinaisons possibles avant de trouver celle qui répond au problème, afin de trouver une solution approchée convenable (qui peut être exacte dans certains cas) dans un temps raisonnable. C'est ainsi que les programmes de jeu d'échecs, de jeu de go (pour ne citer que ceux-là) font appel de manière très fréquente à des heuristiques qui modélisent l'expérience d'un joueur. Certains logiciels antivirus se basent également sur des heuristiques pour reconnaître des virus informatiques non répertoriés dans leur base, en s'appuyant sur des ressemblances avec des virus connus.

Applications

  • Cryptologie et compression de données
  • Structure de données, Algorithmes de tri et Recherche dichotomique
  • Allocation de mémoire et ramasse-miettes
  • Informatique musicale
  • Algorithme génétique en informatique décisionnelle

Voir aussi

   
wikt:

Le Wiktionnaire possède une entrée pour « algorithmique ».

   
wikt:

Le Wiktionnaire possède une entrée pour « algorithmie ».

  • Al-Khuwarizmi
  • Algorithme récursif
  • Algorithme réparti
  • Liste des algorithmes
  • Métaheuristique
  • Recherche opérationnelle
  • Structure de contrôle

Liens externes

  • Eléments d'Algorithmique Tout un livre sur l'algorithmique, gratuit en PDF.
  • Cours et exercices d'algorithmique L'entraînement de l'équipe de France aux Olympiades Internationales d'Informatique.
  • Cours d'initiation à l'algorithmique
  • Introduction à l'algorithmique, avec des exemples en langage C
  • Initiation à l'algorithmique


Portail de l'informatique – Accédez aux articles de Wikipédia concernant l’informatique.
Portail de la logique – Accédez aux articles de Wikipédia concernant la logique.

Récupérée de « http://fr.wikipedia.org../../../a/l/g/Algorithmique.html »

This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer) . Donate to wikipedia.

Licence : Wikipedia. This article is licensed under the GNU Free Documentation License.

eBay
  

mathematique élémentaire d'1 point de vue algorithmique (1.0 EUR)

Usage commercial de ce terme

Introduction A L'informatique L'algorithmique - Bern (6.0 EUR)

Usage commercial de ce terme

Algorithmique BTS, DUT informatique (22.99 EUR)

Usage commercial de ce terme

Algorithmique Et Programmation En Pascal ; Cours - C... (1.0 EUR)

Usage commercial de ce terme

Achat sur eBay et aides linguistiques
Définitions et traductions accessibles en 1 double-clic !

   Publicité ▼