# Xin chào đến lớp AI_56 Đây là nơi chia sẻ kiến thức và bài tập cho môn Trí tuệ nhân tạo. ![image](https://hackmd.io/_uploads/ByexAgVeJe.png) ![image](https://hackmd.io/_uploads/SJAqtbNe1l.png) Mọi người đóng góp lời giải giúp mọi người đạt điểm cao trong kì thi nhé [toc] ## Slide bài giảng :link:[Slide drive lý thuyết](https://drive.google.com/drive/folders/1SHah8ETsgPUbEHH8MeLS2wTWDdnQbcRO?usp=sharing) ## Hình thức thi giữa kì `Form đăng ký` :link:[Đăng kí nhóm](https://docs.google.com/spreadsheets/d/1RD3kVZVGFu8sNuZiPstwOvQHrsbo3lmq2--epJdnIbc/edit?usp=sharing) ## Cấu trúc đề thi cuối kì mọi năm * A* * Minmax, alpha-beta prunning * Naives Bayes cho dữ liệu bảng và word * Logistic, linear regression * Neural network (xây dựng mô hình, đơn giản) * Logic vị từ ## InformedSearch ( A*, Grededy Search, Beam Search, Hill-climbing, IDS, UCS ) <span style="color:red">*</span> ::: info :bulb: Thường chiếm 2 câu trong đề thi ::: ### A* ✨ Đề sẽ yêu cầu tìm đường đi ngắn nhất. Trên đồ thị sẽ có các trọng số chính sau: ![image](https://hackmd.io/_uploads/H1fI0bElJg.png) > start: điểm bắt đầu > h(x): hàm **heuristic** hàm ước tính chi phí từ điểm đang xét (là điểm E) đến điểm goal (điểm G). > g(x): là chi phí thực tế giữa hai điểm đang xét (điểm E và điểm F). > goal: điểm kết thúc **Hàm đánh giá**: f(n) = g(n) + h(n) :::success #### Cách hoạt động: 1. Khởi tạo hàng đợi với điểm xuất phát. 2. Mỗi lần, thuật toán chọn nút có nhỏ nhất để mở rộng. 3. Nếu nút scan là đích, dừng lại và trả về đường đi. 4. Nếu không, thêm các nút kề của nút đó vào hàng đợi và tiếp tục. 5. Lặp lại cho đến khi tìm thấy đích hoặc không còn nút để mở rộng. ::: | S| Queue | | |---|---|---| | S | Q = {(S,17)} | | | S | Q = {(SC, 14), (SA, 16), (SB, 18)} |![image](https://hackmd.io/_uploads/SknAy4Egkl.png) SC có f nhỏ nhất - >mở rộng từ nút C | | C | Q = {(SA, 16), (SCD, 18), (SB, 18)} | ![image](https://hackmd.io/_uploads/r1f1e4Vlke.png) | | A | Q = {(SAE, 16), (SCD, 18), (SB, 18)} | ![image](https://hackmd.io/_uploads/BkSmlNEe1g.png) | | E | Q = {(SAEF, 17), (SCD, 18), (SB, 18), (SAEB, 31)} | ![image](https://hackmd.io/_uploads/SJeKxVNeyx.png) | | F | Q = {(SCD, 18), (SB, 18), (SAEFG, 20), (SAEFD, 24), (SAEB, 31)} | ![image](https://hackmd.io/_uploads/BJFq-N4lJg.png) | | D | Q = {(SB, 18), (SAEFG, 20), (SCDF, 23), (SAEFD, 24),(SAEB, 31),(SCDB, 36)} | ![1000002117](https://hackmd.io/_uploads/BkNfe2Egke.png) | | B | Q = {(SBD, 14), (SBE, 15), (SAEFG, 19), ...} | ![image](https://hackmd.io/_uploads/H1Jq0XVxJl.png) | | D | Q = {(SBE, 15), (SBDF, 19), (SAEFG, 19), (SBDC, 22)} |![image](https://hackmd.io/_uploads/H1yYbaExyl.png) | | E | Q = {(SBEF, 16), (SBDF, 19), (SAEFG, 19), (SBDC, 22), (SBEA, 27)} | ![image](https://hackmd.io/_uploads/ByzNWTNgyg.png) | | F | Q = {(SBEFG, 18), (SAEFG, 20), (SBDC, 22), (SBEFD, 23), (SBEA, 27)} | ![image](https://hackmd.io/_uploads/HymkMaVlkx.png) | | G | | | ::: danger #### Cách xử lý lặp Xử lí nút lặp: Nếu nút có chi phí tốt hơn: - Đưa lại vào danh sách nếu đã mở rộng - Cập nhật nút cũ có giá thành kém hơn nếu đang trong tập biên > [time=Tue, Oct 22, 2024 3:15 AM] ::: ## Minmax, alpha-beta prunning :::info :bulb: Thường chiếm 1 câu trong đề thi ::: ### Minmax ![image](https://hackmd.io/_uploads/HJ8iuaExJe.png) ::: success **Cách hoạt động** Duyệt tất cả các nhánh, so sánh với nút cha. Nhược điểm phải duyệt hết tất cả -> chậm. ::: ![image](https://hackmd.io/_uploads/rJYfFaNl1x.png) ### Alpha-beta prunning ✨ ::: success **Chiến lược cắt tỉa** * Tìm kiếm theo kiểu depth-first * Nút MAX có 1 giá trị α (luôn tăng) * Nút MIN có 1 giá trị β (luôn giảm) * Cắt khi: * Nút MIN nào có β ≤ α của bất kỳ nút cha MAX nào * Nút MAX nào có α ≥ β của bất kỳ nút cha MIN nào ::: Chi tiết cách hoạt động :link: [pptx_alpha-beta prunning](https://staff.agu.edu.vn/nvhoa/AI/lecture4.pdf) :link:[slide](https://drive.google.com/file/d/1aRfXcn3kPIWe_g0Lx4Z0QKgsERniAqur/view?usp=sharing) ## Naives Bayes