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

Tiểu luận môn hệ hỗ trợ quyết định Ứng dụng Neuron &thuật giải di truyền trong hệ thống ra quyết định điều khiển xe tự hành

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 (602.03 KB, 29 trang )

Đại học Quốc Gia Thành Phố Hồ Chí Minh
Đại học Công Nghệ Thông Tin
Khoa Khoa học máy nh
Môn:HỆ HỖ TRỢ QUYẾT ĐỊNH
Đề tài thu hoạch:
Ứng dụng Neuron &thuật giải di truyền trong hệ
thống ra quyết định điều khiển xe tự hành


 !"#
Mục lục
$%&'()*  %+!,2
Lời nói đầu
Ứng dụng Công nghệ thông tin trong điều khiển ra quyết định một cách tự động
ngày càng được nghiên cứu và áp dụng ngày càng mạnh mẽ; các thuật toán, hệ thống trí
tuệ nhân tạo ngày được ứng dụng nhiều hơn trong việc hỗ trợ quyết định.
Xu hướng xây dựng áp dụng các hệ thống trí tuệ nhân tạo nói chung mạng neuron
cũng như thuật toán di truyền nói riêng đang phát triển ngày một lớn mạnh trên toàn thế
giới.
Các hệ thống nhân tạo này giúp con người xử lí được các vấn đề thường gặp cũng
như gia tang được năng suất lao động của con người, hỗ trợ con người đưa ra các quyết
định trong quá trình thực hiện công việc cũng như duy trì sự sống.
Mục tiêu của bài thu hoạch đó là việc tìm hiểu cách thức hoạt động cũng như mô
hình vận hành của hệ thống mạng neuron nhân tạo và thuật giải di truyền, để từ đó có thể
áp dụng thuật giải di truyền huấn luyện mạng neuron trong môi trường không có trước
các dữ liệu mẫu.
Mục tiêu chính đó chính là xây dựng hệ thống điều khiển đưa quyết định để giúp
xe có thể tự hành hoàn thành lộ trình đường đi.
$%&'()*  %+!,3
Mục đích nghiên cứu
- Tìm hiểu về mạng neuron và ứng dụng.


- Tìm hiểu về thuật giải di truyền và ứng dụng.
- Kết hợp Mạng neuron và thuật giải di truyền trong quá trình xây dựng hệ thống
hỗ trợ quyết định
Nội dung nghiên cứu:
- Mạng Neural.
- Thuật giải di truyền
- Ứng dụng thuật giải di truyền để huấn luyện mạng Neuron
Bố cục báo cáo:
- Chương I: Tổng quan mạng Neuron
- Chương II: Tổng quan thuật giải di truyền
- Chương III: Xây dựng , áp dụng mạng Neuron sử dụng thuật giải di truyền để
giải quyết bài toán ra quyết định điều khiển phương tiện giao thông
- Chương IV: Một số tài liệu tham khảo
$%&'()*  %+!,4
I. Mạng Neuron nhân tạo
A. Mạng Neuron sinh học
Trước khi đề cập sâu hơn về mạng Neuron nhân tạo, mạng Neuron sinh học sẽ
được nêu ra ở đây để làm cơ sở so sánh với mạng Neuron nhân tạo. Mạng Neuron sinh
học được cấu thành bởi các neuron - là các tế bào não hay các tế bào thần kinh. Mỗi
neuron như vậy có ba thành phân chính : dendrite, soma và axon. Ba thành phần này là ba
yếu tố được mô phỏng lại trong mạng Neuron nhân tạo.
Các dendrite là các đầu tiếp nhận các xung điện đầu vào từ những neuron khác.
Các xung điện này sau đó được chuyển đến soma - phần thân của tế bào - để xử lý. Axon
là đầu ra của các neuron, nó truyền đi xung điện đã được xử lý tại soma đến các neuron
khác thông qua các điểm nối (synaptic gap). Một mạng Neuron sinh học bao gồm nhiều
neuron như vậy nối với nhau thông qua các điểm nối, đầu ra (axon) của neuron này sẽ
được nối với đầu vào (dendrite) của neuron khác. Một neuron có nhiều đầu vào và nhiều
đầu ra.
Hình 1. Một neuron sinh học
$%&'()*  %+!,5

B. Mạng Neuron nhân tạo
Mạng Neuron nhân tạo là một hệ thống xử lý thông tin có những đặc điểm gần giống
với mạng Neuron sinh học. Mạng Neuron nhân tạo được xây dựng dựa trên các mô hình
toán học mô phỏng hoạt động của những yếu tố chính trong mạng Neuron sinh học
(dendrite, soma, axon). Hoạt động của mạng Neuron nhân tạo có những tính chất sau:
− Quá trình xử lý thông tin xảy ra tại mỗi đơn vị của mạng, gọi là neuron.
− Các neuron được liên kết với nhau.
− Mỗi liên kết của các neuron đều có một trọng số. Trọng số này đặc trưng cho bài
toán được biểu diễn bởi mạng. Khi nhận được thông tin đầu vào, các đầu vào sẽ
được nhân với các trọng số tương ứng, sau đó được cộng lại để cho một giá trị gọi
là net.
− Mỗi neuron đều có một hàm kích hoạt (activation function), hàm này có chức
năng tính toán đầu ra cho neuron dựa vào giá trị net đã nêu ở trên.
Đặc trưng của một mạng Neuron nhân tạo bao gồm:
− Mô hình kết nối giữa các neuron trong mạng với nhau hay còn gọi là kiến trúc của
mạng.
− Cách thức xác định trọng số của các liên kết trong mạng.
− Hàm kích hoạt của các neuron.
Mạng Neuron nhân tạo được ứng dụng để giải quyết nhiều lớp bài toán : lưu trữ và
phục hồi trạng thái của mẫu, phân lớp mẫu, tìm ánh xạ giữa đầu vào và đầu ra, gom nhóm
các mẫu giống nhau hoặc dùng để giải quyết các bài toán về tối ưu có ràng buộc.
Mỗi neuron trong mạng có một đặc trưng là hàm kích hoạt. Hàm này tính toán đầu ra
từ các thông tin đầu vào một cách gián tiếp thông qua giá trị net. Tại mỗi thời điểm nhất
định, mỗi neuron chỉ có thể có một đầu ra, tuy nhiên, đầu ra này có thể được gửi đến
nhiều neuron khác.
Cách thức hoạt động của một neuron như sau:
$%&'()*  %+!,6
− Tính toán giá trị net là tổng các tích giữa các đầu vào và trọng số tương ứng.
− Áp dụng hàm kích hoạt để tìm giá trị đầu ra.
Để cho thuận tiện, ta sẽ sử dụng mạng Neuron thay cho mạng Neuron nhân tạo,

neuron thay cho neuron nhân tạo trong suốt bài báo cáo này.
Hình 2. Một neuron nhân tạo
C. Những lĩnh vực ứng dụng của mạng Neuron nhân tạo
Trong hơn 70 năm qua, việc nghiên cứu mạng Neuron đã được tiến hành song
song giữa lý thuyết và cả ứng dụng. Ngày nay, mạng Neuron là một trong những mô hình
tính toán được sử dụng phổ biến trong nhiều lĩnh vực khác nhau : thương mại, xử lý tín
hiệu số, điều khiển, y học, … Phối hợp với nhiều ngành nghiên cứu khác, mạng Neuron
đã mang lại nhiều kết quả đáng kể.
1. Xử lý tín hiệu
Có rất nhiều ứng dụng xử lý tín hiệu có áp dụng mạng neuron mà một trong những
ứng dụng đầu tiên chính là giảm thiểu nhiễu tín hiệu trên đường dây điện thoại. Khi triển
khai các đường dây điện thoại đường dài, hiện tượng nhiễu tín hiệu xảy ra với độ nhiễu
lớn, khiến cho chất lượng cuộc gọi giảm đi. Người ta muốn độ nhiễu tại điểm đầu cuối
thấp nhất nên phải tiến hành khử nhiễu tại trạm tín hiệu cuối. Để khử nhiễu này, người ta
$%&'()*  %+!,7
dùng mô hình mạng ADALINE và huấn luyện nó để có thể loại bỏ các nhiễu từ tín hiệu
nhận được.
2. Điều khiển
Một trong những ứng dụng của mạng Neuron trong điều khiển đó là điểu khiển
việc nối đầu kéo của xe tải với khung tải hàng. Đối với những tài xế có nhiều kinh
nghiệm thì việc này không có gì khó khăn, nhưng đây là một vấn đề tương đối khó giải
quyết đối với những người lái xe thông thường. Mạng Neuron được huấn luyện để học
cách điều khiển đầu kéo sao cho vào đúng vị trí với khớp nối giữa đầu kéo và khung tải.
Bên cạnh đó, mạng neuron còn được sử dụng trong những hệ thống lái xe tự động.
ALVINN là một trong những dự án loại này, xe được trang bị một camera để thu tín hiệu
đầu vào là khung cảnh trước mắt của xe. Đầu tiên là việc huấn luyện, có một người lái xe
sẽ lái trên những đoạn đường khác nhau để giúp cho mạng học được các tình huống xử lý
khác nhau. Sau khi huấn luyện xong, xe có khả năng chạy trên các đoạn đường khác nhau
và xử lý rất tốt trong các tình huống qua ngã rẽ hoặc đường có nhiều làn xe khác nhau.
3. Nhận dạng mẫu

Nhận dạng mẫu là một trong những lĩnh vực thu hút được nhiều sự quan tâm của
giới khoa học nhất bởi có nhiều bài toán khó chưa được giải quyết trọn vẹn. Một nhánh
độc lập của lĩnh vực này có liên quan mật thiết đến mạng Neuron chính là nhận dạng chữ
viết tay (kí tự chữ hoặc số). Đây là một bài toán khó bởi vì các mẫu chữ viết khác nhau ở
kích cỡ, vị trí cũng như cách viết của từng người và những phương pháp truyền thống
không có khả năng giải quyết được. Để có thể tìm ra được giải pháp cho bài toán trên,
người ta sử dụng mạng lan truyền ngược và sau này là mạng neocognitron.
4. Y học
Mạng Neuron đã được sử dụng trong việc xác định toa thuốc cho bệnh nhân.
Trong giải pháp này, mạng được dùng như một phương pháp lưu trữ các mẫu toa thuốc
có sẵn với triệu chứng, chẩn đoán, các loại thuốc, các chỉ định, … Với một triệu chứng và
chẩn đoán được đưa vào, mạng sẽ trả về toa thuốc tương ứng và thông dụng nhất đối với
$%&'()*  %+!,8
các triệu chứng và chẩn đoán đó. Dù cấu trúc mạng rất đơn giản nhưng đã tỏ ra rất hiệu
quả khi giải quyết bài toán kê toa thuốc.
5. Mô phỏng và nhận dạng giọng nói
Để làm cho máy tính nói được tiếng Anh là một việc rất khó, bởi vì cách nhấn âm,
lên - xuống giọng phụ thuộc rất nhiều vào ngữ cảnh của câu. Phương thức truyền thống
để giải quyết vấn đề trên là sử dụng cấu trúc lưu trữ lại tất cả từ vựng và các quy tắc trong
việc nói tiếng Anh kèm theo các bảng tra những trường hợp bất quy tắc. Phương pháp
này có hiệu suất không cao và thường rất chậm.
Mô hình phát âm tiếng Anh đầu tiên sử dụng mạng Neuron được công bố là
NETtalk của Sejnowski và Rosenberg. Thay vì sử dụng cấu trúc lưu trữ từ vựng, những
quy tắc và bảng tra bất quy tắc thì NETtalk chỉ yêu cầu một tập dữ liệu mẫu bao gồm các
trường hợp phát âm. Sau khi được huấn luyện trêntập các trường hợp mẫu này, máy có
khả năng phát âm những từ mới với tỉ lệ sai rất thấp.
6. Thương mại
Mạng Neuron đã được ứng dụng trong thương mại để trợ giúp các quyết định. Một
trong những hệ thống loại này là hệ thống quản lý thế chấp tài sản của tập đoàn Nestor.
Hệ thống này lấy những trường hợp đã lưu lại trong hồ sơ thế chấp để làm tập mẫu dữ

liệu. Mạng Neuron của hệ thống sẽ được học để cuối cùng có khả năng quyết định việc
thế chấp tài sản có được chấp thuận hay không. Hệ thống này đã giúp công ty giảm đi
12% rủi ro trong việc cho thế chấp tài sản.
D. Cách thức ứng dụng mạng Neuron
Trong phần này ta sẽ đề cập đến cách thức ứng dụng của mạng Neuron trong các
giải pháp một cách khái quát nhất, bao gồm kiến trúc tổng quát của một mạng Neuron và
các phương pháp điều chỉnh trọng số (hay việc học) của mạng Neuron. Những đặc trưng
của từng loại mạng Neuron sẽ được trình bày sâu hơn ở những phần sau.
$%&'()*  %+!,9
1. Kiến trúc tổng quát của một mạng Neuron
Thông thường, mạng Neuron được chia thành các lớp Neuron (layer). Những
neuron thuộc cùng một lớp sẽ có những tính chất và hoạt động tương tự nhau. Các neuron
này giống nhau ở chỗ chúng dùng cùng một loại hàm kích hoạt để tính toán giá trị đầu ra.
Bên cạnh đó, chúng còn có cơ chế liên kết với các neuron khác cũng giống nhau. Nếu
một neuron A có các kết nối với neuron B thì tất cả các neuron cùng lớp với A cũng sẽ có
liên kết với neuron B đó. Các lớp có thể có của một mạng Neuron bao gồm: lớp đầu vào
(input layer), các lớp ẩn (hidden layers) và lớp đầu ra (output layer).
Mạng neuron thường được chia thành hai loại chính dựa vào kiến trúc mạng: mạng
một lớp và mạng nhiều lớp. Số lớp của mạng được xác định là số lớp chứa các neuron có
khả năng tính toán và có liên kết trọng số với các neuron khác. Vì lý do này nên lớp input
không được tính vào số lớp mạng, vì ở đây không xảy ra bất kì quá trình tính toàn nào.
Trọng số của mạng Neuron là một yếu tố vô cùng quan trọng, là kết quả quá trình học
của mạng Neuron và là thông số để tính toán kết quả khi ứng dụng mạng Neuron vào
thực tiễn.
Mạng Neuron còn được phân biệt theo cách thức lưu chuyển dòng dữ liệu. Mạng
feedforward là mạng có luồng dữ liệu đi vào từ lớp input, được xử lý ở các lớp ẩn (nếu
có) và cuối cùng sẽ được xuất ra tại lớp output. Mạng recurrent là mạng có luồng dữ liệu
vào tại các neuron và đầu ra của một neuron sẽ lại trở thành đầu vào của chính neuron đó.
$%&'()*  %+!,10
Hình 3. Mạng Neuron recurrent

2. Mạng một lớp
Mạng Neuron một lớp là mạng bao gồm một lớp neuron có liên kết trọng số.
Thông thường, các đơn vị của mạng được phân biệt thành các đơn vị input và các đơn vị
output. Các đơn vị input đóng vai trò nhận các giá trị đầu vào của môi trường. Còn các
đơn vị output chính là các neuron đảm nhận việc tính toán giá trị xuất cho mạng. Mỗi đơn
vị input sẽ có các kết nối đến tất cả các đơn vị output và ngược lại. Bên cạnh đó, giữa hai
đơn vị input không có liên kết nào, tương tự với các đơn vị output.
Hình 4. Mạng Neuron một lớp
$%&'()*  %+!,11
Đối với bài toán phân lớp, mỗi đơn vị đầu ra của mạng Neuron đại diện cho các
lớp chứa các đối tượng đại diện bởi vector đặc trưng đầu vào.
3. Mạng nhiều lớp
Mạng nhiều lớp là mạng bao gồm một hay nhiều lớp nằm giữa lớp input và output,
các lớp này được gọi là các lớp ẩn (hidden layers). Trong kiến trúc này, mỗi hai lớp kề
nhau sẽ có một bộ các trọng số liên hệ tương ứng liên kết tất cả các neuron của lớp này
với lớp nọ. Mạng nhiều lớp có khả năng giải quyết được nhiều bài toán phức tạp mà
mạng một lớp không thể làm được. Tuy nhiên, việc huấn luyện mạng không hề đơn giản
chút nào.
Hình 5. Mạng Neuron nhiều lớp
4. Thiết lập trọng số mạng
Bên cạnh kiến trúc mạng, cách thức thiết lập trọng số mạng (hay còn gọi là huấn
luyện, học - training) cũng là một đặc trưng để phân biệt các mô hình mạng Neuron với
nhau. Trong quá trình huấn luyện này, các trọng số mạng sẽ được điều chỉnh cho đến khi
đáp ứng một tiêu chí đặt ra. Hai hình thức huấn luyện được sử dụng cho mạng Neuron là
huấn luyện giám sát và không có giám sát. Bên cạnh đó, một số mô hình mạng Neuron
không có sự thay đổi trọng số trong quá trình huấn luyện mạng.
Mạng Neuron được huấn luyện để giải quyết những lớp bài toán như: tìm ánh xạ,
phân nhóm hoặc tối ưu hóa có ràng buộc. Phân loại mẫu và đối chiếu mẫu là hai dạng bài
$%&'()*  %+!,12
toán đặc biệt của lớp bài toán ánh xạ, cụ thể là ánh xạ một vector hoặc một mẫu từ đầu

vào đến một vector hoặc một mẫu của đầu ra.
a) Học có giám sát
Huấn luyện có giám sát là quá trình huấn luyện mạng có sử dụng các mẫu huấn
luyện. Các mẫu này gồm hai phần : phần input và phần output. Việc huấn luyện bắt đầu
bằng việc mạng sử dụng các input của các mẫu học để tìm ra output. Sau đó, trên cơ sở
đối chiếu các output này với các output của mẫu, mạng sẽ điều chỉnh các trọng số của
mạng sao cho output của mạng gần giống với output mục tiêu nhất. Việc điều chỉnh trọng
số như thế nào sẽ phụ thuộc vào thuật toán mà mạng sử dụng.
b) Học không giám sát
Khác với huấn luyện có giám sát, việc huấn luyện không giám sát không sử dụng
các output đóng vai trò mục tiêu. Thay vào đó, mạng sẽ tự gom nhóm các input có những
đặc điểm gần giống nhau nhất. Vì lý do này mà mạng sử dụng phương pháp học này
được gọi là mạng tự tổ chức (self-organization neural nets).
c) Trọng số cố định
Các mạng có trọng số cố định được sử dụng để giải quyết lớp bài toán tối ưu hóa
có ràng buộc. Lớp bài toán này có lời giải là một đáp số mang tính gần đúng. Mạng tương
ứng với các bài toán này sẽ được thiết lập trọng số một các cố định để biểu diễn các ràng
buộc đối cực đại và cực tiểu. Phương pháp máy Boltzmann và mạng Hofield liên tục là
những mô hình mạng như vậy.
5. Các hàm kích hoạt phổ biến
Một neuron trong mạng đảm nhận vai trò tính toán nhằm mục đích đưa ra kết quả
cuối cùng. Quá trình tính toán này bao gồm: (1)tính tổng các tích của các đầu vào của
neuron với trọng số tương ứng và (2) áp dụng một hàm kích hoạt đối với kết quả vừa tính
được. Đối với các đơn vị đầu vào, nếu ta xem chúng như những neuron thì hàm kích hoạt
của chúng là hàm
( )f x x
=
do không có bất kì bước tính toán nào xảy ra ở đây. Đối với
các lớp khác của mạng, người ta thường dùng cùng một hàm kích hoạt cho tất cả các
$%&'()*  %+!,13

neuron. Bên cạnh đó, vì một số lý do, ta có thể áp dụng các hàm kích hoạt khác nhau cho
các lớp khác nhau.
Hình 6. Đồ thị hàm số
( )f x x
=
Mạng Neuron một lớp thường sử dụng hàm ngưỡng để chuyển đổi một giá trị thực
liên tục sang một giá trị nhị phân (0 hoặc 1) hoặc lưỡng cực (-1 hay 1), hàm ngưỡng còn
được gọi là hàm Heaviside. Khi giá trị đầu vào của hàm lớn hơn hoặc bằng một giá trị
ngưỡng θ thì hàm sẽ trả về giá trị 1. Ngược lại, nếu giá trị đầu vào của hàm nhỏ hơn
ngưỡng θ thì hàm sẽ trả về giá trị 0 (hoặc -1)
1
( )
0
khi x
f x
khi x
θ
θ


=

<

(hàm ngưỡng nhị phân)
1
( )
1
khi x
f x

khi x
θ
θ


=

− <

(hàm ngưỡng lưỡng cực)
Các hàm sigmoid là những hàm kích hoạt được sử dụng nhiều do tính chất khả vi
của nó. Hàm sigmoid nhị phân (binary sigmoid) và hàm tanh (hyperbolic tangent) là
những hàm mang ý nghĩa đặc biệt quan trọng trong mạng lan truyền ngược
(backpropagation). Sở dĩ như thế là vì những hàm này có giá trị tại một điểm và đạo hàm
$%&'()*  %+!,14
tại điểm đó có mối liên hệ đơn giản, giúp cho việc tính toán trở nên nhẹ nhàng hơn trong
lúc huấn luyện mạng, nhờ đó cải thiện đáng kể năng suất của quá trình này.
Hàm sigmoid nhị phân trả về các giá trị trong khoảng từ 0 đến 1. Những mạng
Neuron sử dụng hàm kích hoạt sigmoid nhị phân có nhu cầu thu được giá trị nhị phân
hoặc các giá trị nằm giữa 0 và 1. Hàm này còn được gọi là hàm vận chuyển (logistic
function). Giá trị σ trong công thức dưới đây quyết định độ biến thiên của hàm.
1
( )
1
x
f x
e
σ

=

+
'( ) ( )[1 ( )]f x f x f x
σ
= −
Hình 7. Đồ thị của hàm sigmoid nhị phân
Hàm sigmoid lưỡng cực thực chất là một biến thể của hàm sigmoid nhị phân, trả
về giá trị nằm từ -1 đến 1.
2
( ) 2 ( ) 1 1
1
x
g x f x
e
σ

= − = −
+
'( ) [1 ( )][1 ( )]
2
g x g x g x
σ
= + −
$%&'()*  %+!,15
Hình 8. Đồ thị của hàm sigmoid lưỡng cực
Hàm tanh cũng nhận giá trị từ -1 đến 1 tuy nhiên sự biến thiên xảy ra nhanh hơn so
với hàm sigmoid lưỡng cực.
( )
x x
x x
e e

h x
e e
σ σ
σ σ



=
+
'( ) [1 ( )][1 ( )]h x h x h x
= + −
Hình 9. Đồ thị hàm tanh
$%&'()*  %+!,16
II. Thuật giải di truyền
A. Tổng quan về thuật giải di truyền
Thuật giải di truyền là một kỹ thuật của khoa học máy tính được dùng để tìm kiếm
lời giải cho các bài toán tối ưu tổ hợp hay các bài toán chưa có thuật toán để tìm chính
xác lời giải. Thuật giải di truyền sử dụng ngôn ngữ máy tính để mô phỏng lại quá trình
tiến hóa tự nhiên của một tập các đối tượng trừu tượng (gọi là quần thể). Mỗi đối tượng
trừu tượng (gọi là các nhiễm sắc thể) đại diện cho một giải pháp khả dĩ (gọi là cá thể) của
bài toán tối ưu hóa. Ngoài ra, mỗi giải pháp thường liên quan đến nhiều yếu tố, gọi là các
biến. Vì thế, các nhiễm sắc thể tương ứng cũng gồm nhiều phần tử, mỗi phần tử được gọi
là một gen.
Tập các giải pháp này sẽ tiến triển theo hướng chọn lọc những giải pháp tốt hơn.
Việc xác định giải pháp nào tốt hơn được thực hiện bởi một hàm gọi là hàm mục tiêu
hoặc hàm thích nghi. Các giải pháp tốt được kết hợp với nhau với hi vọng sẽ tạo ra các
giải pháp tốt hơn.
Quá trình tiến hóa bắt đầu từ một tập các cá thể ngẫu nhiên, và do đó, hầu hết
chúng không phải là các lời giải tốt. Qua từng thế hệ, độ thích nghi của từng cá thể được
xác định. Các cá thể được chọn lọc theo cách có định hướng (chọn cá thể tốt theo độ

thích nghi) từ tập hiện thời. Sau đó, các cá thể này được biến đổi bằng cách lai ghép hay
đột biến để tạo ra các cá thể mới. Việc này được thực hiện lặp đi lặp lại qua các thế hệ
tiếp theo và cuối cùng, giải thuật cho ra lời giải tối ưu hoặc gần tối ưu.
B. Các toán tử di truyền
1. Toán tử sinh sản
Toán tử sinh sản gồm hai quá trình: quá trình sinh sản (phép tái sinh), quá trình
chọn lọc (phép chọn).
2. Phép tái sinh
Phép tái sinh là quá trình các nhiễm sắc thể được sao chép trên cơ sở độ thích
nghi. Độ thích nghi là một hàm được gán giá trị thực, tương ứng với mỗi nhiễm sắc thể
trong quần thể. Quá trình này, được mô tả như sau:
Xác định độ thích nghi của từng nhiễm sắc thể trong quần thể ở thế hệ thứ t, lập
bảng cộng dồn các giá trị thích nghi (theo thứ tự gán cho từng nhiễm sắc thể). Giả sử,
quần thể có n cá thể. Gọi độ thích nghi của nhiễm sắc thể i tương ứng là fi tổng cộng dồn
thứ i là fti được xác định bởi:
$%&'()*  %+!,17
Gọi Fn là tổng độ thích nghi của toàn quần thể. Chọn một số ngẫu nhiên f trong
khoảng từ 0 tới Fn. Chọn cá thể thứ k đầu tiên thoả mãn f ≥ ftk đưa vào quần thể mới.
3. Phép chọn
Phép chọn là quá trình loại bỏ các nhiễm sắc thể kém thích nghi trong quần thể.
Quá trình này được mô tả như sau:
- Sắp xếp quần thể theo thứ tự mức độ thích nghi giảm dần.
- Loại bỏ các nhiễm sắc thể ở cuối dãy. Giữ lại n cá thể tốt nhất.
4. Toán tử ghép chéo
Ghép chéo là quá trình tạo nhiễm sắc thể mới trên cơ sở các nhiễm sắc thể cha-mẹ
bằng cách ghép một đoạn trên nhiễm sắc thể cha-mẹ với nhau. Toán tử ghép chéo được
gán với một xác suất p c . Quá trình được mô tả như sau:
Chọn ngẫu nhiên một cặp nhiễm sắc thể (cha-mẹ) trong quần thể. Giả sử, nhiễm
sắc thể cha-mẹ có cùng độ dài m.
Tạo một số ngẫu nhiên trong khoảng từ 1 tới m-1 (gọi là điểm ghép chéo). Điểm

ghép chéo chia nhiễm sắc thể cha-mẹ thành hai chuỗi con có độ dài m1, m2. Hai chuỗi
con mới được tạo thành là: m11+ m22 và m21+m12.
Đưa hai nhiễm sắc thể mới vào quần thể.
5. Toán tử đột biến
Đột biến là hiện tượng nhiễm sắc thể con mang một số đặc tính không có trong mã
di truyền của cha-mẹ.
• Chọn ngẫu nhiên một nhiễm sắc thể trong quần thể;
• Tạo một số ngẫu nhiên k trong khoảng từ 1 tới m,1 ≤ k ≤ m ;
• Thay đổi bit thứ k. Đưa nhiễm sắc thể này vào quần thể để tham gia quá
trình tiến hoá ở thế hệ tiếp theo.
$%&'()*  %+!,18
Khởi tạo quần thể
Xác định giá trị mục (êu cho từng NST
Tạo mới NST bằng các toán tử
Xác định mục (êu cho NST mới
Loại NST có độ thích nghi thấp
ĐK dừng?
Lấy NST có độ thích nghi tốt nhất
C. Các bước cơ bản của giải thuật di truyền
Một giải thuật di truyền đơn giản bao gồm các bước sau:
• Bước 1: Khởi tạo một quần thể ban đầu gồm các chuỗi nhiễm sắc thể.
• Bước 2: Xác định giá trị mục tiêu cho từng nhiễm sắc thể tương ứng.
• Bước 3: Tạo các nhiễm sắc thể mới dựa trên các toán tử di truyền.
• Bước 4: Xác định hàm mục tiêu cho các nhiễm sắc thể mới và đưa vào quần thể.
• Bước 5: Loại bớt các nhiễm sắc thể có độ thích nghi thấp.
• Bước 6: Kiểm tra thỏa mãn điều kiện dừng:
o Đúng: lấy ra nhiễm sắc thể tốt nhất, giải thuật dừng lại.
o Ngược lại: quay về bước 3.
$%&'()*  %+!,19
D. Hàm mục tiêu

Cứ sau mỗi thế hệ được hình thành, chúng ta cần tính lại độ thích nghi cho từng cá
thể để chuẩn bị cho một thế hệ mới. Do số lượng các cá thể tăng lên, độ thích nghi giữa
các cá thể không có sự chêch lệch đáng kể. Do đó, các cá thể có độ thích nghi cao chưa
hẳn chiếm ưu thế trong thế hệ tiếp theo. Vì vậy, cần ấn định tỷ lệ đối với hàm thích nghi
nhằm tăng khả năng cho các nhiễm sắc thể đạt độ thích nghi cao. Có 3 cơ chế định tỷ lệ
như sau.
1. Định tỷ lệ tuyến tính
Độ thích nghi được xác định theo công thức:
Cần chọn các tham số a, b sao cho độ thích nghi trung bình được ánh xạ vào chính
nó. Tăng độ thích nghi tốt nhất bằng cách nhân nó với độ thích nghi trung bình. Cơ chế
này có thể tạo ra các giá trị âm cần xử lý riêng. Ngoài ra, các tham số a, b thường gắn với
đời sống quần thể và không phụ thuộc vào bài toán.
2. Phép cắt Sigma
Phương pháp này được thiết kế vừa để cải tiến phương pháp định tỷ lệ tuyến tính
vừa để xử lý các giá trị âm, vừa kết hợp thông tin mà bài toán phụ thuộc. Ở đây, độ thích
nghi mới được tính theo công thức:
Trong đó:
C: số nguyên nhỏ (thường lấy giá trị từ 1 tới 5);
σ : độ lệch chuẩn của quần thể.
Với giá trị âm thì f' được thiết lập bằng 0.
E. Độ thích nghi:
1. Độ thích nghi tiêu chuẩn:
Hàm mục tiêu là hàm dùng để đánh giá độ tốt của một lời giải hoặc cá thể. Hàm
mục tiêu nhận vào một tham số là gen của một cá thể và trả ra một số thực. Tùy theo giá
trị của số thực này mà ta biết độ tốt của cá thể đó (chẳng hạn với bài toán tìm cực đại thì
$%&'()*  %+!,20
giá trị trả ra càng lớn thì cá thể càng tốt, và ngược lại, với bài toán tìm cực tiểu thì giá trị
trả ra càng nhỏ thì cá thể càng tốt).Giả sử trong một thế hệ có N cá thể, cá thể thứ i được
ký hiệu là ai. Hàm mục tiêu là hàm G. Vậy độ thích nghi của một cá thể ai tính theo độ
thích nghi tiêu chuẩn là

2. Độ thích nghi xếp hạng (rank method):
Cách tính độ thích nghi tiêu chuẩn như trên chỉ thực sự hiệu quả đối với những
quần thể có độ tốt tương đối đồng đều giữa các cá thể. Nếu, vì một lý do nào đó – có thể
do chọn hàm mục tiêu không tốt - có một cá thể có độ tốt quá cao, tách biệt hẳn các cá
thể còn lại thì các cá thể của thế hệ sau sẽ bị “hút” về phía cá thể đặc biệt đó. Do đó, sẽ
làm giảm khả năng di truyền đến thế sau của các cá thể xấu, tạo nên hiện tượng di truyền
cục bộ, từ đó có thể làm giảm khả năng dẫn đến lời giải tốt nhất (vì cá thể đặc biệt đó
chưa chắc đã dẫn đến lời giải tốt nhất).Phương pháp xác định độ thích nghi xếp hạng sẽ
loại bỏ hiện tượng di truyền cục bộ này. Phương pháp này không làm việc trên giá trị độ
lớn của hàm mục tiêu G mà chỉ làm việc dựa trên thứ tự của các cá thể trên quần thể sau
khi đã sắp xếp các thể theo giá trị hàm mục tiêu G. Chính vì vậy mà ta gọi là độ thích
nghi xếp hạng. Phương pháp này sẽ cho ta linh động đặt một trọng số để xác định sự tập
trung của độ thích nghi lên các cá thể có độ tốt cao, mà vẫn luôn đảm bảo được quy luật :
cá thể có độ thích nghi càng cao thì xác suất được tồn tại và di truyền càng cao.
Một cách ngắn gọn, ta có độ thích nghi (hay xác suất được chọn) của cá thể thứ i
được tính theo công thức sau :
F(i) = p*(1-p)i-1
với p là một hằng số trong khoảng [0,1].
F. Điều kiện dừng của giải thuật
Điều kiện dừng lí đơn giản nhất là thế hệ đã vượt qua một ngường nhất định cho trước.
Trong những trường hợp như qua những lần tiến hóa mà không có biến đổi nào nhất
điịnh, ta cần đếm số lần lượng hàm. Nếu số lần lượng hàm vượt quá một hằng xác định
trước thì dừng việc tìm kiếm.
$%&'()*  %+!,21
Có hai loại điều kiện dừng cơ bản:
• Cấu trúc nhiễm sắc thể: do sự hội tụ của quần thể bằng cách kiểm soát số alen
được hội tụ, ở đây alen được coi như hội tụ nếu một số phần trăm quần thể đã định
trước có cùng (hoặc tương đương đối với các biểu diễn không nhị phân) giá trị
trong alen này. Nếu số alen hội tụ vượt quá số phần trăm nào đó của tổng số alen,
việc tìm kiếm sẽ kết thúc.

• Ý nghĩa đặc biệt của một nhiễm sắc thể: đo tiến bộ của giải thuật trong một số thế
hệ cho trước. Nếu tiến bộ này nhỏ hơn một hằng số ε xác định, kết thúc tìm kiếm.
$%&'()*  %+!,22
III. Xây dựng hệ thống điều khiển xe tự hành:
A. Mô tả bài toán:
- Điều khiển xe hơi trên môi trường giả lập tự động.
- Động cơ điều khiển xe bao gồm hệ thống xoay trái phải, xe có gia tốc đều và
không thay đổi tốc độ khi điều khiển.
- Áp dụng mạng neuron để tiếp nhận dữ liệu và đưa ra quyết định cho xe hơi.
- Mục tiêu là điều khiển xe hoàn thành 1 vòng đua có hình dáng đường không đồng
đều mà không va chạm với lề đường.
B. Xây dựng mô hình:
1. Tiếp nhận dữ liệu:
$%&'()*  %+!,23
Hệ thống bao gồm các sensor để thu nhận tín hiệu đo khoảng cách từ thân xe đến
vật cản nằm trong phạm vi của sensor thu nhận được.
Hệ thống bao gồm 5 sensor theo các hướng: 0
o
, 45
o
, 90
o
, 135
o
, 180
o
Dữ liệu thu nhận được là khoảng cách đến vật thể nếu có.
2. Điều khiển:
Quá trình điều khiển học cần được ra quyết định để điều khiển lực (tốc độ) của 2
bánh xe điều hướng. Quá trình này cần thiết một hệ thống thông minh tiếp nhận các dữ

liệu của môi trường, nhằm đưa ra quyết định điều khiển hướng đi của phương tiện.
Trong số các hệ thống hỗ trợ quyết định; thì hệ thống xử lý dựa trên mạnh neuron
là một trong các hệ thống có khả năng đáp ứng tốt, nhanh, độ lỗi thấp phù hợp với nhu
cầu yêu cầu hỗ trợ quyết định ngay tức thời.
Hệ thống sử dụng mạng Neuron để có thể phân tích các dữ liệu tiếp nhận được từ
các cảm biến của xe. Từ đó, thông qua việc lan truyền tín hiệu và xử lý sẽ giúp đưa ra
quyết định điều khiển 2 bánh xe trái phải.
Mô hình mạng Neuron gồm có:
o 1 lớp Input gồm 5 đầu vào là tín hiệu được truyền từ các sensor
o 1 lớp ẩn gồm 8 neuron
o 1 lớp Output gồm 2 đầu ra
$%&'()*  %+!,24
S1
S1
S1
S1
S1
H
H
H3
H
Ha
H6
H7
H8
 / 0
1!/ 0
12+32
+
Các đầu vào sẽ được tiền xử lý các tín hiệu để có thể giảm kích thước cho mạng

Neuron.
s[i]= signal/MAX signal
Quá trình thực hiện bao gồm:
- Các Neuron lớp đầu vào sẽ tiếp nhận tín hiệu từ các cảm biến về khoảng cách từ
xe đến các vật thể, chướng ngại vật trên đường di chuyển.
- Các lớp Neuron mờ sẽ tiếp tục xử lý tín hiệu.
- Các lớp Neuron đầu ra sau khi xử lý sẽ cung cấp tín hiệu quyết định cho các bánh
xe điều khiển
3. Huấn luyện mạng Neuron:
Để huấn luyện mạng Neuron có nhiều cách để huấn luyện mạng Neuron. Một số
phương pháp có thể kể đến như Propagation, Back Propagation, thuật giải di truyền, …
Trong bài thu hoạch này sẽ sử dụng thuật giải di truyền để huấn luyện mạng
Neuron. Một trong những ưu điểm theo tiếp cận hướng thuật giải di truyền đó là:
- Tự hệ thống có thể sinh ra lời giải và tối ưu hóa các lời giải để có thể tiếp cận
được mục tiêu
$%&'()*  %+!,25

×