Tuesday, March 29, 2005

Chung qui chỉ tại Cantor (5)

 
"Nếu tôi có một số thành công nhất định trong toán học thì đó là vì tôi luôn thấy nó rất khó."

[Trích lời Hilbert nói với Harald Bohr (1887-1951)]

Năm 1900, tại hội nghị các nhà toán học thế giới ở Paris ( International Congress of Mathematicians), David Hilbert đề nghị 23 bài toán làm kim chỉ nam cho nghiên cứu toán học của thế kỷ 20. Các bài toán của Hilbert đã truyền cảm hứng cho biết bao thế hệ các nhà toán học, đã thiết lập các nhánh mới của toán học, thậm chí định hình cả cơ sở của lý thuyết tính toán trong khoa học máy tính hiện đại. Nếu các bạn muốn tìm hiểu thêm về các bài toán Hilbert và lịch sử xung quanh chúng thì tôi giới thiệu quyển " The Honors Class" của Benjamin Yandell.

Trong hành trình của chúng ta thì ba bài toán Hilbert sau đây có liên quan mật thiết:

  • Bài toán Hilbert số 1: chính là continuum hypothesis như ta đã thảo luận trong bài trước.
  • Bài toán Hilbert số 2: có thể nào chứng minh rằng các tiên đề của số học (arithmetic) không dẫn đến các mệnh đề mâu thuẫn nhau?
  • Bài toán Hilbert số 10: thiết kế một quá trình, một thủ tục mà nhờ đó sau một số hữu hạn các bước ta có thể biết một phương trình Diophantine (tìm nghiệm nguyên của các đa thức hệ số nguyên) có nghiệm hay không?

Một bài toán có liên quan nữa mà Hilbert đề nghị năm 1928 là bài toán quyết định (Entscheidungsproblem trong tiếng Đức, hay decision problem trong tiếng Anh). Một cách nôm na, bài toán này hỏi "có một thủ tục nào để quyết định xem một phát biểu toán học là đúng hay sai?" (dĩ nhiên là cho trước một tập các tiên đề và các luật suy luận). Gottfried Leibniz (1646-1716) đã hỏi câu hỏi này dưới một dạng hơi khác một chút. Leibniz sáng chế ra một máy tính cơ học, và ông mơ một ngày nào đó sẽ chế được một máy tính thao tác các biểu tượng toán học, và máy tính này sẽ có thể dùng để chứng minh hoặc phản chứng minh các phát biểu toán học.

Bài toán số 1 và số 2 liên quan đến nền tảng logic của lý thuyết tập hợp và của toán học nói chung. Lời giải cho các bài toán này có ý nghĩ to lớn về triết học, đặc biệt là bài số 2. Bài toán số 10 và entscheidungsproblem lại có ý nghĩa tuyệt đối quan trọng trong sự hình thành khái niệm giải thuật và lý thuyết tính toán. Các "thủ tục" tính toán mà Hilbert đề cập đều là các giải thuật, mặc dù lúc đó ông không dùng ngôn ngữ này. Để giải các bài toán này, ta cần định nghĩa rõ ràng thế nào là một giải thuật. Quá trình đi tìm định nghĩa giải thuật đã dẫn đến các mô hình máy tính hiện đại như máy Turingphép tính lambda (lambda calculus) mà chúng ta sẽ bàn tới trong các bài sau.