5 quá trình trong Tư duy tính toán

Giới thiệu về các thuật toán – Khoa học Máy tính tập 13 | Tri thức nhân loại
Giới thiệu về các thuật toán – Khoa học Máy tính tập 13 | Tri thức nhân loại

Như chúng ta đã biết trong các bài viết trước đây về Tư duy tính toán, nó là một tổ hợp của nhiều quá trình có mối quan hệ với nhau, nhằm giải quyết vấn đề một cách hiệu quả, vận dụng tương tự theo cách làm của máy tính.

Nó gồm có 5 quá trình chính, đó là:

1. DECOMPOSITION – chia tách vấn đề thành những nội dung nhỏ

  • Tách vấn đề lớn thành những mảng nhỏ;
  • Đơn giản hóa nó một cách dễ hiểu;
  • Cụ thể đến mức khả thi để giải quyết;
  • Chia thành từng cụm có mối quan hệ với nhau.

Chúng ta nhìn vào một sơ đồ như hình bên dưới:

decomposing - breakfast

Đây gọi sơ đồ cây ngược (tree diagram), với gốc thì ở trên cùng, thân ở giữa, và dưới cùng là các nội dung nhỏ – tựa như lá.

Để làm một bữa ăn sáng gồm bánh mì sandwich và trà nóng, thì có 2 phần việc chính, đó là: làm bánh mì và làm trà.

Để làm món bánh mì thì có 4 việc nhỏ: cắt bánh mì, nướng bánh mì, phết bơ, phủ mứt. Còn để làm món trà thì có 3 việc nhỏ: nấu nước, pha trà, thêm sữa.

Lợi ích của việc rèn luyện Kỹ năng chia nhỏ vấn đề là:

  • Nhìn vấn đề một cách thấu đáo, xuyên suốt, nhiều khía cạnh;
  • Dễ quyết định được cách giải quyết từng khía cạnh nhỏ, từ đó hướng đến giải quyết tổng thể vấn đề;
  • Tăng tính khả thi, giảm bớt áp lực khi giải quyết vấn đề.

2. PATTERN RECOGNITION – nhận diện xu hướng bằng cách xác định những điểm tương tự và khác biệt trong vấn đề

  • Xác định những điểm tương đồng và khác biệt;
  • Tìm kiếm sự liên kết, sự lặp lại và xác định chu kỳ;
  • Tổng hợp lại thành một mô thức tổng quát.

traffic light

Chúng ta nhìn thấy Đèn giao thông này hoạt động theo chu kỳ: ⊗ ⊗ ⊗ ⊗ ⊗ ⊗ […]. Vậy màu tiếp theo ở vị trí ô vuông sẽ là màu ⊗ .

Nó tương ứng với dạng toán logic: 1, 3, 5, 7, … Khi đó số thứ n mang giá trị [2n – 1], với n là số tự nhiên.

Nhiều ví dụ khác thường thấy trong ca dao tục ngữ Việt Nam, như: Mỡ già thì gió/mỡ chó thì mưa – Kinh ngiệm dự đoán thời tiết, trên trời mây có màu vàng như mỡ gà là sắp có gió lớn, mây có màu phớt hồng như mỡ chó thì sắp có mưa to.

Hoặc trong chẩn đoán vấn đề của máy móc, người kỹ sư bảo trì sẽ nghe tiếng máy chạy và liên kết với kinh nghiệm của mình, mở kiểm tra trước những bộ phận khả nghi, thay vì phải kiểm tra toàn bộ từng chi tiết nhỏ.

Tóm lại, xây dựng Kỹ năng nhận diện xu hướng:

  • Sẽ giúp chúng ta nhìn ra được các vấn đề lặp đi lặp lại, từ đó có cách giải quyết triệt để, tránh phải xử lý “lắt nhắt” từng giai đoạn ngắn;
  • Dự đoán được xu hướng hoặc rủi ro để có kế hoạch dự phòng, nâng cao tầm nhìn của bản thân;
  • Chẳng hạn: ra giải pháp rút kinh nghiệm sau mỗi vấn đề, ban hành luật, quy trình, v.v.

3. ALGORITHM – xây dựng các bước giải quyết theo trình tự

  • Tạo ra các bước có thứ tự để giải quyết vấn đề;
  • Tuân thủ đúng theo trình tự và phải có kết thúc, không nhảy vọt;
  • Rõ ràng và ranh giới của từng bước, không mập mờ.

Ví dụ:

Bạn đã biết cách chiên trứng và tự làm một cách dễ dàng. Tuy nhiên, nếu bạn muốn hướng dẫn khoảng 100 người chiên trứng theo cách của bạn, thì bạn khó chỉ dẫn từng người được.

Bạn có thể tạo một quy trình cho việc này, trong ví dụ chiên một quả trứng:

  1. Đặt chảo lên bếp
  2. Đổ đầu vào chảo
  3. Bật bếp và chờ dầu nóng
  4. Đập trứng và cho trứng vào chảo (bỏ vỏ trứng vào thùng rác)
  5. Chờ trứng chín
  6. Tắt bếp

Hoặc tạo ra một Lưu đồ (Flowchart)

Rèn được được Kỹ năng này, chúng ta sẽ có được:

  • Hình dung được đang ở đâu trong quá trình giải quyết vấn đề, đã đến lúc đủ dữ kiện để quyết định phương án hay chưa, tránh việc quyết định vội vàng.
  • Phân biệt được, đâu là trách nhiệm của mình và đâu không phải là thẩm quyền của mình.

4. EVALUATION – quá trình nhận định, đánh giá và cải tiến

Đặc điểm này không được thể hiện nhiều ở thế hệ máy tính cơ bản, nhưng khi xuất hiện khái niệm về AI (trí tuệ nhân tạo) và machine-learning (máy học) thì đây là cái được nhắc đến thường xuyên.

  • Đánh giá một cách giải quyết có hoạt động hiệu quả như dự định hay không;
  • Nếu nó không như dự định, hãy xác định nguyên nhân cụ thể và giải quyết;
  • Nếu nó như dự định, cải tiến để có cách giải quyết tổi ưu hơn nữa.

Ví dụ về cách chiên trứng ở trên, chúng ta có thể phát hiện ra các “lỗ hổng”:

  • Có lúc dư dầu (lãng phí), có lúc thiếu dầu (trứng dính chảo);
  • Có lúc nhiệt độ quá cao (làm bên dưới cháy nhưng bên trên chưa chín), có lúc nhiệt độ quá thấp (làm tốn thời gian);
  • Có khi để dầu nóng quá lâu (lãng phí nhiên liệu), có khi dầu chưa nóng;
  • Có lúc trứng chưa chín (phải kiểm tra lại nhiều lần xem chín chưa), có lúc bị cháy.

Vậy thì bạn sẽ tiếp tục đặt thêm các câu hỏi nhỏ:

  • Đổ bao nhiêu dầu là vừa đủ, không dư (lãng phí) mà cũng không thiếu (trứng dính chảo)?
  • Bật bếp ở nhiệt độ bao nhiêu?
  • Thời gian bao lâu là dầu nóng?
  • Thời gian bao lâu là trứng chín?

Cải tiến bằng cách bổ sung thông tin, điều chỉnh quy trình để cách giải quyết được tốt hơn:

  • Đổ dầu khoảng 50ml → dùng hũ có thước đo, nhưng thời gian chậm do phải canh đúng 50ml → chế tạo hũ nhỏ vừa đủ 50ml, chỉ cần đổ đầy hũ là đạt, không cần phải canh kỹ.
  • Thử nhiệm với nhiều nhiệt độ khác nhau, chọn nhiệt độ phù hợp. Ví dụ: 200 độ C.
  • Thử nghiệm với nhiều thời gian khác nhau, chọn thời gian phù hợp. Ví dụ: làm nóng dầu là 1 phút, chiên trứng là 3 phút.

Lưu đồ được viết lại:

Tóm lại, Kỹ năng đánh giá và cải tiến sẽ mang lại cho chúng ta:

  • Đánh giá được tình trạng của cách giải quyết, xác định hướng đi đến tối ưu, không bằng lòng với kết quả hiện tại.
  • Rèn luyện khả năng quan sát, phòng ngừa rủi ro, nâng cao tầm nhìn.

5. ABSTRACTION – trừu tượng hóa vấn đề thành một khái niệm hoặc nguyên tắc

  • Về bản chất thì nó gần giống với quá trình nhận diện xu hướng (pattern generalise), tuy nhiên ở đây xác định điểm chung về thuộc tính, chứ không phải quá trình.
  • Nó là quá trình loại bỏ các chi tiết vật lý, không gian, thời gian hoặc các thuộc tính riêng lẻ của đối tượng hoặc hệ thống, giữ lại các đặc điểm chung để hướng đến việc miêu tả một cách khái quát.
  • Tìm ra một nguyên nhân tổng quát của một nhóm vấn đề: quy tắc Pareto 80/20, lý thuyết cửa sổ vỡ

Ví dụ về Trừu tượng hóa:

Việc đưa khái niệm Tư duy tính toán này là một ví dụ. Nó đã tóm gọn lại những cách suy nghĩ chính để người ta vận dụng cách giải quyết vấn đề hiệu quả như máy tính.

Hoặc khi bạn bắt đầu đi đến một địa điểm mới, bạn đã xác định được hướng nhưng không nhớ chính xác từng ngã rẽ, bạn vẫn có thể đi bằng trực giác của mình.

Hoặc bạn có thể nhìn thấy được cốt lõi của vấn đề, thay vì bị phân tán bởi những yếu tố bên ngoài, như bài thơ bên đây:

Tiền mua được gì?

  • có thể mua được chiếc giường, nhưng không hẳn là giấc ngủ ngon,
  • có thể mua được thức ăn, nhưng không hẳn là sự ngon miệng,
  • có thể có được quần áo lộng lẫy, nhưng không hẳn là vẻ đẹp,
  • có thể mua được căn nhà, nhưng không hẳn là tổ ấm,
  • có thể có sự xa hoa, không chưa chắc có văn hóa,
  • có thể mua được nhiều thuốc, nhưng chưa chắc có được sức khỏe,
  • có thể mua được trò tiêu khiển nhưng chưa chắc có được niềm hạnh phúc.

Tóm lại, quá trình trừu tượng hóa sẽ giúp chúng ta:

  • Vận dụng khả năng thấu suốt vấn đề, có thể đưa ra một kết luận gọn gàng, tinh tế.
  • Hiểu được ý nghĩa khái quát của một giải pháp, từ đó có thể áp dụng trong nhiều trường hợp cụ thể.
  • Đưa vấn đề hoặc giải pháp lên một mức khái quát, có thể truyền đạt được đến nhiều đối tượng, truyền tải nhiều ý nghĩa.

Trên đây là các giải thích về 5 quá trình trong Tư duy tính toán (Computational thinking). Trong các bài viết tiếp theo, tác giả sẽ đề cập đến ứng dụng Tư duy tính toán vào giải quyết vấn đề, vào thiết kế dạy học.

HL.

Các bài viết liên quan:

Bạn đang xem bài viết: 5 quá trình trong Tư duy tính toán. Thông tin được tạo bởi Trung Tâm Tiêng Anh Gemma chọn lọc và tổng hợp cùng với các chủ đề liên quan khác.

Similar Posts