Những năm gần đây trên thế giới đã đưa ra phương pháp lại mạng Nơ ron Hopfield và thuật giải di truyển nhằm giải quyết các bài toán tối ưu thuộc lớp NP-C và được áp dụng rộng rãi trong l
Trang 1MỤC LỤC
TRANG PHỤ BÌA
LỜI CAM ĐOAN
MỤC LỤC i
52 iv
52 iv
53 iv
54 iv
56 iv
57 iv
DANH MỤC CÁC HÌNH iv
14 iv
14 iv
16 iv
16 v
17 v
19 v
21 v
25 v
31 v
35 v
36 v
37 v
Trang 244 v
55 v
CHƯƠNG I 9
GIỚI THIỆU SƠ LƯỢC VỀ CÁC BÀI TOÁN NP-C .9
1.1 Giới thiệu chung về bài toán NP-C 9
1.2 Cách tiếp cận giải bài toán NP-C 10
1.2.1 Một số khái niệm 10
1.2.2 Giới thiệu một số thuật toán xấp xỉ giải bài toán NP-C 11
1.2.3 Các thuật toán gần đúng 12
1.2.4 Tô mầu đồ thị với bài toán 4 mầu 19
1.2.5 Bài toán phẳng hóa đồ thị 21
1.3 Kết luận 23
2.1 Giới thiệu về mạng nơ-ron 24
2.1.1 Lịch sử phát triển 24
2.1.2 Mô hình mạng nơ-ron nhân tạo 25
2.2 Phạm vi ứng dụng của mạng nơ-ron 29
2.2.1 Những bài toán thích hợp 29
2.2.2 Các lĩnh vực ứng dụng mạng nơ-ron 29
2.2.3 Ưu và nhược điểm của mạng nơ-ron 30
2.3 Mạng Hopfield 30
2.3.1 Mạng Hopfield rời rạc 32
2.4 Giới thiệu thuật giải di truyền 34
2.4.2 Các bước quan trọng trong việc áp dụng thuật giải di truyền 36
2.4.3 Ví dụ minh họa 37
2.4.4 Các phương thức biến hóa của giải thuật di truyền 40
CHƯƠNG 3 51
Trang 3ỨNG DỤNG THUẬT GIẢI DI TRUYỀN 51
GIẢI BÀI TOÁN PHÂN CÔNG NHIỆM VỤ .51
3.1 Giới thiệu 52
3.2 Định nghĩa bài toán 53
3.3 Ứng dụng Thuật giải di truyền vào bài toán 55
3.3.1 Mã hóa: 56
3.3.2 Toán tử chọn cá thể 56
3.3.3 Toán tử lai ghép và toán tử đột biến 57
3.3.4 Sửa chữa giải pháp 59
3.3.5 Tìm kiếm cục bộ 60
3.4 Thí nghiệm và nhận xét 61
3.4.1 Thí nghiệm 61
Để mô tả quá trình tiếp cận xem xét các trường hợp ASLGP sinh ra với số sinh viên và nhóm là khác nhau Xem xét các trường hợp từ 75 đến 400 sinh viên, được phân vào các nhóm thực hành khác nhau Các trường hợp được ký hiệu M/N/Cg (tương ứng là tổng số sinh viên, số nhóm, và khả năng chứa tối đa của từng nhóm) .61
3.4.2 Nhận xét 62
3.5 Kết luận 63
1 Giới thiệu sơ lược các bài toán NP-C, giới thiệu một số thuật toán, giải thuật và một số cách tiếp cận tới việc giải các bài toán NP-C 64
2 Đã hệ thống cơ sở lý thuyết của mạng nơron, nơ ron nhân tạo, mạng nơ ron hopfiled, thuật giải di truyền 64
KẾT LUẬN……… ……….58
TÀI LIỆU THAM KHẢO………….….……… 59
DANH MỤC BẢNG
Trang 4Bảng 3.1: Các ứng dụng toán tử lai ghép thực hiện trong GGA. 52
Bảng 3.2: Các ứng dụng toán tử đột biến thực hiện trong GGA. 52
Bảng 3.3: Ví dụ về các sở thích của sinh viên 53
Bảng 3.4: Ví dụ về các sở thích của sinh viên 54
Bảng 3.5: Số sinh viên trong nhóm thứ i trong những giải pháp được
Bảng 3.6: So sánh các kết quả thu được bằng GGA và thuật toán
DANH MỤC CÁC HÌNH
Trang 5Hình 2.9: Ví dụ về biểu diễn nơ ron của bài toán với N = 4 44Hình 3.1: Ví dụ về sở thích của các sinh viên trong 5 nhóm 55
Trang 7LỜI NÓI ĐẦU
Trong thực tế có rất nhiều bài toán phức tạp thuộc lớp bài toán NP- C
và bài toán tối ưu có ràng buộc, cũng có nhiều công trình nghiên cứu để giải quyết các bài toán đó Ví dụ như: Bài toán tìm đường đi ngắn nhất, bài toán
tô màu bản đồ, bài toán vận tải Xong các giải thuật đưa ra thường phức tạp mà chưa có thuật toán đơn giản và hợp lý Những năm gần đây trên thế giới đã đưa ra phương pháp lại mạng Nơ ron Hopfield và thuật giải di truyển nhằm giải quyết các bài toán tối ưu thuộc lớp NP-C và được áp dụng rộng rãi trong lĩnh vực Công nghệ thông tin Việc nghiên cứu và áp dụng những thành tựu mới vào việc phân tích, thiết kế, phân công nhiệm vụ là một trong những vấn đề nóng đang rất được quan tâm
Nhận thức được vấn đề đó và có sự gợi ý, định hướng của PGS TS
Đặng Quang Á em đã mạnh dạn nghiên cứu đề tài " Phương pháp lai
mạng nơ ron - giải thuật di truyền giải bài toán NP-C và ứng dụng" Nội
dung cơ bản của luận văn gồm có ba chương:
Chương một giới thiệu sơ lược về một số bài toán NP-C, cách tiếp cận giải các bài toán NP-C như: bài toán tô mầu đồ thị, bài toán phẳng hóa đồ thị, bài toán chọn đồng tiền…, trình bầy các cách tiếp cận tới việc giải quyết các bài toán nêu trên
Chương hai giới thiệu sơ lược về mạng nơ ron, mạng nơ ron Hopfield, giải thuật di truyền Đặc biệt trình bầy phương pháp lai mạng Hopfield và giải thuật di truyền giải bài toán tối ưu
Chương ba ứng dụng giải thuật di truyền giải bài toán phân lịch thực hành tại các trường Đại học Đây là bài toán có tính ứng dụng thực tế cao trong nhiều lĩnh vực như phân công nhiệm vụ trong các đơn vị, xắp sếp lịch biểu Bài toán thuộc lớp NP-C Vì vậy, ứng dụng giải thuật di truyền trong
Trang 8bài toán phân công nhiệm vụ trong hệ thống tính toán hỗn tạp sẽ hứa hẹn là một gải pháp khả thi góp phần nâng cao hiệu quả trong công việc phân công, điều hành của con người.
Qua luận văn này em xin chân thành cảm ơn: PGS TS Đặng Quang Á - Viện Công nghệ thông tin đã tận tình giúp đỡ, động viên, định hướng, hướng dẫn em nghiên cứu và hoàn thành luận văn Em xin cảm ơn các thầy cô giáo trong viện Công nghệ thông tin, các thầy cô giáo khoa Công nghệ thông tin
ĐH Thái nguyên, đã giảng dạy và giúp đỡ em trong hai năm học vừa qua, cảm ơn sự giúp đỡ nhiệt tình của các bạn đồng nghiệp
Xin chân thành cảm ơn!
Thái Nguyên, tháng 11 năm 2010
Người viết luận văn
Lê Thanh Bình
Trang 9CHƯƠNG I GIỚI THIỆU SƠ LƯỢC VỀ CÁC BÀI TOÁN NP-C
1.1 Giới thiệu chung về bài toán NP-C
Quá trình khám phá các bài toán thuộc loại NP-C cho ta biết rằng có rất
ít cơ hội phát triển được một thuật toán hiệu quả để giải nó Điều đó khuyến khích ta tìm kiếm các heuristic, các lời giải từng phần, các xấp xỉ và những cách khác nhằm tránh giải trực diện bài toán
Mỗi lần đưa thêm một bài toán vào danh sách các bài toán NP-C chúng
ta lại củng cố thêm ý tưởng rằng tất cả mọi bài toán NP-C đều đòi hỏi thời gian mũ
Định nghĩa 1.1: Ta nói L là bài toán thuộc loại NP-complete nếu các
khẳng định sau đều đúng:
1) L thuộc NP
2) Với mọi ngôn ngữ L' NP có một phép thu thời gian đa thức L' về L.Bài toán NP-complete đầu tiên chúng ta sẽ xét là bài toán thỏa SAT (Boolean satisfiability) Chúng ta sẽ chứng tỏ rằng ngôn ngữ của mọi máy Turing không đơn định (NTM) thời gian đa thức đều có một phép thu thời gian đa thức về SAT Khi đã có được một số bài toán thuộc NP-complete (NP-C) chúng ta có thể chứng minh một bài toán mới thuộc NP-C bằng cách thu một bài toán đã biết là NP-C về bài toán đó nhờ một phép thu thời gian đa thức [ 1]
Định lý dưới đây cho biết vì sao một phép thu như thế chứng minh được bài toán đích là NP-C
Định lý 1.1: Nếu bài toán P1 là NP-C, P2 là NP và có một phép thu
thời gian đa thức từ P1 về P2 thì P2 cũng là NP-C.
Trang 10Chứng minh: Ta cần chứng tỏ rằng mỗi ngụn ngữ L thuộc NP đều thu được P2 trong thời gian đa thức Khi đú theo định nghĩa P2 sẽ thuộc NP-C.Thật vậy vỡ P1 là NP-C nờn cú một phộp thu đa thức L về P1 Giả sử thời gian của phộp thu này là P(n) Vỡ thế một chuỗi W L có chiều dài n đợc biến đổi thành một chuỗi x P1 cú chiều dài tối đa là P(n) Ta cũng biết rằng
cú một phộp thu đa thức từ P1 về P2 Giả sử thời gian của phộp thu này là q(m) Thế thỡ phộp thu này biến đổi chuỗi x P1 về một chuỗi y nào đú thuộc P2 với thời gian tối đa là q(p(n)) Vỡ thế phộp biến đổi W L về y P2 mất thời gian tối đa là p(n) + q(p(n)) đõy cũng là một đa thức Như vậy, ta kết luận rằng L cú thể thu về P2 trong thời gian đa thức
Định lý 1.2 Nếu cú một bài toỏn nào đú là NP-C mà lại thuộc lớp P thỡ
ta cú P = NP.
Chứng minh: Giả sử cú bài toỏn Q NP-C và Q P Thế thỡ mọi ngụn ngữ L
trong NP đều thu được về Q trong thời gian đa thức Nếu Q P thỡ L
P Như vậy NP P Kết hợp với điều hiển nhiờn là P NP ta được P = NP Nhận xột: Chỳng ta vẫn tin tưởng rằng nhiều bài toỏn thuộc NP nhưng khụng thuộc P nờn chỳng ta sẽ xem việc chứng minh một bài toỏn là NP-C cú giỏ trị ngang với việc chứng minh rằng nú khụng thể giải được trong thời gian đa thức, và vỡ thế khụng cú lời giải đỳng nào bằng mỏy tớnh (và ta sẽ chỉ đi tỡm lời giải gần đỳng)
1.2 Cỏch tiếp cận giải bài toỏn NP-C
1.2.1 Một số khỏi niệm
Như đó trỡnh bầy ở phần trờn việc tỡm nghiệm của cỏc bài toỏn NP-C với kớch cỡ đầu vào n tương đối lớn là rất khú khăn, thường là khụng khả thi vỡ độ phức tạp cú thể núi là hàm mũ Đõy là những bài toỏn nan giải hay cũn gọi là
Trang 11bất trị Vì thế thay cho việc tìm lời giải đúng (lời giải tối ưu) người ta phải tìm nghiệm gần đúng (lời giải gần tối ưu) mà có thể chấp nhận được.
- Giải thuật xấp xỉ: Xét trường hợp dữ kiện I của bài toán tối ưu P Gọi
F*(I) là giá trị của lời giải tối ưu đối với I Giải thuật G được gọi là giải thuật xấp xỉ cho bài toán P nếu nó luôn tạo ra một lời giải khả thi (feasible solution)
mà giá trị (I) của lời giải này gần với F*(I) đối với mọi dữ liệu I của bài toán
P
- Giải thuật xấp xỉ tuyệt đối: Giải thuật G được gọi là giải thuật xấp xỉ tuyệt đối cho bài toán P với mọi trường hợp I của P tồn tại hằng số K
|F*(I) - (I)| ≤ K
ở đây (I) là giá trị của lời giải do G tạo ra đối với dữ kiện I
- Giải thuật f(n)-xấp xỉ: Giải thuật G được gọi là giải thuật f(n)-xấp xỉ cho bài toán P với mọi dữ kiện I của bài toán P thì
với n là kích thước của I
- Giải thuật - xấp xỉ là giải thuật f(n)-xấp xỉ nếu f(n)
1.2.2 Giới thiệu một số thuật toán xấp xỉ giải bài toán NP-C
a Bài toán phủ đỉnh bé nhất (thuộc NP-C)
Input: Đồ thị vô hướng G = (V,E)
Trang 12Loại bỏ khỏi E cạnh uv và mọi cạnh liên thuộc với u hoặc v
End do
Return(C)
b Giải thuật tham lam giải các bài toán tối ưu hóa thuộc loại NP-C
Giải thuật tham lam là một heuristic GrA (Greedy Algorithm) không phải luôn luôn cho lời giải tối ưu Thường nó chỉ cho lời giải gần tối ưu Khi
nó cho lời giải tối ưu thì việc chứng minh tính đúng đắn của thuật toán cũng không đơn giản
Để mô tả chính xác GrA cần mô tả chính xác môi trường trong đó các bài toán tối ưu đặt ra Trong các bài toán tối ưu trong ngữ cảnh GrA người ta có:
- Tập (danh sách) các ứng viên, thí dụ, các nút, các cạnh trong đồ thị
a Heuristic đối với bài toán phủ đỉnh
Bài toán: Cho đồ thị G = (V,E) Tìm tập đỉnh C nhỏ nhất phủ G theo nghĩa nếu cạnh uv E u C hoặc v C
Thuật toán tham lam:
Input: Đồ thị G = (V,E)
Output: Phủ C của G gần với phủ nhỏ nhất
begin
C := Ø;
Trang 13Đầu tiên chon một trong các đỉnh a1, a2 hoặc a3 có bậc bằng 5 Giả sử ta chọn a1, a2 rồi a3 Cuối cùng là c1, c2, c3, c4 và c5 Như vậy phủ đỉnh gồm 8 đỉnh Nhưng phủ đỉnh tối ưu chỉ gồm 5 đỉnh là {b1, b2, b3, b4, b5} nếu mở rộng thí dụ này và xét đồ thị với n đỉnh loại a, n +2 đỉnh loại b và n +2 đỉnh loại c Theo giải thuật 1 ta tìm được phủ gồm 2n + 2 đỉnh, nhưng phủ tối ưu chỉ gồm
n + 2 đỉnh Vì n không giới nội nên sai số có thể đạt gần tới 100%
Phải chăng đây là phương pháp xấu nhất của giải thuật tham, hay có thể
có sai số lớn hơn?
Xét đồ thị: Đầu tiên chọn a7 với deg(a7) = 5 lớn nhất Sau khi loại a7 thì
a6 có bậc lớn nhất (bậc 4) rồi a5 (bậc 3), Trên mỗi bước trong số các đỉnh có bậc lớn nhất có một đỉnh loại a, sau đó được loại bỏ Cuối cùng phủ đỉnh được bổ sung các đỉnh loại c Kết quả là ta được phủ đỉnh của G gồm 13 đỉnh, trong khi phủ tối ưu chỉ gồm 6 đỉnh {b1, b2, b3, b4, b5, b6} Như vậy sai số vượt quá 100%
Để tổng quát hóa phản ví dụ trên đầu tiên ta cần hiểu cấu trúc của nó Có thể xem nó như 6 cạnh cibi (i = 1, 6), được bổ sung thêm các đỉnh loại a một cách thích hợp
Trang 14Đầu tiên 6 cạnh loại b được phân thành 3 cặp và các đỉnh của mỗi cặp được nối với một đỉnh loại a Sau đó các đỉnh loại b được chia thành hai bộ ba
và tất cả các đỉnh của mỗi bộ ba nối với một đỉnh a mới Cũng làm như vậy với mỗi bộ bốn, bộ năm
Định nghĩa 1.2 Giả sử A là bài toán tối ưu với hàm giá trị c là nguyên
dương, A là thuật toán cho giá trị fA(I) đối với dữ kiện I, lời giải tối ưu là (I) Khi đó thuật toán A được gọi là thuật toán -xấp xỉ đối với bài toán A nếu
0 sao cho
Thí dụ: Thuật toán 2 là thuật toán 1-xấp xỉ, thuật toán 1 không phải là -xấp xỉ > 0, vì sai số tương đối của nó đối với các bài toán riêng biệt có thể lớn hơn hằng số bất kỳ Để mô tả trường hợp xấu nhất của thuật toán đôi khi người ta lấy = (n) Thí dụ nếu n là số đỉnh trong bài toán phủ đỉnh người ta chỉ ra rằng thuật toán 1 là lnn-xấp xỉ Có nghĩa là với mọi đồ thị G với n đỉnh thuật toán cho tập phủ C thỏa mãn
trong đó là phủ tối ưu
Trang 15dij + djk dik 1 i, j, k n.
Bất đẳng thức này thỏa mãn nếu dij là khoảng cách thông thường giữa 2 điểm (xi, yi) và (xj , yj):
dij =
Có thể có các ma trận (dij) khác thỏa mãn bất đằng thức tam giác
Bài toán: Hãy tìm cách nhận số tiền S đã cho dùng ít tờ tiền nhất với mệnh giá khác nhau
c Thuật toán tham giải bài toán chọn đồng tiền
input: Tổng số tiền S, tập các mệnh giá M = {m1,m2, ,mn}
+ Sắp xếp các mệnh giá theo thứ tự giảm dần Giả sử đó là m1 > m2 >
Trang 16Phương án tối ưu hơn: 2 tờ, mỗi tờ mệnh giá 20.
Kết luận: Như vậy thuật toán tham không phải khi nào cũng cho lời giải tối ưu
Nhưng khi tập dữ liệu lớn thì thuật toán nhanh chóng cho lời giải tối ưu hoặc gần tối ưu
d Bài toán ba lô nguyên (0-1)
Giả sử ba lô có dung lượng là W Có các vật b1, , bn với dung lượng wi
và giá trị pi (profit) Xếp các vật vào ba lô sao cho đạt tổng giá trị lớn nhất (giả thiết là các vật không thể chia nhỏ)
Ký hiệu xi là biến quyết định (loại 0-1):
xi =
Trang 17Khi đó bài toán được phát biểu như sau:
Tìm vector x = (x1, x2, , xn), xi {0, 1} sao cho với ràng
e Các phương pháp tham (GrM) đối với bài toán ba lô 0-1
GrM dựa trên việc đặt các vật vào ba lô từng cái một
Các chiến lược chọn vật đặt vào ba lô:
* Greedy-by-profit: Tại mỗi bước chọn trong các vật còn lại vật có giá trị lớn nhất (với điều kiện dung lượng của ba lô cho phép)
* Greedy-by-weight: Tại mỗi bước chọn vật có trọng lượng bé nhất trong các vật còn lại Đặt càng nhiều vật vào ba lô càng tốt
* Greedy-by-profit-density: Tại mỗi bước chọn trong số các vật còn lại vật có mật độ giá trị di = pi/wi lớn nhất
Trang 18Bảng dưới đây trình bày 4 lời giải:
i w i p i d i G-profit G-weight G-density Optimal
Trang 191.2.4 Tô mầu đồ thị với bài toán 4 mầu
a Giới thiệu
Lịch sử xuất hiện giả thuyết bốn màu còn nhiều điều chưa rõ Có ý kiến cho rằng Mobious đã biết bài toán này từ năm 1852 khi Francis Guthrie, một sinh viên trường Tổng hợp London trình bày bài toán này cho Augustus De Morgan, và ông này đã mô tả nó trong thư gửi cho Hamilton (Lại có ý kiến khác cho rằng bài toán này xuất hiện vào khoảng những năm 1850-1852 từ một nhà buôn người Anh là Gazri khi tô bản đồ hành chính nước Anh đã cố gắng chứng minh rằng nó có thể tô bốn màu Sau đó, năm 1952 ông ta đã viết thư cho DeMorgan để thông báo về giả thuyết này) Năm 1878 Kelly, nhà toán học nổi tiếng người Anh đã phát biểu trước hội toán học London với thông báo rằng ông đã suy nghĩ nhiều ngày về bài toán bốn màu nhưng không thể giải được
Tính hấp dẫn của bài toán này nằm ở tính dễ hiểu trong cách phát biểu bài toán : “Cần chứng minh rằng một đồ thị phẳng bất kỳ có thể tô bởi bốn màu sao cho hai đỉnh kề nhau có hai màu khác nhau” Để giả bài toán này, có hai khuynh hướng :
1 Đối với một đồ thị phẳng bất kỳ, xây dựng thuật toán thực hiện việc tô màu các đỉnh bởi bốn màu
2 Chứng minh sự tồn tại của phép tô màu đó
Tóm lại, bài toán bốn màu được phát biểu như sau:
Phát biểu bài toán bốn màu:
Cho một bản đồ trong đó có N nước Cần tô màu cho các nước sao cho hai nước kề nhau (tức là có chung biên giới) được tô bởi hai màu khác nhau, nhờ đó có thể phân biệt các vùng một cách dễ dàng
Bài toán sẽ không còn tồn tại nếu như có số lượng màu lớn Tuy nhiên,
sẽ thực sự khó khăn với ràng buộc rằng phải sử dụng số màu là nhỏ nhất
Trang 20b Cỏch tiếp cận giải bài toỏn bốn màu
Cỏc nhà toỏn học đó chứng minh rằng một bản đồ bất kỳ cú thể tụ bởi 4 màu
Vớ dụ bản đồ 9 nước tụ bởi bốn màu như hỡnh 1.2
Trước hết ta sẽ mụ hỡnh hoỏ bài toỏn này như một bài toỏn thoả món ràng buộc
Ký hiệu X là chỉ số miền cần tụ màu (X= 1,2 N)
) ê (
nha kề Y X, nếu
màu bởi tô
dược X miền
4 5
6
7 8
Trang 21X Y
(1.2)
Vì vế trái của ràng buộc (1.2) không âm (do VXi, VYi, dXY ≥ 0) và giá trị nhỏ nhất của nó là 0 Bài toán thoả mãn ràng buộc trên có thể phát biểu dưới dạng bài toán tối ưu hoá
N
X Y
có ràng buộc sau:
Tìm VXi ∈ {0,1} sao cho
min 1
4 1 1
2 4
1
→ +
N X i
N
X i X i
Y
B V
Phẳng hoá đồ thị là một trong những bài toán quan trọng trong việc thiết
kế mạch điện tử và định tuyến tối ưu mạch tổ hợp
Một cách tổng quát bài toán phẳng hóa đồ thị được phát biểu như sau:
Từ một đồ thị cho trước (là đồ thị phẳng hoặc không phẳng), hãy tìm ra một
đồ thị con lớn nhất để có thể phẳng hoá được, sau đó phẳng hóa đồ thị con đó sao cho không có cạnh nào cắt nhau khi biểu diễn chúng trên cùng một mặt phẳng
Với đồ thị không phẳng cho trước, để thực hiện phẳng hoá nó, trước hết
ta phải chọn từ nó một đồ thị con lớn nhất có thể phẳng hóa được Đồ thị con này được chọn sao cho số cạnh của nó là lớn nhất, tương đương với số cạnh bị loại bỏ khỏi đồ thị cho trước là nhỏ nhất Như vậy bài toán tìm một đồ thị con
Trang 22lớn nhất từ một đồ thị không phẳng cho trước sau đó phẳng hoá nó là một bài toán thuộc lớp bài toán NP- đầy đủ.
b Cách tiếp cận giải bài toán phẳng hóa đồ thị
Như vậy để phẳng hoá một đồ thị ta phải thực hiện các bước sau:
- Với một đồ thị cho trước kiểm tra xem nó có phẳng hay không, nếu không phẳng, ta tìm một đồ thị con lớn nhất có thể phẳng hoá được
- Biểu diễn đồ thị tìm được lên mặt phẳng sau đó thực hiện phẳng hoá
34
(a)
34
(b)
Hình 1.3: Đồ thị 6 cạnh
Trang 23hàng và được sắp xếp theo thứ tự, các cạnh của đồ thị được biểu diễn bởi các đường nối trên và các đường nối dưới Với phương pháp này đồ thị hình (1.3) được biểu diễn như sau:
1.3 Kết luận
Nội dụng của chương tập trung vào giới thiệu sơ lược về một số bài toán NP-C, cách tiếp cận giải bài toán NP-C như bài toán tô mầu đồ thị, bài toán phẳng hóa đồ thị, bài toán ba lô, bài toán chọn đồng tiền…
Giới thiệu một số thuật toán giải bài toán NP-C như thuật toán xấp xỉ, thuật toán gần đúng, giải thuật tham lam và một số cách tiếp cận giải bài toán tối ưu thuộc loại NP-C
đường nối trên
đường nối dưới
Hình 1.5: Đồ thị phẳng trên một hàng
đơn
Trang 24CHƯƠNG II MẠNG NƠ RON VÀ THUẬT GIẢI DI TRUYỀN GIẢI
BÀI TOÁN TỐI ƯU2.1 Giới thiệu về mạng nơ-ron
+ Giai đoạn hai: Vào khoảng gần những năm 1960, một số mô hình ron hoàn thiện hơn đã được đưa ra như: mô hình Perceptron của Rosenblatt (1958), Adaline của Widrow (1962)
nơ-+ Giai đoạn ba: Có thể tính vào khoảng đầu thập niên 80 Những đóng góp lớn cho mạng nơ-ron trong giai đoạn này phải kể đến Grossberg, Kohonen, Rumelhart và Hopfield Trong đó đóng góp lớn của Hopfield gồm hai mạng phản hồi: mạng rời rạc năm 1982 và mạng liên tục năm 1984 Đặc biệt, ông đã dự kiến nhiều khả năng tính toán lớn của mạng mà một nơ-ron không có khả năng đó
+ Giai đoạn bốn: Tính từ năm 1987 đến nay, hàng năm thế giới đều mở hội nghị toàn cầu chuyên ngành nơ-ron IJCNN (International Joint Conference on Neural Networks) Rất nhiều công trình được nghiên cứu để ứng dụng mạng nơ-ron vào các lĩnh vực, ví dụ như: kỹ thuật tính, tối ưu, sinh học, y học, thống kê, giao thông, hoá học… Cho đến nay, mạng nơ-ron đã tìm được và khẳng định được vị trí của mình trong rất nhiều ứng dụng khác nhau
Trang 252.1.2 Mô hình mạng nơ-ron nhân tạo
2.1.2.1 Nơ-ron sinh học
Hệ thần kinh ở người có khoảng 1010 tế bào thần kinh được gọi là các nơ-ron Mỗi nơ-ron gồm có ba phần: Thân nơ-ron với nhân ở bên trong (soma), một đầu thần kinh ra (axon) và một hệ thống hình cây thần kinh (dendrite) Có nhiều loại nơ-ron khác nhau về kích thước và khả năng thu phát tín hiệu Tuy nhiên, chúng có cấu trúc và nguyên lý hoạt động chung Hình 2.1 là một hình ảnh đơn giản hoá của một loại nơ-ron như vậy Trong thực tế có rất nhiều dây thần kinh vào và chúng bao phủ một diện tích rất lớn (0.25 mm2) để nhận các tín hiệu từ các nơ-ron khác Đầu thần kinh ra được rẽ nhánh nhằm chuyển giao tín hiệu từ thân nơ-ron tới nơ-ron khác Các nhánh của đầu thần kinh được nối với các khớp thần kinh (synapse) Các khớp thần kinh này được nối với thần kinh vào của các nơ-ron khác Thêm vào đó, các nơ-ron có thể sửa đổi tín hiệu tại các khớp, trong các nơ-ron nhân tạo được gọi là trọng số
Hoạt động của nơ-ron sinh học có thể mô tả tóm tắt như sau:
Khớp nối dây thần kinh ( Đầu Vào) Nhân
Trang 26Mỗi nơ-ron nhận tín hiệu vào từ các tế bào thần kinh khác Chúng tích hợp các tín hiệu vào, khi tổng tín hiệu vượt quá một ngưỡng nào đó chúng tạo tín hiệu ra và gửi tín hiệu này tới các nơ-ron khác thông qua dây thần kinh Các nơ-ron liên kết với nhau thành mạng Mức độ bền vững của các liên kết này xác định một hệ số gọi là trọng số liên kết.
2.1.2.2 Nơ-ron nhân tạo
+ Trọng số và tổng tín hiệu đầu vào:
Mô phỏng nơ-ron sinh học, ta có nơ-ron nhân tạo Mỗi nơ-ron có rất nhiều dây thần kinh vào, nghĩa là mỗi nơ-ron có thể tiếp nhận đồng thời nhiều tín hiệu Giả sử tại nơ-ron i có N tín hiệu vào, mỗi tín hiệu vào S j được gán một trọng số W ijtương ứng Ta có thể ước lượng tổng tín hiệu đi vào nơ-ron
i w s net
1 , (2.1)(ii) Dạng toàn phương:
∑=
= N
j j ij
i w s net
net ρ , (2.3)trong đó ρvàw ij(j = 1 ,N) lần lượt là bán kính và tâm cầu
+ Hàm kích hoạt
Hàm biến đổi tín hiệu đầu vào net cho tín hiệu đầu ra out được gọi là hàm kích hoạt Hàm này có đặc điểm là không âm và bị chặn Có nhiều dạng
Trang 27hàm kích hoạt, người ta thường sử dụng một hàm kích hoạt chung cho toàn mạng
Một số hàm kích hoạt thường được sử dụng:
f out
LTP net
UTP net net
f
1
(2.5)
ở đây UTP>LTP Trong đó:
UTP là ngưỡng trên (Upper Trip Point)
LTP là ngưỡng dưới (Lower Trip Point)
f out
1
1
, (2.6)trong đó λ > 0 là hằng số xác định độ nghiêng của hàm
Nút bias:
Là một nút thêm vào nhằm tăng khả năng thích nghi của mạng nơ-ron trong quá trình học Trong các mạng nơ-ron có sử dụng bias, mỗi nơ-ron có thể có một trọng số tương ứng với bias Trong số này luôn có giá trị là 1
Mô hình của một nút xử lý (nút thứ i):
Trang 28i j ij
i W V U
#1
θ , (2.7)
( )i i
Với việc giả lập các hệ thống sinh học, các cấu trúc tính toán, mạng ron có thể giải quyết được các lớp bài toán nhất định, như: Bài toán xếp loại, bài toán lập lịch, bài toán tìm kiếm, bài toán nhận dạng mẫu Các bài toán phức tạp cao, không xác định Tuy nhiên, sự liên kết giữa một bài toán bất kỳ trong thực tế với một giải pháp mạng nơ-ron lại là một việc không dễ dàng.Xét một cách tổng quát, mạng nơ-ron là một cấu trúc xử lý song song thông tin phân tán mang các đặc tính nổi bật sau:
nơ-Hình (2.2) Mô hình một nơ-ron
Trang 29• Là mô hình toán học dựa trên bản chất của nơ-ron.
• Bao gồm một số lượng rất lớn các nơ-ron liên kết với nhau
• Mạng nơ-ron có khả năng học, khái quát hoá tập dữ liệu học thông qua việc gán và hiệu chỉnh các trọng số liên kết
• Tổ chức theo kiểu tập hợp mang lại cho mạng nơ-ron khả năng tính toán rất lớn, trong đó không có nơ-ron nào mang thông tin riêng biệt [2]
2.2 Phạm vi ứng dụng của mạng nơ-ron
2.2.1 Những bài toán thích hợp
Mạng nơ-ron được coi như là hộp đen biến đổi véc-tơ đầu vào m biến thành véc-tơ đầu ra n biến Tín hiệu ra có thể là các tham số thực, (tốt nhất nằm trong khoảng [0,1], hoặc [-1,1]), số nhị phân 0,1, hay số lưỡng cực -1;+1
Số biến của véc-tơ vào ra không bị hạn chế xong sẽ ảnh hưởng tới thời gian tính và tải nguyên liệu của máy tính Nói chung, các lớp bài toán áp dụng cho nơ-ron có thể được phân chia thành bốn loại:
- Phân lớp (classification)
- Mô hình hoá (modeling)
- Biến đổi, thực hiện ánh xạ từ một không gian đa biến vào không gian
đa biến khác tương ứng (transformation and mapping)
- Liên kết và kỹ thuật dịch chuyển cửa sổ (association and moving window)
2.2.2 Các lĩnh vực ứng dụng mạng nơ-ron
Khó có thể thống kê đầy đủ các ứng dụng của mạng nơ-ron Tuy nhiên,
có thể nêu một số ứng dụng như sau:
- Xử lý ảnh
- Nhận dạng mẫu
- Y học
- Các hệ thống quân sự
Trang 30- Vấn đề lập kế hoạch, điều khiển và tìm kiếm.
- Các hệ thống năng lượng
- Dự đoán
- Giải các bài toán tối ưu: Vấn đề chính là tìm những thuật toán huấn luyện mạng để góp phần tìm nghiệm cho nhiều lớp bài toán tối ưu toàn cục
2.2.3 Ưu và nhược điểm của mạng nơ-ron
- Không có cách tổng quát để đánh giá hoạt động bên trong mạng
- Việc học đối với mạng có thể khó (hoặc không thể) thực hiện
- Khó có thể dự đoán trước được hiệu quả của mạng trong tương lai (khả năng tổng quát hoá)
2.3 Mạng Hopfield
Trong mạng hồi quy tín hiệu ra của một nơ-ron có thể được truyền ngược lại làm tín hiệu vào cho các nơ-ron ở các lớp trước, hoặc các nơ-ron trong cùng một lớp Phần này sẽ trình bày mô hình mạng tiêu biểu thuộc lớp mạng hồi quy, đó là mạng Hopfield
Mạng Hopfield được bắt đầu nghiên cứu từ năm 1982 Đây là mạng một lớp với thông tin và quá trình xử lý có nối ngược Chính công trình của
Trang 31Hopfield được tìm thấy rất nhiều ứng dụng, đặc biệt trong bộ nhớ liên kết và trong các bài toán tối ưu.
Giả sử mạng được xây dựng dưới dạng mạng một lớp, mỗi nơ-ron được truyền ngược lại làm tín hiệu vào cho các nơ-ron khác nhưng bản thân các nơ-ron không tự liên kết với chính nó Khi đó mô hình mạng Hopfield được biểu diễn như hình 2.3
Tín hiệu ra của nơ-ron thứ j nào đó được truyền ngược lại làm tín hiệu vào cho các nơ-ron khác trong mạng một cách đầy đủ thông qua các trọng số tương ứng
Ký hiệu Wij là liên kết giữa hai nơ ron i và j (wij = wji), Vi là đầu ra của
nơ ron i Ta coi véc tơ (V1, V2, Vn) là trạng thái của mạng Tại mỗi thời điểm t mỗi nơ ron i tổng hợp các tin hiệu Vj từ các nơ ron khác và tin hiệu từ bên ngoài (bias) iÞ j( ) i.
Mạng đạt trạng thái cân bằng nếu Vi(t+1) = Vi(t) , ∀ i
Ta định nghĩa hàm năng lượng của mạng là:
2
X
N
Y 1
Y2
Y M
.
Trang 32i i n i j i iị n ị i j
n i
n W V V I V V
V E E
1 1
1
1 ) , , (
Trường hợp mạng nhận cỏc giỏ trị nhị phõn {0, 1}:
Hàm kớch hoạt được xỏc định như sau:
net nếu net
f
á 0
0 1
) ( (2.11)
Việc cho hàm kớch hoạt (2.11) tương đương với quy tắc chuyển trạng thỏi của mạng Vi(t+1) = Vi(t) +∆Vi ;
trong đú ∆Vi được cho bởi cụng thức (quy tắc)
Định lý: Giả sử Wii =0 (i ,=i n) Khi đú với quy tắc chuyển trạng thỏi
như trờn và cập nhật khụng đồng bộ thỡ năng lượng của mạng khụng tăng (tức
là giảm hoặc giữ nguyờn)
Chứng minh: Giả sử nơ ron k thay đổi trạng thỏi từ thời điểm t đến t+1
Khi đú mạng sẽ thay đổi năng lượng và
j
k j
−
=
≥ +
∑
V(t)=1 và
I t V W nếu
t V và I
t V W nếu
V
j
i i
j ij j
i i
j ij
i
trong các trường hợp khác
0
0 )
( 1
0 ) ( 0
) ( 1
Trang 33vì thế theo công thức ta luôn có ∆E≤ 0, tức là năng lượng của mạng không tăng Vì thế hàm năng lượng sẽ đạt tới giá trị cực tiểu Do hàm giới nội.
Do tính chất hội tụ và giá trị nhị phân của các nơ ron nên mạng Hopfield rời rạc được sử dụng cho các bài toán tối ưu {0, 1}
Sự hội tụ của mạng Hopfield liên tục cho bởi định lý sau:
Định lý: Nếu fi(Ui) (i= 1 ,n) là các hàm khả vi và không giảm thì ≤ 0
dt dE
i i
i
dV V
E dt
dU dU
dV V
E dt