Je lis un article sur l'analyse amortie des algorithmes. Ce qui suit est un extrait de texte.
L'analyse amortise est similaire à une analyse de cas moyenne en ce sens qu'elle concerne le coût moyennant une séquence d'opérations. Toutefois, une analyse moyenne des cas repose sur des hypothèses probabilistes sur les structures de données et les opérations afin de calculer une durée de fonctionnement attendue d'un algorithme. Son applicabilité dépend donc de certaines hypothèses sur la répartition des probabilités des entrées d'algorithme.
Un cas moyen lié ne fait pas obstacle à la possibilité que l'on va obtenir " chance " et rencontrer une entrée qui nécessite plus de temps que prévu, même si les hypothèses de distribution de probabilité d'entrées sont valides.
Mes questions sur le texte ci-dessus sont:
Dans le premier paragraphe, comment l'analyse moyenne des cas "s'appuie-t-elle sur des hypothèses probabilistes sur les structures et les opérations de données?" Je sais que l'analyse de cas moyenne dépend de la probabilité d'entrée, mais de quoi signifie la déclaration ci-dessus?
Que signifie l'auteur dans le deuxième paragraphe que l'affaire moyenne n'est pas valide même si la distribution d'entrée est valide?
Merci!
Pour obtenir la complexité moyenne du temps, vous devez faire des hypothèses sur ce que le "cas moyen" est. Si les entrées sont des chaînes, quelle est la "chaîne moyenne"? Ne contient que la durée de la longueur? Si oui, quelle est la longueur moyenne des chaînes que je vais obtenir? Sinon, quel est le caractère moyen de ces cordes? Il devient difficile de répondre définitivement à ces questions si les chaînes sont, par exemple, des noms de famille. Quel est le nom de famille moyen?
Dans les échantillons statistiques les plus intéressants, la valeur maximale est supérieure à la moyenne. Cela signifie que votre analyse de cas moyenne sous-estimera parfois les délais/ressources nécessaires à certaines intrants (qui sont problématiques). Si vous y réfléchissez, pour un PDF symétrique, une analyse de cas moyenne devrait sous-estimer autant qu'il surestime. La pire analyse de cas, OTOH, considère que le ou les cas le plus problématique, et il est donc garanti de surestimer.
L'analyse moyenne des cas rend les hypothèses sur l'entrée qui peut ne pas être remplie dans certains cas. Par conséquent, si votre entrée n'est pas aléatoire, dans le pire des cas, la performance réelle d'un algorithme peut être beaucoup plus lente que le cas moyen.
L'analyse amortise ne fait aucune hypothèse de telles hypothèses, mais elle considère la performance totale d'une séquence d'opérations au lieu d'une seule opération.
L'insertion de tableau dynamique fournit un exemple simple d'analyse amortise. Un algorithme consiste à affecter une matrice de taille fixe et que de nouveaux éléments sont insérés, allouez une matrice de taille fixe de double longueur si nécessaire. Dans le pire des cas, une insertion peut nécessiter du temps proportionnellement à la longueur de toute la liste, de sorte que dans la pire insertion d'insertion est un O(n) Opération. Cependant, vous pouvez garantir qu'un tel pire Le cas est peu fréquent, l'insertion est donc un O(1) Fonctionnement à l'aide d'une analyse amortise. L'analyse amortite contient peu importe la saisie de l'entrée.
Considérez le calcul du minimum dans une matrice non formée. Vous savez peut-être qu'il a O(n)
heure de fonctionnement, mais si nous voulons être plus précis, il fait n/2
Comparaison dans le cas moyen. Pourquoi ça? parce que nous faisons une hypothèse sur les données; Nous supposons que le minimum peut être dans chaque position avec la même probabilité. Si nous changeons cette hypothèse et que nous disons, par exemple, que la probabilité d'être dans la position I est par exemple augmentant avec I, nous pourrions prouver un numéro de comparaison différent, même une liaison asymptotique différente.
Dans le deuxième paragraphe, l'auteur affirme qu'avec l'analyse de cas moyenne, nous pouvons être très malchanceux et avoir une affaire moyenne mesurée supérieure à celle du cas traditionnel; Rappelant l'exemple précédent, si nous sommes malchanceux sur M de formes différentes de taille N, et le minimum est à chaque fois dans la dernière position, nous allons mesurer un cas en moyenne n
et non un n/2
. Cela ne peut pas arriver quand une liaison amortise est prouvée.