1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo đề tài cuối kì trí tuệ nhân tạo đề tài constraint propagation

25 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Constraint Propagation
Tác giả Nhóm 11
Người hướng dẫn Thầy Lê Minh Tân – Giảng Viên Bộ Môn Trí Tuệ Nhân Tạo
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo
Năm xuất bản 2023
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 25
Dung lượng 4,1 MB

Nội dung

Constraint Propagation có thể được thực hiện như một bước tiền xử lý hoặc kết hợp với các thuật toán tìm kiếm để tăng hiệu suất và chính xác trong giải quyết bài toán.Trong đề tài này, c

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỀ TÀI CUỐI KÌ

TRÍ TUỆ NHÂN TẠO

ĐỀ TÀI: CONSTRAINT PROPAGATION

Trang 2

DANH SÁCH NHÓM THỰC HIỆN ĐỀ TÀI CUỐI KÌ

HỌC KÌ II, NĂM HỌC 2022-2023

Nhóm 11

TÊN ĐỀ TÀI: CONSTRAINT PROPAGATION

ST

TỶ LỆ % HOÀN THÀNH

Ghi chú:

- MSSV trưởng nhóm

Nhận xét của gi ảng viên:

Ngày 12 tháng năm 2023 05

Giảng viên chấm điểm

Trang 3

Lời cảm ơn

Chúng em xin gửi lời cảm ơn chân trọng nhất đến với thầy Lê Minh Tân –giảng viên bộ môn Trí tuệ nhân tạo trong khoa Công nghệ thông tin của trường Đạihọc Sư phạm Kỹ thuật TP Hồ Chí Minh Thầy là người đã trang bị cho tất cả chochúng em những kiến thức, kỹ năng cần có để chúng em có thể hoàn thành tốt bàicuối kỳ này

Trong quá trình học tập và nghiên cứu nếu nhóm em có những sai sót gì,kính mong thầy bỏ qua cho nhóm em!

Nhóm em xin chúc thầy luôn luôn mạnh khoẻ và ngày một thành công hơntrên con đường giảng dạy của mình

Chúng em xin trân trọng cảm ơn

Trang 4

Lời mở đầu

Trên thế giới ngày nay, ngành Công nghệ thông tin đang đối mặt với sự giatăng về quy mô và sự phức tạp của các vấn đề đòi hỏi giải pháp tối ưu và hiệu quả.Trong lĩnh vực này, Constraint Satisfaction là một lĩnh vực nghiên cứu vô cùngquan trọng, tập trung vào việc giải quyết các bài toán có ràng buộc về các biến vàquy tắc liên quan đến chúng

Một phương pháp quan trọng trong giải quyết các bài toán Ràng buộc làConstraint Propagation (truyền thông ràng buộc) Đây là quá trình kết hợp giữa tìmkiếm và suy luận để giải quyết các ràng buộc và hạn chế các giá trị hợp lệ cho cácbiến trong bài toán Constraint Propagation có thể được thực hiện như một bước tiền

xử lý hoặc kết hợp với các thuật toán tìm kiếm để tăng hiệu suất và chính xác tronggiải quyết bài toán

Trong đề tài này, chúng ta sẽ tìm hiểu về quá trình Constraint Propagation và

sự ảnh hưởng của nó đến việc suy luận trong các bài toán về vấn đề thoả mãn ràngbuộc (CSPs – Constraint Satisfaction Problems) Chúng ta sẽ khám phá các phươngpháp và thuật toán để áp dụng Constraint Propagation cũng như hiểu rõ về các loạiLocal Consistency (tính nhất quán cục bộ) và cách chúng tăng cường trong quátrình giải quyết các vấn đề

Áp dụng các khái niệm về Constraint Propagation và suy luận trong CSPs đểgiải quyết một trong những bài toán phổ biến và thú vị nhất của lý thuyết đồ thị, đó

là bài toán Sudoku Sudoku là một trò chơi giải đố đơn giản nhưng đầy thử thách,

có thể được mô hình hóa như là một CSP, trong đó các biến là các ô trống trongbảng và các ràng buộc là các quy tắc để mỗi ô phải chứa một số từ 1 đến 9 và khôngđược trùng lặp trong hàng, cột và ô vuông nhỏ Chúng ta sẽ thử áp dụng các phươngpháp Constraint Propagation để giải quyết bài toán Sudoku và tìm ra lời giải cho cáccâu đố Sudoku khó nhất

Bằng cách tìm hiểu và ứng dụng các khái niệm về Constraint Propagation vàsuy luận trong CSPs, chúng ta sẽ có một cách tiếp cận mạnh mẽ để giải quyết cácvấn đề phức tạp trong lĩnh vực Công nghệ thông tin

Trang 6

MỤC LỤC

1 Constraint Propagation 1

1.1 Lịch sử về Constraint Propagation 1

1.2 Constraint Propagation là gì? 2

2 Local Consistency 2

2.1 Giới thiệu 2

2.2 Node Consistency 2

2.3 Arc Consistency 4

2.3.1 Giới thiệu về Arc Consistency 4

2.3.2 Giới thiệu về thuật toán AC-3 5

2.3.3 Cách thức hoạt động của thuật toán AC-3 6

2.4 Path Consistency 7

2.5 K – Consistency 8

3 Global constraints 10

4 Sudoku 15

4.1 Giới thiệu về game Sudoku 15

4.2 Áp dụng CSP để giải game Sudoku 16

4.3 Demo code 18

5 Kết luận 18

6 Tài liệu tham khảo 20

Trang 7

1 Constraint Propagation

1.1 Lịch sử về Constraint Propagation

Constraint Propagation (CP) là một kỹ thuật quan trọng trong lĩnh vực trí tuệnhân tạo và tối ưu hóa ràng buộc Constraint Propagation ra đời từ những năm 1960

và đã được phát triển liên tục trong nhiều thập kỷ sau đó

Những năm 1960, các nhà nghiên cứu như J.C Shaw và H.A Simon đề xuấtmột kỹ thuật được gọi là "việc thực hiện ràng buộc" (constraint satisfaction), đâyđược xem là tiền thân của Constraint Propagation Ý tưởng của kỹ thuật này là giảiquyết các vấn đề bằng cách tìm các giá trị có thể cho các biến trong khi đảm bảo cácràng buộc giữa chúng

Những năm 1970, J.P Marthi và A.K Mackworth đã đề xuất một phươngpháp để giải quyết các vấn đề ràng buộc bằng cách sử dụng một phương pháp lantruyền (propagation) để đưa ra các kết luận về các giá trị của các biến Tuy nhiên,

kỹ thuật này chỉ áp dụng được cho một số vấn đề đơn giản

Trong những năm 1980, kỹ thuật Constraint Propagation đã được phát triểnmạnh mẽ bởi một số nhà nghiên cứu, trong đó có Eugene C Freuder Ông đã đềxuất một phương pháp lan truyền ràng buộc được gọi là Forward Checking, là mộttrong những kỹ thuật Constraint Propagation phổ biến nhất hiện nay Ông cũng đã

đề xuất một phương pháp hợp nhất các ràng buộc để tăng tính hiệu quả củaConstraint Propagation

Trong những năm 1990, các nhà nghiên cứu tiếp tục phát triển và cải tiến kỹthuật Constraint Propagation, bao gồm sự phát triển của các kỹ thuật lan truyền ràngbuộc mới như Arc Consistency và kỹ thuật tiên tiến hơn như DynamicBacktracking Các kỹ thuật này giúp tăng tính hiệu quả và độ chính xác củaConstraint Propagation

Hiện nay, Constraint Propagation là một lĩnh vực nghiên cứu rộng lớn và cónhiều ứng dụng trong các lĩnh vực như lập lịch, tối ưu hóa và thiết kế hệ thống

Trang 8

Nhiều phần mềm và thư viện cũng đã được phát triển để hỗ trợ việc sử dụng CPtrong các ứng dụng thực tế.

1.2 Constraint Propagation là gì?

Một thuật toán tìm kiếm trạng thái nguyên tử chỉ tiến triển theo một cách duynhất: bằng cách mở rộng một nút để thăm các nút kế tiếp Một thuật toán CSP(Constraint Satisfaction Problem) có sự lựa chọn Nó có thể tạo ra các nút kế tiếpbằng cách chọn một phân bổ biến mới, hoặc có thể thực hiện một loại suy luận cụthể được gọi là Constraint Propagation (truyền thông ràng buộc): sử dụng các ràngbuộc để giảm số lượng giá trị hợp lệ cho một biến, từ đó có thể giảm số lượng giá trịhợp lệ cho biến khác, và tiếp tục như vậy Ý tưởng là điều này sẽ giúp giảm sốlượng lựa chọn cần xem xét khi chọn phân bổ biến tiếp theo Constraint Propagation

có thể liên kết với tìm kiếm hoặc có thể được thực hiện như một bước tiền xử lýtrước khi tìm kiếm bắt đầu Đôi khi việc tiền xử lý này có thể giải quyết toàn bộ vấn

đề, vì vậy không cần tìm kiếm nữa

2 Local Consistency

2.1 Giới thiệu

Ý tưởng chính là Local Consistency (tính nhất quán cục bộ) Nếu chúng taxem mỗi biến là một nút trong đồ thị và mỗi biến buộc phải có hai biến như mộtcạnh, thì quá trình áp dụng tính thống nhất thống kê bộ trong mỗi phần của đồ thị sẽloại bỏ các giá trị không thống nhất của toàn đồ thị Có các loại tính nhất quán cục

bộ khác nhau, chúng ta sẽ đi qua từng loại sau đây

2.2 Node Consistency

2

Trang 9

Node Consistency (tính nhất quán của nút) đòi hỏi mọi ràng buộc đơn nhấttrên một biến phải được thỏa mãn bởi tất cả các giá trị trong miền của biến vàngược lại Điều kiện này có thể được thực thi một cách tầm thường bằng cách giảmmiền của mỗi biến thành các giá trị thỏa mãn tất cả các ràng buộc đơn nhất đối vớibiến đó Kết quả là, các ràng buộc đơn nhất có thể được bỏ qua và giả định đượctích hợp vào các miền Ví dụ, cho một biến V với tên miền là {1, 2, 3, 4} và mộtràng buộc V <= 3, tính nhất quán của nút sẽ hạn chế miền {1, 2, 3} và ràng buộc sau

đó có thể bị loại bỏ Bước tiền xử lý này giúp đơn giản hoá các giai đoạn sau Và ví

dụ khác, trong biến thể của bài toán tô bản đồ Úc khi người dân SA không thíchmàu lục, biến SA bắt đầu bằng miền {đỏ, lục, lam} và chúng ta có thể đặt nó thànhnút nhất quán bằng cách loại bỏ màu lục để miền giá trị của SA thành {đỏ, lam}.Chúng ta nói rằng một đồ thị nhất quán với nút nếu mọi biến trong đồ thị đều nhấtquán với nút Có thể dễ dàng loại bỏ tất cả các ràng buộc một ngôi trong CSP bằngcách giảm miền của các biến có các ràng buộc một ngôi khi bắt đầu quá trình giải.Như đã đề cập trước đó, cũng có thể chuyển đổi tất cả các ràng buộc n – ary thànhcác ràng buộc nhị phân, mong muốn người dùng loại bỏ các ràng buộc khác trướcthời hạn Nói chung, khi các biến trong một biểu đồ CSP đều nhất quán nút thì tức

Trang 10

là các biến đó có miền giá trị thỏa mãn các ràng buộc, ta nói rằng biểu đồ đó là nhấtquán với nút Tuy nhiên, để giải quyết bài toán CSP thường cần phải áp dụng cácthuật toán giải quyết bài toán ràng buộc (CSP solving algorithms) để tìm ra lời giảichính xác nhất.

2.3 Arc Consistency

2.3.1 Giới thiệu về Arc Consistency

Arc Consistency (AC - tính nhất quán của cung) là một kỹ thuật được sửdụng trong lĩnh vực ràng buộc (constraint programming) để giải quyết các bài toánràng buộc trên các biến Khi giải một bài toán ràng buộc, một số giá trị có thể bị loại

bỏ khỏi miền giá trị của một biến do các ràng buộc giới hạn giá trị của nó Tuynhiên, việc loại bỏ giá trị này có thể ảnh hưởng đến các biến khác và dẫn đến việcloại bỏ thêm giá trị khỏi miền giá trị của các biến đó Điều này gọi là hiện tượng lantruyền ràng buộc (constraint propagation)

Arc Consistency là một phương pháp để kiểm tra tính khả thi của các giá trịtrong các miền giá trị của các biến bằng cách loại bỏ các giá trị không khả thi Cụthể, AC kiểm tra tính khả thi bằng cách xác định xem nếu một biến có giá trị cụ thể,thì các ràng buộc giới hạn giá trị của các biến khác có thể được thoả mãn haykhông Nếu không, giá trị đó sẽ bị loại bỏ khỏi miền giá trị của biến đó và AC sẽtiếp tục lan truyền ràng buộc để kiểm tra tính khả thi của các giá trị khác

Bên cạnh đó Arc Consistency còn có những ứng dụng thực tế như:

+ Tổ chức và quản lý dịch vụ: Arc Consistency có thể được sử dụng để giảiquyết các bài toán tổ chức và quản lý dịch vụ, giúp tối ưu hóa phân bổ tài nguyên vàgiảm thời gian thực hiện các dịch vụ

+ Phân tích tài chính: Arc Consistency có thể được sử dụng để giải quyết cácbài toán định lượng và phân tích tài chính, giúp tối ưu hóa quyết định đầu tư vàquản lý tài chính

+ Lập lịch sản xuất: Arc Consistency cũng có thể được sử dụng để giải quyếtcác bài toán lập lịch sản xuất, giúp tối ưu hóa việc phân bổ nguồn lực và giảm thờigian sản xuất

4

Trang 11

Tổng quát về Arc Consistency, Arc Consistency là một phương pháp tiền xử

lý để cải thiện hiệu quả của các thuật toán giải quyết bài toán ràng buộc và giảmthời gian tính toán

2.3.2 Giới thiệu về thuật toán AC-3

AC-3 là một thuật toán cơ bản trong lĩnh vực ràng buộc (constraintprogramming) và được sử dụng để giải quyết các bài toán ràng buộc trên các biến.Thuật toán này là một phương pháp tiền xử lý để cải thiện hiệu quả của các thuậttoán giải quyết bài toán ràng buộc và giảm thời gian tính toán

AC-3 hoạt động bằng cách loại bỏ các giá trị không khả thi từ các miền giátrị của các biến trong bài toán Cụ thể, thuật toán duyệt qua các ràng buộc trong bàitoán và thực hiện lan truyền ràng buộc trên các cặp biến liên quan Nếu giá trị củamột biến không thỏa mãn các ràng buộc với giá trị của một biến khác, thì giá trị đó

sẽ bị loại bỏ khỏi AC-3 là một thuật toán rất đơn giản và hiệu quả để kiểm tra tínhkhả thi của các giá trị trong các miền giá trị của các biến và loại bỏ các giá trị khôngkhả thi Tuy nhiên, nó không đảm bảo tìm ra tất cả các giá trị khả thi của các biến

Trang 12

Độ phức tạp thời gian của thuật toán AC-3 là O(nd), độ phức tạp của thuậttoán AC-3 phụ thuộc vào số lượng biến và kích thước lớn nhất của các miền giá trịtrong bài toán.

Độ phức tạp này có thể tăng lên đáng kể nếu số lượng ràng buộc trong bàitoán tăng lên Tuy nhiên, trong thực tế, thuật toán AC-3 vẫn được sử dụng rộng rãitrong các bài toán ràng buộc nhỏ và trung bình kích thước vì nó có độ phức tạp thờigian tương đối nhỏ so với các thuật toán khác trong lĩnh vực ràng buộc

2.3.3 Cách thức hoạt động của thuật toán AC-3

Thuật toán AC-3 có thể được mô tả bằng các bước sau:

Bước 1: Khởi tạo hàng đợi (queue) ban đầu: tạo một hàng đợi ban đầu chứa tất cảcác cặp biến và ràng buộc trong CSP

Bước 2: Lặp qua hàng đợi: lặp qua hàng đợi và lấy ra một cặp biến và ràng buộc từđầu hàng đợi

Bước 3: Kiểm tra Arc Consistency: Kiểm tra tính Arc Consistency của cặp biến vàràng buộc bằng cách loại bỏ các giá trị không hợp lệ cho biến thứ nhất trong ràng

6

Trang 13

buộc Nếu tất cả các giá trị của biến đó đều không hợp lệ, ta coi ràng buộc là khôngthỏa mãn (vi phạm) Sau đó, kiểm tra tính Arc Consistency của các cặp biến và ràngbuộc khác mà có biến đầu tiên giống với biến đã xét.

Bước 4: Cập nhật hàng đợi: Nếu ràng buộc đã bị vi phạm, ta loại bỏ cặp biến vàràng buộc đó khỏi hàng đợi Nếu ràng buộc không bị vi phạm, ta cập nhật hàng đợibằng cách thêm các cặp biến và ràng buộc khác mà có biến thứ hai giống với biến

đã xét

Bước 5: Kết thúc thuật toán: Nếu hàng đợi trở thành rỗng, tức là không còn cặp biến

và ràng buộc nào để kiểm tra, ta kết thúc thuật toán

2.4 Path Consistency

Giả sử chúng ta tô màu bản đồ Úc chỉ với hai màu đỏ và lam Arcconsistency (tính nhất quán của cung) không làm gì cả vì mọi ràng buộc có thể đượcthoả mãn riêng lẻ với màu đỏ ở một đầu và màu lam ở đầu kia Nhưng rõ ràng làkhông có giải pháp nào cho vấn đề này: bởi vì WA (Tây Úc), lãnh thổ phía Bắc và

SA (Nam Úc) tất cả đều chạm nhau, nên chúng ta cần ít nhất có ba màu riêng dànhcho chúng

Trang 14

Tính nhất quán của cung thắt chặt các miền (ràng buộc đơn nguyên) bằngcách sử dụng các cung (ràng buộc nhị phân) Để đạt được tiến bộ trong các vấn đềnhư tô màu bản đồ, chúng ta cần có một khái niệm nhất quán mạnh mẽ hơn Đó làpath consistency (tính nhất quán đường dẫn) thắt chặt các ràng buộc nhị phân bằngcách sử dụng các ràng buộc ngầm được suy ra bằng cách xem xét bộ ba biến.Tập hợp hai biến {Xi, Xj} nhất quán về đường dẫn đối với biến thứ ba Xmnếu mọi phép gán {X = a, X = b} nhất quán với các ràng buộc (nếu có) trên {X ,i j i

Xj} có một phép gán cho Xm thỏa mãn các ràng buộc trên {X , X } và {X , Xi m m j}.Tên đề cập đến tính nhất quán tổng thể của đường dẫn từ X đến X với X ở giữa.i j m

Hãy xem tính nhất quán của đường dẫn đi như thế nào khi tô bản đồ Úc bằnghai màu Chúng ta sẽ làm cho tập {WA, SA} nhất quán đường dẫn với NT Chúng tabắt đầu bằng cách liệt kê các phép gán nhất quán cho tập hợp Trong trường hợpnày, chỉ có hai phép gán {WA = đỏ, SA = lam} và {WA = lam, SA = đỏ} Chúng ta

có thể thấy rằng với hai phép gán này, NT không thể có màu đỏ cũng như màu xanh(vì nó sẽ bị xung đột với WA hoặc SA) Vì không có lựa chọn hợp lệ nào cho NT,chúng ta loại bỏ cả hai phép gán và cuối cùng chúng ta không có phép gán hợp lệnào cho {WA, SA} Do đó, chúng ta biết rằng không thể có giải pháp nào để tô màucho bản đồ này chỉ bằng hai màu

2.5 K – Consistency

K – consistency (Tính nhất quán K) là một khái niệm trong lĩnh vực Ràngbuộc (Constraint Satisfaction) để đánh giá mức độ nhất quán của ràng buộc giữamột tập hợp gồm k biến Mục tiêu của k – consistency là đảm bảo rằng mọi giá trịtrong miền giá trị của mỗi biến trong tập hợp đều phù hợp với ít nhất một giá trịtrong miền giá trị của các biến còn lại trong tập hợp Điều này đảm bảo rằng không

có giá trị nào trong miền giá trị của các biến trong tập hợp gây ra xung đột hoặckhông thỏa mãn các ràng buộc với các biến khác trong tập hợp

Một CSP là k – consistent nếu với bất kỳ tập hợp k – 1 biến nào và với bất kỳphân bổ nhất quán nào cho các biến đó, luôn có thể gán một giá trị nhất quán chobiến thứ k Ví dụ, 1 – consistency được gọi là node consistency tức là với một biến

8

Ngày đăng: 14/04/2024, 21:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w