Gần đây tôi đã bắt đầu tham gia vào Tối ưu hóa toán học và rất thích nó. Có vẻ như rất nhiều vấn đề tối ưu hóa có thể dễ dàng được thể hiện và giải quyết như các chương trình tuyến tính (ví dụ: luồng mạng, bìa / đỉnh, nhân viên bán hàng du lịch, v.v.) Tôi biết rằng một số trong số chúng là NP-hard, nhưng vấn đề là chúng có thể 'đóng khung như một chương trình tuyến tính' nếu không được giải quyết tối ưu.
Điều đó khiến tôi suy nghĩ: Chúng tôi luôn được dạy các hệ phương trình tuyến tính, đại số tuyến tính trong toàn trường / đại học. Và nhìn thấy sức mạnh của LP để thể hiện các thuật toán khác nhau, điều đó thật hấp dẫn.
Câu hỏi: Mặc dù chúng ta có các hệ thống phi tuyến tính phổ biến xung quanh chúng ta như thế nào / tại sao các hệ thống tuyến tính lại rất quan trọng đối với khoa học máy tính? Tôi hiểu rằng họ giúp đơn giản hóa sự hiểu biết và có thể tính toán được hầu hết thời gian nhưng có phải vậy không? Làm thế nào tốt là 'xấp xỉ' này? Có phải chúng ta đơn giản hóa quá mức và kết quả vẫn còn có ý nghĩa trong thực tế? Hay đó chỉ là "bản chất", tức là những vấn đề hấp dẫn nhất thực sự chỉ đơn giản là tuyến tính?
Liệu có an toàn để đảm bảo rằng 'đại số tuyến tính / phương trình / lập trình' là những viên đá góc của CS không? Nếu không thì điều gì sẽ là một mâu thuẫn tốt? Tần suất chúng ta xử lý các công cụ phi tuyến tính (tôi không nhất thiết phải theo lý thuyết mà còn theo quan điểm 'khả năng giải quyết', tức là chỉ nói rằng NP không cắt giảm; cần phải có một sự gần đúng tốt cho vấn đề và nó sẽ hạ cánh lên là tuyến tính?)