Tải bản đầy đủ (.docx) (21 trang)

báo cáo môn trí tuê nhân tạo thiết kế mạng phân phối điện năng dùng giải thuật di truyền ( genetic algorithm )

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (269.93 KB, 21 trang )

,
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
BÀI TẬP LỚN
MÔN: TRÍ TUỆ NHÂN TẠO
ĐỀ TÀI: THIẾT KẾ MẠNG PHÂN PHỐI
ĐIỆN NĂNG SỬ DỤNG GIẢI THUẬT DI
TRUYỀN
Sinh viên thực hiện : Nhóm 15
1. Nguyễn Sỹ Thái Hà 20090892
2. Phan Hồng Thuý 20092664
3. Nguyễn Văn Trường 20092921
4. Nguyễn Xuân Tuấn 20093016
5. Trần Đức Hoàng 20091177
Mã môn: IT4040
Giáo viên hướng dẫn : Ths. Phạm Văn Hải
Hà Nội, tháng 8 năm 2013
MỤC LỤC
Trí tuệ nhân tạo – IT4040
Thiết kế mạng phân phối điện năng Page 2
Trí tuệ nhân tạo – IT4040
LỜI MỞ ĐẦU
Chúng em xin chân thành cảm ơn thầy Phạm Văn Hải đã tận tình hướng dẫn chúng
em tìm hiểu môn học “Trí tuệ nhân tạo” cũng như trong quá trình hoàn thành đồ án môn
học này. Một học kỳ không phải là quá dài, nhưng nhờ sự hướng dẫn của thầy chúng em
đã có những kiến thức nền tảng và cơ bản về môn học “Trí tuệ nhân tạo”, hiểu biết và có
khả năng vận dụng các thuật toán tìm kiếm, logic, suy diễn, biểu diễn tri thức. Các kiến
thức này thực sự là thú vị, cẩn thiết và đã giúp đỡ chúng em rất nhiều trong học tập, trong
quá trình học các môn khác. Tuy đã rất có gắng nhưng vì thời gian thực hiện đồ án môn
học có hạn, kinh nghiệm còn thiếu nên đồ án này chắc chắn sẽ không tránh khỏi thiếu sót.


Chúng em rất mong nhận được sự góp ý của thầy.
Nhóm sinh viên thực hiện đề tài
Thiết kế mạng phân phối điện năng Page 3
a
b
e
d
c
g
f
h
Trí tuệ nhân tạo – IT4040
NỘI DUNG
CHƯƠNG I. CƠ SỞ LÝ THUYẾT
Chương này trình bày các vấn đề sau:
 Các khái niệm cơ bản về đồ thị
 Lý thuyết độ phức tạp thuật toán
 Lớp bài toán NP-khó
1.1. Các khái niệm cơ bản về đồ thị
1.1.1. Định nghĩa đồ thị
Đồ thị là một cấu trúc rời rạc gồm các đỉnh và các cạnh nối các đỉnh này. Chúng ta phân
biệt các loại đồ thị khác nhau bởi kiểu và số lượng các cạnh nối giữa các đỉnh này. Ta
định nghĩa các loại đồ thị như sau:
Định nghĩa 1.1: Đơn đồ thị vô hướng G = (V, E) là cặp gồm:
 Tập đỉnh V là tập hữu hạn phần tử, các phần tử này gọi là đỉnh
 Tập cạnh E là tập các bộ không có thứ tự dạng:
(u, v), u, v ∊ V, u≠v.
Hình 1: Đơn đồ thị G
Để tiện trong quá trình sử dụng, đồ án sẽ gọi đồ thị thay cho đơn đồ thị vô hướng mà
không chú thích gì thêm.

Định nghĩa 1.2: Đồ thị G = (V, E) được gọi là đồ thị đầy đủ nếu mọi cặp đỉnh trong V
đều có cạnh nối.
Thiết kế mạng phân phối điện năng Page 4
Trí tuệ nhân tạo – IT4040
Hình 2: Đồ thị đầy đủ G
1.1.2. Đồ thị con
Trong các bài toán về đồ thị, đôi khi chúng ta chỉ quan tâm tới một phần của đồ thị đó.
Khái niệm đồ thị con được đưa ra để tách riêng một phần của đồ thị mà chúng ta cần
quan tâm.
Định nghĩa 1.3: Đồ thị H = (W, F) được gọi là đồ thị con của đồ thị G = (V, E) nếu W V
và F E. Ký hiệu H G.
Hình 3: Đồ thị con H
1.1.3. Đường đi trong đồ thị
Định nghĩa 1.4: Đường đi độ dài n từ đỉnh u đến đỉnh v, trong đó n là số nguyên dương
trên đồ thị vô hướng G= (V, E) là dãy x
0
, x
1
, x
2
, … x
n-1
trong đó u = x
0
, v = x
n-1
, (x
i
, x
i+1

)

E, i = 0 (n-2). Đỉnh u được gọi là đỉnh đầu, còn đỉnh v được gọi là đỉnh cuối của đường
đi.”
Thiết kế mạng phân phối điện năng Page 5
Trí tuệ nhân tạo – IT4040
Đường đi gọi là đường đi đơn nếu không có đỉnh nào bị lặp lại trên nó.
Đồ án sử dụng khái niệm hai đường đi phân biệt để chỉ hai đường đi đơn trên cùng một
đồ thị không có đỉnh chung.
1.2. Lý thuyết về độ phức tạp thuật toán
Các vấn đề kỹ thuật thường được khái quát dưới dạng bài toán tính toán để tiện cho việc
nghiên cứu và giải quyết. Bài toán tính toán là mối quan hệ giữa đầu vào (những yếu tố
cho trước của bài toán) và đầu ra (những kết quả tính toán cần đạt được) của bài toán.
Khái niệm độ phức tạp tính toán được xem như là chuẩn mực quan trọng để đánh giá hiệu
quả của một bài toán tính toán.
1.2.1. Một số khái niệm
Định nghĩa 1.5 Bài toán tính toán F là ánh xạ từ các xâu nhị phân độ dài hữu hạn vào
tập các xâu nhị phân độ dài hữu hạn F: {0, 1}* → {0, 1}*.
Ở đây, các yếu tố đầu vào và đầu ra của bài toán được biểu diễn bằng xâu nhị phân. Mọi
dạng dữ liệu (số, kí tự, xâu, mảng, tập hợp…) đều có thể mã hóa được bằng xâu nhị phân.
Bài toán chỉ ra mối quan hệ giữa đầu vào và đầu ra, nhưng để đạt được đầu ra từ đầu vào
cho trước thì phải sử dụng các thuật toán để giải bài toán đó.
Định nghĩa 1.6 Thuật toán giải bài toán đặt ra là một thủ tục xác định bao gồm hữu hạn
các bước cần thực hiện để thu được đầu ra cho một đầu vào cho trước của bài toán.
Với mọi thuật toán, bên cạnh tính đúng đắn, thì độ phức tạp tính toán của thuật toán đó
cũng là một yếu tố đáng được quan tâm.
Định nghĩa 1.7 Độ phức tạp tính toán của một thuật toán là lượng tài nguyên tính toán
mà thuật toán đó sử dụng để thực hiện công việc. Có hai loại tài nguyên cần quan tâm
khi đánh giá độ phức tạp tính toán của thuật toán là bộ nhớ và thời gian.
Ngày nay, do sự phát triển của công nghệ chế tạo bộ nhớ, vấn đề tài nguyên bộ nhớ cho

thuật toán thường ít được tập trung hơn vấn đề về thời gian tính toán. Thời gian chạy thực
tế của một thuật toán phụ thuộc vào nhiều yếu tố: cấu hình máy, ngôn ngữ cài đặt và cách
Thiết kế mạng phân phối điện năng Page 6
Trí tuệ nhân tạo – IT4040
thức cài đặt thuật toán, trình biên dịch và dữ liệu vào, trong đó dữ liệu vào là yếu tố quan
trọng và đặc trưng nhất, được dùng để so sánh hiệu quả của thuật toán. Để tạo ra sự thống
nhất trong cách đánh giá thời gian tính của thuật toán, chỉ xét đến yếu tố kích thước dữ
liệu đầu vào khi đánh giá.
1.2.2. Các ký hiệu tiệm cận
Các ký hiệu tiệm cận thường hay sử dụng khi đánh giá độ phức tạp tính toán của thuật
toán gồm có Θ, Ο, Ω và ο, ω. Phần này sẽ nhắc lại định nghĩa của các tiệm cận (bỏ qua
hai ký hiệu ο, ω).
Định nghĩa 1.8 Cho các hàm f(n) và g(n) là các hàm số của số n nguyên dương
 Θ(g(n)) = {f(n): tồn tại các hằng số dương c
1
, c
2
và n
0
sao cho 0 ≤ c
1
g(n) ≤ f(n) ≤
c
2
g(n), với mọi n ≥ n
0
}, g(n) được gọi là đánh giá tiệm cận đúng của f(n) hay f(n)
có bậc là g(n).
 Ο(g(n)) = {f(n): tồn tại các hằng số dương c và n
0

sao cho f(n) ≤ cg(n), với mọi n ≥
n
0
}, g(n) gọi là tiệm cận trên tiêm cận của f(n) hay f(n) có bậc không quá g(n).
 Ω(g(n)) = {f(n): tồn tại các hằng số dương c và n
0
sao cho cg(n) ≤ f(n), với mọi n ≥
n
0
}. g(n) được gọi là tiệm cận dưới tiệm cận của f(n) hay f(n) có bậc ít nhất là g(n).
Để sử dụng các ký hiệu tiệm cận trong việc đánh giá thời gian tính của các thuật toán, các
quy ước sau được sử dụng:
 Nếu thuật toán có thời gian tính trong tình huống nhanh nhất (tốt nhất) T(n) với
kích thước dữ liệu đầu vào n và T(n) = Ω(g(n)) thì thời gian tính tốt nhất của thuật
toán có bậc không nhỏ hơn g(n) hay thời gian tính tốt nhất của thuật toán là
Ω(g(n)).
 Nếu thuật toán đòi hỏi thời gian tính trong tình huống chậm nhất (tồi nhất) T(n)
với kích thước dữ liệu đầu vào n và T(n) = Ο(g(n)) thì thời gian tính tốt nhất của
thuật toán có bậc không nhỏ hơn g(n) hay thời gian tính tốt nhất của thuật toán là
Ο(g(n)).
Thiết kế mạng phân phối điện năng Page 7
Trí tuệ nhân tạo – IT4040
 Nếu thuật toán đòi hỏi thời gian tính trung bình T(n) với kích thước dữ liệu đầu
vào n và T(n) = Θ(g(n)) thì thời gian tính tốt nhất của thuật toán có bậc không nhỏ
hơn g(n) hay thời gian tính tốt nhất của thuật toán là Θ(g(n)).
Thông thường khi nói thuật toán có thời gian tính là Ο(f(n)) thì hiểu là thời gian tính của
thuật toán đánh giá trong tình huống tồi nhất là Ο(f(n)).
Còn khi nói thuật toán có thời gian tính là Ω(f(n)) thì hiểu đánh giá thời gian tính của
thuật toán trong tình huống tốt nhất là Ω(f(n)).
1.2.3. Độ phức tạp tính toán của bài toán

Định nghĩa 1.9 Độ phức tạp tính toán của một bài toán là thời gian tính (ở đây chỉ quan
tâm đến đánh giá thời gian thực hiện, bỏ qua đánh giá về yêu cầu bộ nhớ) của thuật toán
tốt nhất trong số tất cả các thuật toán giải bài toán đó.
Với bài toán chắc chắn sẽ có những thuật toán chưa biết, vậy làm thế nào để biết được
thời gian tính của thuật toán tốt nhất? Có 2 cách để giải quyết vấn đề này:
 Cách thứ nhất: Sử dụng các kỹ thuật đưa ra cận dưới cho độ phức tạp tính toán của
bài toán.
 Cách thứ hai: Chỉ ra rằng bài toán đang xét có mức độ khó (tức là độ phức tạp tính
toán) không thua kém gì bất kỳ một bài toán khó nào hiện biết.
1.3. Lớp bài toán NP-khó
1.3.1. Một số khái niệm cơ bản
Định nghĩa 1.9 Thuật toán có thời gian tính đa thức là thuật toán mà độ phức tạp thời
gian của nó trong trường hợp xấu nhất được giới hạn trên bởi một hàm đa thức của kích
thước dữ liệu đầu vào (kích thước dữ liệu đầu vào được tính bằng số bít cần thiết để biểu
diễn nó). Tức là nếu n là kích thước dữ liệu đầu vào thì luôn tồn tại một đa thức p(n) sao
cho:
T(n) = Ο(p(n))
Ví dụ:
Thiết kế mạng phân phối điện năng Page 8
Trí tuệ nhân tạo – IT4040
Các thuật toán có độ phức tạp thời gian trong trường hợp tồi nhất dưới đây đều có thời
gian tính đa thức:
Ο(p(n)) = 2n ; 3n
3
+ 4 ; 5n + n
10

Các thuật toán có độ phức tạp thời gian trong trường hợp tồi nhất dưới đây không có thời
gian tính đa thức:
Ο(f(n)) =

!;2;2 n
nn
Định nghĩa 1.10 Bài toán quyết định là bài toán mà đầu ra của nó chỉ có thể là “yes”
hoặc “no” (0 hoặc 1, đúng hoặc sai…).
Định nghĩa 1.11 Xét bài toán tối ưu hóa (P) max{f(x): x

D}. Ta gọi bài toán dạng
quyết định tương ứng với bài toán tối ưu (P) là bài toán quyết định sau:
(PD) “Cho giá trị K. Hỏi có tìm được u

D sao cho f(u) ≥ K hay không?”
Bài toán tối ưu và bài toán quyết định của nó có mối liên hệ được phát biểu trong định lý
sau:
Định lý 1.12 Nếu bài toán quyết định tương ứng với một bài toán tối ưu có thể giải được
hiệu quả (chẳng hạn bằng thuật toán có thời gian tính đa thức) thì bài toán tối ưu đó
cũng giải được hiệu quả (bằng thuật toán thời gian tính đa thức).
Định nghĩa 1.13 Ta gọi 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” của bài toán là một bằng chứng có độ dài bị chặn bởi một đa
thức bậc cố định của độ dài dữ liệu đầu vào của bài toán, và việc kiểm tra nó là bằng
chứng xác nhận câu trả lời “yes” đối với đầu vào đã cho của bài toán có thể thực hiện
xong sau thời gian đa thức.
1.3.2. Lớp bài toán P, NP, và co-NP
Dưới đây là phân loại các lớp của bài toán:
Định nghĩa 1.14 P là lớp bài toán quyết định có thể được giải quyết trong thời gian đa
thức.
Hay nói cách khác, P là lớp các bài toán có thể được giải một cách nhanh chóng.
Thiết kế mạng phân phối điện năng Page 9
Trí tuệ nhân tạo – IT4040
Định nghĩa 1.15 NP là lớp bài toán quyết định mà để xác nhận câu trả lời là “yes” của
nó, có thể đưa ra bằng chứng ngắn gọn dễ kiểm tra.

Hay có thể nói NP là lớp bài toán mà có thể kiểm tra câu trả lời “yes” một cách nhanh
chóng trong thời gian đa thức nếu đã có được lời giải.
Hiển nhiên ta có P ⊂ NP, tuy nhiên xác định xem NP ⊂ P hay không hiện vẫn chưa có
lời giải.
Định nghĩa 1.16 co-NP là lớp bài toán mà để xác nhận câu trả lời “no” thì có thể đưa
ra bằng chứng ngắn gọn dễ kiểm tra.
Như vậy có thể thấy co-NP là lớp bài toán hoàn toàn ngược với lớp NP. Có thể miêu tả
mối quan hệ giữa ba lớp bài toán trên như trong hình dưới đây:
Hình 4: Các lớp bài toán P, NP và co-NP
1.3.3. Khái niệm quy dẫn
Định nghĩa 1.17 Giả sử A và B là hai bài toán quyết định. Ta nói bài toán A có thể quy
dẫn sau thời gian đa thức về bài toán B nếu tồn tại thuật toán thời gian đa thức R cho
phép biến đổi bộ dữ liệu vào 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à bộ dữ liệu “yes” của B.
1.3.4. Lớp bài toán đầy đủ và NP-khó
Định nghĩa 1.18 Một bài toán quyết định A được gọi là NP-đầy đủ nếu như A là bài toán
trong NP và mọi bài toán trong NP đều có thể quy dẫn về A.
Thiết kế mạng phân phối điện năng Page 10
Trí tuệ nhân tạo – IT4040
Định nghĩa 1.19 Một bài toán A được gọi là NP-khó 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.
Thiết kế mạng phân phối điện năng Page 11
Trí tuệ nhân tạo – IT4040
CHƯƠNG II. BÀI TOÁN THIẾT KẾ MẠNG PHẦN PHỐI ĐIỆN NĂNG
Chương này sẽ trình bày các vấn đề sau:
 Phát biểu bài toán
 Các ứng dụng thực tiễn của bài toán
2.1. Phát biểu bài toán
Tên bài toán:
Thiết kế mạng phân phối điện năng

Mô tả bài toán:
Cho 1 đồ thị G = (V, E) vô hướng liên thông. Ứng với mỗi cạnh e ϵ E sẽ được gán
1 trọng số chi phí kết nối trên 1 đơn vị điện năng.
Input:
Cho tâp P ⊂ V là tập các nút nguồn. Tập Q ⊂ V là tập các nút tiêu thụ, ứng với
mỗi nút v ϵ Q sẽ được gán cho 1 thông số là số đơn vị điện năng tiêu thụ. P ∩ Q =
∅.
Output:
Xây đựng đường kết đơn nối từ các nút v ϵ Q đến các nút u ϵ P sao cho tổng chi
phí xây dựng tất cả cá đường kết nối là nhỏ nhất.
Giải thuật đề xuất:
Genetic Algorithm (GA)
2.2. Các ứng dụng thực tiễn bài toán
Ngày nay, vấn đề truyền tải điện năng từ các trung tâm phát điện năng đi xa vẫn đang là
vấn đề cần phải bàn tới. Với khoảng cách xa và có nhiều đơn vị tiêu thụ điện năng thì vấn
đề tối ưu hóa khoảng cách sẽ giúp đỡ rất nhiều trong việc kết nối. Ngoài ra, việc tối ưu
mạng phân phối này sẽ giúp tiết kiệm ra nhiều chi phí về nguyên vật liệu cũng như tăng
cường hiệu suất truyền tải. Bài toán thiết kế điện năng dựa trên những vấn đề cần khắc
phục của việc truyền tải từ nhiều nguồn đến nhiều đích với khoảng cách xa. Bằng việc
mô phỏng một mạng điện bằng một đồ thị vô hướng với trọng số cạnh là chi phí kết nối,
Thiết kế mạng phân phối điện năng Page 12
Trí tuệ nhân tạo – IT4040
sau khi áp dụng thuật toán, ta sẽ thu được một đường đi trên đồ thị qua các đỉnh tới đích
với đường đi là nhỏ nhất, đường đi này sẽ được áp dụng vào thực tế tương tự như mô
phỏng để giảm tải chi phí kết nối và truyền dẫn.
CHƯƠNG III. GIẢI THUẬT DI TRUYỀN
Chương này sẽ trình bày các vấn đề sau:
 Ý tưởng của giải thuật di truyền
 Các khái niệm cơ bản trong giải thuật di truyền
 Các thành phần của giải thuật di truyền

3.1. Ý tưởng của giải thuật di truyền
Thuật giải di truyền do D.E. Goldberg đề xuất, được L.Davis và Z.Michalevicz phát triển.
Thuật giải di truyền hình thành dựa trên quan niệm cho rằng, quá trình tiến hóa 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. Quan niệm này có
thể được xem như một tiên đề đúng, không chứng minh được, nhưng phù hợp với thực tế
khách quan. Quá trình tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn
(phát triển hơn, hoàn thiện hơn) thế hệ trước. Tiến hóa tự nhiên được duy trì nhờ hai quá
trình cơ bản: sinh sản và chọn lọc tự nhiên. Xuyên suốt quá trình tiến hóa tự nhiên, các
thế hệ mới luôn được sinh ra để bổ sung, thay thế thế hệ cũ. Cá thể nào phát triển hơn,
thích ứng hơn với môi trường sẽ tồn tại. Cá thế nào không thích ứng được với môi trường
sẽ bị đào thải. Sự thay đổi môi trường là động lực thúc đẩy quá trình tiến hóa.
Xuất phát từ quan điểm trên, ý tưởng của giải thuật di truyền là mô phỏng các lời giải của
bài toán cần giải quyết thành các cá thể. Sau đó dựa vào một tập hợp các cá thể ban đầu,
áp dụng các toán tử di truyền để sinh ra các lời giải mới. Quá trình tiến hóa và chọn lọc tự
nhiên sẽ tìm ra lời giải tốt nhất của bài toán.
3.2. Các khái niệm cơ bản trong giải thuật di truyền
Xuất phát từ ý tưởng mô phỏng quá trình tiến hóa của tự nhiên để tìm lời giải, trong giải
thuật di truyền sử dụng rất nhiều các thuật ngữ vay mượn của di truyền học để mô tả các
thành phần của bài toán cần giải quyết.
Thiết kế mạng phân phối điện năng Page 13
Trí tuệ nhân tạo – IT4040
3.2.1. Gen
Các gen biểu diễn trong một chuỗi tuyến tính, mỗi gen kiểm soát một số đặc trưng cho
một thành phần của lời giải. Gen với những đặc trưng nhất định, có vị trí nhất định trong
nhiễm sắc thể. Bất cứ đặc trưng nào của mỗi cá thể có thể tự biểu hiện một cách phân biệt
và gen có thể nhận một số giá trị khác nhau.
3.2.2. Nhiễm sắc thể (cá thể)
Mỗi kiểu (nhóm) gen (ta gọi là một nhiễm sắc thể) sẽ biểu diễn một lời giải của bài toán
đang giải.
3.2.3. Quần thể

Một quần thể chính là một tập hợp các lời giải. Tại mỗi thế hệ, quá trình tìm kiếm lời giải
mới sẽ dựa trên những lời giải có trong quần thể.
Từ một quần thể ban đầu, quá trình tìm kiếm lời giải được mô phỏng như quá trình tiến
hóa trong tự nhiên. Quá trình tìm kiếm lời giải chính là quá trình tiến hóa, và chọn lọc tự
nhiên. Trong giải thuật di truyền, quá trình tìm kiếm lời giải tối ưu được thực hiện theo
nhiều hướng, bằng cách duy trì một quần thể lời giải, và thúc đẩy quá trình hình thành và
trao đổi thông tin giữa các hướng này.
3.2.4. Tiến hóa
Quần thể trải qua quá trình tiến hóa: ở mỗi thế hệ lại sinh các lời giải tương đối tốt, trong
khi các lời giải tương đối xấu thì chết đi. Để phân biệt các lời giải khác nhau, hàm mục
tiêu được dung để đóng vai trò môi trường
3.2.5. Hàm mục tiêu
Hàm mục tiêu nhằm đánh giá độ thích nghi của một lời giải. Hàm mục tiêu thể hiện mục
tiêu lời giải của bài toán cần đạt được.
3.2.6. Đột biến và lai ghép
Thiết kế mạng phân phối điện năng Page 14
Trí tuệ nhân tạo – IT4040
Việc sinh ra các cá thể mới chính là việc sinh ra các lời giải mới được thực hiện bằng các
áp dụng các biến đổi lên một số cá thể đã có trong quần thể. Phép lai kết hợp các tính
chất của hai nhiễm sắc thể cha và mẹ để tạo ra các nhiễm sắc thể con bằng cách hoán vị
các đoạn gen tương ứng của cha và mẹ, hoặc bằng một toán tử kết hợp các gen của cha và
mẹ theo một cách nào đó để sinh ra các gen của cá thể con.
Khác với phép lai, phép đột biến thay đổi một cách ngẫu nhiên một hay nhiều gen của
nhiễm sắc thể được chọn. Thay đổi này được thực hiện với một xác suất thể hiện tốc độ
đột biến. Phép đột biến cho phép đưa thêm thông tin mới vào quần thể làm cho chất liệu
di truyền phong phú hơn
3.2.7. Chọn lọc tự nhiên
Quá trình chọn lọc tự nhiên chính là quá trình chọn lọc các cá thể trong quần thể, nhằm
mục đích làm cho quần thể mới ngày càng tốt hơn so với những thế hệ trước, bằng những
chiến lược chọn lọc khác nhau như: chọn lọc tự nhiên, giữ lại các cá thể ưu tú….

3.3. Các thành phần chính của giải thuật di truyền
Một giải thuật di truyền giải một bài toán cụ thể phải gồm các thành phần sau:
 Mã hóa lời giải: Các biểu diễn di truyền cho lời giải của bài toán
 Khởi tạo quần thể ban đầu: Các khởi tạo quần thể ban đầu, tạo ra một tập các lời giải
ban đầu cho bài toán
 Một hàm lượng giá: đóng vai trò môi trường, đánh giá các lời giải theo mức độ thích
nghi của chúng.
 Các phép toán di truyền: Phép lai và phép đột biến, tác động lên các lời giải đã có để
sinh ra các lời giải mới
Các tham số của giải thuật: kích thước quần thể, xác suất áp dụng các phép toán di
truyền…
Thiết kế mạng phân phối điện năng Page 15
Trí tuệ nhân tạo – IT4040
CHƯƠNG IV. CÁC GIẢI THUẬT DI TRUYỀN ÁP DỤNG TRONG BÀI TOÁN
THIẾT KẾ MẠNG PHÂN PHỐI ĐIỆN NĂNG.
Chương này sẽ trình bày các vấn đề sau:
 Mã hóa
 Hàm thích nghi
 Khởi tạo gen
 Khởi tạo cá thể
 Khởi tạo quần thể
 Các phép tiến hóa
4.1. Mã hóa
Trong giải thuật di truyền, mỗi lời giải của bài toán được mã hóa dưới dạng một cá thể,
qua đó thực hiện các phép toán di truyền nhằm tìm ra lời giải tối ưu từ tập lời giải ban
đầu. Xây dựng một quần thể gồm N cá thể, mỗi cá thể gồm 1 nhiễm sắc thể, mỗi nhiễm
sắc thể gồm M gen với M bằng kích thước của tập các nút tiêu thụ, ứng với mỗi gen là
một yêu cầu kết nối từ nút tiêu thụ đến nút nguồn.
Mỗi gen mã hóa một đường kết nối từ một nút tiêu thụ đến một nút nguồn, một đường kết
nối sẽ gồm các nút mà đường đó đi qua theo một thứ tự xác định.

4.2. Hàm thích nghi
Hàm thích nghi là một hàm cho biết độ thích nghi của cá thể. Một cá thể có độ thích nghi
càng cao thì khả năng tồn tại trong quần thể càng cao. Với mỗi gen, ta tăng luồng đường
kết nối trên đồ thị G thu được đồ thị G’. Ta có hàm thích nghi:
F =
Với u, v là các đỉnh, d(u, v) là lượng điện tiêu thụ trên cạnh (u, v), c(u, v) là chi phí trên 1
đơn vị điện năng tiêu thụ trên cạnh (u, v)
4.3. Khởi tạo gen
Chúng ta có 2 phương án để khởi tạo gen:
Thiết kế mạng phân phối điện năng Page 16
Trí tuệ nhân tạo – IT4040
• Phương án 1: Tìm một đường kết nối từ nút tiêu thụ mà gen đó mã hóa đến nút
nguồn gần nhất bằng giải thuật Dijkstra.
• Phương án 2: Tìm một đường kết nối từ nút tiêu thụ mà gen đó mã hóa đến nút
nguồn bằng giải thuật tìm đường mặc định (random).
4.4. Khởi tạo cá thể
Chúng ta khởi tạo i gen bằng phương án khởi tạo gen 1 và j gen bằng phương án khởi tạo
gen 2, với điều kiện i + j = M
4.5. Khởi tạo quần thể
Phần này khởi tạo quần thể gồm N cá thể.
4.6. Các phép tiến hóa
4.6.1. Lai ghép
Chọn ngẫu nhiên 2 cá thể trong quần thể, chọn ngẫu nhiên 1 chỉ số gen a trên nhiễm sắc
thể của 2 cá thể.
• Ghép các gen từ 1 đến a của cá thể 1 với các gen từ a +1 đến M của cá thể 2 để tạo
thành 1 cá thể con mới.
• Ghép các gen từ 1 đến a của cá thể 2 với các gen từ a + 1 đến M của cá thể 1 để
tạo thành 1 cá thể con mới.
Thêm 2 cá thể con vừa được tạo vào quần thể.
4.6.2. Đột biến

Quá trình gây đột biến:
• Chọn ngẫu nhiên 1 cá thể trong quần thể, chọn ngẫu nhiên 1 gen b trên nhiễm sắc
thể của cá thể đó.
• Ứng với mỗi gen khác b trên nhiễm sắc thể, tăng luồng tiêu thụ điện với các
đường kết nối được mã hóa lên đồ thị G thu được đồ thị mới G’.
• Sau đó tiến hành tìm lại đường kết nối cho gen b trên đồ thị G’.
Cuối cùng, ta thêm cá thể mới tạo ra vào quần thể.
Thiết kế mạng phân phối điện năng Page 17
Trí tuệ nhân tạo – IT4040
4.6.3. Chọn lọc
Quá trình chọn lọc cá thể:
• Sắp xếp các cá thể theo chiều tăng của hàm thích nghi
• Loại bỏ các cá thể trong quần thể có hàm thích nghi lớn nhất sao cho kích thước
quần thể bằng N
CHƯƠNG V. CÁC KẾT QUẢ ĐẠT ĐƯỢC
Thuật toán giải thuật di truyền thiết lập một hàm thích nghi ban đầu của quần thể. Qua
các thế hệ, hàm thích nghi dần được tiến hóa để “thích nghi” hơn, nghĩa là gần tới mục
tiêu cuối cùng hơn. Như vậy, xây dựng thuật toán để đưa ra các giá trị thích nghi tốt nhất.
Dưới đây là một số kết quả đạt được trên hàm thích nghi thông qua việc cài đặt và chạy
chương trình:
Hình 5: Giá trị hàm thích nghi tốt nhất của quần thể qua 100 thế hệ
Thiết kế mạng phân phối điện năng Page 18
Trí tuệ nhân tạo – IT4040
Hình 6: Giá trị hàm thích nghi trung bình của quần thể qua 100 thế hệ
Thiết kế mạng phân phối điện năng Page 19
Trí tuệ nhân tạo – IT4040
KẾT LUẬN
Việc phân phối điện năng với một khoảng cách xa đã và đang gặp rất nhiều vấn đề khó
khăn. Khoảng cách xa làm cho chi phí tiêu thụ cũng như truyền dẫn tăng lên rất nhiều,
đồng thời hiệu suất cũng giảm không ít. Vì thế, tìm cách hạn chế chi phí là rất cần thiết

để khắc phục tình trạng khó khăn trên. Với số lượng đỉnh của đồ thị là khá lớn, thì việc
sử dụng giải thuật di truyền vào việc thiết kế mạng phân phối điện năng là rất phù hợp.
Một lần nữa, chúng em xin chân thành cảm ơn sự hướng dẫn của thầy trong môn học “Trí
tuệ nhân tạo” cũng như trong quá trình thực hiện bài tập lớn của môn học. Thực sự, việc
áp dụng trí tuệ nhân tạo vào các thuật toán cũng như vào các ứng dụng là không hề dễ
dàng, do thời gian thực hiện bài tập lớn là có hạn, cộng với kinh nghiệm của các thành
viên nhóm đang còn hạn chế, nên ứng dụng nhóm đã hoàn thành không tránh khỏi sai sót.
Chúng em rất mong nhận được sự góp ý của thầy để chúng em rút kinh nghiệm hơn trong
việc xây dựng các ứng dụng cũng như áp dụng trí tuệ nhân tạo một cách tốt hơn vào phần
mềm thực tế.
Thiết kế mạng phân phối điện năng Page 20
Trí tuệ nhân tạo – IT4040
TÀI LIỆU THAM KHẢO
1. Slide Bài giảng trí tuệ nhân tạo. TS. Nguyễn Nhật Quang.
2. J. Haugeland. Artificial Intelligence: The Very Idea. MIT Press, Cambridge,
Massachusetts, 1985.
3. E. Rich and K. Knight. Artificial Intelligence (Second Edition). McGraw-Hill,
New York, 1991.
4. Đồ án tốt nghiệp: Giải thuật di truyền giải bài toán thiết kế mạng quang chịu lỗi đa
tầng.
5. Nguyễn Đình Thúc. : Lập trình tiến hóa, NXB Giáo dục 2000.
6. Nguyễn Đức Nghĩa. Bài giảng Cấu trúc dữ liệu và giải thuật. NXB Đại học Bách
Khoa Hà nội, 2008.
Thiết kế mạng phân phối điện năng Page 21

×