MƯỜI CHẶNG

Hồ sơ điều tra: mẻ bánh không bao giờ nở

Ba lần làm bánh, ba lần hỏng — đúng y một công thức. Minh vào cuộc như một thám tử thật, và tìm ra thứ mà máy tính gọi là thuật toán.

CHẶNG 1 HỒ SƠ #01

Hiện trường: ba mẻ bánh phẳng lì

Bếp nhà Bống, chiều thứ Bảy, ba ngày trước Hội chợ Khoa học.

Ba mẻ bánh bông lan liên tiếp ra khỏi lò đều phẳng lì như bánh tráng. Không nở lên nổi một xăng-ti-mét nào.

Bống làm y hệt công thức bà ngoại ghi trong sổ tay, chữ viết tay nắn nót:

Công thức trong sổ tay bà ngoại

«Trứng, đường, bột, đánh đều, cho vào khuôn, nướng 30 phút.»

trứng · đường · bột nướng 30 phút
Đúng nguyên liệu, đúng công thức bà ngoại ghi lại — nhưng kết quả vẫn không như mong đợi.

Vậy mà lần nào cũng hỏng. Cùng công thức, cùng nguyên liệu mua ở cùng một cửa hàng, cùng cái lò nướng nhà Bống vẫn dùng bao năm nay.

Minh được gọi tới hiện trường — với tư cách «thám tử», dù chỉ có mỗi việc là ngồi ăn thử bánh hỏng rồi lắc đầu.

CHẶNG 2 HỒ SƠ #01

Vụ việc: y hệt công thức mà vẫn hỏng

Không thiếu nguyên liệu nào. Không sai một dòng nào trong công thức.

Bống bối rối kể lại: «Tớ đọc đúng từng chữ trong sổ mà. Trứng, đường, bột, đánh đều, cho vào khuôn, nướng 30 phút. Có bỏ sót gì đâu?»

Minh cầm tờ công thức lên, đọc lại một lượt. Đúng là không thiếu chữ nào so với những gì Bống vừa kể.

Nhưng có gì đó vẫn sai. Ba mẻ bánh, ba lần hỏng, không phải do may rủi — phải có một lý do lặp lại.

đủ nguyên liệu đúng công thức quen tay làm bánh ? mọi thứ đều đúng — vậy vì sao bánh vẫn hỏng?
Ba điều tưởng chừng đủ để bánh thành công. Vậy manh mối còn thiếu nằm ở đâu?

Ghi chú của thám tử

Cùng nguyên liệu, cùng công thức, cùng người làm — mà kết quả tệ giống hệt nhau ba lần. Đây không phải chuyện xui xẻo. Đây là một manh mối.

CHẶNG 3 HỒ SƠ #01

Câu hỏi đặt ra

Cùng một công thức, cùng nguyên liệu — sao lần nào cũng ra kết quả tệ giống nhau?

Nếu công thức đúng và nguyên liệu đủ, đáng lẽ bánh phải nở. Vậy cái gì đang lặp lại sai, mà cả Bống lẫn bà ngoại (khi viết công thức) đều không nhận ra?

mẻ 1 — phẳng mẻ 2 — phẳng mẻ 3 — phẳng 3 lần liên tiếp — không phải do may rủi
Ba kết quả giống hệt nhau không phải là trùng hợp. Đó là dấu hiệu của một nguyên nhân lặp lại.
CHẶNG 4 PHÁ ÁN

À! Manh mối nằm ngay trong tờ công thức

Minh giở kỹ lại tờ công thức, đọc thật chậm từng chữ.

Và Minh phát hiện ra: công thức không ghi rõ đánh trứng đường bao lâu, đánh bằng máy hay bằng tay, cho bột vào lúc nào trong lúc đánh.

Hỏi lại Bống mới lộ ra: mỗi lần làm, Bống đều «áng chừng» một kiểu khác nhau — có lần đánh trứng 30 giây, có lần đánh gần 2 phút; có lần trộn bột từ từ, có lần đổ ào một lúc.

Trứng, đường, bột, đánh đều, cho vào khuôn, nướng 30 phút. bao lâu? bằng gì? lúc nào? — công thức không nói rõ, nên Bống mỗi lần làm một kiểu
Vấn đề không nằm ở nguyên liệu. Nó nằm ở chính các bước không đủ rõ ràng.

Vấn đề không nằm ở nguyên liệu — nó nằm ở chính các bước không đủ rõ ràng và không được làm đúng thứ tự mỗi lần.

CHẶNG 5 ĐỊNH DANH

Gọi tên nó: thuật toán

Cái mà bà ngoại lẽ ra phải viết ra — có một cái tên trong máy tính.

Một chuỗi bước rõ ràng, có thứ tự, để chắc chắn ra cùng một kết quả mỗi lần — trong máy tính người ta gọi đó là THUẬT TOÁN (tiếng Anh: algorithm).

Công thức của bà ngoại, nếu viết đủ chi tiết, chính là một thuật toán làm bánh. Vấn đề là nó chưa đủ chi tiết để trở thành một thuật toán thật sự đáng tin cậy.

bước 1 bước 2 bước 3 đúng thứ tự, đúng từng bước — không nhảy cóc, không bỏ sót
Một thuật toán là một chuỗi bước nối tiếp nhau, luôn theo đúng thứ tự.
CHẶNG 6 HỒ SƠ #01

Bản chất thật sự

Đây là chặng quan trọng nhất trong cả cuộc điều tra.

Thuật toán là một chuỗi bước rõ ràng, có thứ tự, để giải quyết một việc cụ thể — quan trọng nhất: nếu làm đúng từng bước, kết quả phải giống nhau mọi lần, không phụ thuộc vào «hôm nay thấy sao làm vậy».

Máy tính không «hiểu» ý định như con người — nó chỉ làm chính xác những gì thuật toán ghi, kể cả khi bước đó ghi sai. Nếu công thức thiếu chữ «đánh trong 90 giây», máy tính (khác với Bống) sẽ không tự đoán bù — nó chỉ đứng im chờ, hoặc làm sai theo đúng cách người viết đã bỏ sót.

áng chừng vẫn ra món ngon (nhờ kinh nghiệm) áng chừng là hỏng (không có «linh cảm»)
Cùng là «làm theo công thức», nhưng máy tính không bù đắp được chỗ thiếu như người có kinh nghiệm.

Giống — và không giống — công thức nấu ăn

Giống ở chỗ: đều là chuỗi bước làm theo thứ tự để ra một kết quả.

Không giống ở chỗ: người nấu ăn có thể «áng chừng» và vẫn ra món ngon nhờ kinh nghiệm — máy tính thì không có kiểu «linh cảm» đó. Với máy, một chỗ áng chừng là một chỗ có thể hỏng.

Viết thuật toán tốt nghĩa là dự đoán trước mọi tình huống có thể xảy ra, không để trống chỗ nào cho việc «chắc máy tự hiểu».

CHẶNG 7 MANH MỐI KHÁC

Một manh mối cùng dạng

Chuyện mẻ bánh không phải trường hợp duy nhất kiểu này.

Cách sắp một chồng bài kiểm tra theo điểm từ cao xuống thấp cũng là một thuật toán — có nhiều cách làm (so từng đôi một rồi đổi chỗ, hay chia nhỏ chồng bài ra sắp rồi ghép lại), cách nào cũng ra đúng kết quả.

so từng đôi, đổi chỗ chia nhỏ rồi ghép lại hai cách khác nhau — cùng ra đúng một kết quả nhưng cách nào nhanh hơn còn tùy chồng bài dày cỡ nào
40 bài kiểm tra thì cách nào cũng nhanh như nhau. 4.000 bài thì khác hẳn.

Cách app bản đồ tìm đường ngắn nhất, cách YouTube xếp video nào hiện trước, cách máy tính bỏ túi tính đúng một phép tính phức tạp — tất cả đều là những thuật toán được viết cẩn thận, làm đúng từng bước.

CHẶNG 8 NẾU KHÔNG TÌM RA LỜI GIẢI

Nếu không có thuật toán rõ ràng thì sao

Tưởng tượng một thế giới mà mọi công thức đều mù mờ như tờ giấy của bà ngoại.

Không có thuật toán rõ ràng, mỗi lần máy tính «làm việc» sẽ ra một kết quả khác nhau tùy ngẫu hứng — máy sẽ không đáng tin cậy chút nào, giống mẻ bánh của Bống.

482.19₫ 479.90₫ 483.05₫ cùng một phép tính số dư — ba máy, ba con số khác nhau không ai còn dám tin con số nào cả
Nếu thuật toán tính tiền «áng chừng» kiểu đó, chẳng ai còn tin được vào số dư tài khoản của mình.

Tính điểm thi, tính tiền trong tài khoản ngân hàng, điều khiển đèn giao thông — nếu tất cả đều «áng chừng» kiểu đó, không ai còn dám tin vào bất cứ con số nào máy tính đưa ra.

CHẶNG 9 DẤU VẾT TỪNG GẶP

Em đã gặp nó ở đâu rồi

Thuật toán không chỉ sống trong máy tính nhà trường.

Cách app bản đồ tìm đường ngắn nhất tới trường, cách YouTube quyết định video nào hiện lên đầu tiên, cách máy tính bỏ túi luôn ra đúng một đáp số cho cùng một phép tính — tất cả đang chạy một thuật toán, đã được viết cẩn thận từ trước.

app bản đồ video hiện trước 42 máy tính bỏ túi
Cả ba đều đang chạy một thuật toán được viết cẩn thận từ trước — không phải «đoán mò».

Điều tra lại: em nắm được bản chất chưa?

Chọn đáp án cho từng câu — không chấm điểm, chỉ nói xem em đang hiểu đúng hay cần đọc lại chặng nào.

Câu 1. Hai người làm đúng cùng một thuật toán, với cùng dữ liệu đầu vào, có ra hai kết quả khác nhau được không?

Câu 2. Một thuật toán «đúng» có bắt buộc phải là thuật toán «nhanh nhất» không?

Câu 3. Nếu máy tính cho kết quả sai, lỗi có chắc chắn là do thuật toán sai không?

    Cuộn nốt xuống dưới nhé — sắp xong trang này rồi!

    CHẶNG 10 KẾT HỒ SƠ

    Kể lại cho bạn trong 30 giây

    Nếu chỉ được nhớ một câu, hãy nhớ câu này.

    Thuật toán là công thức nấu ăn
    viết chi tiết đến mức không còn chỗ để áng chừng
    làm đúng từng bước, đúng thứ tự,
    là ra đúng kết quả, mọi lần.

    Tình huống để kể cho bạn

    Lần sau bạn than «làm bài y hệt bạn kia mà điểm khác nhau», em có thể hỏi lại: «Cậu có chắc là làm đúng từng bước như nhau không, hay có đoạn làm tắt?»

    Trứng, đường, bột, đánh đều, cho vào khuôn, nướng 30 phút. công thức cũ — mù mờ Đánh trứng+đường bằng máy, 90 giây. Rây bột, trộn nhẹ tay theo 1 chiều. Nướng 30 phút, 180°C. công thức mới — rõ ràng
    Không thiếu nguyên liệu nào thêm — chỉ thêm chi tiết vào đúng những chỗ từng mù mờ.
    THỬ NHỎ Ở NHÀ Viết các bước «buộc dây giày» chi tiết đến mức một người chưa từng buộc dây giày làm theo được — đưa cho em nhỏ tuổi hơn thử xem đúng không.
    NẾU EM LÀ KỸ SƯ… Viết thuật toán xếp hàng ăn ở căng-tin sao công bằng nhất — em ưu tiên ai trước: người đến trước, người ăn nhanh, hay lớp nhỏ tuổi hơn?