Я почав займатися математичною оптимізацією зовсім недавно і люблю це. Здається, багато проблем з оптимізацією можна легко виразити і вирішити як лінійні програми (наприклад, мережеві потоки, обкладинка вершини / вершини, подорожуючий продавець тощо). Я знаю, що деякі з них є важкими для NP, але справа в тому, що вони можуть бути "обрамлена як лінійна програма", якщо її не вирішити оптимально.
Це задумало мене: нас завжди навчали системи лінійних рівнянь, лінійної алгебри у всій школі / коледжі. І бачити силу LP для вираження різних алгоритмів це начебто захоплююче.
Питання: Хоча у нас навколо нас нелінійні системи, де / чому такі лінійні системи є настільки важливими для інформатики? Я розумію, що вони допомагають спростити розуміння і обчислюються обчисленнями більшість випадків, але це так? Наскільки добре це «наближення»? Ми надто спрощуємось і чи є результати все ще значущими на практиці? Або це просто "природа", тобто проблеми, які є найбільш захоплюючими, справді просто лінійні?
Чи можна було б впевнитись, що "лінійна алгебра / рівняння / програмування" є наріжним каменем CS? Якщо ні, то що було б хорошим протиріччям? Як часто ми маємо справу з нелінійними речами (я не обов'язково маю на увазі теоретично, але також з точки зору "вирішуваності", тобто просто кажу, що НП не вирішує це; повинно бути хороше наближення до проблеми, і якщо воно приземлиться до лінійності?)