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

Các hệ cơ sở tri thức Tuần 7: Các ứng dụng của Thuật giải di truyền

110 112 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

Định dạng
Số trang 110
Dung lượng 0,92 MB

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

Nội dung

Biết rằng mỗi biến xi có thể lấy các giá trị từ miền Di=[ai, bi] là tập con của R và yêu cầu độ chính xác là k chữ số thập phân đối với các giá trị biến... Hàm thích nghi:  Cmin là tham

Trang 2

Các ứng dụng của Thuật giải di

truyền

 Giải bài toán tối ưu miền liên tục tổng quát

Trang 3

Thuật giải di truyền giải bài

toán tối ưu hàm nhiều biến liên

tục

Trang 4

1 Đặt vấn đề:

dụng giải thuật di truyền cho bài toán cực tiểu hoá một hàm f có n biến, min f(x1,x2, ,xn) Biết rằng mỗi biến xi có thể lấy các giá trị từ miền Di=[ai, bi] là tập con của R và yêu cầu độ chính xác là k chữ số thập phân đối với các giá trị biến

Trang 5

2 Biễu diễn biến nhờ các véc tơ

nhị phân:

được biểu diễn bởi chuỗi nhị phân có chiều dài l L bit mã hoá x ứng với giá

lên các giá trị thuộc miền xác định [Umin,

miền trị của các biến và tính chính xác của chúng Tỷ lệ co dãn của ánh xạ này được cho bởi:

Trang 6

2 Biễu diễn biến nhờ các véc tơ

nhị phân:

định theo công thức:

x=Umin+decimal(string2)*g

 Decimal(string2) biểu diễn giá trị thập phân của

chuỗi nhị phân string2, g được xác định bởi

công thức trên

1 2

g

Trang 7

2 Biễu diễn biến nhờ các véc tơ

nhị phân:

các biến riêng lẻ lại với nhau Mỗi mã

tương ứng với một chiều dài các bit riêng

và xác định một giá trị tương ứng của nó nằm trong khoảng [Umin,Umax].Ví dụ mã hoá cho 10 biến được cho bởi:

 U1 | U2 | | U9 | U10

Trang 8

3.Toán tử chọn lọc cá thể (select ):

mỗi cá thể được bảo lưu cho vòng sinh sản tiếp sau tuỳ thuộc vào giá trị thích

toán tử chọn lọc Roulete Toán tử này là một phiên bản mô phỏng của quá trình chọn lọc tự nhiên Giá trị thích nghi f(i) được xác định đối với mỗi cá thể trong tập hợp Giá trị này càng lớn thì cá thể được coi là hợp lý

Trang 9

3.Toán tử chọn lọc cá thể (select ):

các bước :

 1.Tính tổng giá trị thích nghi (fitness) của tất cả

thành viên lực lượng và gọi nó là tổng thích nghi

 2.Phát sinh một số n là số ngẫu nhiên trong

khoảng từ 0 đến tổng thích nghi

 3.Trả lại thành viên tập hợp đầu tiên mà độ

thích nghi của nó cộng với độ phù hợp của các thành viên tập hợp trước đấy lớn hơn hoặc bằng n

Trang 10

4 Toán tử lai ghép (crossover):

để tạo ra những con lai tốt được gọi là lai

mẹ được chọn lựa với xác suất lai ghép

ký hiệu bởi pcross Xác suất này cho chúng ta số lượng pcross*pop_size các nhiễm sắc thể được dùng cho hoạt động lai ghép, ở đây pop_size là kích thước của quần thể được lai tạo

Trang 11

4 Toán tử lai ghép (crossover):

 Với mỗi nhiễm sắc thể trong tập hợp:

 Phát sinh một số ngẫu nhiên r trong khoảng [0 1];

 Nếu r<pcross, chọn nhiễm sắc thể đó để lai ghép

 Sau đó, ta kết hợp các nhiễm sắc thể được chọn một cách

ngẫu nhiên:

 Mỗi cặp nhiễm sắc thể, chúng ta có thể phát sinh một số

ngẫu nhiên pos từ khoảng [1 l] (l là tổng số bit trong nhiễm thể) Số pos báo hiệu vị trí của điểm lai ghép Hai nhiễm

sắc thể :

 (b1b2 bposbpos+1 bl) và (c1c2 cposcpos+1 cl)

được thay thế bởi cặp con cháu:

(b1b2 bposcpos+1 cl) và (c1c2 cposbpos+1 bl)

 Như vậy xử lý này sản xuất ra hai chuỗi mới, mỗi chuỗi

đều được thừa hưởng những đặc tính lấy từ cha mẹ của chúng

Trang 12

5 Toán tử đột biến (mutation):

thông tin mới trong quần thể lai tạo tại

các vị trí bit (gen) nào đó (quần thể được xem xét có pop_size cá thể, mỗi cá thể

được biểu thị qua l bit) Đột biến được áp

biến là pmu*l*pop_size bit Mỗi bit có cơ hội đột biến như nhau và được thay đổi

từ 0 thành 1 hay ngược lại

Trang 13

5 Toán tử đột biến (mutation):

mỗi bit trong nhiễm sắc thể :

[0 1]

 Nếu r <pmu, tiến hành đột biến tại bit đó

lại cho tới khi các cá thể con cháu của chúng tăng trưởng tới kích cỡ mong

muốn của quần thể

Trang 14

6 Hàm thích nghi:

nghi:

do đó cần phải xây dựng ánh xạ hàm mục tiêu đang xét trong bài toán sang hàm thích nghi

thông qua một hoặc nhiều lần ánh xạ Nếu bài toán tối ưu là cực tiểu một hàm đánh giá

g(x), việc chuyển từ hàm đánh giá sang hàm thích nghi để sử dụng với GA như sau:

Trang 15

6 Hàm thích nghi:

 Cmax là một tham số đầu vào Ví dụ, có thể lấy

Cmax là giá trị g lớn nhất trong tập hợp hiện tại, hoặc lớn nhất sau k vòng lặp

xét bài toán cực đại hoá một hàm hữu dụng u(x), chúng ta có thể chuyển sang hàm thích nghi như sau:

Truong

C x

g khi

x g

C x

f

0

) ( )

( )

Trang 16

6 Hàm thích nghi:

 Cmin là tham số đầu vào, có thể là trị tuyệt

đối của u bé nhất trong tập hợp hiện tại hoặc trong k vòng lặp cuối cùng hoặc là một hàm của biến tập hợp

Truong

C x

u khi

C x

u x

f

0

0 )

( )

( )

Trang 17

6 Hàm thích nghi:

 Thang đo độ thích nghi:

 Khi một vài cá thể "siêu" có tiềm năng chiếm lĩnh phần

lớn quần thể và làm cho hội tụ sớm Thang đo độ thích nghi có thể giúp giải quyết vấn đề này

 Một kiểu thang đo hay gặp là thang đo tuyến tính Định

nghĩa độ thích nghi gốc là f và độ thích nghi đã biến đổi

là f' Thang đo tuyến tính xác định quan hệ giữa f và f' như sau:

Trang 18

6 Hàm thích nghi:

 Cmult là số các bản sao cần thiết đối với một thành viên

tốt nhất Với lượng biến tương đối nhỏ (n=50 đến 100),

Cmult thường được chọn từ 1.2 đến 2 và tỏ ra khá hiệu quả Biểu thức (2) bảo đảm rằng mỗi thành viên với

độ phù hợp trung bình sẽ cho một con cháu đối với lần phát sinh tiếp theo Biểu thức (3) kiểm soát số con cháu được nạp vào làm thành viên với độ thích nghi gốc cực đại Lưu ý rằng thang đo tuyến tính trong biểu thức từ (1)-(3) có thể làm cho giá trị thích nghi trở thành âm Điều này không cho phép vì phải luôn đảm bảo tính không âm của nó Một giải pháp thay thế điều kiện trong biểu thức (3) là sử dụng điều kiện f'min=0

Trang 19

7 Bài toán cực tiểu hàm f với n

biến vào liên tục:

Thuật toán

 Khởi tạo tập hợp (thủ tục initpop): nhằm thiết lập số lượng

nhiễm sắc thể ngẫu nhiên ban đầu dưới dạng chuỗi nhị phân với kích cỡ tập hợp bằng pop_size Tuy nhiên, nếu chúng ta có thể

ước lượng một số cá thể gần tối ưu, cũng có thể dùng thông tin đó

để thiết lập các giải pháp ban đầu

 Phần còn lại của thuật toán được tiến hành như sau:

 Với mỗi lần lặp,đánh giá từng nhiễm sắc thể (Sử dụng hàm mục tiêu f trên tập biến được giải mã (decode));

 Chọn tập hợp mới (áp dụng toán tử chọn cá thể) với phân phối xác

suất căn cứ vào các giá trị thích nghi (fitness values);

 Tái sản xuất nhiễm sắc thể trong tập hợp mới bởi các toán tử đột biến

và lai ghép (Hàm generate mục sau)

 Sau một số lần lặp khi không tìm được cải tiến tốt hơn, nhiễm sắc thể biễu diễn lời giải tối ưu

 Thường thuật toán kết thúc sau một số vòng lặp được xác định tuỳ

thuộc vào tốc độ và tài nguyên máy tính

Trang 24

8 Thử nghiệm và đánh giá:

 Nhận xét: Các kết quả trên tương đối ổn định, ứng với

4 biến vào thuật toán có thể chấp nhận được

 Đánh giá, kết luận:

Giải thuật di truyền trên có thể giải quyết bài toán tối

ưu bất kỳ (cực tiểu hoá hàm mục tiêu) với n biến vào Tuy nhiên, với số lượng biến vào khá nhiều, các giá trị hàm mục tiêu đạt được thường không gần với kết quả tối ưu thực sự Để khắc phục vấn đề này, có thể tăng

số lượng vòng lặp, hy vọng lần sinh sản muộn sẽ hình thành những con cháu với độ thích nghi cao ứng với các giá trị hàm mục tiêu gần kết quả tối ưu thực sự nhất

Trang 25

THUẬT GIẢI DI TRUYỀN CHO VIỆC XÁC ĐỊNH THAM SỐ CỦA DẠNG HÀM – BÀI TOÁN CHIẾT DUNG MÔI

Trang 26

Nội dung chi tiết:

môi hóa học

Trang 27

Giới thiệu bài toán:

 Nhiều hệ thống vật lý, hoá học… vận hành theo các

hàm tuyến tính hoặc phi tuyến :

 Bằng phương pháp đo đạc thực nghiệm người ta

có thể tìm được những giá trị là kết quả hoạt động của hệ thống ứng với các giá trị đầu vào cụ thể

 Nhu cầu đặt ra là từ các kết quả thực nghiệm có

được làm sao có thể xác định một cách tương đối hàm số mô phỏng hệ thống đó

 Bằng một số phương pháp nào đó người ta có thể

phán đoán được dạng hàm của hệ thống, vấn đề tiếp theo là làm sao xác định được các tham số cho hàm

số đã phán đoán được này

Trang 28

Cách giải quyết:

 Hàm số f(x) đã biết dạng trước và một số bộ dữ liệu ta có thể

xác định được tham số của f(x) bằng :

Bình phương tối tiểu(BPTT)  khảo sát phương pháp này Nội suy đa thức

 Nếu f(x) là dạng hàm tuyến tính thì BPTT có thể cho kết quả

tối ưu

 Nếu f(x) là dạng hàm phi tuyến thì kết quả thu được qua BPTT

chưa hẳn là tối ưu (vì có nhiều dạng hàm phi tuyến khá

phức tạp,và ta phải qua khá nhiều bước biến đổi : logarit,

đặt ẩn phụ… do đó bộ tham số kết quả có được chưa hẳn

là tối ưu)

 Ta đề xuất phương pháp dùng thuật giải di truyền sau khi

đã áp dụng BPTT

Trang 29

Như vậy mô hình được đề xuất là:

Trang 30

30

* Dạng hàm Phi tuyến:

Phương pháp BPTT ứng với dạng hàm cho trước

Trang 31

Phương pháp bình phương tối tiểu

- Nội dung

 Xét một quan hệ giữa x và y: y = f(x)

Giả sử chúng ta đã biết được dạng của f(x)

với các tham số ai ,i = 1,2, ,m Và ta cũng có tập dữ liệu đầu vào ứng với f(x) là các bộ (xi, yi) i = 1,2,…,n

 Gọi εi là các sai số tại xi : εi = yi – f(xi) , i = 1,2,…n

 Khi đó tổng bình phương của các sai số được xác định:

S = ∑ εi2 = ∑ (yi – f(xi)) 2 với i = 1,2,…n

 Mục đích của BPTT là xác định các tham số

ai, i = 1,2, m của f(x) sao cho S là nhỏ nhất

Trang 32

32

Nội dung(tt)

Như vậy các tham số ai sẽ là nghiệm của hệ:

Giải hệ phương trình trên ta có thể xác định cụ thể các tham số ai

Trang 33

 Vậy a, b sẽ là nghiệm của hệ:

với (xi, yi) là bộ dữ liệu cho trước

Trang 36

Xét hàm phi tuyến y = ax1bexp(-cx1dx2)

Với các bộ giá trị thực nghiệm (x1i, x2i, yi )

Trang 37

Phi Tuyến Tính (tt)

 Tuyến tính hoá y

 Lấy Logarit nepe hai vế ta được:

ln y = lnA + ln(exp(-Bx2))

 Đặt Y’= lny , A’ = ln A, B’ = B Ta được:

Y’ = A’ + B’x2 ( dạng y =ax + b)

 Áp dụng phương pháp BPTT  Tìm được A’, B’ :

 A = eA’, B = B’

 Thay A vào (1) và tuyến tính hoá ta được:

(1) <=> ln A = a + b ln(x1)

Trang 38

Phi Tuyến Tính (tt)

 Với hàm số : ln A = a + b ln(x1) (biết A, x1)

Thực hiện tương tự ta xác định a,b

 Thay B vào (2) tương tự như (1) ta cũng xác định được

 Vì do sai số nên bộ tham số kết quả tìm được (a,b,c,d)

chưa phải là tối ưu  Đề xuất kế tiếp là ta sẽ lấy bộ tham số này làm đầu vào cho thuật giải di truyền để hi vọng tìm được bộ tham số tối ưu hơn

Trang 39

39

Sử dụng thuật giải di truyền sau khi đã áp dụng phương pháp BPTT để xác định

 Chọn ε, xét những giá trị thuộc các miền [a-ε, a+ε]; [b-ε,

b+ε]; [c-ε, c+ε]; [d-ε, d+ε] (với (a,b,c,d) là bộ tham số tìm được từ phương pháp BPTT)

 Tìm bộ tham số mới sao cho giá trị mới S’ bé hơn giá trị S tìm được ứng với bộ tham số ở trên (S = ∑ (yi –

 Áp dụng thuật giải di truyền với các miền ràng buộc trên

Xác định bộ (a0, b0, c0, d0) sao cho hàm sai số S là

nhỏ nhất

Trang 40

Sử dụng thuật giải di truyền(tt)

Cách biểu diễn nhiễm sắc thể:

 Biểu diễn gen :

Phương pháp nhị phân Phương pháp biêu diễn dấu phẩy động

Do miền ràng buộc các biến xuất phát từ những giá trị thực, bộ tham số kết quả cũng là những giá trị thực …

 Không nên dùng phương pháp nhị phân

 Dùng phương pháp biểu diễn dấu phẩy động

Trang 41

Sử dụng thuật giải di truyền(tt)

Trang 42

42

Sử dụng thuật giải di truyền(tt)

 Ví dụ :  Đầu tiên là sắp độ thích nghi giảm dần , sau đó đặt độ

thích nghi theo thứ tự này lên đoạn [0,1].Chẳng hạn với ví dụ trên ta có đoạn [0,1] như hình sau đây, trong

đó cá thể 1 sẽ chiếm đoạn đầu tiên [0,0.18], cá thể số 2

độ thích nghi 0.16 sẽ chiếm đoạn tiếp theo

[0.18 , 0.18+0.16 = 0.34], tương tự cho các cá thể còn lại cho đến khi lắp đầy đoạn [0,1]

Trang 43

Sử dụng thuật giải di truyền(tt)

 Để chọn nhiều cá thể chỉ cần phát sinh p nhiều lần

Trang 44

Và a’k là một giá trị ngẫu nhiên từ miền ràng buộc [lk,uk] của

Trang 45

Sử dụng thuật giải di truyền(tt)

Toán tử đột biến:

 Đột biến không đều: là một trong những toán tử có nhiệm vụ điều

chỉnh năng lực tiềm tàng của hệ thống

Nếu sit = (A1,A2,A3,A4) là một nhiễm sắc thể và phần tử Ak được chọn từ những gen có thể di chuyển Kết quả là véc tơ

sit+1 =(A1, ,Ak’, ,A4), với 1<=k<=4 và

Ak’ = Ak +  (t,uk - Ak) (1) nếu ký số ngẫu nhiên là 0

Ak’ = Ak -  (t,Ak - lk) (2) nếu ký số ngẫu nhiên là 1

(hoặc xử lý theo: (1) nếu k lẽ, (2) nếu k chẵn )

 Hàm (t,y) trả về một giá trị trong miền [0,y], và có công thức:

Trang 46

Sử dụng thuật giải di truyền(tt)

Trang 47

Sử dụng thuật giải di truyền(tt)

Toán tử lai ghép:

 Lai ghép đơn giản: được xác định như sau:

Nếu svt = (v1,…,vm) và swt = (w1, ,wm) được lai ghép sau vị trí thứ k, kết quả là :

Trang 48

Với

vk’=a*wk+(1-a)*vk và wk’=a*vk+(1-a)*wk

Trong đó a là giá trị động được xác định theo véc tơ sv và sw

Trang 49

Sử dụng thuật giải di truyền(tt)

Trang 50

Sử dụng thuật giải di truyền(tt)

Trang 51

Sử dụng thuật giải di truyền(tt)

Toán tử lai ghép:

của 2 véc tơ :

Nếu svt =(v1,…,vm) và swt =(w1,…,wm) được lai ghép thì kết quả là:

(Biến đổi tất cả các thành phần của hai vectơ)

svt+1 = a*swt + (1-a)*svt

swt+1 = a*svt + (1-a)*swt

Với a là một tham số tĩnh [0,1]

Trang 52

Sử dụng thuật giải di truyền(tt)

 s5’ = (0.083; -0.954; -4.226; 0.006);

các phần tử của s’6 sẽ là :

pht1 = (0.320) * 0.6 + 0.4 * (-0.351) = -0.052 pht2 = (-0.930) * 0.6 + 0.4*(-0.970) = -0.946 pht3 = (-3.950) * 0.6 + 0.4 * (-4.410) = -4.134 pht4 = (0.031) * 0.6 + 0.4 * (-0.011) = 0.014

 s6’ = (-0.052; -0.964; -4.134; 0.014);

Trang 53

Bài toán thực tế: Mô phỏng quá trình chiết dung môi hoá

học

Trang 54

Bài toán mô phỏng quá trình chiết

dung môi

Trang 55

55

Bài toán mô phỏng quá trình chiết

dung môi

 Đưa kim loại và axit vào pha chứa nước với nồng độ

xác định ban đầu có đơn vị đo là mol (spt g/l) ( Lúc

đó nồng độ kim loại ở pha trên là 0)

 Kết quả, sau khi cân bằng sẽ xác định được :

Nồng độ kim loại trên dung môi (ở pha trên) Nồng độ kim loại trên nước (ở pha dưới)

Trang 56

Bài toán mô phỏng quá trình chiết

dung môi

 Dạng công thức tổng quát T.Sekine :

Y = A1 * CA2 exp(-A3 * CA4 * H) (I)

Với các biến vào gồm :

C là nồng độ kim loại cho vào ban đầu trước khi cân bằng;

H là nồng độ axit ban đầu;

A1, A2, A3, A4 là các tham số của công thức (chưa biết)

 A1,A2,A3,A4 = ? Để cho Y lý thuyết tính toán từ công thức trên gần với Y thí nghiệm nhất

Trang 57

Bài toán mô phỏng quá trình chiết

dung môi

 Cách giải quyết bài toán :

 Làm sao để xác định bộ tham số (A1,A2,A3,A4) ?

 Người ta tiến hành N thí nghiệm Mỗi thí nghiệm được làm giống như đã mô tả Tại lần thí nghiệm thứ i (i  [1,N]),

từ nồng độ kim loại Ci và nồng độ axit Hi ban đầu  Yi thí nghiệm

 Ta cũng có phương trình Y lý thuyết :

Y = A1 * C A2 exp(-A3 * C A4 * H)

Với bộ dữ liệu thực ngiệm (Ci,Hi,Yi)

 Trở thành bài toán : xác định tham số cho dạng hàm cho trước

Trang 58

Bài toán mô phỏng quá trình chiết

dung môi

 Phương pháp bình phương tối thiểu :

Ta có dạng hàm

Y = A1 * CA2 exp(-A3 * CA4 * H) Đặt A1 * CA2 = a (1)

Trang 59

Bài toán mô phỏng quá trình chiết

dung môi

 Ta được hàm tuyến tính : Y’ = A – B*H

Với bộ tham số đầu vào

H : H1, H2, H3,…., Hn Y’ : Ln Y1, Ln Y2, …., Ln Yn Đặt Ti = Ln Yi (i= 1…N) (các Y thực nghiệm)

Sử dụng phương pháp bình phương bé nhất, nghĩa là

xác định A và B sao cho :

Trang 60

Bài toán mô phỏng quá trình chiết

Trang 61

Bài toán mô phỏng quá trình chiết

dung môi

 Lại đặt A’ = Ln A1; B’ = A2 Thực hiện như trên

 Xác định A’ và B’ Do vậy xác định được A10 và A20

 Tương tự thay vào (2), Có :

A3 * CA4 = b <=> Ln A3 + A4*Ln C = Ln b

 Từ đó xác định được A30 và A40

 Có bộ tham số : (A10, A20, A30, A40)

 Bộ tham số (A10, A20, A30, A40) đáp ứng điều kiện để

Qmin nhưng chỉ đáp ứng điều kiện cần để tối thiểu hàm sai số S Bởi vì như đã thấy để tuyến tính hoá Y phải trải qua khá nhiều bước biến đổi nên bộ tham số (A10, A20, A30, A40) chưa tối ưu

Ngày đăng: 24/04/2019, 13:33

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