Comecei a me envolver com a otimização matemática recentemente e estou adorando. Parece que muitos problemas de otimização podem ser facilmente expressos e resolvidos como programas lineares (por exemplo, fluxos de rede, cobertura de borda / vértice, vendedor ambulante etc.). Sei que alguns deles são difíceis de NP, mas o ponto é que eles podem ser 'enquadrado como um programa linear' se não for resolvido da melhor maneira.
Isso me fez pensar: sempre aprendemos sistemas de equações lineares, álgebra linear em toda a escola / faculdade. E ver o poder dos LPs em expressar vários algoritmos é meio fascinante.
Pergunta: Embora tenhamos sistemas não lineares predominantes ao nosso redor, como / por que os sistemas lineares são tão cruciais para a ciência da computação? Entendo que eles ajudam a simplificar o entendimento e são tratáveis computacionalmente na maioria das vezes, mas é isso? Quão boa é essa 'aproximação'? Estamos simplificando demais e os resultados ainda são significativos na prática? Ou é apenas "natureza", ou seja, os problemas mais fascinantes são de fato simplesmente lineares?
Seria seguro que 'álgebra linear / equações / programação' sejam as pedras angulares do CS? Se não, então o que seria uma boa contradição? Quantas vezes lidamos com coisas não lineares (eu não necessariamente quero dizer teoricamente, mas também do ponto de vista da 'solvabilidade', ou seja, apenas dizer que o NP não é suficiente; deve haver uma boa aproximação ao problema e ele chegaria sendo linear?)