Ho iniziato a impegnarmi di recente con l'ottimizzazione matematica e lo adoro. Sembra che molti problemi di ottimizzazione possano essere facilmente espressi e risolti come programmi lineari (ad es. Flussi di rete, copertura di bordi / vertici, commesso viaggiatore ecc.) So che alcuni di essi sono NP-difficili, ma il punto è che possono essere 'incorniciato come un programma lineare' se non risolto in modo ottimale.
Questo mi ha fatto pensare: ci sono sempre stati insegnati sistemi di equazioni lineari, algebra lineare per tutta la scuola / college. E vedere la potenza degli LP per esprimere vari algoritmi è piuttosto affascinante.
Domanda: Anche se abbiamo sistemi non lineari prevalenti tutt'intorno a noi come / perché i sistemi lineari sono così cruciali per l'informatica? Capisco che aiutano a semplificare la comprensione e sono trattabili dal punto di vista computazionale la maggior parte delle volte, ma è così? Quanto è buona questa "approssimazione"? Stiamo semplificando eccessivamente e i risultati sono ancora significativi nella pratica? O è solo "natura", cioè i problemi più affascinanti sono davvero semplicemente lineari?
Sarebbe sicuro che l'algebra lineare / equazioni / programmazione siano le pietre angolari di CS? In caso contrario, quale sarebbe una buona contraddizione? Quante volte ci occupiamo di cose non lineari (non intendo necessariamente teoricamente, ma anche dal punto di vista della "solvibilità", vale a dire semplicemente dire che NP non lo taglia; dovrebbe esserci una buona approssimazione al problema e dovrebbe atterrare essere lineare?)