CorrectiondeInterstices10questions
Solutiondelaquestion1sur10:Qu'estcequ'unalgorithme?
Voici la bonne réponse :
Une méthode ou un procédé décrit pas à pas
Voir le document Qu'est-ce qu'un algorithme ?
Un algorithme est une méthode ou un procédé décrit pas à pas.
Ce n'est pas un problème de décision, mais une méthode pour résoudre un tel problème.
Un algorithme n'est pas non plus un langage de programmation, mais tout algorithme dont les entrées et
les résultats peuvent être codés par des entiers peut être traduit (plus ou moins directement, plus ou
moins « naturellement ») dans n'importe quel langage de programmation.
Enfin, un algorithme n'est pas un codage numérique, mais les données et les résultats de n'importe quel
algorithme doivent être codés de façon numérique - et même arithmétique - pour être mis en œuvre sur
un ordinateur (voir à ce sujet Compression de maillages ).
Solutiondelaquestion2sur10:Qu'yatildecommunentreunerecettede
cuisineetunalgorithme?
Voici la bonne réponse :
Il s'agit d'une suite d'instructions
Une recette de cuisine ressemble à un algorithme jusqu'à un certain point : elle décrit une méthode pas à
pas pour réaliser un plat (le résultat) à partir d'ingrédients (les entrées). Mais elle laisse une part à
l'interprétation personnelle, ce qui explique aussi que le résultat n'est pas garanti !
Cette analogie est cependant bien utile pour faire comprendre qu'un algorithme n'est pas forcément du
domaine des mathématiques.
Par ailleurs, il ne faut pas confondre algorithme et théorème. Un théorème est l'énoncé d'une
propriétéqui a été prouvée (pour celui de Fermat par exemple, après plusieurs siècles depuis son
énoncé).
La validité d'un algorithme peut se fonder sur des théorèmes (voir Une preuve sur les nombres premiers
).
Voir le document Qu'est-ce qu'un algorithme ?
Solutiondelaquestion3sur10:Commentsedéfinitlacomplexitéentemps
d'unalgorithmecalculantunrésultatàpartird'unparamètrefourni?
Voici la bonne réponse :
C'est l'ordre de grandeur du nombre d'opérations de base effectuées lors de l'exécution de
l'algorithme en fonction de la taille de son paramètre d'entrée
La complexité en temps d'un algorithme se mesure en nombre d'opérations élémentaires à effectuer
en fonction de la taille des données d'entrée. Ce nombre est corrélé au temps précis de son exécution sur
machine, tout en étant indépendant du langage de programmation dans lequel il est codé, ainsi que de la
machine sur laquelle il est implanté.
Il est plus facile - et tout aussi pertinent pour l'estimation de la complexité d'un algorithme - de ne pas
calculer le nombre exact d'opérations de base, mais de la situer par rapport à des fonctions de référence,
qui représentent des ordres de grandeurs (log n, n, n (log n), n2, nk, 2n...).
La complexité dépend de la taille du paramètre d'entrée. Par exemple, trier par ordre alphabétique un
ensemble de fiches de 10 noms est plus rapide que trier (selon la même méthode de tri ) un ensemble
de fiches de 1000 noms.
Sur la notion de complexité, voir aussi la conférence de Philippe Flajolet Entre mathématiques et
informatique : l'analyse des algorithmes
Solutiondelaquestion4sur10:Commentpeutontrierparordre
alphabétiqueunfichierde1000noms?
Voici les bonnes réponses :
Il existe plusieurs algorithmes, dont certains sont plus rapides à exécuter en moyenne
Aucun algorithme ne peut trier 1000 noms en moins de 10 000 opérations de comparaisons
Il existe de nombreux algorithmes de tri différents.
Certains algorithmes sont meilleurs en moyenne que d'autres, tout en étant moins performants dans les
configurations les plus favorables (fichier déja trié) ou les plus défavorables (fichier de départ trié à
l'envers). Il faut distinguer la complexité dans le cas le pire, le meilleur ou moyen.
L'algorithme de tri rapide ou Quicksort est l'algorithme connu jusqu'a présent comme le meilleur en
moyenne (en n(log n)), mais sa complexité dans le cas le pire est de l'ordre de n2 (où n est le nombre
d'éléments à trier).
On peut montrer que sans information sur les noms à trier, on ne peut pas trier un fichier de n éléments
en moins de n(log n) opérations de comparaisons.
Solutiondelaquestion5sur10:Qu'estcequel'algorithmedeDijkstra?
Voici les bonnes réponses :
Le meilleur algorithme connu jusqu'à présent pour calculer le plus court chemin issu d'un
sommet donné dans un graphe
Le meilleur algorithme connu jusqu'à présent pour calculer le plus court chemin entre 2
sommets donnés dans un graphe
Voir le document Le plus court chemin
À première vue, il semble que déterminer le plus court chemin entre deux sommets donnés soit plus
simple que déterminer les plus courts chemins d'origine fixée vers n'importe quelle extrémité. Cependant,
et contrairement à l'intuition précédente, la résolution du premier problème nécessite en général de
résoudre le second problème, pour lequel l'algorithme de Dijkstra est le meilleur algorithme connu
jusqu'à présent.
Le meilleur algorithme connu jusqu'a présent pour calculer le plus court chemin entre 2 sommets
quelconques dans un graphe est le magnifique algorithme général de Roy-Warshall-Floyd .
La complexité de l'algorithme de Dijkstra est de l'ordre de n2 (où n est le nombre de sommets). Donc, si
son exécution prend de l'ordre d'1 ms sur un graphe de 10 sommets, son exécution sur un graphe de 1000
sommets prendra de l'ordre de 10s (et non pas de 1s).
Solutiondelaquestion6sur10:Eninformatique,qu'estcequ'unarbre?
Voici la bonne réponse :
Une structure de données permettant de représenter de façon compacte les éléments d'un
ensemble
Un arbre au sens informatique peut être une structure de données (voir Structure d'arbres et
aussiArbre de jeu ) ou un modèle de calcul algorithmique (arbre de décision), mais n'a rien à voir
avec l'arboriculture.
Un réseau a une structure de graphe (voir le document Algorithmes pour les réseaux ad hoc ). Mais
les arbres sont des graphes très particuliers.
Enfin, un arbre n'est pas une instruction d'un langage informatique, mais cette structure de données peut
être manipulée par de telles instructions.
Solutiondelaquestion7sur10:Qu'appelletonmachinedeTuring
universelle?
Voici la bonne réponse :
Un modèle de calcul inventé par Turing
Voir Alan Turing : du calculable à l'indécidable
La machine de Turing universelle n'est pas un ordinateur, mais un modèle de calcul simulant l'exécution
d'un algorithme quelconque (modélisé par une machine de Turing particulière).
Turing a par ailleurs participé à la mise en œuvre d'une méthode de décodage des messages secrets de la
machine Enigma .
Réaliser une machine de traduction automatique était un des grands rêves d'Alan Turing, qui n'est
toujours pas réalisé aujourd'hui : il n'existe pas encore de méthode universelle pour traduire
automatiquement et de manière satisfaisante un texte quelconque d'une langue dans une autre.
Solutiondelaquestion8sur10:Parmilesaffirmationssuivantes,laquelle
estfausse?
Voici la bonne réponse :
Tous les énoncés mathématiques vrais sont décidables
Voir Alan Turing : du calculable à l'indécidable et aussi Quelques dualités dans le contenu des STIC -
Décidable-indécidable
Ce n'est pas parce qu'un énoncé mathématique est vrai qu'il est décidable. Il existe des problèmes non
décidables. Un problème est décidable s'il existe un algorithme qui permet de résoudre toutes les instances
possibles de ce problème. Pour décider si une formule est prouvable dans un système formel, on énumère
toutes les preuves possibles (des plus courtes aux plus longues) : s'il en existe une, on la trouvera. Une
telle méthode énumérative dont la terminaison n'est garantie qu'en cas d'existence d'une solution
s'appelle un semi-algorithme.
Solutiondelaquestion9sur10:Parmicesdéfinitionsd'unproblème
NPcomplet,laquelleestfausse?
Voici la bonne réponse :
C'est un problème complètement non polynomial
NP ne veut pas dire Non Polynomial, mais Non déterministe Polynomial.
Voir P = NP, un problème à un million de dollars ?
À partir de quel moment, et sous quelles conditions, un énoncé difficile à démontrer et jugé très probable
doit-il être adopté comme nouvel axiome ? Le problème P = NP est un problème fondamental du calcul
mathématique, l'un de sept problèmes sélectionnés par l'Institut Clay en l'an 2000 : comme pour les six
autres, une somme d'un million de dollars attend celle, celui ou ceux qui le résoudront...
Solutiondelaquestion10sur10:Trouverunalignement(optimal)entre
deuxséquences,qu'estcequec'est?
Voici les bonnes réponses :
Cela sert à comparer des mots d'un texte ou des séquences génomiques
Cela peut se réduire à trouver un (plus court) chemin entre deux sommets d'un graphe
C'est la tâche informatique la plus fréquemment exécutée par les biologistes
Voir le document Alignement optimal et comparaison de séquences génomiques et protéiques
La comparaison de séquences est de loin la tâche informatique la plus fréquemment exécutée par les
biologistes. Ce problème est décidable : il existe plusieurs algorithmes pour le résoudre. Les algorithmes
mis en œuvre servent à comparer des séquences génomiques ou protéiques comme des mots d'un texte.
L'un de ces algorithmes permet de trouver un alignement optimal entre deux séquences en le
représentant comme un chemin optimal dans un graphe.
1 / 5 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !