---
url: https://docs.nemo12.com/curriculum/aops/strategy/search.md
description: >-
  Module 2.1 Toán nâng cao: chiến lược dò tìm có định hướng, mỗi lần thử đều thu
  hẹp vùng nghi ngờ.
---

# Module 2.1 · Search strategies (Chiến lược dò tìm)

Thuộc [Package 2 · Choose a Strategy](/curriculum/aops/strategy/).

| | |
| --- | --- |
| **Unit** | 4 |
| **Mastery level** | 2 tới 12 |
| **Lớp (VN)** | 4 tới 12 |
| **Mức thi đấu** | Nền tảng tới Olympiad |
| **Key concept chính** | Logic (Lô-gic) · Pattern (Quy luật) |

***

## Unit 1 · Guess and check, but smartly (Thử có định hướng)

> **Tôi sẽ làm được** thử một giá trị, xem nó lệch hướng nào, rồi dùng thông tin đó cho lần thử sau.

**Mastery level 2-6 · Lớp 4-8 · Nền tảng tới AMC 8 · Logic (Lô-gic)**

| Bậc | Learner làm được gì |
| --- | --- |
| **Đang hình thành** | Thử số ngẫu nhiên, không dùng kết quả lần trước |
| **Đạt** | Thử, xem lệch cao hay thấp, rồi chỉnh hướng |
| **Vững** | **Chia đôi vùng còn lại** mỗi lần thử, nên số lần thử tăng rất chậm khi phạm vi lớn |

**Bằng chứng đạt.** Learner tìm ra một số trong khoảng 1 tới 100 bằng khoảng bảy lần thử, và nói được vì sao không cần tới ba mươi lần.

**Hiểu lầm thường gặp.** Thử là cách của người không biết giải. Thử có định hướng là một **thuật toán tìm kiếm** đàng hoàng, và nó chính là tìm kiếm nhị phân ở [Module 2.2 môn Tin học](/curriculum/tin/design/choose-strategy). Cái đáng chê là thử ngẫu nhiên, không phải việc thử.

**Knowledge node.** Thử và chỉnh · Chia đôi phạm vi · Tìm kiếm có định hướng

***

## Unit 2 · Make a table (Lập bảng để thấy quy luật)

> **Tôi sẽ làm được** lập bảng đủ nhiều dòng để quy luật hiện ra, thay vì đoán từ hai trường hợp.

**Mastery level 3-7 · Lớp 5-8 · Nền tảng tới AMC 8 · Pattern (Quy luật)**

| Bậc | Learner làm được gì |
| --- | --- |
| **Đang hình thành** | Tính hai trường hợp rồi kết luận quy luật |
| **Đạt** | Lập bảng năm tới sáu dòng trước khi kết luận |
| **Vững** | Thêm **cột hiệu số hoặc cột tỉ số**, nên quy luật hiện ra ở tầng thứ hai |

**Bằng chứng đạt.** Learner gặp dãy `2, 6, 12, 20, 30`, thêm cột hiệu, thấy `4, 6, 8, 10`, và nói được quy luật.

**Hiểu lầm thường gặp.** Hai ba trường hợp là đủ để thấy quy luật. Nhiều dãy khác nhau trùng nhau ở ba số đầu. Đây cũng là lý do [Package 5](/curriculum/aops/prove/) tồn tại: quy luật quan sát được mới là dự đoán.

**Knowledge node.** Bảng giá trị · Cột hiệu số · Dãy sai phân

***

## Unit 3 · Work backwards (Đi ngược từ kết quả)

> **Tôi sẽ làm được** bắt đầu từ kết quả cuối và lần ngược về, khi đi xuôi bị tắc.

**Mastery level 4-9 · Lớp 5-10 · AMC 8 tới AMC 12 · Logic (Lô-gic)**

| Bậc | Learner làm được gì |
| --- | --- |
| **Đang hình thành** | Chỉ biết đi xuôi từ dữ kiện tới kết quả |
| **Đạt** | Đi ngược được với bài có chuỗi thao tác rõ ràng |
| **Vững** | Nhận ra **dấu hiệu bài nên đi ngược**: đề cho kết quả cuối và hỏi giá trị ban đầu |

**Bằng chứng đạt.** Learner giải một bài đổ nước qua lại nhiều bước bằng cách bắt đầu từ trạng thái cuối.

**Hiểu lầm thường gặp.** Bài toán chỉ chạy theo một chiều. Nhiều bài **dễ hơn hẳn khi đảo chiều**, vì đi xuôi thì phân nhánh còn đi ngược thì gộp lại. Nhận ra chiều nào ít nhánh hơn là bước chọn chiến lược.

**Knowledge node.** Đi ngược · Phép toán ngược · Chọn chiều giải

***

## Unit 4 · Solve a related problem (Giải một bài họ hàng)

> **Tôi sẽ làm được** giải một bài dễ hơn nhưng cùng cấu trúc, rồi mang lời giải đó về bài gốc.

**Mastery level 8-12 · Lớp 9-12 · AMC 12 tới Olympiad · Simplification (Đơn giản hoá)**

| Bậc | Learner làm được gì |
| --- | --- |
| **Đang hình thành** | Chỉ tấn công đúng bài được giao |
| **Đạt** | Nghĩ ra được một bài dễ hơn cùng dạng và giải nó |
| **Vững** | Nhận ra khi nào bài họ hàng **chuyển được lời giải về** và khi nào không |

**Bằng chứng đạt.** Learner giải bài với hai biến trước, thấy cấu trúc, rồi mở rộng cho `n` biến.

**Hiểu lầm thường gặp.** Giải bài khác là lạc đề, mất thời gian. Đây là kỹ thuật trung tâm của Pólya và của AoPS: **khi bài trước mặt quá khó, đổi bài**. Nhưng phải đổi sang bài **cùng cấu trúc**, nếu không thì lời giải không mang về được, và nhận ra điều đó là phần khó.

**Knowledge node.** Bài toán họ hàng · Chuyển lời giải · Tổng quát hoá dần

***

## Dạy module này theo kiểu AoPS

**Problem-first.** Đưa một bài mà đi xuôi **chắc chắn tắc**, để learner tự đâm vào tường rồi mới nói tới việc đi ngược.

**Khuôn dạy.** Đoán số có đếm lượt:

```text
Giáo viên nghĩ một số từ 1 tới 1000
     ↓
Vòng 1: learner đoán, chỉ được trả lời ĐÚNG hoặc SAI. Đếm lượt.
     ↓
Vòng 2: được trả lời LỚN HƠN hoặc NHỎ HƠN. Đếm lượt.
     ↓
Ghi hai con số lên bảng
     ↓
"Nếu số từ 1 tới một TRIỆU thì mỗi cách mất bao nhiêu lượt?"
```

Câu cuối cho learner chạm vào khác biệt giữa tăng tuyến tính và tăng theo loga mà không cần một công thức nào: một bên nhân lên nghìn lần, một bên chỉ thêm mười lượt.

[Module 2.2 · Pattern and structure →](/curriculum/aops/strategy/pattern)
