Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
1,45 MB
Nội dung
TRƯỜ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 Ngơ Phi Lít Nguyễn Đức Thuận GIẢNG VIÊN: TRẦN NHẬT QUANG MỤC LỤC CHƯƠNG 1: TÌM HIỂU VỀ ĐẠO VĂN 1.1 Khái niệm 1.2 Các hình thức đạo văn phổ biến 1.3 Phòng tránh đạo văn CHƯƠNG 2: TÌM HIỂU VỀ TRÍ TUỆ NHÂN TẠO 2.1Khái niệm Artificial Intelligence (AI) 2.2Machine learning (học máy) 2.3Reinforcement Learning (học tăng cường) 2.4Lịch sử AI 2.5Luật lệ đạo đức 2.6Các hướng tiếp cận AI 2.7Nền tảng cho AI CHƯƠNG 3: TÌM HIỂU VỀ CÁC THUẬT TỐN 3.1 CONCEPTUAL ALGORITHM 3.1.1 Tree Search 3.1.2Graph Search 3.2Uninformed Search (Blind Search) 3.2.1Breadth-first Search 3.2.2Uniform-cost search algorithm 3.2.3Depth-first search (DFS) 3.2.4Depth-limited search 3.2.5Iterative deepening search 3.3Informed Search Algorithms 3.3.1Best-First Search 3.3.2 A* Search 3.4 SEARCHING IN MORE COMPLEX ENVIROMENTS 3.4.1 LOCAL SEARCH- SEARCHING FOR GOAL STATE 3.5 SEARCHING IN NONDETERMINISTIC ENVIROMENTS 3.6 SEARCH IN PARTIALLY OBSERVABLE ENVIROMENTS 3.7 Offline Search [3] 3.8 Online Search [4] 3.8.1 Online Depth-First Search Agent 3.8.2 3.9 Learning Real Time-Time A* agent Consistency 3.10 Constraint satisfaction problems (CSP) [6] 3.11 AC-3 alorgithm 3.12 Backtracking search algorithm TÀI LIỆU THAM KHẢO CHƯƠNG 1: TÌM HIỂU VỀ ĐẠO VĂN 1.1.1 Khái niệm Đạo văn - tiếng Anh Plagiarism, tiếng Latin nghĩa kẻ bắt cóc, hình thức chiếm hữu cách sai trái "ngôn ngữ, suy nghĩ, ý tưởng, hay cách diễn đạt" người khác xem chúng tự tạo Khái niệm đạo văn chưa có định nghĩa quy tắc rõ ràng [1] Tại Việt Nam, đạo văn vấn nạn nhiều lĩnh vực như: giáo dục, khoa học, xuất bản… Tuy nhiên, chưa có chương trình học thuật đào tạo cho học sinh đạo văn, cách phịng tránh thói quen đạo văn từ cịn nhỏ 1.2 Các hình thức đạo văn phổ biến - Sử dụng hay nhiều đoạn văn từ cơng trình nghiên cứu 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 người khác biến thành - Có trích dẫn khơng ghi hết nguồn trích dẫn từ đâu, từ - Sử dụng thành trước để phục vụ cho nghiên cứu - Vô ý cố ý ghi sai nguồn 1.3 Phòng tránh đạo văn Cách tốt để tránh việc đạo văn trích dẫn nguồn bạn sử dụng lời trích, giải cách chi tiết cụ thể Đây cách bạn kiểm tra lại thơng tin tham khảo cách nhanh chóng muốn chỉnh sửa hay so sánh tước nộp Hãy biết trân trọng thành lao động người khác bạn kỳ vọng người khác tôn trọng nỗ lực bạn Xã hội phát triển có sáng tạo, phát minh sáng kiến CHƯƠ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) trí thơng minh nhân tạo thể máy móc, khác với trí thơng minh tự nhiên người hay lồi sinh vật khác thể [2] Thơng thường, thuật ngữ "trí tuệ nhân tạo" thường sử dụng để mơ tả máy móc (hoặc máy tính) bắt chước chức "nhận thức" mà người liên kết với tâm trí người, "học tập" "giải vấn đề" Cách hoạt động AI: ban đầu agent (đối tượng) tác động lên environment (mơi trường) thơng qua actions (các hành động), sau environment trả cho agents percepts/observations (các quan sát) Với action với môi trường, agent thu percepts/observations thông qua sensors, percepts tập hợp lại thành chuỗi gọi percepts sequence Trong lý thuyết mà tìm hiểu, AI chia làm lĩnh vực: Machine Learning (học máy) 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ĩnh vực trí tuệ nhân tạo liên quan đến việc nghiên cứu xây dựng kĩ thuật cho phép hệ thống "học" tự động từ liệu để giải vấn đề cụ thể Machine Learning gồm có mơ hình máy học: Supervised Learning (học có giám sá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ĩnh vực machine learning liên quan đến cách máy học phải thực hành động môi trường để tối đa hóa phần thưởng tích lũy (reward) Cách hoạt động: ban đầu agents (players/learners) tác động lên environment (môi trường) thơng qua actions (các hành động), sau environment trả cho agents thông số: reward (thưởng) observations (những quan sát) Qua agents học cập nhật kiến thức 2.4 Lịch sử AI - Năm 1956, workshop tổ chức trường đại học Dartmouth nhóm nhà khoa học Tại đây, họ nói tầm nhìn phát triển ngành AI mong muốn tạo máy sử dụng ngơn ngữ làm việc với khái niệm trừu tượng từ AI coi ngành độc lập - Những năm 1980, phát triển nhiều công trình nghiên cứu, ngành AI bứt phá trở thành lĩnh vực công nghiệp - Năm 1995, với bùng nổ internet, nhu cầu người intelligent agents (chatbots, search bots, …) ngày nhiều - Hiện tại, kho liệu số mà người tạo ngày lớn, ta tạo AI thơng minh đạt tới human-level AI sau tốt 2.5 Luật lệ đạo đức - Như ngành nghề khác, vấn đề đạo đức luật lệ đặt lên hàng đầu - vấn đề chuẩn đạo đức: Virtue ethics (đạo đức đức hạnh), Deontology (đạo lý), consequentialism (hậu quả) - Luật lệ phân tích 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 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ó hướng tiếp cận AI: - Xây dựng AI suy nghĩ giống người (Thinking humanly) Xây dựng AI hành động giống 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) 2.7 Nền tảng cho AI - Philosophy (triết học) - Math (toán học) - Economics (kinh tế học) - Neuroscience (khoa học thần kinh) - Psychology (vật lý) - Linguistics (ngơn ngữ học) - Computer engineering (kỹ thuật máy tính) - Control theory (thuyết kiểm sốt) CHƯƠNG 3: TÌM HIỂU VỀ CÁC THUẬT TOÁN 3.1 CONCEPTUALALGORITHM 3.1.1 Tree Search Ý tưởng thuật toán: khởi tạo Frontier initial state sau ta vào vịng lặp Trong vịng lặp chọn leaf node để mở rộng loại khỏi frontier Tiếp tục chọn node mở rộng leaf node tìm node goal state Frontier rỗng mà khơng tìm kết vịng lặp dừng Giải thuật: Ví dụ: 3.1.2 Graph Search Ý tưởng thuật tốn: Giống Tree Search chọn leaf node để mở rộng ta thêm vơ explored set (tập hợp node khám phá) để chọn lại node lần sau Giải thuật: Ví dụ: 3.2 Uninformed Search (Blind Search) 3.2.1 Breadth-first Search Là thuật tốn tìm kiếm theo chiều rộng, từ root node mở rộng đầu tiên, node kế root node mở rộng tiếp tục lan rộng Giải thuật: Demo: sử dụng beadth-first search để giải toán 8-puzzle 10 Nếu so sánh với BFS DFS xử lý tốt khơng gian phức tạp duyệt qua hết tất node để tìm goal state, bù lại lại tối ưu duyệt qua tất node, DFS duyệt qua đỉnh không cần thiết nên không nên áp dụng trường hợp số node lớn 3.2.4 Depth-limited search Giống DFS, DLS thuật tốn tìm kiếm giới hạn độ sâu, phát triển node theo chiều sâu có giới hạn (limit) để tránh duyệt phải đỉnh khơng cần thiết thuật tố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 Vấn đề DLS: goal node nằm độ sâu lớn độ sâu giới hạn khơng tìm lời giải Code demo: Code thuật toán DFS để giải toán 8-puzzles 15 3.2.5 Iterative deepening search - Là thuật tốn tìm kiếm sâu dần, đưa để giải vấn đề giải thuật Depthlimited search Giải thuật: - Thuật tốn Iterative deepening search kết hợp hồn hảo lợi depthfirst search breadth-first search vừa xử lý tốt không gian phức tạp vừa tối ưu tốt - code demo: code thuật toán IDS để giải toán 8-puzzles 3.3 Informed Search Algorithms Thuật tốn tìm kiếm informed Dạng chung: giống UNIFORM-COST-SEARCH thay 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 loop if EMPTY?(frontier) then return failure node ← POP(frontier) /* Choose the lowest-cost node in frontier*/ if problem.GOAL-TEST(node.STATE) then return SOLUTION(node) add.node.STATE to explored 16 for each action in problem.ACTIONS(node.STATE) child ← 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 đoán) - heuristic function h(n) đoán từ nút n nút goal Example: straifht-line dist heuristic (bài tốn tìm đường) - Lấy khoảng cách từ node n đến goal => tức ước lượng quãng đường lại phải - Từ ta tìm giải pháp tốt nhanh - Nhưng Best-first search “Not optimal” vì: f(n) = h(n): thiếu PATH-COST “bad” heuristic (tức ước lượng sai) - Để cải tiến nhằm giúp thuật tốn trở nên “optimal” ta có thuật tốn A* search 3.3.2 A* Search - Đây thuật tốn tiếng chạy hiệu - f(n) = n.PATH-COST + h(n) n: initial state - A* SEARCH thuật toán “complete” “optimal*” Optimal*: h(n) phải consisdent heuristic - heuristic coi consistent phải thỏa điều kiện đây: h(n) ≤ cost(n, n’) + h(n’), for every node n and its successor n’ - Nếu h(n) lớn gần actual cost thuật tốn chạy cịn nhanh A* coi phiên nâng cấp cải thiện cảu uniform-cost-search mà uniform-cost-search lại lại biến thể breadth-first-search có vấn đề - 17 ey ngốn hết nhớ chưa tìm solution Và đề giải cho vấn đề có số thuật tốn cải thiện - Ví dụ: SMA* (simplified memory - bounded A*): thuật tốn giúp khơng tràng nhớ cách loại bỏ note f(n) lớn - Code demo: dùng thuật tốn A* để giải tốn tìm đường 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 thuật tốn tìm kiếm cục hay địa phương - Cách thức tìm: tập trung vơ state trạng thái gần thơi - Muc tiêu tìm ra: goal state - Local search sử dụng current node neighbor nên sử dụng “memory” nhỏ nên giải giải pháp: infinite, continous 3.4.1.1HILL-CLIMBING SEARCH - Ý tưởng thuật toán là: chọn best neighbor xung quanh current state để Thuật tốn trả state maximum local maximum => thuật tốn khơng phải optimal, khơng đảm bảo cho tìm global 18 - - Hill-Climbing search có vấn đề là: nhiều “successors” bị kẹt vị trí khiến cho khơng tìm global (local maximum or plateaux - mặt phẳng ngang) Ta giải vấn đề: o Too many successors: ta có phiến cải tiến hill-climbing search stochastic hill climbing- thuật toán tạo ngẫu nhiên successor cải thiện lấy cịn khơng tạo 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, gặp mặt ngang local maximum 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 state khởi tạo ngẫu nhiên Method 2: Local beam search Instead of trying k random searches sequentially, them simultaneously (chạy đồng thời searches) Local beam search: not just simultaneously (không chạy động thời mà cịn chạy đồng để tìm best of all search) Nhưng local beam search củng gặp vấn đề hill-climbing search many successor để giải vấn đề người ta đề xuất phương pháp stochastic beam search: kết hợp local beam search stochastic hill climbing Phương pháp thì: khơng tìm max 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-enegy crystalline state(goal) Downhill-climbing: 3.4.1.2SIMULATED ANNEALING ALGORITHM - Ý thưởng thuật toán: thuật toán luyện kim tương tự trình luyện kim vật lý Trong luyện kim kim loại đốt nóng tới nhiệt độ cao làm lạnh từ từ để kết cấu cứng lại, làm tăng kích thước giảm khuyết điểm vật thể - Giải thuật: 19 3.5 SEARCHING IN NONDETERMINISTIC ENVIROMENTS - Nondeterministic có nghĩa action nhiều successor khác - AND-OR SEARCH TREES, có loại node: OR nodes: state lúc trước học AND nodes: hình đường dẫn tới tất successor - AND-OR graph search algorithm (depth-first version) 3.6 SEARCH IN PARTIALLY OBSERVABLE ENVIROMENTS - Partially observable trường hợp agent không cảm nhận đủ môi trường để biết state 3.6.1 SEARCHING WITH NO OBSERVATION 20 - Trong thực tế tốn gọi “Sensorless” tức khơng có thơng tin mơi trường hết - Agent dạng vấn đề giải vấn đề giải khơng hiệu việc trang bị sensor cho Nhưng mà nhiều trường hợp hữu - Ý tưởng để giải toán tìm cách xây dựng belief state cho agent mình, sau có belief state (trạng thái niềm tin) dùng thuật tốn fully observable để chạy - Belief state: set of physical states (tập hợp trạng thái vật lý agent vị trí đứng) 3.6.2 SEARCHING FOR PARTIALLY OBSERVABLE PROBLEMS - Có số sensor nhỏ - Gồm thành phần: State prediction Observation State update 3.7 Offline Search [3] Offline Search: cung cấp toàn liệu vấn đề từ đầu yêu cầu để đưa câu trả lời giúp giải vấn đề tay Trong nguyên cứu hoạt động, lĩnh vực mà thuật toán trực tuyến phát triển gọi tối ưu hóa trực tuyến 3.8 Online Search [4] Online Search: thuật tốn xử lý mảnh đầu vào theo kiểu nối tiếp, nghĩa theo thứ tự đầu vào đưa vào thuật tốn, mà khơng có tồn đầu vào có sẵn từ đầu So sánh với Offline Search GIỐNG: online search offline search có Initial state, Possible actions, Goal test, Cost KHÁC: offline search có Transition model, online search khơng NGỒI RA: Offline search: thường đưa vào mơi trường mơ tìm solution agent dùng solution để chạy thực tế Không thể áp dụng vào môi trường thực tế (rộng hơn, phức tạp hơn), agent khơng có khả tự học môi trường 21 VD: áp dụng vào xe tự lái, xe tự động đưa bạn từ chỗ làm nhà tích hợp sẵn đồ, dựa vào đồ chọn đường ngắn để nhà phát kẹt xe, chọn đường khác Online search: khác với Offline search, agent đưa thẳng vào môi trường thực tế để vừa chạy vừa tự học Vì thuật tốn hồn tồn áp dụng vào mơi trường phức tạp phức tạp máy học nhiều thông minh VD: áp dụng cho xe tự hành địa điểm mà người chưa đặt chân tới đặt chân tới như: vùng cực, mặt trăng, mộc, Robot tự di chuyển tự phân tích địa hình từ vẽ lại cho đồ hoàn chỉnh 3.8.1 Online Depth-First Search Agent Mỗi bước chạy (lần agent), quan sát s’ state mơi trường, đứng trạng thái state ta nên có action thuật tốn sau giúp ta làm điều đó: 3.8.2 Learning Real Time-Time A* agent Cũng thuật toán online agent nên kết trả action, cho vào s’ : cho biết state đứng, mục đích khơng tạo action mà cịn tạo result, thuật tốn khơng sử dụng unbacktracked untried giống depth first mà tạo bảng H: ước lượng quãng đường từ trạng thái s đích, đạt đến đích dừng lại 22 3.9 Consistency Node consistency: constraint biến Arc consistency: constraint biến, số trường hợp vơ nghiệm khơng giúp thu hẹp domains dùng consistency mạnh Path consistency Path consistency: constraint biến Lấy biến gán giá trị Xi=a,Xj=b, cố gắn tìm biến thứ cịn lại Xm Nếu tìm thỏa mãn, khơng tìm tồn cặp giá trị a, b làm cho inconsistent không thỏa path consistency K-consistency: Tương tự Node, Arc, Path Lấy k-1 biến cố gắn tìm biến thứ k, tìm đạt, khơng khơng đạt mức độ 3.10 Constraint satisfaction problems (CSP) [6] Là tốn tìm phép gán state mà tất giá trị thỏa mãn ràng buộc giải toán State khối, tập hợp biến S1={v1= , v2= ,}, state có chứa nhiều biến, biến có giá trị có nhiều ràng buộc VD: x1>0, x2 chia hết 2, x1+x2