[2] Thông thường, thuật ngữ "trí tuệ nhân tạo" thường được sử dụng để mô tả các máymóc hoặc máy tính bắt chước các chức năng "nhận thức" mà con người liên kết với tâmtrí con người, như "
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN TRÍ TUỆ NHÂN TẠO
NHÓM 13
HỌ & TÊN: Lê Ngọc Đoan 17133014
Ngô Phi Lít 18133024Nguyễn Đức Thuận 18130043GIẢNG VIÊN: TRẦN NHẬT QUANG
Trang 2MỤC LỤC
CHƯƠNG 1: TÌM HIỂU VỀ ĐẠO VĂN 4
1.1 Khái niệm 4
1.2 Các hình thức đạo văn phổ biến 4
1.3 Phòng tránh đạo văn 4
CHƯƠNG 2: TÌM HIỂU VỀ TRÍ TUỆ NHÂN TẠO 5
2.1 Khái niệm Artificial Intelligence (AI) 5
2.2 Machine learning (học máy) 5
2.3 Reinforcement Learning (học tăng cường) 5
2.4 Lịch sử AI 6
2.5 Luật lệ và đạo đức 6
2.6 Các hướng tiếp cận AI 6
2.7 Nền tảng cho AI 7
CHƯƠNG 3: TÌM HIỂU VỀ CÁC THUẬT TOÁN 8
3.1 CONCEPTUAL ALGORITHM 8
3.1.1 Tree Search 8
3.1.2 Graph Search 9
3.2 Uninformed Search (Blind Search) 10
3.2.1 Breadth-first Search 10
3.2.2 Uniform-cost search algorithm 11
3.2.3 Depth-first search (DFS) 12
3.2.4 Depth-limited search 13
3.2.5 Iterative deepening search 15
3.3 Informed Search Algorithms 16
3.3.1 Best-First Search 16
3.3.2 A* Search 17
3.4 SEARCHING IN MORE COMPLEX ENVIROMENTS 18
3.4.1 LOCAL SEARCH- SEARCHING FOR GOAL STATE 18
3.5 SEARCHING IN NONDETERMINISTIC ENVIROMENTS 19
3.6 SEARCH IN PARTIALLY OBSERVABLE ENVIROMENTS 20
2
Trang 33.7 Offline Search [3] 21
3.8 Online Search [4] 21
3.8.1 Online Depth-First Search Agent 21
3.8.2 Learning Real Time-Time A* agent 22
3.9 Consistency 23
3.10 Constraint satisfaction problems (CSP) [6] 23
3.11 AC-3 alorgithm 25
3.12 Backtracking search algorithm 26
TÀI LIỆU THAM KHẢO 28
3
Trang 4CHƯƠNG 1: TÌM HIỂU VỀ ĐẠO VĂN
1.1.1 Khái niệm
Đạo văn - tiếng Anh là Plagiarism, tiếng Latin nghĩa là kẻ bắt cóc, là hình thức chiếmhữu một cách sai trái "ngôn ngữ, suy nghĩ, ý tưởng, hay cách diễn đạt" của người khác vàxem chúng như là những gì do mình tự tạo ra Khái niệm về đạo văn vẫn chưa có nhữngđịnh nghĩa và quy tắc rõ ràng [1]
Tại Việt Nam, đạo văn đang là một vấn nạn trong nhiều lĩnh vực như: giáo dục, khoahọc, xuất bản… Tuy nhiên, vẫn chưa có một chương trình học thuật nào đào tạo bài bảncho học sinh về đạo văn, cũng như cách phòng tránh thói quen đạo văn ngay từ khi cònnhỏ
1.2 Các hình thức đạo văn phổ biến
- Sử dụng một hay nhiều đoạn văn từ công trình nghiên cứu của người khác mà không trích dẫn nguồn
- Sửa lại công trình nghiên cứu của người khác và biến nó thành của mình
- Có trích dẫn nhưng không ghi hết nguồn trích dẫn từ đâu, từ ai
- Sử dụng các thành quả trước đó của chính mình để phục vụ cho bài nghiên cứu mới
- Vô ý hoặc cố ý ghi sai nguồn
1.3 Phòng tránh đạo văn
Cách tốt nhất để tránh việc đạo văn là hãy trích dẫn nguồn bất cứ khi nào bạn sử dụnglời trích, chú giải một cách chi tiết và cụ thể Đây cũng là cách bạn có thể kiểm tra lạithông tin tham khảo một cách nhanh chóng nếu muốn chỉnh sửa hay so sánh tước khi nộpbài
Hãy biết trân trọng thành quả lao động của người khác nếu bạn kỳ vọng người kháctôn trọng những nỗ lực của chính bạn Xã hội chỉ có thể phát triển nếu có sự sáng tạo,phát minh và sáng kiến
4
Trang 5CHƯƠNG 2: TÌM HIỂU VỀ TRÍ TUỆ NHÂN TẠO 2.1 Khái niệm Artificial Intelligence (AI)
Trong khoa học máy tính, trí tuệ nhân tạo hay AI (Artificial Intelligence) là trí thôngminh nhân tạo được thể hiện bằng máy móc, khác với trí thông minh tự nhiên được conngười hay các loài sinh vật khác thể hiện [2]
Thông thường, thuật ngữ "trí tuệ nhân tạo" thường được sử dụng để mô tả các máymóc (hoặc máy tính) bắt chước các chức năng "nhận thức" mà con người liên kết với tâmtrí con người, như "học tập" và "giải quyết vấn đề"
Cách hoạt động của AI: ban đầu agent (đối tượng) sẽ tác động lên environment (môitrường) thông qua actions (các hành động), sau đó environment sẽ trả về cho agents làpercepts/observations (các quan sát) Với mỗi action với môi trường, agent sẽ thu vềpercepts/observations thông qua sensors, các percepts tập hợp lại thành 1 chuỗi gọi làpercepts sequence
Trong lý thuyết mà chúng ta đang tìm hiểu, AI chia làm 2 lĩnh vực: Machine Learning(học máy) và Deep Learning (học sâu)
2.2 Machine learning (học máy)
Thuộc trường phái trí tuê nhân tạo truyền thống, Machine learning là một lĩnh vực củatrí tuệ nhân tạo liên quan đến việc nghiên cứu và xây dựng các kĩ thuật cho phép các hệthống "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể
Machine Learning gồm có 3 mô hình máy học: Supervised Learning (học có giámsát), Unsupervised Learning Learning (học không giám sát), Reinforcement Learning(học tang cường)
2.3 Reinforcement Learning (học tăng cường)
Reinforcement learning (RL) là một lĩnh vực của machine learning liên quan đến cáchcác máy học phải thực hiện các hành động trong một môi trường để tối đa hóa phầnthưởng tích lũy (reward)
Cách hoạt động: ban đầu agents (players/learners) sẽ tác động lên environment (môitrường) thông qua actions (các hành động), sau đó environment sẽ trả về cho agents 2thông số: reward (thưởng) và observations (những quan sát) Qua đó agents sẽ học và cậpnhật được các kiến thức mới
5
Trang 62.4 Lịch sử AI
- Năm 1956, 1 workshop được tổ chức tại trường đại học Dartmouth bởi 1 nhóm cácnhà khoa học Tại đây, họ đã nói về tầm nhìn phát triển của ngành AI rằng mong muốntạo ra được những cái máy có thể sử dụng ngôn ngữ làm việc với các khái niệm trừutượng và từ đó AI được coi là 1 ngành độc lập
- Những năm 1980, do sự phát triển của nhiều công trình nghiên cứu, ngành AI bứtphá và trở thành lĩnh vực công nghiệp
- Năm 1995, với sự bùng nổ của internet, nhu cầu của con người về intelligent agents(chatbots, search bots, …) ngày càng nhiều
- Hiện tại, kho dữ liệu số mà con người tạo ra ngày càng lớn, ta có thể tạo ra những AIthông minh có thể đạt tới human-level AI và sau này có thể tốt hơn
2.5 Luật lệ và đạo đức
- Như mọi ngành nghề khác, vấn đề đạo đức và luật lệ luôn được đặt lên hàng đầu
- 3 vấn đề chính trong chuẩn đạo đức: Virtue ethics (đạo đức về đức hạnh),Deontology (đạo lý), consequentialism (hậu quả)
- Luật lệ trong phân tích dữ liệu: statutory law (Luật quy định), common law (luật lệthông thường), constitunional law (luật liên bang)
- IRAC - Một phương pháp truyền thống để phân tích các vấn đề pháp lý bao gồm:Issue (Vấn đề), Rule (Quy tắc), Application (Ứng dụng), Conclusion (Kết luận)
2.6 Các hướng tiếp cận AI
Có 4 hướng tiếp cận AI:
6
Trang 7- Xây dựng AI suy nghĩ giống con người (Thinking humanly)
- Xây dựng AI hành động giống con người (Acting humanly)
- Xây dựng AI suy nghĩ có lý trí (Thinking rationally)
- Xây dựng AI hành động có lý trí (Acting rationally)
- Computer engineering (kỹ thuật máy tính)
- Control theory (thuyết kiểm soát)
7
Trang 8CHƯƠNG 3: TÌM HIỂU VỀ CÁC THUẬT TOÁN 3.1 CONCEPTUAL ALGORITHM
Trang 93.1.2 Graph Search
Ý tưởng thuật toán: Giống như Tree Search nhưng khi đã chọn 1 leaf node để mở rộng tathêm nó vô explored set (tập hợp các node đã được khám phá) để không phải chọn lại cácnode đó lần sau
Giải thuật:
Ví dụ:
9
Trang 103.2 Uninformed Search (Blind Search)
Trang 11NGUỒN: bài tập tuần 6 thầy Trần Nhật Quang
https://drive.google.com/drive/folders/1pxIvjwvWC7fd-C4tNvB_GJqtJxMklxOn
3.2.2 Uniform-cost search algorithm
Thuật toán Uniform-cost search (thuộc chiến lược tìm kiếm mù) là một thuật toánduyệt, tìm kiếm trên một cấu trúc cây, hoặc đồ thị có trọng số Việc tìm kiếm bắt đầu tạiroot node và tiếp tục bằng cách duyệt các node tiếp theo với trọng số hay chi phí thấpnhất tính từ root node
Giải thuật:
11
Trang 123.2.3 Depth-first search (DFS)
DFS là một thuật toán tìm kiếm theo chiều sâu Bắt đầu duyệt tại root node và pháttriển xa nhất có thể theo mỗi nhánh, khi nhánh đã duyệt hết, lùi về từng node để tìm vàduyệt những nhánh tiếp theo Quá trình duyệt chỉ dừng lại khi tìm thấy goal state hoặc đãduyệt hết tất cả các node
12
Trang 14Nếu so sánh với BFS thì DFS sẽ xử lý tốt hơn trong các không gian phức tạp vì nó
sẽ duyệt qua hết tất cả các node để tìm goal state, nhưng bù lại nó lại kém tối ưu hơn vìkhi duyệt qua tất cả node, DFS sẽ duyệt qua các đỉnh không cần thiết nên không nên ápdụng trong trường hợp số node là quá lớn
3.2.4 Depth-limited search
Giống như DFS, DLS là một thuật toán tìm kiếm giới hạn độ sâu, phát triển cácnode theo chiều sâu nhưng có giới hạn (limit) để tránh duyệt phải các đỉnh không cầnthiết như trong thuật toán Depth-first search
Nguồn ảnh: https://bloglaptrinh2016.wordpress.com/2016/06/09/dls-thuat-toan-tim-kiem-gioi-han-do-sau/
Giải thuật:
14
Trang 15Vấn đề của DLS: nếu các goal node nằm ở độ sâu lớn hơn độ sâu giới hạn thì sẽ không tìm được lời giải.
Code demo:
Code thuật toán DFS để giải bài toán 8-puzzles
15
Trang 163.2.5 Iterative deepening search
- Là thuật toán tìm kiếm sâu dần, được đưa ra để giải quyết vấn đề của giải thuật limited search
Depth-Giải thuật:
- Thuật toán Iterative deepening search kết hợp hoàn hảo các lợi thế của cả first search và breadth-first search là vừa xử lý tốt các không gian phức tạp và vừatối ưu tốt
depth code demo:
code thuật toán IDS để giải bài toán 8-puzzles
3.3 Informed Search Algorithms
Thuật toán tìm kiếm informed
Dạng chung: giống như UNIFORM-COST-SEARCH nhưng thay thế PATH-COST = f(n)Giải thuật:
Function INFORMED-SEARCH(problem) returns a solution, or failure
node ← a node with STATE = pr1oblem.INITIAL-STATE, f(n)
frontier ← a priority queue ordered by f(n), with node as the only element
explored ← an empty set
Trang 17for each action in problem.ACTIONS(node.STATE) dochild ← CHILD-NODE(problem,node,action)
if child.STATE is not in explored or frontier then
frontier ← INSERT(child, frontier)else if child.STATE is in frontier with higher f(n) then
replace that frontier node winth child
3.3.1 Best-First Search
- Chọn f(n) = h(n): heuristic function (tức là phỏng đoán)
- heuristic function h(n) là phỏng đoán từ nút n cho đến nút goal
Example: straifht-line dist heuristic (bài toán tìm đường)
- Lấy khoảng cách từ node n đến goal là bao nhiêu => tức là ước lượng quãng đường cònlại phải đi là bao nhiêu
- Từ đó ta tìm được giải pháp tốt hơn và nhanh hơn
- Nhưng Best-first search thì “Not optimal” vì:
f(n) = h(n): thiếu PATH-COST
“bad” heuristic (tức là chúng ta ước lượng sai)
- Để cải tiến nhằm giúp thuật toán trở nên “optimal” ta có thuật toán A* search
3.3.2 A* Search
- Đây là 1 thuật toán nổi tiếng bởi vì nó chạy hiệu quả
- f(n) = n.PATH-COST + h(n)
n: initial state
- A* SEARCH là thuật toán “complete” và “optimal*”
Optimal*: h(n) phải là consisdent heuristic
- 1 heuristic được coi là consistent phải thỏa điều kiện sao đây:
- Nếuh(n) càng lớn gần bằng actual cost thì thuật toán chạy còn nhanh
- A* có thể được coi như một phiên bản nâng cấp cải thiện cảu uniform-cost-search
mà uniform-cost-search lại lại một biến thể của breadth-first-search thì nó có một vấn đề
17
h(n) ≤ cost(n, n’) + h(n’), for every node n and its successor n’
Trang 18là ey ngốn hết bộ nhớ nhưng vẫn chưa tìm được solution Và đề giải quyết cho vấn đề đóthì có 1 số thuật toán cải thiện.
- Ví dụ: SMA* (simplified memory - bounded A*): thì thuật toán này giúp khôngtràng bộ nhớ bằng cách nó sẽ loại bỏ đi những cái note f(n) quá lớn
- Code demo: dùng thuật toán A* để giải bài toán tìm đường đi
https://drive.google.com/drive/folders/1xYCqUHxCjpOVhmGjcvkpH0ns25L-kQ8x
3.4 SEARCHING IN MORE COMPLEX ENVIROMENTS
3.4.1 LOCAL SEARCH- SEARCHING FOR GOAL STATE
- Local search là các thuật toán tìm kiếm cục bộ hay địa phương
- Cách thức tìm: tập trung vô những state ở trạng thái hiện tại hoặc gần đó thôi
- Muc tiêu là tìm ra: goal state
- Local search chỉ sử dụng 1 current node và các neighbor nên sử dụng “memory” nhỏvậy nên nó có thể giải quyết các giải pháp: infinite, continous
3.4.1.1 HILL-CLIMBING SEARCH
- Ý tưởng của thuật toán là: chọn best neighbor xung quanh current state của mình để
mình đi
- Thuật toán này sẽ trả về state là maximum nhưng chỉ là local maximum => thuật toán
này không phải là optimal, nó không đảm bảo được cho mình tìm được các global
18
Trang 19- Hill-Climbing search có 2 vấn đề là: quá nhiều “successors” và bị kẹt ở 1 vị trí nào đó
khiến cho nó không tìm được global (local maximum or plateaux - mặt phẳng bằngngang)
- Ta giải quyết vấn đề:
o Too many successors: ta có phiến bản cải tiến của hill-climbing search làstochastic hill climbing- thuật toán này tạo ra ngẫu nhiên successor nếu cải thiệnthì nó lấy còn không thì nó tạo ra successor ngẫu nhiên khác
o Hill-climbing offen gets stuck at local maximum or plateaux:
To overcome plateaux:
Allow sideways moves: cho phép di chuyển ngang
Note: cần giới hạn số lần di chuyển ngang, vì nếu gặp mặt ngang localmaximum thì nó sẽ di chuyển qua di chuyển lại tạo nên vòng lặp vô tận
To overcome local optimal:
Method 1: Random-restart hill climbing: chạy lại nhiều lần với initial statekhởi tạo ngẫu nhiên
Method 2: Local beam search
Instead of trying k random searches sequentially, do themsimultaneously (chạy đồng thời các searches)
Local beam search: not just simultaneously (không những chạy độngthời mà nó còn chạy đồng bộ để tìm ra best of all search)
Nhưng local beam search củng gặp 1 vấn đề như hill-climbing search làmany successor và để giải quyết vấn đề này thì người ta đề xuất 1phương pháp là stochastic beam search: thì nó kết hợp local beamsearch và stochastic hill climbing như trên Phương pháp này thì: khôngtìm max và chọn ngẫu nhiên successor kèm theo xác suất
Method 3: Simulated annealing:
Annealing: harden metals by heating them, then gradually cooling them,then gradually cooling them → Material will reach a low-enegycrystalline state(goal)
Downhill-climbing:
3.4.1.2 SIMULATED ANNEALING ALGORITHM
- Ý thưởng thuật toán: thuật toán luyện kim tương tự quá trình luyện kim vật lý Trong
luyện kim kim loại được đốt nóng tới nhiệt độ cao và làm lạnh từ từ để kết cấu của nócứng lại, có thể làm tăng kích thước và giảm khuyết điểm của vật thể
- Giải thuật:
19
Trang 203.5 SEARCHING IN NONDETERMINISTIC ENVIROMENTS
- Nondeterministic có nghĩa là 1 action có thế ra nhiều cái successor khác nhau
- AND-OR SEARCH TREES, có 2 loại node:
OR nodes: là những cái state như lúc trước đã học
AND nodes: có thể hình hình như là đường dẫn tới tất cả successor
- AND-OR graph search algorithm (depth-first version)
3.6 SEARCH IN PARTIALLY OBSERVABLE ENVIROMENTS
- Partially observable này là trường hợp con agent không cảm nhận đủ về môi trường để
nó biết được cái state của nó đang là gì
3.6.1 SEARCHING WITH NO OBSERVATION
20
Trang 21- Trong thực tế bài toán này gọi là “Sensorless” tức là không có thông tin nào về môitrường hết.
- Agent dạng này thì vấn đề nó giải quyết được rất ít hoặc có thể vấn đề nó giải quyếtđược không hiệu quả bằng việc trang bị sensor cho nó Nhưng mà trong nhiều trường hợp
nó rất hữu ít
- Ý tưởng để giải quyết bài toán này là tìm cách xây dựng belief state cho con agent củamình, sau khi có belief state (trạng thái niềm tin) thì nó có thể dùng các thuật toán fullyobservable để nó chạy
- Belief state: set of physical states (tập hợp trạng thái vật lý của con agent tại vị trí nóđang đứng)
3.6.2 SEARCHING FOR PARTIALLY OBSERVABLE PROBLEMS
So sánh với Offline Search
GIỐNG: cả online search và offline search đều có Initial state, Possibleactions, Goal test, Cost
KHÁC: offline search có Transition model, trong khi online search thì không
NGOÀI RA:
Offline search: thường được đưa vào 1 môi trường mô phỏng đãtìm ra solution và agent dùng solution đó để chạy trong thực tế Khôngthể áp dụng vào môi trường thực tế (rộng hơn, phức tạp hơn), vì agentkhông có khả năng tự học về môi trường
21