Anh em nghĩ tính sin, cos, exp tốn bao nhiêu hàm? Một paper mới nổi trên Hacker News chứng minh chỉ cần đúng 1 toán tử nhị phân là cân tất. Ảo ma thật sự!

Chào anh em đồng đạo C4F. Nay ngồi nhâm nhi cốc trà đá, lướt Hacker News kiếm trò tiêu khiển thì tôi vô tình va phải một quả paper sặc mùi "toán học đại pháp" đớp trọn gần 700 upvote. Anh em thợ code quen tay gõ CRUD hằng ngày đọc cái tít chắc xám hồn: "Tất cả các hàm sơ cấp (elementary functions) được tạo ra chỉ từ MỘT toán tử nhị phân duy nhất". Ảo ma chưa?
Bình thường, để tính mấy cái hàm cơ bản như sin, cos, e^x, log... máy tính của các ông phải dùng hầm bà lằng các thuật toán tối ưu phần cứng (kiểu Taylor series hay CORDIC). Nói chung là nó phức tạp, loằng ngoằng và tốn kha khá lệnh.
Ấy thế mà có người vừa ném lên arXiv một cái chứng minh: Các ông chỉ cần ĐÚNG MỘT toán tử nhị phân thôi là đẻ ra được hết. Giống như kiểu anh em vào project, xóa sạch cái thư viện Math to tổ chảng đi, viết đúng 1 cái function do_magic(a, b) rồi gọi đệ quy ra cả vũ trụ toán học vậy. Đây rốt cuộc là đỉnh cao của sự tối giản, hay là lúc các pháp sư rảnh rỗi sinh nông nổi đi tìm chân lý vũ trụ?
Vì độ "ngông" của cái title, dân tình trên Hacker News bu vào hít hà đông như trẩy hội. Tựu trung lại có mấy luồng phản ứng thế này:
Túm cái váy lại, thuật toán này chắc chắn là dị giáo, không ai rảnh rỗi đem nó đi thay thế tiêu chuẩn dấu phẩy động IEEE 754 trên chip của Intel hay Apple đâu (vì performance chắc chắn là toang). Anh em cứ ngoan ngoãn xài Math.sin() của ngôn ngữ cho tôi nhờ, đừng có dại mà "reinvent the wheel" ở công ty rồi bị đuổi việc lại bảo tôi xúi.
Nhưng mà, đọc mấy cái paper này mới thấy thế giới khoa học máy tính nó rộng lớn và thú vị cỡ nào. Thi thoảng thoát khỏi mớ bug logic mớ bòng bong của product, nhìn ngắm mấy cái pure logic thế này cũng là cách tẩy não, giữ cho tư duy bén nhọn.
Chúc anh em code không bug (hoặc bug ít thôi). Hẹn gặp lại ở drama sau!
Nguồn hóng hớt: All elementary functions from a single binary operator (Hacker News)