Có hai câu trả lời cơ bản cho câu hỏi của bạn:
Có nhiều lý thuyết phức tạp hơn các ngôn ngữ, ví dụ như các lớp chức năng, độ phức tạp số học và các thuật toán con của các thuật toán gần đúng và tính không tương thích.
Lý do lịch sử: một trong những bài viết cơ bản trong lý thuyết tính toán là thảo luận về Entscheidungspro Hiệu của Hilbert (một dạng của vấn đề tạm dừng).
Thật không may, tôi không biết nhiều về cái sau, nhưng hãy để tôi mở rộng cái trước.
Sự phức tạp ngoài ngôn ngữ
Mỗi lớp phức tạp tính toán đi kèm với một lớp chức năng liên quan . Ví dụ, lớp P của tất cả các vấn đề có thể quyết định trong thời gian đa thức được liên kết với FP, lớp của tất cả các hàm tính toán trong thời gian đa thức. FP là quan trọng vì nó được sử dụng để xác định NP-khó: một ngôn ngữ là NP-hard nếu cho mọi ngôn ngữ trong NP có một chức năng trong FP mà iff . Một lớp hàm phức tạp khác, #P , có liên quan đến cái gọi là hệ thống phân cấp đa thức thông qua định lý Toda .M f M x ∈ M f M ( x ) ∈ LLMfMx∈MfM(x)∈L
Độ phức tạp mạch số học (hay lý thuyết phức tạp đại số ) liên quan đến sự phức tạp của việc tính toán các đa thức khác nhau. Các lớp phức tạp quan trọng ở đây là VP và VNP, và lý thuyết phức tạp hình học là một dự án quan trọng cố gắng tách VP và VNP (và sau này là P và NP) bằng cách sử dụng lý thuyết đại diện và hình học đại số.
Một ví dụ quan trọng khác về độ phức tạp đại số là phép nhân ma trận nhanh. Ở đây câu hỏi cơ bản là làm thế nào nhanh chóng chúng ta có thể nhân hai ma trận ? Các câu hỏi tương tự hỏi chúng ta có thể nhân các số nguyên nhanh như thế nào, chúng ta có thể kiểm tra các số nguyên nhanh như thế nào (đây là một vấn đề quyết định!) Và chúng ta có thể tính các số nguyên nhanh như thế nào.
Tối ưu hóa lồi giải quyết các vấn đề tối ưu hóa có thể được giải quyết (hoặc gần như giải quyết) một cách hiệu quả. Ví dụ là lập trình tuyến tính và lập trình semidefinite, cả hai đều có thuật toán hiệu quả. Ở đây chúng tôi quan tâm cả về tối ưu và trong chính giải pháp tối ưu. Vì thường có nhiều hơn một giải pháp tối ưu, tính toán một giải pháp tối ưu không được thể hiện tốt như một vấn đề quyết định.
Tính gần đúng là lĩnh vực nghiên cứu mức độ gần đúng mà chúng ta có thể nhận được cho một vấn đề tối ưu hóa trong thời gian đa thức. Ví dụ, hãy xem xét vấn đề cổ điển của Set Cover: đưa ra một tập hợp các tập hợp, chúng ta cần bao nhiêu trong số chúng để bao quát toàn bộ vũ trụ? Tìm số tối ưu là NP-hard, nhưng có lẽ tính được xấp xỉ? Thuật toán xấp xỉ là tiểu vùng nghiên cứu các thuật toán để tính toán xấp xỉ, trong khi inapproximability nghiên cứu giới hạn của thuật toán xấp xỉ. Trong trường hợp cụ thể của Set Cover, chúng tôi có một thuật toán đưa ra xấp xỉ (thuật toán tham lam) và NP-khó có thể làm tốt hơn nữa.lnn