Khôn NgoanWiki
Tìm
Logic & suy luận phổ thông

George Boole và đại số của tư duy: từ logic tới máy tính

George Boole viết logic thành đại số trong các sách năm 1847 và 1854, với quy luật x nhân x bằng x. Năm 1937 Claude Shannon dùng nó cho mạch điện, nền móng của máy tính.

George Boole và đại số của tư duy: từ logic tới máy tính

George Boole (1815–1864) là nhà toán học Anh đã biến logic thành một thứ đại số: các khái niệm được viết bằng chữ cái, và suy luận trở thành phép tính với những quy tắc riêng như x·x = x. Ông trình bày ý tưởng này trong hai cuốn sách, Phân tích toán học của logic (1847) và Khảo cứu các quy luật của tư duy (An Investigation of the Laws of Thought, 1854). Gần một thế kỷ sau, đại số ấy trở thành ngôn ngữ của mạch điện và máy tính, nên ngày nay chữ "Boolean" có mặt trong mọi ngôn ngữ lập trình.

Một người thầy giáo tự học

Boole sinh ngày 2 tháng 11 năm 1815 ở Lincoln, miền đông nước Anh, con một người thợ đóng giày mê khoa học và dụng cụ quang học. Gia đình không đủ tiền cho con học đại học. Khoảng 16 tuổi, Boole đã đi dạy học để phụ giúp gia đình, rồi tự mở trường. Ông tự học tiếng Latin, tiếng Hy Lạp, tiếng Pháp, tiếng Đức, và tự đọc các tác phẩm toán học lớn của Lagrange, Laplace.

Năm 1844, Hội Hoàng gia Anh trao huy chương cho bài báo của ông về các phép toán vi phân. Năm 1849, dù không có bằng đại học, ông được bổ nhiệm làm giáo sư toán đầu tiên của trường Queen's College ở Cork, Ireland, và gắn bó ở đó tới khi mất năm 1864. Ông lấy Mary Everest, cháu gái nhà trắc địa George Everest (tên ông được đặt cho đỉnh núi cao nhất thế giới). Bà là người viết sách về giáo dục toán học cho trẻ em. Trong năm người con gái của họ có Alicia Boole Stott, người nghiên cứu hình học bốn chiều, và Ethel Lilian Voynich, tác giả tiểu thuyết Ruồi trâu (1897), cuốn sách rất được đọc ở Việt Nam qua bản dịch.

Ý tưởng chính: viết khái niệm bằng chữ, suy luận bằng phép tính

Boole để mỗi chữ cái đại diện cho một lớp (nhóm đối tượng). Chẳng hạn x là "những vật màu trắng", y là "những con cừu". Rồi ông định nghĩa:

  • xy (x nhân y): những vật vừa thuộc x vừa thuộc y, tức "những con cừu trắng". Ngày nay ta gọi là phép giao, hay phép "và".
  • 1: lớp chứa mọi thứ đang bàn đến (ông gọi là "vũ trụ của diễn ngôn").
  • 0: lớp rỗng, không chứa gì.
  • 1 − x: mọi thứ không thuộc x, tức phần bù, hay phép "không".
  • x + y: gộp hai lớp. Boole ban đầu chỉ cho phép cộng hai lớp không có phần chung.

Với cách viết này, câu "Mọi con cừu đều trắng" thành y(1 − x) = 0: lớp "cừu mà không trắng" là rỗng. Câu "Không con cừu nào màu trắng" thành xy = 0. Suy luận về cừu trở thành biến đổi phương trình.

Quy luật lạ: x·x = x

Đại số Boole giống đại số thường ở nhiều chỗ (giao hoán: xy = yx; phân phối: x(y + z) = xy + xz), nhưng có một quy luật khác hẳn:

x · x = x

Lý do rất tự nhiên: "những con cừu mà là cừu" thì vẫn chỉ là "những con cừu". Lấy giao của một nhóm với chính nó không tạo ra gì mới. Trong đại số thường, x² = x chỉ đúng khi x = 0 hoặc x = 1. Boole nhận ra đó chính là điều cốt lõi: logic là đại số mà các biến chỉ nhận hai giá trị 0 và 1. Nếu đọc 1 là "đúng" và 0 là "sai", ta có nền móng của bảng chân trị.

Từ x² = x, Boole suy ra x(1 − x) = 0, tức "không có gì vừa thuộc x vừa không thuộc x". Đây chính là luật không mâu thuẫn mà Aristotle đã phát biểu bằng lời từ hơn hai nghìn năm trước, giờ được suy ra bằng một dòng đại số. Boole coi đây là bằng chứng rằng các quy luật của tư duy có thể viết thành toán học, đúng như tên cuốn sách năm 1854.

Boole so với cách viết ngày nay

Ý nghĩaBoole viếtLogic hiện đạiLập trình / tìm kiếm
Vừa A vừa BxyA ∧ B, A ∩ BAND, &&
A hoặc Bx + y (khi rời nhau)A ∨ B, A ∪ BOR, ||
Không A1 − x¬A, phần bù của ANOT, !
Rỗng / sai0∅, saifalse, 0
Toàn bộ / đúng1tập vũ trụ, đúngtrue, 1

Ký hiệu hiện đại không phải của Boole. Chúng hình thành dần qua tay những người kế tục: William Stanley Jevons (1864) sửa phép cộng thành "hoặc" bao hàm (cho phép phần chung), Charles Sanders Peirce và Ernst Schröder phát triển thêm ở cuối thế kỷ 19, và năm 1904 Edward Huntington đưa ra hệ tiên đề cho thứ mà ta gọi là đại số Boole.

Cùng thời với Boole: De Morgan

Năm 1847, cùng năm Boole in cuốn sách đầu, Augustus De Morgan ở London in cuốn Formal Logic. Hai người quen biết, trao đổi thư từ, và cùng góp phần đưa logic ra khỏi khuôn tam đoạn luận cổ điển. Hai quy tắc phủ định mang tên De Morgan, "phủ định của và là hoặc của các phủ định" và ngược lại, có thể viết gọn trong ngôn ngữ của Boole: 1 − xy = (1 − x) + (1 − y) − (1 − x)(1 − y). Ngày nay người ta viết ngắn hơn nhiều bằng ký hiệu ∧, ∨.

Từ sách triết học đến mạch điện

Trong mấy chục năm sau khi Boole mất, đại số của ông chủ yếu được giới logic và triết học quan tâm. Năm 1886, Peirce viết thư cho một học trò gợi ý rằng phép toán logic có thể thực hiện bằng công tắc điện, nhưng ý này không được theo đuổi.

Bước ngoặt đến năm 1937, khi Claude Shannon, sinh viên cao học ở Viện Công nghệ Massachusetts, viết luận văn thạc sĩ Phân tích ký hiệu các mạch rơ-le và chuyển mạch (công bố năm 1938). Shannon chỉ ra: hai công tắc mắc nối tiếp hoạt động như phép "và" (đèn sáng khi cả hai cùng đóng), mắc song song hoạt động như phép "hoặc". Như vậy có thể dùng đại số Boole để thiết kế và rút gọn mạch điện. Luận văn này thường được coi là một trong những nền móng của kỹ thuật số. Mỗi con chip trong điện thoại hôm nay là hàng tỉ "cổng logic" làm đúng việc ấy.

Cần nói cho công bằng: Boole không hề nghĩ đến máy tính điện tử. Ông muốn hiểu cấu trúc của tư duy. Việc đại số của ông hợp với mạch điện là một kết nối mà người đời sau phát hiện.

Góc nhìn hôm nay: dùng tư duy Boole khi tìm kiếm

Điều làm được ngay: áp dụng ba phép Boole để tìm thông tin chính xác hơn. Hầu hết công cụ tìm kiếm, thư viện số và cơ sở dữ liệu học thuật hỗ trợ các cú pháp sau (chi tiết từng nơi có thể khác, nên xem trang hướng dẫn của chính công cụ đó):

  • Và (AND): gõ nhiều từ khoá cùng lúc thường được hiểu là "và". Gõ sốt xuất huyết trẻ em dấu hiệu sẽ thu hẹp kết quả.
  • Hoặc (OR): nhiều công cụ cho viết chữ OR in hoa giữa hai từ, như chè OR trà, để lấy cả hai cách gọi.
  • Không (NOT): dấu trừ trước từ để loại, như jaguar -xe để tìm con báo đốm thay vì hãng xe.
  • Cụm chính xác: đặt trong ngoặc kép, như "khôn ba năm dại một giờ", để chỉ lấy trang có đúng cụm ấy.

Trong bảng tính Excel hay Google Sheets, các hàm AND, OR, NOT và IF chính là đại số Boole: =IF(AND(B2>=5; C2="đã nộp"); "đạt"; "chưa đạt") lọc được danh sách học sinh đạt yêu cầu. (Dấu phân cách giữa các đối số là dấu chấm phẩy hay dấu phẩy tuỳ cài đặt ngôn ngữ của máy.)

Muốn đọc thêm: bản The Laws of Thought đã hết bản quyền, có bản quét miễn phí trên các thư viện số; tiểu sử của Desmond MacHale (in lần đầu năm 1985 với tên George Boole: His Life and Work, tái bản mở rộng năm 2014) là nguồn đầy đủ về cuộc đời ông.

Câu hỏi thường gặp

George Boole là ai?

George Boole (1815–1864) là nhà toán học Anh, tự học, sau làm giáo sư ở Queen's College Cork, Ireland. Ông viết logic thành đại số trong các sách năm 1847 và 1854. Đại số Boole ngày nay là nền tảng của mạch số và lập trình.

Đại số Boole là gì?

Đại số Boole là hệ phép tính trên các giá trị chỉ có hai trạng thái, thường viết là 0 và 1 hay sai và đúng, với các phép "và", "hoặc", "không". Quy luật đặc trưng là x·x = x. Tên gọi đại số Boole và hệ tiên đề hiện đại hình thành sau Boole, nhất là với Huntington năm 1904.

Vì sao đại số Boole quan trọng với máy tính?

Năm 1937, Claude Shannon chỉ ra rằng mạch công tắc điện hoạt động đúng theo đại số Boole: mắc nối tiếp là "và", mắc song song là "hoặc". Từ đó kỹ sư có thể thiết kế mạch bằng phép tính logic. Mọi chip máy tính ngày nay được dựng từ các cổng logic như vậy.

Cuốn The Laws of Thought viết năm nào?

Cuốn An Investigation of the Laws of Thought của George Boole in năm 1854 ở London. Trước đó, năm 1847, ông đã in cuốn mỏng hơn là The Mathematical Analysis of Logic. Cuốn năm 1854 trình bày đầy đủ hơn và còn bàn sang xác suất.

Boolean nghĩa là gì?

Boolean là tính từ lấy từ tên George Boole, chỉ kiểu dữ liệu hoặc phép toán chỉ có hai giá trị đúng và sai. Trong lập trình, biến boolean nhận true hoặc false. Tìm kiếm Boolean là tìm bằng các phép AND, OR, NOT.

Mở app Khôn Ngoan

Cờ thế, qua sông, lưới logic, cân đồng giả

Mở app Khôn Ngoan

Bài viết liên quan

Mở app Khôn Ngoan

Cờ thế, qua sông, lưới logic, cân đồng giả

Mở app Khôn Ngoan Xem app khác