J'ai commencé à m'intéresser à l'optimisation mathématique assez récemment et je l'adore. Il semble que beaucoup de problèmes d'optimisation peuvent être facilement exprimés et résolus sous forme de programmes linéaires (par exemple, flux de réseau, couverture de bord / sommet, vendeur itinérant, etc.) Je sais que certains d'entre eux sont NP-difficiles, mais le fait est qu'ils peuvent être «encadré comme un programme linéaire» s'il n'est pas résolu de manière optimale.
Cela m'a fait penser: on nous a toujours enseigné des systèmes d'équations linéaires, l'algèbre linéaire tout au long de l'école / collège. Et voir la puissance des LP pour exprimer divers algorithmes, c'est un peu fascinant.
Question: Bien que nous ayons des systèmes non linéaires répandus tout autour de nous, comment / pourquoi les systèmes linéaires sont-ils si cruciaux pour l'informatique? Je comprends qu'ils aident à simplifier la compréhension et sont calculables la plupart du temps, mais est-ce le cas? Quelle est la valeur de cette «approximation»? Sommes-nous en train de simplifier à l'excès et les résultats sont-ils toujours significatifs dans la pratique? Ou s'agit-il simplement de «nature», c'est-à-dire que les problèmes les plus fascinants sont en effet simplement linéaires?
Serait-il sûr que «l'algèbre linéaire / les équations / la programmation» soient les pierres angulaires de CS? Sinon, quelle serait une bonne contradiction? À quelle fréquence traitons-nous des choses non linéaires (je ne veux pas nécessairement dire théoriquement, mais aussi du point de vue de la «solvabilité», c'est-à-dire que dire que son NP ne le coupe pas; il devrait y avoir une bonne approximation du problème et at-il atterri jusqu'à être linéaire?)