Chẳng hạn như trò chơi Sudoku, dù rất khó nhưng kiểm tra lại rất dễ (chỉ cần cộng lại các hàng, cột và đường chéo), đó chính là vấn đề.
P so với NP được Stephen Cook đưa ra năm 1971 trong bài báo nổi tiếng "The complexity of theorem proving procedures", được nhiều người xem là bài toán quan trọng nhất trong ngành khoa học máy tính.
![]() |
Sơ đồ hiển thị các lớp vấn đề cần phải chứng minh để P = NP. Ảnh: Behnam Esfahbod. |
Đây cũng là một trong bảy bài toán thiên niên kỷ chọn bởi Viện Toán học Clay. Mỗi bài trong số bảy bài này có giải thưởng 1.000.000 USD cho lời giải đúng đầu tiên.
Lời giải bài toán P so với NP sẽ cho biết liệu tất cả các bài toán trong NP, như bài toán tổng tập hợp con, đều có thuật toán thực thi trong thời gian đa thức. Nếu P ≠ NP, thì có nhiều bài toán trong NP (chẳng hạn như các bài toán NP - đầy đủ) có lời giải có thể kiểm chứng được trong thời gian đa thức (khoảng thời gian hữu hạn nào đó có thể tính toán được) nhưng không thể tìm ra một lời giải như vậy trong thời gian đa thức.
Nhà khoa học máy tính Scott Aaronson đã giải thích tại bài giảng trong Phòng thí nghiệm quốc gia Los Alamos ở New Mexico, chứng minh P = NP sẽ mở ra một số khả năng hấp dẫn.
Nếu ai đó giải quyết được bài toán P so với NP, điều đầu tiên họ làm là lấy 200 tỷ USD giá trị Bitcoin toàn cầu. Điều thứ hai là tiếp tục giải quyết tất cả bài toán thiên niên kỷ khác. Lúc này, họ sẽ đưa nhân loại “tiến hoá” thêm một bậc.
Để hiểu tại sao lại như vậy, cần biết máy tính là thiết bị giải quyết vấn đề, trong đó thông tin được trừu tượng thành mã có thể đọc được bằng thiết bị vật lý, dựa trên các nguyên tắc do Alan Turing đưa ra. Giải quyết vấn đề cần một số bước và khoảng thời gian nhất định, lượng thời gian cần thiết sẽ tăng lên khi vấn đề ngày càng lớn.
![]() |
P so với NP được Stephen Cook đưa ra năm 1971 trong bài báo nổi tiếng "The complexity of theorem proving procedures". Ảnh: Kevin Van Paassen. |
Từ việc đơn giản nhân hai số đến các tác vụ phức tạp hơn như dùng trình duyệt Internet, máy tính về cơ bản đang cố giải quyết các phép toán nhân chia cộng trừ.
Khi một vấn đề phát triển phức tạp, lượng thời gian cần thiết để giải quyết tăng lên trong thời gian đa thức. Đa thức là một số có lũy thừa và hệ số (ví dụ như n luỹ thừa 2). Nếu một vấn đề có thể giải quyết được trong thời gian n mũ 2, khi tăng gấp đôi kích thước của vấn đề (2n), lượng thời gian cần thiết để giải quyết sẽ tăng lên bốn lần (2n luỹ thừa 2).
Như vậy, các tác vụ trong máy tính đều có thể tính được sau bao lâu thì máy tính giải quyết xong vấn đề được đưa ra.
Có rất nhiều vấn đề trong đó người ta có thể kiểm tra một câu trả lời là đúng trong thời gian đa thức (tính được thời gian kiểm tra đáp án), nhưng quá trình để được câu trả lời đó có thể không là thời gian đa thức (tức là có thể tìm thấy lời giải hoặc không tìm thấy lời giải trong một khoảng thời gian nào đó, không thể xác định chính xác sau bao lâu thì tìm được lời giải).
Đây được gọi là các vấn đề NP “Nondeterministic Polynomial time” - vấn đề không xác định thời gian đa thức.
Sudoku là một vấn đề NP khó giải quyết, dễ kiểm tra. Ví dụ quan trọng khác là tách một số thành các số nguyên tố. Hiện phải mất một thời gian rất lâu, chậm hơn thời gian đa thức để tách các số rất lớn thành các số nguyên tố. Tuy nhiên kiểm tra xem câu trả lời có đúng không chỉ đơn giản là nhân các số kết quả với nhau. Ý tưởng này là nền tảng của mã hóa hiện đại, dựa trên việc tạo các khóa bảo mật dễ xác minh nhưng khó bẻ khóa.
![]() |
Nếu chứng minh được P=NP, bạn sẽ làm lủng đoạn toàn bộ hệ thống bảo mật thế giới chứ không riêng Bitcoin. Ảnh: Cryptoline News. |
Người ta từng nghĩ rằng máy tính lượng tử có thể giải quyết được các vấn đề NP khó nhất, được gọi là các vấn đề NP-đầy đủ. Nhưng không như kì vọng, máy tính lượng tử chỉ có thể giải quyết một số vấn đề P trong thời gian ngắn hơn (đa thức thấp hơn) hoặc chuyển một số vấn đề NP sang khái quát lượng tử của P, được gọi là BQP hoặc Thời gian đa thức lỗi Bounded-Error.
Do hiện tại người ta vẫn chưa chứng minh được P = NP, toàn bộ hệ thống mã hoá của chúng ta vẫn còn đảm bảo an ninh. Hacker phải mất nhiều thời gian để bẻ khoá hơn là thời gian tạo ra các khoá đó. Bitcoin cũng dựa trên nền tảng mã hoá này, do đó, nó vẫn còn là loại tiền tệ an toàn.
Nếu có thể tìm ra giải pháp hiệu quả cho những vấn đề NP-đầy đủ, bạn có thể tìm giải pháp hiệu quả cho tất cả các vấn đề NP. Điều này cho phép bạn giải quyết một loạt các vấn đề tối ưu hóa tương tự khác.
Nếu thành công trong việc chứng minh P bằng NP, bạn sẽ kiếm được ít nhất 1 triệu USD, thậm chí còn nhiều hơn thế nữa. Nếu không thành công cũng tốt, nó cho thấy các hệ thống mã hoá toàn cầu vẫn còn được đảm bảo an ninh.
" alt=""/>Giải được bài toán này, bạn sẽ có toàn bộ Bitcoin trên thế giớiTrong tháng 6/2019 vừa qua, nằm trong chương trình “100 doanh nghiệp IT cùng FUNiX phát triển nguồn nhân lực”, Đại học trực tuyến FUNiX đã ký kết hàng loạt thỏa thuận hợp tác với những công ty, đơn vị phần mềm uy tín tại Việt Nam và nước ngoài.
![]() |
Trong tháng 6/2019 vừa qua, nằm trong chương trình “100 doanh nghiệp IT cùng FUNiX phát triển nguồn nhân lực”, Đại học trực tuyến FUNiX đã ký kết hàng loạt thỏa thuận hợp tác với những công ty, đơn vị phần mềm uy tín tại Việt Nam và nước ngoài. |
Trong thông tin chia sẻ với ICTnews mới đây, Đại học trực tuyến FUNiX cho biết, trên thực tế, để đáp ứng nhu cầu nhân sự ngành CNTT đang thiếu hụt trầm trọng hiện nay, đồng thời chuẩn bị nguồn lực cho cuộc cách mạng công nghệ 4.0 cũng như định hướng “Make in Vietnam”, Đại học trực tuyến FUNiX đã và đang triển khai chương trình hợp tác cùng 100 doanh nghiệp IT hướng tới liên kết đào tạo – tuyển dụng lập trình viên chất lượng.
Theo đơn vị giáo dục này, lập trình phần mềm được đánh giá là một trong số ít ngành nghề có khả năng “miễn dịch” với khủng hoảng kinh tế. Trong 3 năm vừa qua, số lượng công việc ngành CNTT – phần mềm đã tăng trung bình 47%/ năm nhưng lượng nhân sự ngành này chỉ tăng ở mức trung bình 8%. Và dự kiến đến năm 2020, Việt Nam cần khoảng 500.000 lập trình viên. Vấn đề tuyển dụng lập trình viên chất lượng thực sự là một mối “đau đầu” với các nhà tuyển dụng.
Chương trình “100 doanh nghiệp IT hợp tác cùng FUNiX” ra đời chính là một trong những bước đi nhằm giải quyết vấn đề trên. Ngay từ những ngày đầu thành lập, nhiều thỏa thuận hợp tác có giá trị đã được FUNiX triển khai với các doanh nghiệp làm phần mềm lớn như FPT Software, Tinh Vân, CMC… Theo đó, phía doanh nghiệp đồng hành cùng FUNiX trong hoạt động giới thiệu Mentor (giảng viên hướng dẫn - PV), xây dựng học liệu cho chương trình đào tạo của FUNiX, cam kết nhận sinh viên FUNiX tới thực tập và làm việc sau khi hoàn thành 3 chứng chỉ đầu tiên của FUNiX.
" alt=""/>Chuẩn bị nguồn lực cho “Make in Vietnam”, FUNiX bắt tay 100 doanh nghiệp IT phát triển nhân lực CNTT