Tải bản đầy đủ (.pdf) (63 trang)

Một số thuật toán giải bài toán phân công nhiệm vụ trong hệ thống tính toán không đồng nhất

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 (1.14 MB, 63 trang )



ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG





NGUYỄN THỊ HỒNG NHUNG





MỘT SỐ THUẬT TOÁN
GIẢI BÀI TOÁN PHÂN CÔNG NHIỆM VỤ
TRONG HỆ THỐNG TÍNH TOÁN
KHÔNG ĐỒNG NHẤT



LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH
















THÁI NGUYÊN 2012

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên




LỜI CAM ĐOAN


Tôi xin cam đoan toàn bộ luận văn: "Một số thuật toán giải bài toán phân
công nhiệm vụ trong hệ thống tính toán không đồng nhất" do chính bản thân tôi
thực hiện dưới sự hướng dẫn của PGS.TS. Đặng Quang Á.
Nếu sai tôi xin chịu mọi hình thức kỷ luật theo quy định.

Thái Nguyên, tháng 06 năm 2012
Người thực hiện


Nguyễn Thị Hồng Nhung
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
i




MỤC LỤC

TRANG PHỤ BÌA
LỜI CAM ĐOAN
MỤC LỤC i
DANH MỤC CÁC BẢNG iii
DANH MỤC CÁC HÌNH iv
LỜI NÓI ĐẦU 1
CHƢƠNG I: GIỚI THIỆU SƠ LƢỢC VỀ HỆ THỐNG TÍNH TOÁN
KHÔNG ĐỒNG NHẤT MỘT SỐ BÀI TOÁN PHÂN CÔNG NHIỆM VỤ 3
1.1. GIỚI THIỆU SƠ LƢỢC VỀ HỆ THỐNG TÍNH TOÁN KHÔNG ĐỒNG
NHẤT. 3
1.1.1. Giới thiệu 3
1.1.2. Mô hình khái niệm HC 6
1.2. GIỚI THIỆU MỘT SỐ BÀI TOÁN PHÂN CÔNG NHIỆM VỤ 9
1.2.1. Bài toán phân công nhiệm vụ trong hệ thông tính toán không đồng
nhất…………………………………………………………………………… 9
1.2.2. Bài toán lập lịch thực hành 13
1.2.3. Bài toán lập lịch gia công 14
1.3. KẾT LUẬN 15
CHƢƠNG II: MẠNG NƠ RON VÀ GIẢI THUẬT DI TRUYỀN GIẢI BÀI
TOÁN KHÔNG ĐỒNG NHẤT 16
2.1. GIỚI THIỆU VỀ MẠNG NƠ -RON 16
2.1.1. Lịch sử phát triển 16
2.1.2. Mô hình mạng nơ-ron nhân tạo 17
2.2. PHẠM VI ỨNG DỤNG CỦA MẠNG NƠ -RON 21
2.2.1. Những bài toán thích hợp 21
2.2.2. Các lĩnh vực ứng dụng mạng nơ-ron 22

2.2.3. Ƣu và nhƣợc điểm của mạng nơ-ron 22
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ii



2.3. MẠNG HOPFIELD 23
2.3.1. Mạng Hopfield rời rạc 24
2.3.2 Mạng Hopfield liên tục: 25
2.3.3. Mạng Hopfield với bài toán tối ƣu 27
2.4. GIỚI THIỆU GIẢI THUẬT DI TRUYỀN 30
2.4.2. Các bƣớc quan trọng trong việc áp dụng thuật giải di truyền 31
2.4.3. Các phƣơng thức biến hóa của giải thuật di truyền 32
2.4.4. Các giải thuật di truyền lai 36
2.5. GIẢI THUẬT DI TRUYỀN VỚI BÀI TOÁN TỐI ƢU 37
2.5.1. Ánh xạ hàm mục tiêu sang hàm phù hợp 37
2.5.2. Tỷ lệ hoá giá trị phù hợp 38
2.5.3. Mã hoá tham biến nhờ véctơ nhị phân 39
2.5.4. Bài toán tối ƣu ràng buộc 39
2.6. KẾT LUẬN 40
CHƢƠNG III: MỘT SỐ THUẬT TOÁN GIẢI BÀI TOÁN PHÂN CÔNG
NHIỆM VỤ TRONG HỆ THỐNG TÍNH TOÁN KHÔNG ĐỒNG NHẤT 41
3.1. MỘT SỐ THUẬT TOÁN GIẢI QUYẾT BÀI TOÁN 41
3.1.1. Mạng Nơron Hopfield với bài toán TSAP 42
3.1.2. Thuật toán lai Mạng Noron Hopfield-Giải thuật di truyền 45
3.1.3. Thuật toán lai Mạng Noron Hopfield và mô phỏng luyện kim 47
3.2. THỬ NGHIỆM VÀ KẾT QUẢ TÍNH TOÁN 49
3.2.1. Các trƣờng hợp thử nghiệm và các thông số metaheuristic 49
3.2.2. GA cho các mục đích so sánh 51
3.2.3. Kết quả và phân tích 52

3.3. KẾT LUẬN 53
KẾT LUẬN 55
TÀI LIỆU THAM KHẢO 57

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iii



DANH MỤC CÁC BẢNG

Bảng 3.1: Trƣờng hợp thử nghiệm với 15 công việc và 5 bộ xử lý
50
Bảng 3.2: So sánh các kết quả thu đƣợc của HNNGA và HNNSA
53





















Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
iv




DANH MỤC CÁC HÌNH

Hình 1.1: Mô hình trên trạm làm việc cơ bản.
4
Hình 1.2: Mô hình khái niệm hệ thống HC.
7
Hình 2.1: Mô hình nơ ron sinh học.
17
Hình 2.2 : Mô hình một Nơ-ron .
20
Hình 2.3: Mô hình mạng Hopfield.
Hình 2.4: Ví dụ về lời giải bái toán sánh cặp với n = 6
23
28
Hình 2.5: Lƣu đồ mô tả cấu trúc của giải thuật di truyền.
32
Hình 2.6: Lƣu đồ thuật toán của quá trình chọn lọc.
33
Hình 2.7: Lƣu đồ thuật toán quá trình lai ghép.

35
Hình 2.8: Lƣu đồ thuật toán của quá trình đột biến .
36














Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-1-


LỜI NÓI ĐẦU
Hiện nay, các máy tính có tốc độ xử lý rất cao, đôi khi thực hiện một số
công việc thì chỉ dùng đến một phần nhỏ khả năng của tốc độ đó.
Điều này là bởi vì các công việc khác nhau cần đến các yêu cầu tính toán rất
khác nhau vì vậy phải có các máy tính có khả năng khác nhau để đáp ứng
yêu cầu. Một máy tính có cấu trúc đơn lẻ, có thể không đáp ứng đƣợc tất cả
các yêu cầu tính toán công việc mà có kết quả tốt nhƣ nhau. Vì vậy, việc sử
dụng một môi trƣờng tính toán không đồng nhất là rất thích hợp.
Trong hệ thống không đồng nhất, gồm có xử lý song song, phân phối,

cụm, lƣới và đƣợc ứng dụng trong các lĩnh vực nhƣ: công nghiệp, phòng thí
nghiệm, các cơ quan, trƣờng học, phân tích thiết kế hoặc môi trƣờng thời gian
thực Một vấn đề nghiên cứu quan trọng đối với hệ thống tính toán không
đồng nhất là làm thế nào để xắp xếp có thứ tự các công việc cần thực hiện để
tối ƣu hiệu xuất trong quá trình thực hiện bài toán phân công nhiệm vụ.
Bài toán phân công nhiệm vụ trong hệ thống tính toán không đồng nhất
là một bài toán khá phức tạp, do trong quá trình phân công nhiệm vụ cần phải
linh hoạt sử lý các tình huống khác nhau, trong từng hoàn cảnh khác nhau.
Tuy nhiên các tính toán trong mạng nơron Hopfield lại cho phép giải quyết tốt
các bài toán có nhiều tính phức tạp. Vì vậy, ứng dụng mạng nơron Hopfield,
giải thuật di truyền trong bài toán phân công nhiệm vụ trong hệ thống tính
toán không đồng nhất sẽ hứa hẹn là một giải pháp khả thi.
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 " Một số thuật toán giải
bài toán phân công nhiệm vụ trong hệ thống tính toán không đồng nhất".
Nội dung cơ bản của luận văn gồm có ba chƣơng:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-2-


Chƣơng I: Giới thiệu sơ lƣợc về hệ thống tính toán không đồng nhất,
mô hình khái niệm hệ thống không đồng nhất, bài toán phân công nhiệm vụ.
Chƣơng II: Giới thiệu sơ lƣợc về mạng nơ ron, mạng nơ ron Hopfield,
giải thuật di truyền, giải thuật di truyền với bài toán tối ƣu.
Chƣơng III: Giới thiệu một số thuật toán giải bài toán phân công nhiệm
vụ trong hệ thống tính toán không đồng nhất. Trong chƣơng này tập trung
giới thiệu phƣơng pháp tiếp cận lai meta-heuristic cho bài toán phân công
nhiệm vụ trong hệ thống tính toán không đồng nhất. Phƣơng pháp tiếp cận
bao gồm mạng Noron- Hopfield (HNN) để quản lý các ràng buộc của vấn
đề, và sử dụng hai thuật toán tìm kiếm toàn cục khác để nâng cao chất lƣợng

của giải pháp đƣợc tìm thấy, đó là: Thuật toán lai ghép mạng Nơron Hopfield
- giải thuật di truyền và thuật toán lại mạng Nơron Hopfield- mô phỏng luyện
kim.
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 Trƣờng Đại học Công nghệ
thông tin và truyền thông Đ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 06 năm 2012
Ngƣời viết luận văn

Nguyễn Thị Hồng Nhung
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-3-


CHƢƠNG I
GIỚI THIỆU SƠ LƢỢC
VỀ HỆ THỐNG TÍNH TOÁN KHÔNG ĐỒNG NHẤT
MỘT SỐ BÀI TOÁN PHÂN CÔNG NHIỆM VỤ

1.1. GIỚI THIỆU SƠ LƢỢC VỀ HỆ THỐNG TÍNH TOÁN KHÔNG
ĐỒNG NHẤT.
Hệ thống tính toán không đồng nhất hiệu suất cao (sau đây gọi là HC),
trong môi trƣờng này bao gồm các máy với khả năng tính toán khác nhau kết
nối với nhau bằng các liên kết tốc độ cao. Môi trƣờng này rất thích hợp để

đáp ứng các nhu cầu tính toán của các nhóm bài toán lớn, áp dụng đa dạng
cho các ứng dụng. Một yếu tố quan trọng trong việc đạt đƣợc hiệu suất tốt
nhất có thể có từ môi trƣờng HC là khả năng phân công có hiệu quả các ứng
dụng máy móc và lịch trình thực hiện của họ.
1.1.1. Giới thiệu
Máy tính hiệu suất cao hiện nay đôi khi thực hiện một số nhiệm vụ thì
chỉ dùng đến một phần nhỏ khả năng hiệu suất của tốc độ đó. Điều này là bởi
vì các nhiệm vụ khác nhau sẽ có các yêu cầu tính toán khác nhau mà kết quả
trong sự cần thiết cho khả năng máy tính khác nhau. Một kiến trúc máy tính
đơn lẻ không thể đáp ứng tất cả các yêu cầu tính toán các nhiệm vụ khác nhau
tốt nhƣ nhau. Vì vậy, việc sử dụng của một môi trƣờng tính toán không đồng
nhất là thích hợp hơn.
Hệ thống tính toán không đồng nhất (HC), bao gồm một bộ các loại
máy khác nhau đƣợc kết nối với nhau bằng các liên kết tốc độ cao. Một hệ
thống cung cấp một loạt các khả năng, cấu trúc, phối hợp để thực hiện nhiệm
vụ với yêu cầu thực hiện khác nhau bằng cách khai thác tính không đồng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-4-


nhất của hệ thống. Một hệ thống HC có thể bao gồm một tập hợp các máy
tính hiệu suất cao. Một nhóm bao gồm các loại máy khác nhau cũng tạo
thành một hệ thống HC. Ngoài ra, một nhóm có thể đƣợc xử lý nhƣ một máy
tính đơn trong một bộ HC. Một hệ thống HC cũng có thể là một phần của một
mạng lƣới lớn hơn.
Một ứng dụng giả định bao gồm một hoặc nhiều nhiệm vụ độc lập (tức
là không giao tiếp). Nó cũng đƣợc giả định rằng một số nhiệm vụ có thể đƣợc
tiếp tục phân tách thành hai hoặc nhiều công việc phụ giao tiếp với nhau.
Các công việc phụ có dữ liệu phụ thuộc trong số đó, nhƣng có thể đƣợc giao
cho các máy khác nhau thực hiện.


Hình 1.1: Mô hình trên trạm làm việc cơ bản
Xét hình 1.1: Trong đó cho thấy một ví dụ giả thuyết của một chƣơng
trình ứng dụng với các thành phần khác nhau là tốt nhất phù hợp để thực
hiện một kiến trúc máy tính khác nhau. Các ứng dụng trong ví dụ bao
gồm một nhiệm vụ đƣợc phân tách thành bốn công việc phụ liên tiếp. Ứng
dụng này thực hiện cho 100 đơn vị thời gian trên một máy trạm cơ bản, nơi
mà mỗi công việc phụ là phù hợp nhất với kiến trúc máy tính và có số lƣợng
thời gian chỉ ra bên dƣới trong hình [5].
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-5-


Bằng cách thực hiện toàn bộ ứng dụng trên một nhóm các máy trạm, thời
gian thực hiện của một cụm lớn các công việc phụ theo định hƣớng có thể
giảm từ 35 đến 0,3 đơn vị thời gian.Thực hiện việc cải thiện thời gian tổng thể
cho toàn bộ ứng dụng chỉ khoảng gần 2 lần bởi vì các công việc phụ khác có
thể không đƣợc thích hợp cho một kiến trúc nhóm.
Ngoài ra, việc sử dụng của 4 kiến trúc máy tính khác nhau, để phù hợp
với các yêu cầu tính toán mà các công việc phụ đƣợc giao, có thể dẫn đến
một thực hiện 50 lần nhanh nhƣ máy trạm cơ bản. Điều này là bởi vì mỗi
công việc phụ đƣợc thực hiện trên kiến trúc hiệu suất cao mà nó thích hợp
nhất. Thời gian thực hiện đƣợc hiển thị bên dƣới cho các bộ HC trong
hình.1.1 bao gồm chi phí thông tin liên lạc giữa các máy tính cho mỗi công
việc phụ để truyền dữ liệu đến công việc phụ tiếp theo. Giữa các máy đơn thì
chi phí thông tin liên lạc là không cần thiết trong việc triển khai các nhiệm vụ.
Việc xây dựng một bộ HC với tất cả bốn loại máy, tất nhiên là tốn kém
hơn so với chỉ duy nhất một máy trạm hoặc một nhóm các máy trạm đơn lẻ.
Nhƣ vậy, trạng thái công việc ổn định của các ứng dụng phải có đủ để biện
minh cho chi phí của hệ thống.

Một yếu tố quan trọng trong việc đạt đƣợc hiệu suất tốt nhất có thể có
từ môi trƣờng HC là khả năng chỉ định các nhiệm vụ và công việc phụ để máy
sắp xếp có thứ tự các nhiệm vụ và công việc phụ trên mỗi máy một cách hiệu
quả. Việc kết hợp lập kế hoạch cho các nhiệm vụ và công việc phụ đƣợc định
nghĩa là một ánh xạ.
Hai loại khác nhau của ánh xạ là tĩnh và động. Lập ánh xạ tĩnh đƣợc
thực hiện khi các nhiệm vụ đƣợc ánh xạ trong một giai đoạn lập kế hoạch
(hoặc off-line, ví dụ nhƣ, lập kế hoạch lịch trình cho ngày mai). Lập ánh xạ
động để thực hiện các nhiệm vụ đƣợc ánh xạ trong thời gian trực tuyến (Ví
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-6-


dụ: khi nhiệm vụ đến trong khoảng thời gian ngẫu nhiên và đƣợc ánh xạ khi
chúng đến). Trong cả hai trƣờng hợp, vấn đề lập ánh xạ đã đƣợc chứng minh
là NP - đầy đủ. Nhƣ vậy, sự phát triển các kỹ thuật heuristic để tìm thấy ánh
xạ gần tối ƣu là một lĩnh vực nghiên cứu sôi động.
Hình 1.1. giả thiết về một ví dụ các lợi thế của việc sử dụng một bộ
không đồng nhất các máy, nơi mà thời gian thực hiện các bộ không đồng
nhất bao gồm chi phí truyền thông giữa các máy.
1.1.2. Mô hình khái niệm HC
Một trong những mục tiêu nghiên cứu dài hạn của HC là phát triển một
môi trƣờng phần mềm sẽ tự động lập ánh xạ và thực thi các ứng dụng đƣợc
thể hiện trong một ngôn ngữ máy độc lập bâc cao. Phát triển môi trƣờng nhƣ
vậy sẽ tạo điều kiện thuận lợi cho việc sử dụng các bộ HC do tính năng động
của phần mềm ngày càng tăng, bởi vì các lập trình viên không cần phải quan
tâm tới các điều khoản của bộ HC, và tăng khả năng thu đƣợc các ánh xạ tốt
hơn so với ngƣời dùng nhận đƣợc bằng các phƣơng pháp học. Do đó, nó sẽ
cải thiện hiệu suất và khuyến khích việc sử dụng của HC nói chung.






Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-7-



Hình 1.2: Mô hình khái niệm hệ thống HC
Hình1.2: Mô hình hỗ trợ cần thiết để tự động hoá việc sử dụng các hệ
thống HC [10]. Hình Elip đại diện cho các thông tin và hình chữ nhật đại diện
cho các hành động. Các đƣờng nét đứt đại diện cho các thành phần cần thiết
để thực hiện lập ánh xạ động.
4

3
Các ứng dụng
Các máy
trong bộ
Tạo ra các thông số liên quan
đến ứng dụng và máy
Danh mục các nhu cầu
cần tính toán
Danh mục khả năng của
máy

Mô tả nhiệm vụ của
các ứng dụng


Phân tích mẫu của
các máy


Phân tách thành nhiệm
vụ, nhiệm vụ phụ và
các đặc điểm của
chúng

Trạng thái ban đầu,
biện pháp hoạt động
của máy, mạng.

Các đặc điểm thông
tin liên lạc giữa các
máy

Ánh xạ các ứng dụng vào
các máy trong bộ


Kết hợp nhiệm vụ và
nhiệm vụ phụ để máy
thực hiện theo tiến độ

Hiện trạng của các máy
và mạng giá trị của các
biện pháp thực hiện

Thực hiện các ứng dụng

trên các máy trong bộ


Màm hình hiệu suất
của hệ thống

1
2
stage
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-8-


Một mô hình khái niệm cho môi trƣờng HC bằng cách sử dụng một bộ
các máy chuyên dụng đƣợc mô tả trong hình1.2. Mô hình khái niệm bao
gồm bốn giai đoạn:
Giai đoạn 1: Đƣa ra các loại dự kiến về việc sử dụng thông tin trong các
nhiệm vụ ứng dụng và các máy trong bộ HC, một tập hợp các tham số đƣợc
tạo ra có liên quan đến các yêu cầu tính toán của các ứng dụng và khả
năng máy của hệ thống HC. Ví dụ, nếu không có các ứng dụng, dự kiến sẽ
bao gồm các hoạt động điểm nổi, không cần thiết để mô tả việc thực hiện
điểm nổi của mỗi máy trong bộ phần mềm. Đối với mỗi thông số liên
quan đến các ứng dụng dự kiến và phù hợp với yêu cầu của máy, danh mục
cho các đặc điểm tính toán và danh mục cho các tính năng kiến trúc của máy
đƣợc rút ra.
Giai đoạn 2: Bao gồm hai phần, mô tả nhiệm vụ và phân tích mẫu. Công
tác mô tả nhiệm vụ là phân tách các ứng dụng thành các nhiệm vụ (và nhiệm
vụ phụ), mỗi nhiệm vụ đó là tính toán đồng nhất. Các nhiệm vụ khác nhau
có thể có những nhu cầu tính toán khác nhau. Các yêu cầu tính toán cho từng
nhiệm vụ là xác định số lƣợng mã định hình và dữ liệu. Phân tích mẫu đƣợc

sử dụng để xác định số lƣợng hiệu quả của các máy có sẵn trong bộ, thủ tục
thực hiện trên mỗi loại tính toán đƣợc xem xét.
Một trong các chức năng của giai đoạn 3: Là có thể sử dụng thông tin
từ giai đoạn 2 để ƣớc tính đƣợc thời gian thực hiện của từng nhiệm vụ và
nhiệm vụ phụ trên mỗi máy trong các bộ HC và các chi phí thông tin liên
lạc giữa các máy có liên quan. Sau đó, những kết quả này cùng với máy
và mạng liên máy bắt đầu tải các "trạng thái đƣợc sử dụng để tạo ra một ánh
xạ nhiệm vụ và nhiệm vụ phụ cho các máy tính dựa trên các biện pháp hiệu
suất nhất định (ví dụ: giảm thiểu thời gian thực hiện nhiệm vụ tổng thể).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-9-


Giai đoạn 4: Là việc thực hiện của các ứng dụng nhất định.
Trong các hệ thống việc lập ánh xạ tĩnh đƣợc thực hiện trong giai đoạn
3, ƣớc tính thông tin về tất cả các nhiệm vụ và công việc phụ để thực hiện
đƣợc biết trƣớc. Việc lập ánh xạ động, thông tin chung về các ứng dụng để
thực hiện có thể đƣợc biết đến nhƣ một ƣu tiên (ví dụ, phân tích mẫu trong
giai đoạn 2), nhƣng cũng có thể là thông tin đặc biệt không đƣợc biết
đến trƣớc. Nhƣ vậy, trong các hệ thống ánh xạ động, thời gian hoàn thành
nhiệm vụ và tải / tình trạng của máy tính / mạng máy tính đƣợc theo dõi (thể
hiện bởi đƣờng nét đứt trong hình 1.2). Thông tin này có thể đƣợc sử dụng để
lập ánh xạ của giai đoạn 3 và cải thiện việc phân công máy và tiến độ thực
hiện, hoặc thay đổi việc lập ánh xạ dựa trên nhu cầu thay đổi ngƣời sử dụng.
HC tự động là một lĩnh vực tƣơng đối mới. Các mô tả nhiệm vụ, phân
tích mẫu và lập ánh xạ đã đƣợc đề xuất nhƣ trên. Để mô hình khái niệm này
có tính ứng dụng thực tế cao thì có thể đƣa mô hình vào việc giải quyết các
bài toán phân công nhiệm vụ cụ thể trong hệ thống.
1.2. GIỚI THIỆU MỘT SỐ BÀI TOÁN PHÂN CÔNG NHIỆM VỤ
1.2.1. Bài toán phân công nhiệm vụ trong hệ thống tính toán không

đồng nhất.
a. Giới thiệu
Phân công nhiệm vụ (sau đây gọi là TSAP) là một vấn đề quan trọng
trong hệ thống máy tính phân tán, có khả năng cung cấp, khai thác và cải
thiện hiệu quả tốt hơn các hệ thống xử lý song song [7,9]. Vấn đề phân
công nhiệm vụ nhƣ vậy hay còn gọi là sự tối ƣu hóa kết hợp, trong đó bao
gồm việc phân công một chƣơng trình máy tính với một số nhiệm vụ cho các
bộ vi xử lý thực hiện, với một tập các ràng buộc sao cho tối thiểu hóa một
hàm chi phí. Các ràng buộc của TSAP thƣờng liên quan đến các tài nguyên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-10-


sẵn có, ứng dụng cho từng bộ vi xử lý trong hệ thống (số lƣợng nhiệm vụ mà
một bộ xử lý đƣợc cho là có thể xử lý, đƣợc giới hạn bởi chính các đặc tính
của nó, ví dụ nhƣ hạn chế về bộ nhớ để tránh quá tải hệ thống). Các hàm chi
phí cho TSAP có thể khác nhau tùy thuộc vào nhu cầu thiết kế, nhƣng nó
thƣờng liên quan đến việc tối thiểu hóa thời gian hoàn thành toàn bộ chƣơng
trình, giảm thiểu thời gian liên kết giữa các nhiệm vụ hoặc giảm tải cho bộ vi
xử lý.
TSAP có thể đƣợc định nghĩa nhƣ là 2 đồ thị liên kết một vấn đề và đã
đƣợc chứng minh là bài toán NP-đầy đủ. Có một số phƣơng pháp tiếp cận
vấn đề phân công nhiệm vụ trong các hệ thống máy tính phân tán nhƣng đặc
biệt quan trọng là các phƣơng pháp thử nghiệm và đánh giá dựa trên phân
tích toán học và lý thuyết đồ thị. Phần lớn các phƣơng pháp tiếp cận này đều
xem xét hai đồ thị trong định nghĩa TSAP. Đầu tiên là một đồ thị đơn mà mỗi
nút đại diện cho một nhiệm vụ, và mỗi cạnh giữa hai nút đại diện cho số
lƣợng thông tin kết nối của hai nhiệm vụ. Thứ hai là một đồ thị mạng trong đó
mỗi nút đại diện cho một máy tính và mỗi cạnh kết nối hai nút đại diện cho
chi phí liên kết giữa hai máy tính. Sử dụng hai đồ thị này, TSAP có thể đƣợc

xem nhƣ là một bài đồ thị kết hợp hay là bài toán NP-đầy đủ.
Phƣơng pháp tiếp cận thử nghiệm và đánh giá đƣợc coi nhƣ là một cách
tiếp cận chính để giải quyết vấn đề TSAP và lập kế hoạch phân công nhiệm
vụ. Các thuật toán di truyền (GA), thuật toán tiến hóa (EA), mô phỏng luyện
kim (SA), kỹ thuật meta-heuristics là những kỹ thuật đƣợc sử dụng nhiều
nhất. Trong số các phƣơng pháp tiếp cận meta-heuristics thì phƣơng pháp lai
đƣợc tạo thành bởi sự pha trộn của hai thuật toán cho kết quả tốt đối với vấn
đề TSAP.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-11-


b. Định nghĩa bài toán
Một hệ thống tính toán không đồng nhất, đƣợc hình thành bởi một tập
hợp các bộ vi xử lý/máy móc: P = {P
1
,…P
M
}, có tốc độ khác nhau nhƣng có
cấu hình giống nhau. Một tập hợp các nhiệm vụ khác nhau T = {T
1
,…T
N
}
của một ứng dụng phân tán có thể đƣợc thực hiện trên hệ thống tính toán
không đồng nhất này. Vậy mô hình TSAP đƣợc xem là việc phân công nhiệm
vụ cho các bộ vi xử lý, theo cách nhƣ vậy cần một hàm tính toán chi phí nhất
định (nhƣ là thời gian thực hiện và chi phí thông tin liên lạc của hệ thống) để
đạt đƣợc giá trị nhỏ nhất. Ký hiệu: W = {w
1

,…w
N
}: Là số lƣợng tài nguyên
yêu cầu của nhiệm vụ T
i
. R = {r
1
,…r
M
}: Là nguồn tài nguyên tối đa có sẵn
cho một bộ xử lý P
i
nhất định. Sau đó nhiệm vụ T
i
có thể đƣợc giao cho vi xử
lý P
j
nếu và chỉ nếu tổng chi phí của tất cả các nhiệm vụ trƣớc đây đƣợc
giao cho P
j
xử lý cộng với W
i
mà ít hơn hoặc bằng so với khả năng tối đa
nguồn tài nguyên tƣơng ứng của các bộ vi xử lý P
j
, R
J
. Các tài nguyên cần cho
mỗi nhiệm vụ, cũng nhƣ các nguồn tài nguyên tối đa có sẵn cho một bộ xử
lý nhất định, phải đƣợc dự tính trƣớc để hạn chế sự quá tải của bộ vi xử lý.

Nếu sử dụng phƣơng pháp tiếp cận này thì bất kỳ giải pháp nào cũng khả
thi và đảm bảo rằng không có bộ xử lý nào trong hệ thống bị quá tải sau khi
giao nhiệm vụ.
Về mặt toán học, TSAP có thể đƣợc định nghĩa nhƣ sau:
Cho X là một ma trận nhị phân trong đó:
+ Phần tử x
ij
= 1: nếu nhiệm vụ i đã đƣợc giao cho vi xử lý j
+ Phần tử x
ij
= 0 nếu ngƣợc lại.
Tìm X để hàm chi phí f (X) đạt giá trị nhỏ nhất. Với các ràng buộc:



= 1 = 1,2, , 

=1
(1.1)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-12-








 

 =1,2,,

=1
(1.2)
Lƣu ý rằng, ràng buộc đầu tiên từ công thức (1.1) cần đảm bảo rằng
mỗi công việc phải đƣợc kết hợp với một và chỉ một bộ xử lý, và ràng buộc
thứ hai từ công thức (1.2) cho thấy rằng các ràng buộc nguồn tài nguyên trên
mỗi bộ vi xử lý không thể bị vi phạm.
* Hàm chi phí
Hàm chi phí của TSAP dùng để tính việc giảm thiểu tối đa tổng thời gian
thực hiện và giảm thiểu thời gian kết nối giữa các nhiệm vụ khác nhau trong
bộ vi xử lý và gồm các nội dung sau:
(1) Tất cả các nhiệm vụ có thể đƣợc thực hiện trong tất cả các bộ vi xử
lý. Hai nhiệm vụ đang đƣợc thực hiện trong các bộ vi xử lý khác nhau sẽ phát
sinh một chi phí kết nối. Công việc này không tính đến chi phí kết nối giữa
các nhiệm vụ đang thực hiện trong cùng một bộ xử lý (xử lý giao tiếp nội bộ).
(2) Xác định một ma trận các chi phí kết nối K, với mỗi phần tử k
ijpq
đại
diện cho chi phí kết nối giữa một nhiệm vụ i đang thực hiện trong bộ vi xử
lý j và một nhiệm vụ p thực hiện trong một bộ xử lý q khác.
(3) Gọi v
j
gọi là tốc độ trung bình của bộ vi xử lý j tới bộ vi xử lý chậm
nhất trong hệ thống, gọi là tốc độ của bộ xử lý chậm nhất 1. Gọi t
i
là thời gian
thực hiện một nhiệm vụ i trên bộ xử lý chạy chậm nhất trong hệ thống.
Xác định 



=



/
:
=1
: Là tổng số thời gian cần thiết để bộ vi xử
lý j hoàn thành nhiệm vụ đƣợc giao.
Sử dụng các định nghĩa trên, ta có hàm tính toán chi phí f (X) cho
các TSAP nhƣ sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-13-






=
1

t
j
e
+
2



=1
   
k
ijpq
x
ij
M
q=1
qj
N
p=1
M
j=1
N
i=1
x
pq
(1.3)
Trong đó 
1
, 
2
là hai tham số điều khiển tầm quan trọng cho từng
thành phần của hàm tính toán chi phí và 
1
+ 
2
= 1
1.2.2. Bài toán lập lịch thực hành
Phân lịch lý thuyế t và thƣ̣ c hà nh tại các trƣờng đại học là vấn đề mà các

trƣờ ng phải đối mặt hàng năm. Vấ n đề nà y bao gồ m việ c phân công xen kẽ
giữa cá c môn họ c bắt buộ c và cá c kì thi để sinh viên có thể tham gia đầ y đủ .
Trƣớ c tiên nghiên cƣ́ u vấ n đề cơ bả n là sƣ̣ lƣ̣ a chọ n củ a sinh viên:
Xét G = {g
1
, g
2
, …, g
N
} trong đó N là tập các nhó m thƣ̣ c hà nh trong mộ t
môn họ c. Mỗ i nhó m g
k
sẽ đƣợc phân công theo thời khó a biể u (cả ngày và giờ
trong tuầ n khi phò ng thực hành hoạ t độ ng) và khả năng tối đa của phòng thực
hành là C
g
. Gọi S = {s
1
,

s
2
,….,s
M
} trong đó M là tập các sinh viên đƣợ c thƣ̣ c
hành trong phòng thí nghiêm. Mỗ i sinh viên lạ i có mong muố n và o mộ t nhó m
khác nhau phụ thuộc vào môn học và quan điểm của sinh viên . Giá trị của sở
thích là P
sg
cho mỗ i sinh viên s và nhó m g , sao cho




= 100

=1
có nghĩa
là mỗi sinh viên phải đạt độ thích thú tối đa P vào một nhóm hoặc vài nhóm
mà họ đƣợc phân công, giá trị nhỏ cho các nhóm mà họ không thích.
Với các định nghĩa nhƣ trên , việ c phân công sinh viên và o nhóm đƣợc
phát biểu nhƣ sau (P1):
Tìm X sao cho:
max(


.


)
với ràng buộc





,
.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-14-



Mộ t bổ sung nhỏ nƣ̃ a là sự lƣ̣ a chọ n củ a giá o viên bên cạ nh sở thích củ a
sinh viên. Xem xé t biế n thể này trong trƣờng hợp số lƣợng sinh viên trong các
nhóm là nhƣ nhau chứ không phải nhóm ít nhóm nhiều hoặc nhóm không có
sinh viên. Trong trƣờ ng hợ p nà y, định nghĩa bài toán nhƣ sau (P2):
max(


.


+ 
2
. (1 


)),
với
=

(






)

2


=1






,
.
Chú ý rằng P1 chỉ dành cho sở thích của sinh viên, nên mộ t nhó m có thể
nhiề u sinh viên trong khi nhó m khá c chỉ có 1 sinh viên. P1 không có sự can
thiệ p củ a giá o viên, do vậ y trong P2 vấn đề này đƣợ c điề u chỉnh theo hàm s ố
thích nghi là m cân bằ ng số sinh viên trong mỗ i nhó m.
1.2.3. Bài toán lập lịch gia công
Mỗi một chi tiết trong số n chi tiết D
1,
D
2
,…,D
n
cần phải đƣợc lần lƣợt
gia công trên m máy M
1
, M
2
,…,M
m
. Thời gian gia công chi tiết D
i

trên máy
M
j
là t
ij
. Hãy tìm lịch (trình tự gia công) các chi tiết trên các máy sao cho việc
hoàn thành gia công tất cả các chi tiết là sớm nhất có thể đƣợc.
Xét bài toán trên với thêm giả thiết là các chi tiết phải đƣợc gia công một
cách liên tục, nghĩa là quá trình gia công của mỗi một chi tiết cần phải đƣợc
tiến hành một cách liên tục hết máy này sang máy khác không cho phép có
khoảng thời gian dừng khi chuyển từ máy này sang máy khác. Tình huống
nhƣ vậy rất hay gặp trong các ngành sản xuất công nghiệp .
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-15-


Rõ ràng mỗi một lịch gia công các chi tiết trên các máy trong tình huống
nhƣ vậy sẽ tƣơng ứng với một hoán vị của  = ((1), (2),…, (n)) của n số
tự nhiên 1,2,…,n. Thời gian hoàn thành theo lịch trên đƣợc tính bởi hàm số:




=







,(+1)
1
=1
+


,()

=1

Trong đó: c
ij
= S
j
- S
i
; S
j
là thời điểm bắt đầu thực hiện việc gia công chi
tiết j (i,j = 1,2,…,n). Ý nghĩa của hệ số c
ij
có thể giải thích nhƣ sau: nó là tổng
thời gian gián đoạn(đƣợc tính từ khi bắt đầu gia công chi tiết i) gây ra bởi chi
tiết j khi nó đƣợc gia công sau chi tiết i trong lịch gia công. Vì vậy c
ij
có thể
đƣợc tính theo công thức:
c
ij
= max [





=1
-



1
=1
] I,j =1,2,…,n
Vì vậy bài toán đặt ra dẫn về bài toán tối ƣu tổ hợp sau:
min{ f():  }
Trong thực tế lịch gia công thƣờng còn phải thỏa mãm thêm nhiều điều
kiện khác. Vì những ứng dụng của vấn đề này mà trong tối ƣu hóa tổ hợp đã
hình thành một lĩnh vực gọi là lý thuyết lập lịch( hay quy hoạch lịch).
1.3. KẾT LUẬN
Nội dung của chƣơng tập trung vào giới thiệu sơ lƣợc về hệ thống tính
toán không đồng nhất, cách tiếp cận mô hình hệ thống tính toán không đồng
nhất vào việc giải quyết bài toán cụ thể.
Giới thiệu một số bài toán phân công nhiệm vụ: Bài toán phân công
nhiệm vụ trong hệ thống tính toán không đồng nhất, bài toán phân công lịch
thực hành ứng dụng trong các trƣờng Đại học, bài toán lập lịch gia công chi
tiết.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-16-


CHƢƠNG II

MẠNG NƠ RON VÀ GIẢI THUẬT DI TRUYỀN GIẢI
BÀI TOÁN TRONG HỆ THỐNG TÍNH TOÁN
KHÔNG ĐỒNG NHẤT

2.1. GIỚI THIỆU VỀ MẠNG NƠ -RON
2.1.1. Lịch sử phát triển
Quá trình nghiên cứu và phát triển mạng nơ-ron nhân tạo có thể chia
thành bốn giai đoạn nhƣ sau:
+ Giai đoạn một: Có thể tính từ nghiên cứu của William (1890) về tâm lý
học với sự liên kết các nơ-ron thần kinh. Năm 1940, MeCulloch và Pitts đã
cho biết: nơ-ron có thể đƣợc mô hình hoá nhƣ thiết bị ngƣỡng (giới hạn) để
thực hiện các phép tính logic và mô hình mạng nơ-ron của Mc Culloch-Pitts
cùng với giải thuật huấn luyện mạng của Hebb ra đời năm 1943.
+ Giai đoạn hai: Vào khoảng gần những năm 1960, một số mô hình nơ-
ron hoàn thiện hơn đã đƣợc đƣa ra nhƣ: mô hình Perceptron của Rosenblatt
(1958), Adaline của Widrow (1962).
+ 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
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-17-


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 [2].
2.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 10
10
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 mm
2
) để 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
Tế bào
Trục
Đầu ra
Hình 2.1. Mô hình nơ ron sinh học
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-18-


Mỗ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

đƣợc gán
một trọng số tƣơng ứng. Ta có thể ƣớc lƣợng tổng tín hiệu đi vào nơ-ron
i
net
theo một số dạng sau:
(i) Dạng tuyến tính:
, (2.1)
(ii) Dạng toàn phƣơng:
, (2.2)

(iii) Dạng mặt cầu:
, (2.3)
trong đó

và lần lƣợt là bán kính và tâm cầu.


j
S
ij
W



N
j
jiji
swnet
1



N
j
jiji
swnet
1
2
 
2

1
2




N
j
ijji
wsnet

 
Njw
ij
,1
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
-19-


+ 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
hà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:
(i) Hàm McCuloch-Pitts:
 









net
net
netfout
nÕu
nÕu
0
1

(2.4)
ở đây là ngƣỡng.

(ii) Hàm McCuloch-Pitts trễ:
 
 








kh¸cnÕu
nÕu
nÕu

netf
LTPnet
UTPnet
netfout 0
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).
(iii) Hàm Sigmoid:
 
 




net
e
netfout
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.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

×