QUY CHẾ EMS Phòng máy giám sát 100% bằng Exam Monitoring System (Chụp màn hình & Ghi tiến trình). Cấm Internet & Thiết bị cá nhân!
Giảng viên: ThS Lê Thanh Sơn Học phần: Trí Tuệ Nhân Tạo (AI)

CỔNG ÔN TẬP THI & PHẦN MỀM MÔ PHỎNG GIẢI THUẬT AI

Thời Lượng
90 Phút
45' TN + 45' Code
Trắc Nghiệm
40 Câu
Phạm vi: W2 → W7
Thực Hành VC
VS Code
Tệp mở rộng: .ipynb
Tài Liệu
Được xem File
Offline (Không Internet)
Đồng hồ luyện tập thi 90 Phút Chưa bắt đầu
90:00
45' Trắc nghiệm • 45' Thực hành .ipynb

Checklist kiểm tra trước khi tính giờ thi

0/6 Hoàn tất
Trọng tâm ôn thi Comprehensive Theory & Mathematical Principles

GIẢI THÍCH CHI TIẾT KIẾN THỨC LÝ THUYẾT MÔN AI

Hệ thống hóa bản chất giải thuật, công thức toán học, bảng so sánh tính đầy đủ/tối ưu và độ phức tạp

1. Bản Chất Bài Toán Tìm Kiếm & Không Gian Trạng Thái (State Space)

Mọi bài toán giải quyết vấn đề bằng tìm kiếm (Search Problem) trong AI đều được hình thức hóa chuẩn xác thông qua bộ 5 thành phần cốt lõi:

1. Trạng thái ban đầu (Initial State - S0):

Vị trí điểm xuất phát mà tác tử bắt đầu thực hiện quá trình tìm kiếm.

2. Tập hành động (Actions(s)):

Tập hợp tất cả các hành động hợp lệ mà tác tử có thể thực thi khi đang ở trạng thái s.

3. Mô hình chuyển tiếp (Transition Model - Result(s, a)):

Hàm xác định trạng thái kế tiếp s' sau khi thực thi hành động a từ trạng thái s.

4. Kiểm tra mục tiêu (Goal Test):

Hàm logic xác thực xem trạng thái hiện tại có trùng khớp với trạng thái đích hay không.

5. Chi phí đường đi (Path Cost - c(s, a, s')):

Tổng trọng số tiêu tốn để đi dọc theo chuỗi hành động dẫn từ trạng thái ban đầu tới đích.

2. Quy Ước Vẽ Đồ Thị Bằng Graphviz (.ipynb)
Quy định trực quan đồ thị:
  • Đỉnh Start: Tô màu xanh lá (fillcolor='#6ee7b7').
  • Đỉnh Goal: Tô màu vàng hoặc viền kép (fillcolor='#fde047').
  • Cạnh tối ưu (Optimal path): Đổi màu đỏ nổi bật (color='#ef4444', penwidth='2.5').
  • Trọng số cạnh: Gán bằng thuộc tính label=' chi_phí '.
Thuộc tính hướng đồ thị (Rankdir):

• rankdir='LR': Trái sang Phải (Khuyên dùng cho thi)

• rankdir='TB': Trên xuống Dưới (Cây tìm kiếm phân cấp)

Lưu ý phòng thi: Không cần lưu ảnh ra ổ đĩa, chỉ cần câu lệnh cuối ô code là dot thì notebook sẽ tự render đồ thị.
Trực quan tương tác Interactive Web Simulators

PHẦN MỀM CHẠY MINH HỌA GIẢI THUẬT AI TRỰC TIẾP

Sinh viên tương tác từng bước (Step-by-step), quan sát cấu trúc dữ liệu và điều kiện cắt tỉa trên màn hình

650ms
Không gian trạng thái (State Graph)
Đích G Đang xét Đã duyệt Đường đi
Bảng Heuristic h(n) tới G: S:10, A:7, B:8, C:12, D:3, E:4, G:0
Sẵn sàng mô phỏng
Hàng đợi mở (Frontier / Open) PriorityQueue
Tập đóng (Explored / Closed) 0 đỉnh
Nhật ký từng bước (Step Log)
Nhấn [Bắt đầu chạy] hoặc [Từng bước] để xem phân tích...
Hệ thống hóa kiến thức Interactive Knowledge Map

SƠ ĐỒ TƯ DUY (MINDMAP) TOÀN DIỆN MÔN TRÍ TUỆ NHÂN TẠO

Click vào từng nhánh để xem tóm tắt công thức trọng tâm, tính chất và câu hỏi ôn thi hay gặp

Nhấn vào nhánh trên sơ đồ để xem chi tiết Mẹo ôn tập nhanh

Sơ đồ tư duy bao gồm 5 nhánh cốt lõi theo đề cương của ThS Lê Thanh Sơn: Trắc nghiệm W2-W7, Vẽ cây Graphviz, Tìm kiếm mù (Uninformed), Tìm kiếm có thông tin (A*, Heuristics), và Game Theory (Minimax, Alpha-Beta).

Phần 2: 45 Phút Jupyter Notebook (.ipynb) trên VS Code

NGÂN HÀNG BÀI TẬP THỰC HÀNH CÓ CODE MẪU (.ipynb)

01 Vẽ Đồ Thị Không Gian Trạng Thái & Highlight Đường Đi Bằng Graphviz
import graphviz

# 1. Khởi tạo đồ thị có hướng (Digraph)
dot = graphviz.Digraph('StateSpaceTree', comment='Search Tree Demo')
dot.attr(rankdir='LR') # Left to Right
dot.attr('node', shape='circle', style='filled', fontname='Helvetica', fontsize='12')

# 2. Định nghĩa các đỉnh (Start tô xanh lá, Goal tô vàng)
dot.node('S', 'S (Start)', fillcolor='#6ee7b7')
dot.node('A', 'A', fillcolor='#f1f5f9', fontcolor='#0f172a')
dot.node('B', 'B', fillcolor='#f1f5f9', fontcolor='#0f172a')
dot.node('C', 'C', fillcolor='#f1f5f9', fontcolor='#0f172a')
dot.node('D', 'D', fillcolor='#f1f5f9', fontcolor='#0f172a')
dot.node('G', 'G (Goal)', fillcolor='#fde047', fontcolor='#0f172a')

# 3. Đường đi tối ưu cần highlight màu đỏ
optimal_edges = [('S', 'A'), ('A', 'D'), ('D', 'G')]

edges = [
    ('S', 'A', '2'), ('S', 'B', '5'),
    ('A', 'C', '4'), ('A', 'D', '3'),
    ('B', 'D', '2'), ('C', 'G', '6'),
    ('D', 'G', '4')
]

for u, v, cost in edges:
    if (u, v) in optimal_edges:
        dot.edge(u, v, label=f' {cost} ', color='#ef4444', penwidth='2.5', fontcolor='#ef4444')
    else:
        dot.edge(u, v, label=f' {cost} ', color='#64748b', fontcolor='#94a3b8')

# Hiển thị trên Jupyter Notebook
dot

Quy Định Phòng Thi & Hệ Thống Giám Sát EMS

Đã sao chép vào bộ nhớ tạm!