Bữa lâu lâu rồi ngồi ăn cơm tối với mẹ. Và rồi hai mẹ con phát hiện ra một phát kiến thú vị, rằng chúng ta ăn khá nhiều món với chính nó.
Ví dụ như chả cốm với cơm, trứng trộn mayonaise, và cá chấm nước mắm. Hay đưa xì dầu vào đậu phụ, và thỉnh thoảng xịt thêm tương ớt vào món cay.
Khi một sự vật được định nghĩa theo chính nó hoặc là một tiến trình cấu thành từ một phiên bản đơn giản hơn của chính nó, đó là khi ta nói rằng đệ quy đang diễn ra. Khái niệm đệ quy được sử dụng ở nhiều nơi, trong logic học, văn học, và phổ biến nhất là trong toán học và khoa học máy tính.

By Brian Snelson – Flickr, CC BY 2.0
Bức ảnh bạn vừa nhìn thấy trên đây có chứa hiệu ứng Droste. Trong hội họa phương Tây nó còn được biết đến với một cái tên khác là Mise en Abyme, tức một hiệu ứng mà một bức tranh luôn luôn xuất hiện ở bên trong nó. Trên lý thuyết ta có thể zoom vào đến vô tận và thứ ta nhìn thấy vẫn sẽ chính là bức tranh ban đầu.
Trong toán có riêng một nhánh hình học để nghiên cứu những hình kiểu này: Hình học Fractal (hay Hình học phân dạng). Về bản chất nó khảo sát những hình hoặc những hiện tượng thiên nhiên có thể chia thành nhiều phần đến vô tận, mỗi phần tương tự như đối tượng ban đầu. Khởi nguồn cho nhánh nghiên cứu này là nhà toán học Benoît Mandelbrot với tập hợp mang tên ông:

Tìm đến điểm dừng
Chúng ta có thể ngồi và vọc vạch những khái niệm về đệ quy cho đến khi chán thì thôi – nhờ vào sức mạnh tính toán của máy tính bây giờ, việc phóng to mãi vào một bức ảnh là hoàn toàn có thể. Chí ít thì máy tính vẫn sẽ đủ sức tính toán trong khoảng thời gian bạn còn hứng thú với việc đó.
Mình nhớ mang máng hồi bé, khoảng 4-5 tuổi gì đấy, có một người bạn của bố mẹ có tặng cho mình một con búp bê Matryoshka. Nếu bạn biết dòng búp bê Nga này thì hẳn bạn sẽ hiểu là mình được tặng không chỉ một con mà là rất nhiều con:
Với một đứa nhóc 4 tuổi thì việc mở con búp bê này ra lại có một con búp bê khác là cả một phát kiến thay đổi thế giới, như cái cách Columbus tìm ra châu Phi vậy. Nhưng dĩ nhiên là số lượng búp bê không thể là vô hạn được. Chỉ đâu đó khoảng nửa tiếng tháo ra lắp vào, mình bắt đầu kết luận là chỉ có ngần này con búp bê thôi và bắt đầu chán. Bộ búp bê này sau đó bắt đầu mất một vài con, và giờ mình không thể nhớ là nó đã được cho ai đó khác hay là bị hỏng mất ở đâu nữa.
Đấy là hồi bé. Tới bây giờ thì lại được tặng một bộ búp bê nữa, nhưng hình dáng của nó như thế này:

© Diana Bernado in Better Programming
Trên đây là một ví dụ đơn giản về ứng dụng của đệ quy trong lập trình. Ở hàm fibonacciRecursion
trên đây, trong dòng cuối cùng nó lại gọi đến chính nó.
Một lỗi sai người mới hay mắc phải khi biết đến và viết code sử dụng để quy, đấy là rất hay quên đi base case (trường hợp cơ sở). Trong đoạn code trên đây thì nó là 4 dòng đầu tiên (có comment bên cạnh). Khi đệ quy được thực hiện liên tục, nó cuối cùng cũng sẽ phải về tới trường hợp cơ sở này sau một số hữu hạn các bước. Có như vậy thì chương trình mới cho ra kết quả, còn nếu không thì nó sẽ rơi vào vòng lặp vô hạn và chương trình sẽ bị lỗi.
Khái niệm đệ quy thường nhắc nhớ mình đến một tiền tố từ tiếng Hy Lạp “meta”, có nghĩa là nhắc về chính nó. Ví dụ như “metadata” là thông tin về những thông tin, “metaknowledge” là kiến thức về những kiến thức”, hay như cách anh Mark Zuckerberg đặt tên thì “metaverse” là vũ trụ của những vũ trụ.
Đối với chính bản thân chúng ta thì sao? Bạn có bao giờ ngồi phản tư, và bắt đầu ngồi nghĩ về chính mình chưa?
Về bản chất việc phản tư có giá trị rất lớn trong quá trình phát triển và trưởng thành của một con người. Để trở nên tốt hơn, người ta không đơn thuần chỉ là tiếp nhận ý kiến bên ngoài và sửa theo nó (như mình đã nói trong bài Ai mới là người cần thay đổi: Bạn hay họ?) – mà cần phải biết tự suy xét với chính mình xem điều ấy đúng sai tốt xấu ra sao.
Nhưng nếu không biết cách, những gì tưởng chừng như là phản tư lại mang tác động rất xấu đến sức khỏe tinh thần. Một ví dụ điển hình có thể kể tới negative self-talk (tự đối thoại tiêu cực). Cùng là hành động nghĩ và nói với – và về – chính bản thân mình, song việc đối thoại tiêu cực sẽ đưa chúng ta xuống một “hố đen” đúng nghĩa.
Dạo gần đây khi bắt đầu luyện tập nhiều hơn việc ghi chú những cảm xúc của bản thân, mình bắt đầu thấy hiện tượng ấy xảy ra nhiều hơn với mình. Mình nhận thức được mình đang stress, và thế là mình bắt đầu stress về việc mình bị stress, vì mình hiểu sự căng thẳng không tốt như thế nào với bản thân. Hoặc cảm thấy tức giận vì mình đang tức giận, thấy buồn vì biết mình đang ủ dột. Câu chuyện là mình cứ “đệ quy” mãi cái trạng thái ấy lên, thành ra không những nó không được giải quyết mà ngày một trầm trọng hơn.
Giống như việc viết một hàm đệ quy, có lẽ chúng ta cũng nên nhớ bổ sung cho chính mình một base case, hay một điểm dừng ở đâu đó. Để bản thân không bị cuốn vào một vòng lặp vô hạn vốn không mấy khi có tác dụng tốt đẹp.
Đi để tìm vào bên trong
(Spoiler: Phần dưới đây có chứa nội dung cuốn Nhà giả kim của Paulo Coelho.)
Nếu như bạn đã đọc cuốn Nhà giả kim thì hẳn bạn cũng biết, anh chàng Santiago sau khi chu du khắp đó đây cuối cùng đã tìm thấy câu trả lời cho câu hỏi “Kho báu nằm ở đâu?”. Hóa ra nó lại là ở một nơi mà anh hoàn toàn không ngờ đến: Dưới gốc cây dâu, trong một ngôi nhà thờ làng đã sụp lở ở Tây Ban Nha quê hương anh, nơi anh thường đưa cừu vào đó trú chân cái thời còn là một gã chăn cừu.
Cuốn tiểu thuyết này được nhiều người đánh giá cao về ý tưởng theo đuổi ước mơ của nó, song điều khiến mình thực sự ấn tượng lại là một bài học khác: Con người ta đi khắp nơi, làm nhiều việc, để rồi một ngày kia trở về và tìm thấy câu trả lời trong những điều thân thuộc vốn đã ở bên cạnh mình từ những ngày đầu tiên. Như cái ngày Santiago khăn gói ra đi, cha của anh đã nói, đại ý rằng “Cha không cấm cản con. Con cứ đi đi. Và rồi con sẽ nhận ra không nơi nào đẹp bằng quê hương mình.” Và cha anh đã đúng, khi cuối cùng anh trở về, tìm thấy kho báu, cưới được cô gái anh yêu là Fatima và sống hạnh phúc sau đó.
Nhưng cha anh đúng, bởi vì Santiago đã lên đường thật, trải qua khó khăn thật, học được nhiều điều thật. Nếu như không có chuyến đi nào, Santiago có lẽ đã ở lại quê hương học làm linh mục theo lời bố mẹ, và sống yên ổn – nhưng mình nghĩ có lẽ trong lòng anh vẫn sẽ nuôi một sự bất mãn nhất định đến cuối đời.
Và nếu như không có chuyến đi nào, anh có lẽ sẽ cứ ngày ngày đi qua kho báu mà không hề biết rằng nó có ở đó.
Nói một cách khác, “đi để trở về” là như thế này. Chúng ta có thể quay về bên trong chính mình để tìm thấy kho báu. Nhưng đôi khi điều đó chỉ đến sau một hành trình dài.
Hình học Fractal không chỉ đẹp và… để đấy. Quy luật mà nó mở ra sớm cho các nhà nghiên cứu nhiều phát hiện mới và ứng dụng trong những lĩnh vực khác nhau của đời sống như: phương pháp nén dữ liệu cho ảnh số, nghiên cứu ADN, khảo sát các hợp chất cao phân tử…
Nếu như các nhà toán học không “làm toán cho vui”, tiếp tục đào sâu nghiên cứu vào những vấn đề mới đầu tưởng chừng như “vô thưởng vô phạt”, chúng ta có lẽ cũng sẽ khó tìm ra những thứ đẹp đẽ như bây giờ.
Còn chúng ta chỉ cần nhớ một điều đơn giản thế này – rằng kho báu đang ở đây, bên trong mỗi con người chúng ta.
Hoặc để mượn những lời cuối của anh Tùng trong TEDxBUV 2020:
I would like all of us to have the courage to imagine, to dream, and to pursue the endless possibilities of life. Because I know there is something unique about you – that absolutely no one else in this world has.
Nguyen Quang Tung, “HOW NOT TO BE AVERAGE” | TEDxBUV
Thank you.