Je cherche de bons exemples, où le phénomène suivant se produit: (1) Un problème algorithmique semble difficile, si vous voulez le résoudre en travaillant à partir des définitions et en utilisant uniquement les résultats standard. (2) En revanche, cela devient facile, si vous connaissez certains théorèmes (pas si standard).
Le but de ceci est d'illustrer pour les étudiants que l'apprentissage de plus de théorèmes peut être utile, même pour ceux qui sont en dehors du domaine théorique (tels que les ingénieurs logiciels, les ingénieurs en informatique, etc.). Voici un exemple:
Question: Étant donné les entiers , existe-t-il un graphe sommet (et si oui, en trouver un), tel que sa connectivité au sommet est , sa connectivité aux bords est et son degré minimum est ?n k l d
Notez que nous exigeons que les paramètres soient exactement égaux aux nombres donnés, ils ne sont pas seulement des bornes. Si vous souhaitez résoudre ce problème à partir de zéro, cela peut sembler assez difficile. D'un autre côté, si vous connaissez le théorème suivant (voir Théorie des graphes extrêmes par B. Bollobas), la situation devient très différente.
Théorème: Soit entiers. Il existe un graphe à sommets avec connectivité au sommet , connectivité aux bords et degré minimum , si et seulement si l'une des conditions suivantes est remplie:n k l d
- ,
Ces conditions sont très faciles à vérifier, étant de simples inégalités entre les paramètres d'entrée, de sorte que la question de l'existence peut être résolue sans effort. De plus, la preuve du théorème est constructive, résolvant également le problème de construction. En revanche, ce résultat n'apparaît pas assez standard, de sorte que vous pouvez vous attendre à ce que tout le monde le sache.
Pouvez-vous fournir d'autres exemples dans cet esprit, où la connaissance d'un théorème (pas si standard) simplifie grandement une tâche?