- Ký pháp (Notation) là một công cụ quan trọng hỗ trợ tư duy, đóng vai trò cốt lõi trong cả toán học lẫn ngôn ngữ lập trình
- Ngôn ngữ APL được phát triển như một nỗ lực kết hợp ưu điểm của ký pháp toán học với tính khả thi khi thực thi và tính phổ quát của ngôn ngữ lập trình
- Đặc điểm của một ký pháp tốt gồm tính cô đọng, tính rõ ràng, tính gợi mở, khả năng ẩn bớt chi tiết và khả năng chứng minh hình thức
- Có thể biểu diễn và biến đổi hiệu quả nhiều cấu trúc toán học khác nhau (đa thức, phép biến đổi, đồ thị, v.v.) bằng APL
- Việc giới thiệu và học ký pháp nên diễn ra một cách tự nhiên trong ngữ cảnh, đồng thời tính cấu trúc và tính đa dụng của ký pháp cũng rất quan trọng
Ký pháp như một công cụ tư duy
- Trong các lĩnh vực khoa học như hóa học và thực vật học, hệ thống danh pháp có tổ chức cũng thúc đẩy sự phát triển của học thuật
- George Boole nhấn mạnh rằng bản thân ngôn ngữ là một phương tiện của tư duy
- Ký pháp toán học là ví dụ tiêu biểu của ngôn ngữ hỗ trợ tư duy, giúp giảm gánh nặng suy nghĩ và nâng cao năng lực tư duy
- A.N. Whitehead và Charles Babbage đã nhấn mạnh tầm quan trọng của ký pháp toán học
Tiềm năng của ngôn ngữ lập trình như một công cụ tư duy
- Ngôn ngữ lập trình có thế mạnh về tính đa dụng và tính rõ ràng
- Có thể thử nghiệm ý tưởng bằng máy tính và thực hiện các thí nghiệm tư duy một cách rõ ràng
- Tuy nhiên, phần lớn ngôn ngữ lập trình vẫn yếu hơn ký pháp toán học khi đóng vai trò công cụ tư duy
- APL được thiết kế như một ký pháp hỗ trợ tư duy, hướng tới tính minh bạch và độ chính xác
Những đặc tính chính của một ký pháp tốt
- Dễ biểu đạt vấn đề: phải có khả năng biểu diễn dễ dàng những cấu trúc nảy sinh trực tiếp từ bài toán
- Tính gợi mở: dạng biểu diễn phải gợi ra những bài toán tương tự hoặc mở rộng
- Ẩn bớt chi tiết: cung cấp cấu trúc giúp đơn giản hóa các chi tiết phức tạp để hỗ trợ tư duy
- Tính cô đọng: phải cho phép biểu đạt phạm vi rộng chỉ với số ít ký hiệu và quy tắc
- Khả năng chứng minh hình thức: ký pháp phải thuận tiện cho chứng minh hình thức và suy luận diễn dịch
Giới thiệu các kỹ thuật ký pháp cơ bản của APL
- Tự nhiên sử dụng các cấu trúc dựa trên mảng như vector và ma trận
- Hàm và toán tử được áp dụng tự động theo từng phần tử lên vector/ma trận
- Biểu diễn tổ hợp hàm bằng các toán tử như reduction(
/), scan(\) và inner product(.)
- Có thể tạo nên các biểu thức phong phú bằng những ký hiệu cơ bản như
⍳, ⌽, ⍴, +, ×, *
- Mọi hàm đều tuân theo quy tắc ưu tiên bên phải, cho phép viết biểu thức tự nhiên mà không cần ngoặc
Ví dụ về giải quyết vấn đề và thúc đẩy tư duy
- Biểu diễn các dãy toán học như số tam giác và giai thừa bằng những công thức đơn giản
- Xử lý ngắn gọn các phép toán như biểu diễn đa thức, nhân và vi phân theo những quy tắc nhất quán
- Lý thuyết đồ thị (cây, bao đóng bắc cầu, cây khung) cũng có thể được biểu diễn rõ ràng bằng phép toán trên mảng
- Có thể mở rộng sang nhiều lĩnh vực như hoán vị, đại số Boolean và chuyển đổi hệ số (phân tích thừa số nguyên tố)
Chứng minh hình thức và tư duy có cấu trúc
- Mọi phép toán và biểu thức đều được biểu diễn ở dạng có thể thực thi rõ ràng, nên có thể kiểm chứng tự động bằng máy tính
- Đưa ra nhiều ví dụ chứng minh hình thức bằng quy nạp toán học, vét cạn và liệt kê đẳng thức
- Trình bày chứng minh hình thức cho tính phân hoạch (identity) của reduction và scan, cũng như tính kết hợp và phân phối của phép inner product
- Chứng minh trực tiếp các công thức về hàm đối xứng Newton, nhân đa thức và vi phân
So sánh APL với ký pháp toán học truyền thống
- APL cung cấp định nghĩa hàm rõ ràng, phép toán trên mảng nhất quán và hệ ký hiệu phong phú
- Áp dụng quy tắc thực thi ưu tiên bên phải cho mọi phép toán thay vì hệ thứ tự ưu tiên truyền thống
- Giảm độ phức tạp khi sử dụng ký hiệu toán học và hỗ trợ formal manipulation
- Cú pháp cô đọng, quy tắc nhất quán nên có lợi cho cả người mới lẫn người dùng thành thạo
Cách giới thiệu và học ký pháp
- Nhấn mạnh cách giới thiệu tự nhiên những ký pháp cần thiết trong ngữ cảnh, không cần các “bài giảng ngôn ngữ” riêng biệt
- Học trực quan các ký hiệu mới trong những tình huống bài toán cụ thể
- Điều quan trọng không phải là độ khó của bản thân ký pháp, mà là nhận ra những khả năng và tính mở rộng đa dạng mà ký pháp gợi ra
Khả năng mở rộng và đề xuất cho APL
- Đề xuất mở rộng hàm để xử lý cả số phức
- Cần chuẩn hóa hàm unique elements và hàm summary
- Có thể hỗ trợ thêm các chủ đề như giải tích vector bằng cách đưa vào các toán tử tổng quát hơn
- Mục tiêu là nâng cao tính rõ ràng trong thiết kế ngôn ngữ và năng lực suy luận
Cân bằng giữa hiệu quả và tính rõ ràng
- Khuyến nghị trước hết xác định một ký pháp rõ ràng, dễ phân tích, rồi sau đó tăng hiệu quả bằng tối ưu hóa
- Việc làm sáng tỏ thuật toán cũng giúp cho tối ưu hóa về sau và tối ưu hóa ở trình biên dịch
- Biểu đạt cơ bản được viết bằng APL có tiềm năng đóng góp cho cả nghiên cứu học thuật lẫn ứng dụng công nghiệp
1 bình luận
Ý kiến Hacker News
Ký pháp không chỉ đơn thuần là thay thế một cách biểu đạt này bằng một cách khác mà còn mang ý nghĩa sâu sắc hơn
Sự suy tàn của APL là do sự xuất hiện của Lotus 123 và MS Excel
Giả thuyết Sapir-Whorf gợi ý rằng ngôn ngữ có thể hạn chế tư duy
Đang phát triển một dự án sử dụng APL
Thật tiếc vì đã không thể hoàn thành ứng dụng ghi chú Freeform
Đây là bài giảng đầu tiên sử dụng cụm từ "công cụ của tư duy"
Tài liệu liên quan có nhắc đến "Notation as a Tool of Thought" của Iverson