La méthode d'incompressibilité simplifierait l'analyse des algorithmes pour le cas moyen. D'après ce que je comprends, c'est parce qu'il n'est pas nécessaire de calculer toutes les combinaisons possibles d'entrée pour cet algorithme et de dériver ensuite une complexité moyenne. Au lieu de cela, une seule chaîne incompressible est prise en entrée. Comme une chaîne incompressible est typique, nous pouvons supposer que cette entrée peut agir comme une approximation précise du cas moyen.
Je suis perdu quant à l'application effective de la méthode d'incompressibilité à un algorithme. Soit dit en passant, je ne suis pas mathématicien, mais je pense que cette théorie a des applications pratiques dans la programmation quotidienne.
En fin de compte, je voudrais savoir comment je peux déduire le cas moyen d'un algorithme donné, qu'il soit trivial ou complexe. Quelqu'un pourrait-il me montrer comment la méthode peut être appliquée à un algorithme simple? Par exemple, étant donné une chaîne d'entrée S, stockez tous les caractères uniques dans S, puis imprimez chacun individuellement:
void uniqueChars(String s) {
char[] chars = chars[ s.length() ]
int free_idx = 0;
for (int i = 0; i < s.length(); i++) {
if (! s[i] in chars) {
chars[free_idx] = s[i]
free_idx++;
}
}
for (int i = 0; i < chars.length(); i++) {
print (chars[i])
}
}
Supposons une recherche linéaire pour vérifier si le tableau contient un élément.
L'extrait de code ci-dessus est uniquement à des fins d'argument. De meilleurs algorithmes permettant de démontrer la théorie sont bien sûr acceptables.
J'ai posé cette question sur StackOverflow ( https://stackoverflow.com/q/24619383/3813812 ) en juillet 2014 et j'ai reçu quelques commentaires utiles mais pas une réponse définitive. Comme l'a souligné l'un des commentateurs, cette question convient mieux à l'informatique StackExchange, alors je pose la question ici aujourd'hui.
Certains documents que j'ai passés en revue comprennent:
Une introduction à la complexité de Kolmogorov et à ses applications, par Ming Li et Paul MB Vitányi
https://www.cs.duke.edu/~reif/courses/complectures/Li/KC-Lecture1.pdf
http://www.detectingdesign.com/PDF%20Files/Kolmogorov%20Complexity%202.pdf
Parmi quelques autres ressources auxquelles je n'ai pas de liens en main.
Si ma compréhension de l'applicabilité de la complexité de Kolmogorov est inexacte ou ce que je demande est impraticable, j'apprécierais une déclaration à ce sujet.