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

Tiểu luận Thuật toán và phương pháp giải quyết vấn đề PHƯƠNG PHÁP HUERISTIC VÀ BÀI TOÁN NGƯỜI ĐƯA THƯ

32 770 1

Đ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

Định dạng
Số trang 32
Dung lượng 458,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một cách ngắn gọn có thể hiểu bài toán NP-khó là bài toán mà không cóthuật toán thời gian tính đa thức để giải nó trừ khi P = NP, mà chỉ có các thuậttoán giải trong thời gian hàm mũ.. Mộ

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

BÀI THU HOẠCH MÔN THUẬT TOÁN VÀ PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ

ĐỀ TÀI PHƯƠNG PHÁP HUERISTIC VÀ BÀI

TOÁN NGƯỜI ĐƯA THƯ

GVHD: PGS.TS Đỗ Văn Nhơn SVTH: Nguyễn Hải Yến

MSSV: CH1301074

TP Hồ Chí Minh, ngày 19 tháng 01 năm 2014

Trang 2

LỜI NÓI ĐẦU

Bài toán tìm kiếm được xem là bài toán được nhiều người quan tâm, đặcbiệt là tìm kiếm tối ưu toàn cục Có nhiều phương pháp để giải các bài toán tìmkiếm tối ưu toàn cục như : phương pháp trực tiếp (áp dụng các công thức, định lý,thuật giải đã có sẵn ), các phương pháp gián tiếp hoặc tìm kiếm lời giải thông dụng(phương pháp thử sai, phương pháp vét cạn, phương pháp quay lui) Ngoài cácphương pháp nêu trên thì trong học phần “ Thuật toán và phương pháp giải quyếtvấn đề em còn được tiếp cận với các phương pháp hueristic và meta hueristic

Và sau đây là bài thu hoạch của em : “Tìm hiểu về hueristic metahueristic - Giải pháp hueristic theo nguyên lý tham lam giải bài toán ngườiđưa thư ”

-Em xin gửi lời cảm ơn chân thành đến trường Đại học Công Nghệ ThôngTin TP.HCM đã tạo điều kiện cho em được tiếp cận với môn học “Thuật toán vàphương pháp giải quyết vấn đề ”

Em xin cảm ơn Thầy PGS.TS Đỗ Văn Nhơn đã tận tình truyền đạt kiếnthức và có những định hướng giúp em hoàn thành bài thu hoạch

Mặc dù đã rất cố gắng nhưng bài thu hoạch của em khó tránh khỏi thiếusót em mong Thầy góp ý nhận xét để bài thu hoạch hoàn thiện hơn

Trang 3

MỤC LỤC



LỜI NÓI ĐẦU 2

Chương 1 TÌM HIỂU VỀ HUERISTIC VÀ META HUERISTIC TRONG GIẢI QUYẾT VẤN ĐỀ NP 4

1.1 Khái niệm về lớp bài toán P và NP 4

1.1.1 Khái niệm các loại thời gian tính 4

1.1.2 Bằng chứng ngắn gọn dễ kiểm tra 4

1.1.3 Khái niệm quy dẫn 5

1.1.4 Lớp bài toán P 5

1.1.5 Lớp bài toán NP 6

1.1.6 Lớp bài toán Co- NP 6

1.1.7 Lớp bài toán NP- đầy đủ (NP- complete) 6

1.1.8 Lớp bài toán NP-khó (NP- Hard) 7

1.2 Mở rộng khái niệm thuật giải 8

1.3 Khái niệm hueristic và meta hueristic 9

1.3.1 Hueristic 9

1.3.2 Meta hueristic 10

1.4 Thuật giải hueristic 10

1.5 Thuật giải di truyền (GA) 11

1.5.1 Giới thiệu 11

1.5.2 Các khái niệm 12

1.5.3 Mô hình giải thuật 13

1.5.4 Các tham số 14

1.5.5 Các cách mã hóa NST 15

1.5.6 Khởi tạo quần thể 16

1.5.7 Các toán tử di truyền 17

1.6 Thuật giải đàn kiến 19

1.6.1 Giới thiệu 19

1.6.2 Mô hình giải thuật 20

Trang 4

Chương 2: ỨNG DỤNG HUERISTIC GIẢI QUYẾT BÀI TOÁN NGƯỜI

ĐƯA THƯ 22

2.1 Phát biểu bài toán 22

2.2 Mô hình hóa 22

2.3 Cách giải quyết 23

2.4 Thiết kế thuật toán 23

2.4.1 Ý tưởng 23

2.4.2 Thuật toán 24

2.5 Cài đặt thuật toán 24

2.6 Chứng minh tính đúng 27

2.7 Tính độ phức tạp của thuật toán 27

2.8 Hiệu chỉnh, cải tiến thuật toán 28

TÀI LIỆU THAM KHẢO 29

Trang 5

Chương 1.

TÌM HIỂU VỀ HUERISTIC VÀ META

HUERISTIC TRONG GIẢI QUYẾT VẤN ĐỀ NP

1.1 Khái niệm về lớp bài toán P và NP

1.1.1 Khái niệm các loại thời gian tính

 Thời gian tính tốt nhất: là thời gian tính tối thiểu cần thiết để thực hiệnthuật toán với mọi bộ dữ liệu đầu vào kích thước n

 Thời gian tính tồi nhất: là thời gian tính tối đa cần thiết để thực hiện thuậttoán với mọi bộ dữ liệu đầu vào có kích thước n

 Thời gian tính trung bình: là thời gian tính cần thiết để thực hiện thuật toántrên một tập hữu hạn các bộ dữ liệu đầu vào có kích thước n Thời gian tínhtrung bình được tính theo công thức sau:

 Thời gian tính trung bình=(Tổng thời gian tính tất cả các bộ dữ liệu có thể)/

Số bộ dữ liệu

Định nghĩa: Bài toán quyết định là bài toán mà đầu ra chỉ có thể là ‘yes’ hoặc

‘no’(đúng/sai, 0/1)

Đối với một bài toán quyết định, có những bộ dữ liệu vào cho ra câu trả lời(đầu ra)

là ‘yes’, chúng ta gọi đây là bộ dữ liệu ‘yes’, nhưng cũng có những bộ dữ liệu vào cho ra câu trả lời là ‘no’, chúng ta gọi những bộ dữ liệu này là bộ dữ liệu ‘no’.

1.1.2 Bằng chứng ngắn gọn dễ kiểm tra

Rất nhiều các bài toán quyết định có một đặc điểm chung, đó là để xác nhận

câu trả lời ‘yes’ đối với bộ dữ liệu vào ‘yes’ của chúng, chúng ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra xác nhận câu trả lời ‘yes’ cho bộ dữ liệu vào

‘yes’ đó Tính ngắn gọn dễ kiểm tra ám chỉ việc thời gian kiểm tra để đưa ra kết

quả chỉ mất thời gian đa thức Ví dụ về những bài toán quyết định kiểu này rấtnhiều, sau đây là một số ví dụ:

Trang 6

Bài toán kiểm tra tính hợp số: “Có phải số n là hợp số?”, để xác nhận câu trả lời ‘yes’ cho đầu vào n, chúng ta có thể đưa ra một ước số b (1<b<n) của n Để kiểm tra xem b có phải là ước số của n chúng ta có thể thực hiện phép chia n cho b sau thời gian đa thức Trong ví dụ này , b là bằng chứng ngắn gọn (vì b<n) và dễ kiểm tra (có thuật toán đa thức để kiểm tra b đúng

là ước số của n không)

Đối với bài toán Hamilton, để xác nhận câu trả lời là ‘yes’ cho đồ thị đã cho G, chúng ta có thể đưa ra một chu trình Hamilton của đồ thị:

v1, v2, v3 v n , v1

Việc kiểm tra dãy đỉnh nói trên có là chu trình Hamilton của đồ thị đã chohay không có thể thực hiện sau thời gian đa thức Khi đó chúng ta nói dãyđỉnh nói trên là bằng chứng ngắn gọn dễ kiểm tra để xác nhận câu trả lời

‘yes’ của bài toán Hamilton.

Một cách tương tự, có thể đưa ra khái niệm bằng chứng ngắn gọn dễ kiểm tra để xác nhận câu trả lời ‘no’ Đối với một số bài toán, việc đưa ra bằng chứng ngắn gọn dễ kiểm tra để xác nhận câu trả lời ‘no’ là dễ hơn so với việc đưa ra bằng chứng ngắn gọn xác định câu trả lời là ‘yes’.

1.1.3 Khái niệm quy dẫn

Định nghĩa Giả sử chúng ta có hai bài toán quyết định A và B Chúng ta nói A

có thể quy dẫn về B nếu như sau một thời gian tính đa thức nếu tồn tại một thuật toán thời gian đa thức R cho phép biến đổi bộ dữ liệu x của A thành bộ dữ liệu vào R(x) của B sao cho x là bộ dữ liệu yes của A khi và chỉ khi R(x) là dữ liệu vào yes của B.

Nếu A quy dẫn về được B sau thời gian đa thức và B có thể giải được sau thời gian

đa thức thì A cũng có thể giải được sau thời gian đa thức.

1.1.4 Lớp bài toán P

Định nghĩa Chúng ta gọi P là lớp các bài toán có thể giải được trong thời gian

Trang 7

Ví dụ: Bài toán cây khung nhỏ nhất giải được nhờ thuật toán Prim với thời gian

0(n2) thuộc lớp bài toán P

1.1.5 Lớp bài toán NP

Định nghĩa Ta gọi NP là lớp các bài toán quyết định mà để xác nhận câu trả lời

‘yes’ của nó ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra.

Ví dụ: Bài toán kiểm tra tính hợp số: “Có phải n là hợp số không?”, để xác nhận

câu trả lời ‘yes’ cho đầu vào n ta có thể đưa ra một ước số b (1< b < n) của n Đểkiểm tra xem b có phải là ước số của n hay không ta có thể thực hiện phép chia ncho b sau thời gian đa thức Trong ví dụ này dễ thấy b là bằng chứng ngắn gọn(b<n) và dễ kiểm tra (có thuật toán thời gian tính đa thức để kiểm tra xem b có làước số của n)

1.1.6 Lớp bài toán Co- NP

Định nghĩa Ta gọi Co-NP là lớp các bài toán quyết định mà để xác nhận câu trả

lời ‘no’ của nó ta có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra.

Ví dụ: Bài toán kiểm tra tính nguyên tố: “Có phải n là số nguyên tố không?”, để

đưa ra bằng chứng ngắn gọn dễ kiểm tra xác nhận câu trả lời ‘no’ cho đầu vào n ta

có thể đưa ra một ước số b của n

1.1.7 Lớp bài toán NP- đầy đủ (NP- complete)

Định nghĩa Một bài toán quyết định A được gọi là NP-đầy đủ (NP-Complete)

nếu như:

A là một bài toán trong NP.

Mọi bài toán trong NP đều có thể quy dẫn về A.

Bổ đề Giả sử bài toán A là NP-đầy đủ, bài toán B thuộc NP, và bài toán A qui dẫn

được về bài toán B Khi đó bài toán B cũng là NP-đầy đủ

1.1.8 Lớp bài toán NP-khó (NP- Hard)

Trang 8

Một cách ngắn gọn có thể hiểu bài toán NP-khó là bài toán mà không có

thuật toán thời gian tính đa thức để giải nó trừ khi P = NP, mà chỉ có các thuậttoán giải trong thời gian hàm mũ Sau đây là định nghĩa chính thức của bài toán

NP-khó

Định nghĩa Một bài toán A được gọi là NP- khó (NP-hard) nếu như sự tồn tại

thuật toán đa thức để giải nó kéo theo sự tồn tại thuật toán đa thức để giải mọi bài

toán trong NP.

Một số bài toán NP-khó tiêu biểu như:

Bài toán bè cực đại (MaxClique): Cho một đồ thị vô hướng G = (V, E) V là tập các đỉnh, E là tập các cạnh tương ứng các đỉnh trong V Cần tìm bè lớn nhất của G.

Bè là tập các đỉnh trong đồ thị mà đôi một có cạnh nốivới nhau (là một đồ thị con

đầy đủ trong đồ thị G)

Bài toán tập độc lập (Independent set): Cho đồ thị vô hướng G = (V, E) và số nguyên K, hỏi có thể tìm được tập độc lập S với |S| ≥ K Tập độc lập là tập các

đỉnh trong đồ thị mà chúng đôi một không có cạnh nối với nhau

Bài toán phủ đỉnh (Vertex cover): Ta gọi một phủ đỉnh của đồ thị vô hướng G = (V, E) là một tập con các đỉnh của đồ thị S V sao cho mỗi cạnh của đồ thị có ít nhất một đầu mút trong S Bài toán đặt ra là: Cho đồ thị vô hướng G = (V, E) và số nguyên k Hỏi G có phủ đỉnh với kích thước k hay không?

Một cách không hình thức, có thể nói rằng nếu ta có thể giải được một

cách hiệu quả một bài toán NP-khó cụ thể, thì ta cũng có thể giải hiệu quả bất kỳ bài toán trong NP bằng cách sử dụng thuật toán giải bài toán NP-khó như một

chương trình con

Từ định nghĩa bài toán NP-khó có thể suy ra rằng mỗi bài toán NP-đầy đủ đều là NP-khó Tuy nhiên một bài toán NP-khó không nhất thiết phải là NP-đầy

đủ.

Trang 9

Cũng từ bổ đề nêu trên, ta có thể suy ra rằng để chứng minh một bài toán A

nào đó là NP-khó, ta chỉ cần chỉ ra phép qui dẫn một bài toán đã biết là NP-khó

về nó

Sau đây là mô hình phân lớp các bài toán đã nêu trên

Từ phần trình bày trên, ta thấy có rất nhiều bài toán ứng dụng quan trọng

thuộc vào lớp NP-khó, và vì thế khó hy vọng xây dựng được thuật toán đúng hiệu

quả để giải chúng Do đó, một trong những hướng phát triển thuật toán giải các bàitoán như vậy là xây dựng các thuật toán gần đúng

1.2 Mở rộng khái niệm thuật giải

Trong quá trình nghiên cứu giải quyết các vấn đề - bài toán, người ta đã đưa

Trang 10

 Có những bài toán được giải theo những cách giải vi phạm thuật toánnhưng vẫn chấp nhận được

Từ những nhận định trên, người ta thấy rằng cần phải có những đổi mới chokhái niệm thuật toán Người ta đã mở rộng hai tiêu chuẩn của thuật toán : tính xácđịnh và tính đúng đắn Việc mở rộng tính xác định đối với thuật toán đã được thểhiện qua các giải thuật đệ quy và ngẫu nhiên Tính đúng của thuật toán bây giờkhông còn bắt buộc đối với một số cách giải bài toán, nhất là các cách giải gầnđúng Trong thực tiễn, có nhiều trường hợp người ta chấp nhận các cách giảithường cho kết quả tốt (nhưng không phải lúc nào cũng tốt) nhưng ít phức tạp vàhiệu quả Chẳng hạn nếu giải một bài toán bằng thuật toán tối ưu đòi hỏi máy tínhthực hiện nhiều năm thì chúng ta có thể sẵn lòng chấp nhận một giải pháp gần tối

ưu mà chỉ cần máy tính chạy trong vài ngày hoặc vài giờ

Các cách giải chấp nhận được nhưng không hoàn toàn đáp ứng đầy đủ các tiêu chuẩn của thuật toán thường được gọi là các thuật giải Khái niệm mở rộng

này của thuật toán đã mở rộng cửa cho chúng ta trong việc tìm kiếm phương pháp

để giải quyết các bài toán được đặt ra

Một trong những thuật giải thường được đề cập đến và sử dụng trong khoa

học trí tuệ nhân tạo là các cách giải theo kiểu Heuristic.

1.3 Khái niệm hueristic và meta hueristic

1.3.1 Hueristic

Hueristic là những tri thức được rút tỉa từ những kinh nghiệm, “trực giác” của conngười (mẹo)

Hueristic có thể là những tri thức “đúng” hay “sai”

Hueristic là những meta knowledge và thường “đúng”

Hueristic thường được dùng trong các bài toán tìm kiếm trong trường hợp:

 Vấn đề có thể không có nghiệm chính xác do các mệnh đề không phát biểuchặt chẽ hay thiếu dữ liệu để khẳng định kết quả

 Vấn đề có nghiệm chính xác nhưng phí tổn tính toán để tìm ra nghiệm làquá lớn ( hệ quả của bùng nổ tổ hợp)

Trang 11

Hueristic giúp tìm kiếm đạt kết quả với chi phí thấp hơn

1.3.2 Meta hueristic

Meta hueristic là các thủ tục mang tính hướng dẫn Meta heuristic là loại heuristictổng quát có thể áp dụng cho nhiều lớp bài tóan.Gần đây meta heuristic là mộtlãnh vực nghiên cứu phát triển mạnh mẽ, với sự ra đời của nhiều meta heuristicnhư:- giải thuật di truyền (GA) - giải thuật mô phỏng luyện kim (SA) – giải thuậtkiến (ACO)

1.4 Thuật giải hueristic

Thuật giải Heuristic là một sự mở rộng khái niệm thuật toán Nó thể hiện cách giảibài toán với các đặc tính sau :

 Thường tìm được lời giải tốt (nhưng không chắc là lời giải tốt nhất)

 Giải bài toán theo thuật giải Heuristic thường dễ dàng và nhanh chóng đưa

ra kết quả hơn so với giải thuật tối ưu, vì vậy chi phí thấp hơn

 Thuật giải Heuristic thường thể hiện khá tự nhiên, gần gũi với cách suynghĩ và hành động của con người

Có nhiều phương pháp để xây dựng một thuật giải Heuristic, trong đó người tathường dựa vào một số nguyên lý cơ sở như sau:

 Nguyên lý vét cạn thông minh :

Trong một bài toán tìm kiếm nào đó, khi không gian tìm kiếm lớn, tathường tìm cách giới hạn lại không gian tìm kiếm hoặc thực hiện một kiểu

dò tìm đặc biệt dựa vào đặc thù của bài toán để nhanh chóng tìm ra mụctiêu

 Nguyên lý tham lam (Greedy):

Lấy tiêu chuẩn tối ưu (trên phạm vi toàn cục) của bài toán để làm tiêuchuẩn chọn lựa hành động cho phạm vi cục bộ của từng bước (hay từng giaiđoạn) trong quá trình tìm kiếm lời giải

 Nguyên lý thứ tự :

Thực hiện hành động dựa trên một cấu trúc thứ tự hợp lý của không giankhảo sát nhằm nhanh chóng đạt được một lời giải tốt

Trang 12

 Hàm Heuristic:

Trong việc xây dựng các thuật giải Heuristic, người ta thường dùng cáchàm Heuristic Ðó là các hàm đánh giá thô, giá trị của hàm phụ thuộc vàotrạng thái hiện tại của bài toán tại mỗi bước giải Nhờ giá trị này, ta có thểchọn được cách hành động tương đối hợp lý trong từng bước của thuật giải

1.5 Thuật giải di truyền (GA)

1.5.1 Giới thiệu

Giải thuật di truyền là một kỹ thuật của khoa học máy tính nhằm tìm kiếm

giải pháp thích hợp cho các bài toán tối ưu tổ hợp (combinatorial optimization).

Giải thuật di truyền là một phân ngành của giải thuật tiến hóa vận dụng cácnguyên lý của tiến hóa như di truyền, đột biến, chọn lọc tự nhiên, và trao đổi chéo.Giải thuật di truyền thường được ứng dụng nhằm sử dụng ngôn ngữ máy tính để

mô phỏng quá trình tiến hoá của một tập hợp những đại diện trừu tượng (gọi là

những nhiễm sắc thể) của các giải pháp có thể (gọi là những cá thể) cho bài toán

tối ưu hóa vấn đề Tập hợp này sẽ tiến triển theo hướng chọn lọc những giải pháptốt hơn

Giải thuật di truyền (Genetic Algorithm - GA): Dựa vào quá trình di truyềntrong tự nhiên để cải tiến lời giải qua các thế hệ bắt nguồn từ một tập các lời giảiban đầu

Giải thuật di truyền cũng như các thuật toán tiến hoá đều được hình thànhdựa trên một quan niệm được coi là một tiên đề phù hợp với thực tế khách quan

Đó là quan niệm "Quá trình tiến hoá tự nhiên là quá trình hoàn hảo nhất, hợp lý nhất và tự nó đã mang tính tối ưu" Quá trình tiến hoá thể hiện tính tối ưu ở chỗ

thế hệ sau bao giờ cũng tốt hơn thế hệ trước

Ngày nay giải thuật di truyền càng trở nên quan trọng, đặc biệt là trong lĩnhvực tối ưu hoá, một lĩnh vực có nhiều bài toán thú vị, được ứng dụng nhiều trongthực tiễn nhưng thường khó và chưa có giải thuật hiệu quả để giải

Trang 13

1.5.2.1. Cá thể, nhiễm sắc thể

Một cá thể trong giải thuật di truyền, biểu diễn một giải pháp của bài toán.Tuy nhiên không giống với trong tự nhiên, một cá thể có nhiều nhiễm sắc thể(NST),có 1 thì gọi là thể đơn bội ,còn nếu có nhiều thì là thể đa bội, ở đây đểgiới hạn trong giải thuật di truyền ta quan niệm một cá thể có một nhiễm sắcthể Do đó khái niệm cá thể và nhiễm sắc thể trong giải thuật di truyền coi như

là tương đương

Một NST được tạo thành từ nhiều gen, mỗi gen có thể có các giá trị khácnhau để quy định một tính trạng nào đó Trong GA, một gen được coi như mộtphần tử trong chuỗi NST

Quần thể là một tập hợp các cá thể có cùng một số đặc điểm nào đấy Tronggiải thuật di truyền ta quan niệm quần thể là một tập các lời giải của một bàitoán

 Chọn lựa

Trong tự nhiên, quá trình chọn lọc và đấu tranh sinh tồn đã làm thayđổi các cá thể trong quần thể Những cá thể tốt, thích nghi được với điềukiện sống thì có khả năng đấu tranh lớn hơn, do đó có thể tồn tại và sinhsản Các cá thể không thích nghi được với điều kiện sống thì dần mất đi.Dựa vào nguyên lý của quá trình chọn lọc và đấu tranh sinh tồn trong tựnhiên, chọn lựa các cá thể trong GA chính là cách chọn các cá thể có độthích nghi tốt để đưa vào thế hệ tiếp theo hoặc để cho lai ghép, với mụcđích là sinh ra các cá thể mới tốt hơn Có nhiều cách để lựa chọn nhưngcuối cùng đều nhằm đáp ứng mục tiêu là các cá thể tốt sẽ có khả năng đượcchọn cao hơn

Trang 14

 Lai ghép

Lai ghép trong tự nhiên là sự kết hợp các tính trạng của bố mẹ đểsinh ra thế hệ con Trong giải thuật di truyền, lai ghép được coi là một sự tổhợp lại các tính chất (thành phần) trong hai lời giải cha mẹ nào đó để sinh

ra một lời giải mới mà có đặc tính mong muốn là tốt hơn thế hệ cha mẹ.Đây là một quá trình xảy ra chủ yếu trong giải thuật di truyền

 Đột biến

Đột biến là một sự biến đổi tại một ( hay một số ) gen của nhiễm sắcthể ban đầu để tạo ra một nhiễm sắc thể mới Đột biến có xác suất xảy rathấp hơn lai ghép Đột biến có thể tạo ra một cá thể mới tốt hơn hoặc xấuhơn cá thể ban đầu Tuy nhiên trong giải thuật di truyền thì ta luôn muốntạo ra những phép đột biến cho phép cải thiện lời giải qua từng thế hệ.1.5.3 Mô hình giải thuật

Nhận các tham số của bài toán

Khởi tạo quần thể ban đầu

Kết thúc

Bắt đầu

Lựa chọn giải pháp tốt nhất

Trang 15

[Bắt đầu ] Nhận các tham số cho thuật toán.

[Khởi tạo ] Sinh ngẫu nhiên một quần thể gồm n cá thể ( là n lời giải cho bài toán)

[Quần thể mới ] Tạo quần thể mới bằng cách lặp lại các bước sau cho đến khi

quần thể mới hoàn thành

a.[Thích nghi] Ước lượng độ thích nghi eval(x) của mỗi cá thể.

b.[Kiểm tra ] Kiểm tra điều kiện kết thúc giải thuật

c.[Chọn lọc] Chọn hai cá thể bố mẹ từ quần thể cũ theo độ thích nghi

của chúng (cá thể có độ thích nghi càng cao thì càng có nhiều khả năngđược chọn)

d.[Lai ghép] Với một xác suất lai ghép được chọn, lai ghép hai cá thể

 Xác suất đột biến

Xác suất đột biến cho biết tính thường xuyên của việc các gen của NST thay đổi như thế nào Nếu xác suất đột biến là pm, khi đó khả năng để mỗi gen của một NST bất kỳ bị đột biến là pm Tác dụng của toán tử đột biến là ngăn ngừa giải thuật di truyền rơi vào tình trạng cực trị địa phương, tuy nhiên nếu thực hiện đột biến với xác suất quá cao sẽ biến giải thuật di truyền thành giải thuật tìm kiếm ngẫu nhiên

 Kích thước quần thể

Kích thước quần thể cho biết có bao nhiêu cá thể trong một quần thể (trongmột thế hệ) Qua các nghiên cứu cũng như các thử nghiệm đã cho thấy kích thước

Trang 16

khả năng thực hiện lai giống và chỉ một phần nhỏ không gian tìm kiếm được dùng.Như vậy sẽ dễ xảy ra trường hợp bỏ qua các lời giải tốt Nhưng quá nhiều cá thểcũng không tốt vì GA sẽ chạy chậm đi, ảnh hưởng đến hiệu quả của giải thuật Cácnghiên cứu cũng đã chỉ ra không có lợi khi tăng kích thước quần thể lên quá mộtgiới hạn cho phép.

1.5.5 Các cách mã hóa NST

 Mã hoá nhị phân

Mã hoá nhị phân là phương pháp mã hoá nhiễm sắc thể phổ biến nhất.Trong mã hoá nhị phân, mỗi nhiễm sắc thể là một chuỗi nhị phân, mỗi bit trong nó

có thể biểu diễn một đặc tính của nghiệm

Ví dụ: hai nhiễm sắc thể 1 và 2 có chiều dài là 16.

Nhiễm sắc thể 1: 1101100100110110

Nhiễm sắc thể 2: 1101111000011110

Mã hoá nhị phân thường hay dùng trong các bài toán tối ưu các hàm mộtbiến hay nhiều biến Khi đó, mỗi chuỗi nhị phân sẽ biểu diễn hàm tại một (tập) giátrị của (các) biến Ngoài ra nó còn được áp dụng trong nhiều loại bài toán khácnữa

Mã hoá nhị phân tuy là phổ biến nhưng nó có một nhược điểm là có thể tạo

ra không gian mã hoá lớn hơn so với không gian giá trị của nhiễm sắc thể Do đó,với nhiều bài toán thì biểu diễn nhị phân là không hữu hiệu

Ngày đăng: 23/05/2015, 00:08

HÌNH ẢNH LIÊN QUAN

Sơ đồ thuật toán bầy kiến - Tiểu luận Thuật toán và phương pháp giải quyết vấn đề PHƯƠNG PHÁP HUERISTIC VÀ BÀI TOÁN NGƯỜI ĐƯA THƯ
Sơ đồ thu ật toán bầy kiến (Trang 22)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w