1.4 Cách phòng tránh đạo vănCách tốt nhất để tránh việc đạo văn là hãy trích dẫn nguồn tham khảo một cách chính xác hoặc có thể tự viết ý tưởng của riêng mình, không sử dụng nội dung của
Phan Phục Nghi 20110681
Chương 1: Tìm hiểu về đạo văn 1
1.2 Các hình thức đạo văn 1
1.3 Hậu quả của đạo văn 1
1.4 Cách phòng tránh đạo văn 2
Chương 2: Tìm hiểu về Trí tuệ nhân tạo 2
2.5 Các hướng tiếp cận AI: 5
Chương 3 : TÌM HIỂU VỀ CÁC THUẬT TOÁN 6
3.4 SEARCHING IN MORE COMPLEX ENVIROMENTS 15
3.4.1 LOCAL SEARCH- SEARCHING FOR GOAL STATE 15
3.6 Searching in non-fully-observable Environments 19
3.7 Searching with no observation (agent không có bất kỳ thông tin nào về môi trường) .20
3.8 Searching for partially observable problems 20
3.9 SEARCHING WITH NO TRANSITION MODEL – ONLINE SEARCH 21
3.9.1 Online depth-first search agent 22
3.9.2 Online A* search: LRTA* (Learning Real-Time A*) algorithm 23
3.11 Solve CSPs using Constraint Propagation 24
Chương 1: Tìm hiểu về đạo văn
1.1 Khái niệm Đạo văn (tiếng Anh: plagiarism) là chiếm hữu một cách sai trái, ăn cắp, công bố 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 1
1.2 Các hình thức đạo văn
Cố ý lấy đi thành quả khoa học của người khác và xem như là của chính mình;
Vô ý lấy đi thành quả khoa học của người khác và xem như là của chính mình;
Trộn thông tin từ các nguồn khác nhau;
Viết và sử dụng các từ và cụm từ từ nhiều nguồn và ghép chúng lại với nhau trong câu mới;
Không trích dẫn đúng tài liệu nguồn;
Không xin phép ai đó khi bạn sử dụng câu từ của họ trong sản phẩm của bạn;
Không trích dẫn chính xác nội dung của bạn nếu bạn đã sử dụng nó trong một ngữ cảnh khác 2
1.3 Hậu quả của đạo văn
Bị kết tội đạo văn, dù cố ý hay vô ý, đều có tác dụng lâu dài và thậm chí có thể ảnh hưởng đến khả năng xuất bản một công trình nghiên cứu.của người nghiên cứu. Hậu quả của đạo văn bao gồm bị đánh rớt về điểm số, quản chế học tập, lưu vết trên hồ sơ cá nhân vĩnh viễn Hậu quả tồi tệ nhất là bị đuổi khỏi Trường hoặc bị sa thải trong công việc 3
1 “ Đ o văn ạ ”, https://vi.wikipedia.org/wiki/Đạo_văn
2 ,3 “ Đ o văn ”, htps://lib.tdtu.edu.vn/vi/huong-dan/dao-van ạ
1.4 Cách 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 tham khảo một cách chính xác hoặc có thể tự viết ý tưởng của riêng mình, không sử dụng nội dung của người khác hay nội dung có sẵn trên Internet.
Chương 2: Tìm hiểu về Trí tuệ nhân tạo
Trong khoa học máy tính, trí tuệ nhân tạo hay AI (tiếng Anh: artificial intelligence), đôi khi được gọi là trí thông minh nhân tạo, là trí thông minh được thể hiện bằng máy móc, trái ngược với trí thông minh tự nhiên của con người. Thông thường, thuật ngữ "trí tuệ nhân tạo" thường được sử dụng để mô tả các máy móc (hoặc máy tính) có khả năng bắt chước các chức năng "nhận thức" mà con người thường phải liên kết với tâm trí, như "học tập" và "giải quyết vấn đề" 4
Cách hoạt động: ban đầu agent (đối tượng) sẽ tác động lên environment (môi trườ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.
Machine learning (ML) hay máy học là một nhánh của trí tuệ nhân tạo (AI), nó là một lĩnh vực nghiên cứu cho phép máy tính có khả năng cải thiện chính bản thân chúng dựa trên dữ liệu mẫu (training data) hoặc dựa vào kinh nghiệm (những gì đã được học) Machine learning có thể tự dự đoán hoặc đưa ra quyết định mà không cần được lập trình cụ thể 5
Supervised learning: học có giám sát
Unsupervised learning: học không giám sát
Deep Learning là tập hợp con của Machine Learning và nó có tác dụng hỗ trợ cho máy tính tự huấn luyện chính nó để có thể thực hiện mọi tác vụ tương tự như con người Điều này chính là giúp máy tính bắt chước con người cách học hỏi và suy nghĩ
4 “Trí tu nhân t o”, ệ ạ htps://vi.wikipedia.org/wiki/Trí_tu _nhân_t o ệ ạ
5 “Machine learning là gì?”, htps://topdev.vn/blog/machine-learning-la-gi/
Các hệ thống của Deep Learning có khả năng cải thiện được những hiệu suất của chúng với quyền truy cập vào dữ liệu sẽ được nhiều hơn.
- 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ả).
- Idiom: You reap what you sow (Gieo nhân nào gặt quả nấy)
- Một kết luận từ công trình nghiên cứu của Dr.Kim (Đại học Havard) về y tế lâm sàng cho rằng:
“growing evidence suggests that volunteers reap health and well-being benefits from their altruistic activities.”
Dữ liệu được lấy từ 12.998 người tham gia Nghiên cứu Sức khỏe và Hưu trí - một mẫu lớn, đa dạng, có triển vọng và đại diện quốc gia cho cộng đồng những người trưởng thành ở Hoa Kỳ.
Trong thời gian theo dõi 4 năm, những người tham gia tình nguyện ≥ 100 giờ / năm (so với 0 giờ / năm) giảm nguy cơ tử vong và các hạn chế về chức năng thể chất, hoạt động thể chất cao hơn và kết quả tâm lý xã hội tốt hơn 6
Golden Rules: qui luật được mọi người trên thế giới xem là quy luật ngắn gọn nhất để mọi người có thể làm theo, noi theo, làm người gương mẫu.
6 Kim, E S., Whillans, A V., Lee, M T., Chen, Y., & VanderWeele, T J (2020) Volunteering and subsequent health and well-being in older adults: an outcome-wide longitudinal approach American Journal of Preventive Medicine
Nguồn ảnh: Tom Zeller Jr., undark.org
- 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).
- Các luật chi phối dữ liệu:
Mỹ: privacy laws - luật riêng tư (HIPAA 1996, COPPA 1998, FACTA
2003), Negligence laws – luật về việc thiếu trách nhiệm, bất cẩn. Liên minh Châu Âu: General Data Protection Regulation (GDPR), bao gồm một vài luật chính:
Việc phân tích dữ liệu phải công bằng.
Bạn cần quyền để xử lý dữ liệu.
Các cá nhân được phép truy cập vào dữ liệu cá nhân và sửa nếu nó không chính xác.
IRAC - Một phương pháp truyền thống để phân tích các vấn đề pháp lý:
Issue: xác định vấn đề pháp lý
Rule: xác định các luật, quy tắc áp dụng cho vấn đề
Apply: phân tích vấn đề theo quy tắc
Conclusion: đưa ra kết luận pháp lý cho vấn đề
2.5 Các hướng tiếp cận AI:
Suy nghĩ giống con người (Thinking humanly)
Suy nghĩ có lý trí (Thingking relationly)
Hành động giống con người (Acting humanly)
Hành động có lý trí (Ating relationly: đưa ra 1 solution gồm một chuỗi các actions)
7 Ethics and Law in Data and Analytics, by Microsoft
- Neuroscience (khoa học thần kinh)
- Computer engineering (kỹ thuật máy tính)
- Control theory (thuyết kiểm soát) 8
- Năm 1956, John McCarthy tổ chức hội nghị Dartmouth lần đầu tiên với sự tham gia của nhiều nhà khoa học trên thế giới Hội nghị thảo luận về trí tuệ nhân tạo và lĩnh vực nghiên cứu mới ra đời Mục đích của lĩnh vực này được tạo ra là phát triển các máy móc có thể mô phỏng mọi khía cạnh của trí thông minh 9
- 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ứt phá và ứng dụng nhiều trong lĩnh vực công nghiệp và tự động hoá, tuy nhiên các tiến trình nghiên cứu bị chậm lại vì nhiều nguyên nhân, sự kỳ vọng vào công nghệ đã đem lại nỗi thất vọng quá lớn và sự quan tâm của mọi người đến AI cũng bị sụt giảm dần và AI bị lãng quên.
- 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
AI thông minh có thể đạt tới human-level AI và sau này có thể tốt hơn.
Chương 3 : TÌM HIỂU VỀ CÁC THUẬT TOÁN
-Trong khoa học máy tính , cây tìm kiếm là một cấu trúc dữ liệu dạng cây được sử dụng để định vị các khóa cụ thể từ bên trong một tập hợp Để một cây hoạt động như một cây tìm kiếm, khóa cho mỗi nút phải lớn hơn bất kỳ khóa nào trong cây con ở bên trái và nhỏ hơn bất kỳ khóa nào trong cây con ở bên phải Ưu điểm của cây tìm kiếm là thời gian tìm kiếm hiệu quả của chúng do cây được cân bằng hợp lý, nghĩa là các ở hai đầu có độ sâu tương đương Các cấu trúc dữlá
8 To learn more: Section 1.2 of (Russell, 2016)
9 "LỊCH SỬ TRÍ TUỆ NHÂN TẠO (PHẦN 2)," Trí tuệ nhân tạo, 27/10/2019, https://trituenhantao.io/tin-tuc/lich- su-tri-tue-nhan-tao-phan-2/
5 liệu cây tìm kiếm khác nhau tồn tại, một số cấu trúc trong số đó cũng cho phép chèn và xóa các phần tử một cách hiệu quả, mà các hoạt động sau đó phải duy trì sự cân bằng của cây.
Cây tìm kiếm thường được sử dụng để triển khai một mảng kết hợp Thuật toán cây tìm kiếm sử dụng khóa từ cặp khóa giá trị để tìm một vị trí và sau đó ứng dụng lưu trữ toàn bộ cặp khóa-giá trị tại vị trí cụ thể đó 10
Nguồn : “Binary search tree”, https://www.gatevidyalay.com/binary-search-trees-data-structures
Tìm hiểu về đạo văn
Khái niệm
Đạo văn (tiếng Anh: plagiarism) là chiếm hữu một cách sai trái, ăn cắp, công bố 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 1
Các hình thức đạo văn
Cố ý lấy đi thành quả khoa học của người khác và xem như là của chính mình;
Vô ý lấy đi thành quả khoa học của người khác và xem như là của chính mình;
Trộn thông tin từ các nguồn khác nhau;
Viết và sử dụng các từ và cụm từ từ nhiều nguồn và ghép chúng lại với nhau trong câu mới;
Không trích dẫn đúng tài liệu nguồn;
Không xin phép ai đó khi bạn sử dụng câu từ của họ trong sản phẩm của bạn;
Không trích dẫn chính xác nội dung của bạn nếu bạn đã sử dụng nó trong một ngữ cảnh khác 2
Hậu quả của đạo văn
Bị kết tội đạo văn, dù cố ý hay vô ý, đều có tác dụng lâu dài và thậm chí có thể ảnh hưởng đến khả năng xuất bản một công trình nghiên cứu.của người nghiên cứu. Hậu quả của đạo văn bao gồm bị đánh rớt về điểm số, quản chế học tập, lưu vết trên hồ sơ cá nhân vĩnh viễn Hậu quả tồi tệ nhất là bị đuổi khỏi Trường hoặc bị sa thải trong công việc 3
1 “ Đ o văn ạ ”, https://vi.wikipedia.org/wiki/Đạo_văn
2 ,3 “ Đ o văn ”, htps://lib.tdtu.edu.vn/vi/huong-dan/dao-van ạ
Cách 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 tham khảo một cách chính xác hoặc có thể tự viết ý tưởng của riêng mình, không sử dụng nội dung của người khác hay nội dung có sẵn trên Internet.
Tìm hiểu về Trí tuệ nhân tạo
Khái niệm
Trong khoa học máy tính, trí tuệ nhân tạo hay AI (tiếng Anh: artificial intelligence), đôi khi được gọi là trí thông minh nhân tạo, là trí thông minh được thể hiện bằng máy móc, trái ngược với trí thông minh tự nhiên của con người. Thông thường, thuật ngữ "trí tuệ nhân tạo" thường được sử dụng để mô tả các máy móc (hoặc máy tính) có khả năng bắt chước các chức năng "nhận thức" mà con người thường phải liên kết với tâm trí, như "học tập" và "giải quyết vấn đề" 4
Cách hoạt động: ban đầu agent (đối tượng) sẽ tác động lên environment (môi trườ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.
Machine learning(học máy)
Machine learning (ML) hay máy học là một nhánh của trí tuệ nhân tạo (AI), nó là một lĩnh vực nghiên cứu cho phép máy tính có khả năng cải thiện chính bản thân chúng dựa trên dữ liệu mẫu (training data) hoặc dựa vào kinh nghiệm (những gì đã được học) Machine learning có thể tự dự đoán hoặc đưa ra quyết định mà không cần được lập trình cụ thể 5
Supervised learning: học có giám sát
Unsupervised learning: học không giám sát
Deep learning(học sâu)
Deep Learning là tập hợp con của Machine Learning và nó có tác dụng hỗ trợ cho máy tính tự huấn luyện chính nó để có thể thực hiện mọi tác vụ tương tự như con người Điều này chính là giúp máy tính bắt chước con người cách học hỏi và suy nghĩ
4 “Trí tu nhân t o”, ệ ạ htps://vi.wikipedia.org/wiki/Trí_tu _nhân_t o ệ ạ
5 “Machine learning là gì?”, htps://topdev.vn/blog/machine-learning-la-gi/
Các hệ thống của Deep Learning có khả năng cải thiện được những hiệu suất của chúng với quyền truy cập vào dữ liệu sẽ được nhiều hơn.
Ethics and Laws
- 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ả).
- Idiom: You reap what you sow (Gieo nhân nào gặt quả nấy)
- Một kết luận từ công trình nghiên cứu của Dr.Kim (Đại học Havard) về y tế lâm sàng cho rằng:
“growing evidence suggests that volunteers reap health and well-being benefits from their altruistic activities.”
Dữ liệu được lấy từ 12.998 người tham gia Nghiên cứu Sức khỏe và Hưu trí - một mẫu lớn, đa dạng, có triển vọng và đại diện quốc gia cho cộng đồng những người trưởng thành ở Hoa Kỳ.
Trong thời gian theo dõi 4 năm, những người tham gia tình nguyện ≥ 100 giờ / năm (so với 0 giờ / năm) giảm nguy cơ tử vong và các hạn chế về chức năng thể chất, hoạt động thể chất cao hơn và kết quả tâm lý xã hội tốt hơn 6
Golden Rules: qui luật được mọi người trên thế giới xem là quy luật ngắn gọn nhất để mọi người có thể làm theo, noi theo, làm người gương mẫu.
6 Kim, E S., Whillans, A V., Lee, M T., Chen, Y., & VanderWeele, T J (2020) Volunteering and subsequent health and well-being in older adults: an outcome-wide longitudinal approach American Journal of Preventive Medicine
Nguồn ảnh: Tom Zeller Jr., undark.org
- 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).
- Các luật chi phối dữ liệu:
Mỹ: privacy laws - luật riêng tư (HIPAA 1996, COPPA 1998, FACTA
2003), Negligence laws – luật về việc thiếu trách nhiệm, bất cẩn. Liên minh Châu Âu: General Data Protection Regulation (GDPR), bao gồm một vài luật chính:
Việc phân tích dữ liệu phải công bằng.
Bạn cần quyền để xử lý dữ liệu.
Các cá nhân được phép truy cập vào dữ liệu cá nhân và sửa nếu nó không chính xác.
IRAC - Một phương pháp truyền thống để phân tích các vấn đề pháp lý:
Issue: xác định vấn đề pháp lý
Rule: xác định các luật, quy tắc áp dụng cho vấn đề
Apply: phân tích vấn đề theo quy tắc
Conclusion: đưa ra kết luận pháp lý cho vấn đề
Các hướng tiếp cận AI
Suy nghĩ giống con người (Thinking humanly)
Suy nghĩ có lý trí (Thingking relationly)
Hành động giống con người (Acting humanly)
Hành động có lý trí (Ating relationly: đưa ra 1 solution gồm một chuỗi các actions)
Nền tảng của AI
7 Ethics and Law in Data and Analytics, by Microsoft
- Neuroscience (khoa học thần kinh)
- Computer engineering (kỹ thuật máy tính)
- Control theory (thuyết kiểm soát) 8
Lịch sử AI
- Năm 1956, John McCarthy tổ chức hội nghị Dartmouth lần đầu tiên với sự tham gia của nhiều nhà khoa học trên thế giới Hội nghị thảo luận về trí tuệ nhân tạo và lĩnh vực nghiên cứu mới ra đời Mục đích của lĩnh vực này được tạo ra là phát triển các máy móc có thể mô phỏng mọi khía cạnh của trí thông minh 9
- 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ứt phá và ứng dụng nhiều trong lĩnh vực công nghiệp và tự động hoá, tuy nhiên các tiến trình nghiên cứu bị chậm lại vì nhiều nguyên nhân, sự kỳ vọng vào công nghệ đã đem lại nỗi thất vọng quá lớn và sự quan tâm của mọi người đến AI cũng bị sụt giảm dần và AI bị lãng quên.
- 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
AI thông minh có thể đạt tới human-level AI và sau này có thể tốt hơn.
TÌM HIỂU VỀ CÁC THUẬT TOÁN
CONCEPTUAL ALGORITHM
-Trong khoa học máy tính , cây tìm kiếm là một cấu trúc dữ liệu dạng cây được sử dụng để định vị các khóa cụ thể từ bên trong một tập hợp Để một cây hoạt động như một cây tìm kiếm, khóa cho mỗi nút phải lớn hơn bất kỳ khóa nào trong cây con ở bên trái và nhỏ hơn bất kỳ khóa nào trong cây con ở bên phải Ưu điểm của cây tìm kiếm là thời gian tìm kiếm hiệu quả của chúng do cây được cân bằng hợp lý, nghĩa là các ở hai đầu có độ sâu tương đương Các cấu trúc dữlá
8 To learn more: Section 1.2 of (Russell, 2016)
9 "LỊCH SỬ TRÍ TUỆ NHÂN TẠO (PHẦN 2)," Trí tuệ nhân tạo, 27/10/2019, https://trituenhantao.io/tin-tuc/lich- su-tri-tue-nhan-tao-phan-2/
5 liệu cây tìm kiếm khác nhau tồn tại, một số cấu trúc trong số đó cũng cho phép chèn và xóa các phần tử một cách hiệu quả, mà các hoạt động sau đó phải duy trì sự cân bằng của cây.
Cây tìm kiếm thường được sử dụng để triển khai một mảng kết hợp Thuật toán cây tìm kiếm sử dụng khóa từ cặp khóa giá trị để tìm một vị trí và sau đó ứng dụng lưu trữ toàn bộ cặp khóa-giá trị tại vị trí cụ thể đó 10
Nguồn : “Binary search tree”, https://www.gatevidyalay.com/binary-search-trees-data-structures
3.1.2 Thuật toán Graph -Search Đồ thị là cấu trúc dữ liệu rất hữu ích trong việc giải quyết nhiều thách thức toán học quan trọng Ví dụ cấu trúc liên kết mạng máy tính hoặc phân tích cấu trúc phân tử của các hợp chất hóa học Chúng cũng được sử dụng trong giao thông thành phố hoặc lập kế hoạch tuyến đường và thậm chí trong ngôn ngữ của con người và ngữ pháp của họ Tất cả các ứng dụng này đều có một thách thức chung là duyệt qua đồ thị bằng cách sử dụng các cạnh của chúng và đảm bảo rằng tất cả các nút của đồ thị
10 Black, Paul and Pieterse, Vreda (2005) "search tree" Dictionary of Algorithms and Data Structures, https://en.wikipedia.org/wiki/Search_tree đều được truy cập Có hai phương pháp phổ biến được thiết lập để thực hiện việc chuyển tải này được mô tả bên dưới.
Nguồn : “Graph Search Algorithms and Applications by Valerie”, https://valkwek.medium.com/graph- search-algorithms-and-applications-4d97d486b05a
Uninformed Search (Blind Search)
Tìm kiếm theo chiều rộng ( BFS ) là một thuật toán để tìm kiếm cấu trúc dữ liệu dạng cây cho một nút thỏa mãn một thuộc tính nhất định Nó bắt đầu từ gốc cây và khám phá tất cả các nút ở độ sâu hiện tại trước khi chuyển sang các nút ở mức độ sâu tiếp theo Bộ nhớ bổ sung, thường là một hàng đợi , là cần thiết để theo dõi các nút con đã gặp nhưng chưa được khám phá.
Ví dụ: trong một ván cờ kết thúc , một công cụ cờ vua có thể xây dựng cây trò chơi từ vị trí hiện tại bằng cách áp dụng tất cả các nước đi có thể có và sử dụng tìm kiếm theo chiều rộng để tìm ra vị trí thắng cho quân trắng Cây ẩn (chẳng hạn như cây trò chơi hoặc cây giải quyết vấn đề khác) có thể có kích thước vô hạn; tìm kiếm theo chiều rộng được đảm bảo sẽ tìm thấy một nút giải pháp nếu một nút tồn tại.
Tìm kiếm theo độ sâu trước tiên ( DFS ) là một thuật toán để duyệt qua hoặc tìm kiếm cấu trúc dữ liệu dạng cây hoặc đồ thị Thuật toán bắt đầu ở nút gốc (chọn một số nút tùy ý làm nút gốc trong trường hợp biểu đồ) và khám phá càng xa càng tốt dọc theo mỗi nhánh trước khi bẻ khóa ngược.
Nế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 áp dụng trong trường hợp số node là quá lớn.
Là một thuật toán tìm kiếm không được thông tin sử dụng chi phí tích lũy thấp nhất để tìm đường dẫn từ nguồn đến đích Các nút được mở rộng, bắt đầu từ gốc, theo chi phí tích lũy tối thiểu Sau đó, tìm kiếm chi phí thống nhất được triển khai bằng cách sử dụng hàng đợi ưu tiên.
Phương pháp tìm kiếm giới hạn theo độ sâu (DLS) gần như tương đương với tìm kiếm theo độ sâu (DFS), nhưng DLS có thể giải quyết vấn đề không gian trạng thái vô hạn vì nó giới hạn độ sâu của cây tìm kiếm với giới hạn L Các nút ở độ sâu này giới hạn được coi như thể chúng không có người kế nhiệm.
Nguồn: https://bloglaptrinh2016.wordpress.com/2016/06/09/dls-thuat-toan-tim-kiem-gioi-han-do-sau/
Trong khoa học máy tính , tìm kiếm theo chiều sâu lặp đi lặp lại hoặc cụ thể hơn là tìm kiếm theo chiều sâu lặp đi lặp lại (IDS hoặc IDDFS) là một chiến lược tìm kiếm không gian / đồ thị trạng thái trong đó phiên bản tìm kiếm theo chiều sâu giới hạn đ sâuộ được chạy lặp đi lặp lại với độ sâu ngày càng tăng giới hạn cho đến khi mục tiêu được tìm thấy IDDFS tối ưu giống như tìm kiếm theo chiều rộng , nhưng sử dụng ít bộ nhớ hơn nhiều; ở mỗi lần lặp lại, nó truy cập các nút trong cây tìm kiếm theo thứ tự giống như tìm kiếm theo chiều sâu, nhưng thứ tự tích lũy mà các nút được truy cập đầu tiên là theo chiều rộng thực sự 11
11 KORF, Richard E (1985) "Làm sâu thêm lần lặp lại đầu tiên" (PDF), https://en.wikipedia.org/wiki/Iterative_deepening_depth-first_search
* Bảng so sánh mức độ hoàn thành, thời gian, Lựa chọn tốt nhất của các thuật toán trên :
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
- 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òn lạ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.
Trong khoa học máy tính, A* (đọc là A sao) là thuật toán tìm kiếm trong đồ thị. Thuật toán này tìm một đường đi từ một nút khởi đầu tới một nút đích cho trước (hoặc tới một nút thỏa mãn một điều kiện đích) Thuật toán này sử dụng một "đánh giá heuristic" để xếp loại từng nút theo ước lượng về tuyến đường tốt nhất đi qua nút đó Thuật toán này duyệt các nút theo thứ tự của đánh giá heuristic này Do đó, thuật toán A* là một ví dụ của tìm kiếm theo lựa chọn tốt nhất (best-first search).
Thuật toán A* được mô tả lần đầu vào năm 1968 bởi Peter Hart Nils Nilsson, , và Bertram Raphael Trong bài báo của họ, thuật toán được gọi là thuật toán A; khi sử dụng thuật toán này với một đánh giá heuristic thích hợp sẽ thu được hoạt động tối ưu, do đó mà có tên A*.
Năm 1964, Nils Nilsson phát minh ra một phương pháp tiếp cận dựa trên khám phá để tăng tốc độ của thuật toán Dijkstra Thuật toán này được gọi là A1 Năm 1967 Bertram Raphael đã cải thiện đáng kể thuật toán này, nhưng không thể hiển thị tối ưu Ông gọi thuật toán này là A2 Sau đó, trong năm 1968 Peter E Hart đã giới thiệu một đối số chứng minh A2 là tối ưu khi sử dụng thuật toán này với một đánh giá heuristic thích hợp sẽ thu được hoạt động tối ưu Chứng minh của ông về thuật toán cũng bao gồm một phần cho thấy rằng các thuật toán A2 mới là thuật toán tốt nhất có thể được đưa ra các điều kiện Do đó ông đặt tên cho thuật toán mới là A
- 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ếu h(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 đề là space complexity rất lớn, mặc dù A* cải thiện hơn nhưng trong thực tế có nhiều vấn đề mặc dù nó chạy 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.
Code demo : function A*(điểm_xuất_phát,đích) var đóng:= tập rỗng var q:= tạo_hàng_đợi(tạo_đường_đi(điểm_xuất_phát))
12 “Gi i thu t tềềm kiềếm A*”, htps://vi.wikipedia.org/wiki/Gi%E1%BA%A3i_thu%E1%BA%ADt_t%C3%ACm_ki ả ậ
%E1%BA%BFm_A* h(n) ≤ cost(n, n’) + h(n’), for every node n and its successor n’ while q không phải tập rỗng var p:= lấy_phần_tử_đầu_tiên(q) var x:= nút cuối cùng của p x đóngif in continue x = đíchif return p bổ sung x vào tập đóng foreach in y các_đường_đi_tiếp_theo(p) đưa_vào_hàng_đợi(q, y) return failure
Nguồn : “Giải thuật tìm kiếm A*”, https://vi.wikipedia.org/wiki/ Giải_thuật_tìm_kiếm_A*
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.2 Hill-Climbing Search o Thuật toán leo đồi là một thuật toán tìm kiếm cục bộ liên tục di chuyển theo hướng tăng dần độ cao / giá trị để tìm ra đỉnh núi hoặc giải pháp tốt nhất cho vấn đề Nó kết thúc khi nó đạt đến giá trị cao nhất mà không có hàng xóm nào có giá trị cao hơn. o Thuật toán leo đồi là một kỹ thuật được sử dụng để tối ưu hóa các vấn đề toán học Một trong những ví dụ được thảo luận rộng rãi về thuật toán leo đồi là Bài toán nhân viên bán hàng đi lại, trong đó chúng ta cần giảm thiểu khoảng cách di chuyển của nhân viên bán hàng. o Nó cũng được gọi là tìm kiếm cục bộ tham lam vì nó chỉ tìm kiếm trạng thái láng giềng tốt ngay lập tức và không vượt ra ngoài điều đó. o Một nút của thuật toán leo đồi có hai thành phần là trạng thái và giá trị. o Hill Climbing chủ yếu được sử dụng khi có sẵn kinh nghiệm tốt.
15 o Trong thuật toán này, chúng ta không cần duy trì và xử lý cây tìm kiếm hoặc đồ thị vì nó chỉ giữ một trạng thái hiện tại duy nhất 13 Đặc điểm của Hill-Climbing:
Biến thể Tạo và Thử nghiệm: Leo đồi là biến thể của Phương pháp Tạo và Thử nghiệm Phương pháp Tạo và Kiểm tra tạo ra phản hồi giúp quyết định hướng di chuyển trong không gian tìm kiếm.
Cách tiếp cận tham lam: Tìm kiếm thuật toán leo đồi di chuyển theo hướng tối ưu hóa chi phí.
Không quay lui: Nó không quay lại không gian tìm kiếm, vì nó không nhớ các trạng thái trước đó.
- 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ện thì 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:
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 local maximum thì nó sẽ di chuyển qua di chuyển lại tạo nên vòng lặp vô tận.
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.
13“ Hill Climbing Algorithm”, https://www.javatpoint.com/hill-climbing-algorithm-in-ai
Instead of trying k random searches sequentially, do them simultaneously (chạy đồng thời các searches).
Local beam search: not just simultaneously (không những chạy động thờ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 1 phương pháp là stochastic beam search: thì nó kết hợp local beam search và stochastic hill climbing như trên Phương pháp này thì: không tìm max và chọn ngẫu nhiên successor kèm theo xác suất.
Annealing: harden metals by heating them, then gradually cooling them, then gradually cooling them → Material will reach a low- enegy crystalline state(goal).
Là một kỹ thuật xác suất để ước tính mức tối ưu toàn cục của một hàm nhất định Cụ thể, nó là một siêu mô phỏng để tối ưu hóa toàn cục gần đúng trong một không gian tìm kiếm lớn cho một vấn đề tối ưu hóa Nó thường được sử dụng khi không gian tìm kiếm rời rạc (ví dụ: vấn đề nhân viên bán hàng đi du lịch , vấn đề thỏa mãn boolean dự đoán cấu trúc protein , và lập lịch trình tại cửa hàng việc làm) Đối với các vấn đề trong đó việc tìm giá trị tối ưu toàn cục gần đúng quan trọng hơn việc tìm giá trị tối ưu cục bộ chính xác trong một khoảng thời gian cố định, việc ủ mô phỏng có thể thích hợp hơn các thuật toán chính xác như gradient descent hoặc rẽ nhánh và ràng buộc
Tên của thuật toán xuất phát từ việc ủ trong luyện kim , một kỹ thuật liên quan đến việc nung nóng và làm lạnh có kiểm soát vật liệu để thay đổi các đặc tính vật lý của nó Cả hai đều là các thuộc tính của vật liệu phụ thuộc vào năng lượng tự do nhiệt động lực học của chúng Làm nóng và làm mát vật liệu ảnh hưởng đến cả nhiệt độ và năng lượng tự do nhiệt động lực học hoặc năng lượng Gibbs Quá trình ủ mô phỏng có thể được sử dụng cho các bài toán tối ưu hóa tính toán rất khó mà các thuật toán chính xác không thành công; mặc dù nó thường đạt được một giải pháp gần đúng với mức tối thiểu toàn cầu, nó có thể đủ cho nhiều vấn đề thực tế 14
SEARCHING IN NONDETERMINISTIC ENVIRONMENTS
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: là cái linked dẫn tới những successor có thể xảy ra (dẫn tới những state mới sau khi thực hiện một action)
- A solution in AND-OR tree is : có 3 đặc điểm:
+ Mỗi nút lá đều có một mục tiêu
+ OR node: có thể lựa chọn action nào đó
+ AND node: không được chọn mà phải lấy hết tất cả trường hợp có thể xảy ra
- AND-OR graph search algorithm (depth-first version)
Searching with no observation (agent không có bất kỳ thông tin nào về môi trường) .20
Có những trường hợp khi mà agent không được trang bị cảm biến không có đầy đủ thông tin về môi trường hoặc thậm chí không có thông tin gì về môi trường thì các thuật toán đã học không thực hiện được cho nên phải có cách tiếp cận khác
3.7 Searching with no observation (agent không có bất kỳ thông tin nào về môi trường)
Giả sử chúng ta có một Physical encironment (môi trường thực) agent đang đứng đâu đó trong những cái state trong Physical encironment và nó không biết đang ở đâu Vì vậy những thuật toán trước đây sẽ không chạy được Bây giờ chúng ta sẽ chuyển agent trong Physical encironment sang Belief environmet Trong Belief environmet sẽ có những cái Belief state(là một tập hợp của Physical state mà agent cho rằng nó đang đứng ở đó) và agent sẽ biết chắc chắn nó đang ở state nào cho nên chúng ta có thể chạy những thuật toán fully-observable đã học Như vậy cách tiếp cận của chúng ta là cố gắng chuyển đổi Physical encironment sang Belief environmet Để chuyển đổi được việc đó thì chúng ta chuyển đổi mô tả của Physical problem
Components of the physical problem P :
1 Initial belief state : vị trí bất kỳ trong Physical state Khi giải sẽ thu hẹp dần dần và đưa ra state mong muốn của mình
2 Possible actions : những action được làm tại belief state b
3 Transition model : Result (belief state b, action a € ACTIONS(b))
4 Goal test (b): trả về true (nếu belief state b có tất cả trạng thái đều là goal)
Ngược lại trả về false
5 Cost: chi phí trong thế giới thực
Khi đã định nghĩa được 5 thành phần trong belief state chúng ta có thể sử dụng các thuật toán đã học để giải
Searching for partially observable problems
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ì
Cách giải là chuyển Physical encironment sang Belief environmet Năm thành phần Belief environmet giống như của Searching with no observation ngoại trừ Transition model Để lấy được Transition model cần phải có hai bước :
1 State prediction: tạo ra một belief state mới
2 State update: giúp thu hẹp belief state
SEARCHING WITH NO TRANSITION MODEL – ONLINE SEARCH
Offline Search : được cung cấp toàn bộ dữ liệu vấn đề ngay từ đầu và được yêu cầu để đưa ra câu trả lời giúp giải quyết vấn đề trong tay Trong nguyên cứu hoạt động, lĩnh vực mà thuật toán trực tuyến được phát triển được gọi là tối ưu hóa trực tuyến.
Online Search: là một thuật toán có thể xử lý từng mảnh đầu vào của nó theo kiểu nối tiếp, nghĩa là theo thứ tự đầu vào được đưa vào thuật toán, mà không có toàn bộ đầu vào có sẵn từ đầu 15
Những bài toán trước đều đòi hỏi problem mô tả 5 thành phần trong đó quan trọng nhất là TRANSITION MODEL thì nó mới chạy được
Trong trường hợp không có TRANSITION MODEL thì chúng ta sẽ có cách tiếp cận khác và thuật toán để giải trong trường hợp này gọi là ONLINE SEARCH Cách tiếp cận :
+Đặt agent vào trong thực địa
+Tìm kiếm cho đến khi nào đụng được cái goal
Các trường hợp ONLINE SEARCH hữu dụng
+ Nếu agent đứng quá lâu để thực hiện các tính toán lâu của nó thì nó sẽ bị những hình phạt
+Onine search cũng có thể dùng để giải các bài toán Nondeterministic
+Trong trường hợp agent không có thông tin gì về môi trường Ví dụ tìm đường đi trong mê cung nhưng không có bản đồ, nhiệm vụ do thám mặt trăng sao hỏa
So sánh với Offline Search
GIỐNG: cả online search và offline search đều có Initial state, Possible actions, 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ông thể áp dụng vào môi trường thực tế (rộng hơn, phức tạp hơn), vì agent không có khả năng tự học về môi trường.
VD: áp dụng vào xe tự lái, xe sẽ tự động đưa bạn từ chỗ làm về nhà khi nó được tích hợp sẵn 1 bản đồ, nó sẽ dựa vào bản đồ đó và chọn ra đường đi ngắn nhất để về nhà và khi phát hiện kẹt xe, nó sẽ chọn đi đường khác.
Online search: khác với Offline search, agent sẽ được đưa thẳng vào môi trường thực tế để vừa chạy vừa tự học Vì vậy thuật toán này hoàn toàn có thể áp dụng được vào những môi trường phức tạp và càng phức tạp thì máy học càng nhiều và càng thông minh.
VD: áp dụng cho các xe tự hành tại những địa điểm mà con người chưa từng đặt chân tới hoặc không thể đặt chân tới như: vùng cực, mặt trăng, sao mộc, Robot sẽ tự di chuyển và tự phân tích địa hình từ đó vẽ lại cho chúng ta 1 bản đồ hoàn chỉnh.
3.9.1 Online depth-first search agent
Khi agent chạy trong thực địa nó sẽ gọi một hàm Online search và cho biết cái trạng thái hiện tại của nó là gì thì cái hàm này trả về một cái action khuyên nó tiếp theo nên làm cái action này Khi nó làm cái action đó xong thì sẽ xuất hiện một cái state mới và nó đưa cái state đó vào hàm Online search thì cái hàm này sẽ khuyên nó làm một cái action nào đó tiếp theo
3.9.2 Online A* search: LRTA* (Learning Real-Time A*) algorithm
Khi agent đang đứng ở một cái state nào đó nó sẽ chỉ tìm kiếm trong những cái successor của cái state đó (những cái state được tạo ra từ một cái action khi đang đứng ở vị trí nào đó nó chỉ tìm kiếm trong những cái state gần nó)
Trong những cái state gần nó thì nó sẽ chọn một cái state có cost ước lượng nhỏ nhất
Thuật toán này không sử dụng unbacktracked và untried giống depth first mà tạo ra bảngH: ước lượng quãng đường đi từ trạng thái s nào đó cho đến đích, nếu đạt đến đích thì dừng lại
Constraint satisfaction problems (CSP)
Là bài toán tìm ra phép gán của các state mà tất cả các giá trị này nó được thỏa mãn ràng buộc khi đó giải được bài toán State là một khối, tập hợp của những biến S1={v1= , v2= ,}, mỗi state có chứa nhiều biến, mỗi biến có 1 giá trị nào đó và có nhiều ràng buộc.
X: tập hợp của những biến {x1, x2, x3, }
D: tập hợp tất cả miền giá trị domain {D1, D2, D3, } sao cho{Di : xi € Di ¥ i} C: tập hợp các ràng buộc constraints.
A solution of a CSP: tìm những bộ giá trị xi sao cho thỏa constraint với xi thuộc tập giá trị doamin
- X: mỗi ô trống trên bàn cờ là 1 variable
- C: + C : Các số trên cùng 1 hàng không trùng nhau1
+ C : Các số trên cùng 1 cột không trùng nhau2
+ C : Các số trên cùng 1 đường chéo không trùng nhau3
Cuối cùng gán giá trị cho tất cả variable với giá trị ở trong domain của nó sao cho nó thỏa mãn hết tất cả các ràng buộc
Solve CSPs using Constraint Propagation
Constraint Propagation: là bài toán giải CSP, lan truyền các ràng buộc Khi xét một variable nếu domain của nó bị thay đổi thì doamin của những cái variable liên quan cũng có thể thay đổi theo và cứ như vậy nó lan truyền ra Và cứ mỗi lần nó lan truyền ra như vậy thì doamin của nó cũng sẽ giảm dần Và khi xét qua hết tất cả các variable thì mình hy vọng là cái domain cuối cùng còn lại cho mỗi variable chỉ còn đúng một giá trị Khi chỉ còn một giá trị thì chính là chúng ta đã tìm ra lời giải của bài toán
Vd: đang đứng ở 1 variable thứ nhất nó thỏa mãn ràng buộc này nó có giá trị bao nhiêu đó, nếu biến thứ 1 có giá trị đó, biến thứ 2 có giá trị như thế nào, mình lan truyền nó ra,cuối cùng mình thu hẹp được cái domain nó lại.
AC-3 alorgithm
Là thuật toán giúp mình chạy đảm bảo được Arc consistency Sau khi chạy thuật toán này nó sẽ thu hẹp domain của mình lại để đảm bảo nó thỏa được hết Arc Consistency Nếu đến một bước nào đó chạy đến một cái vòng lặp nào đó mà có doamin của một cái biến xi nó thu hẹp dần còn rỗng điều này đồng nghĩa với bài toán này không có lời giải