Luận văn hướng đến việc phát triển giải thuật định tuyến hiệu quả trong mạng cảm biến sử dụng cây tổng hợp dữ liệu, từ đó có ứng dụng thiết thực trong các vấn đề thực tiễn đòi hỏi phát t
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LƯỢNG NHỎ NHẤT
Tuantqhust95@gmail.com
Ngành Khoa h ọc máy tính
Giảng viên hướng dẫn: PGS.TS Huỳnh Thị Thanh Bình
Vi ện: Công nghệ thông tin và truyền thông
HÀ NỘI, 10/2021
Chữ ký của GVHD
Trang 2CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
Họ và tên tác giả luận văn : Trần Quang Tuấn
Đề tài luận văn: Tiến hóa đa nhiệm giải bài toán cây tổng hợp dữ liệu với
tổng năng lượng nhỏ nhất
Chuyên ngành: Khoa học máy tính
Mã s ố SV: CB190215
Tác giả, Người hướng dẫn khoa học và Hội đồng chấm luận văn xác
nhận tác giả đã sửa chữa, bổ sung luận văn theo biên bản họp Hội đồng ngày
28/04/2021 với các nội dung sau:
- Thống nhất tên gọi đồ án / luận văn trong nội dung
- Sửa lại các lỗi tham chiếu hình ảnh
- Sửa lại các lỗi chính tả
Ngày 1 tháng 10 năm 2021
CH Ủ TỊCH HỘI ĐỒNG
Trang 3Lời cảm ơn
Tôi xin gửi lời cảm ơn sâu sắc nhất đến cô Huỳnh Thị Thanh Bình và các
thầy cô ở bộ môn Khoa Học Máy Tính cho phép tôi nghiên cứu, viết luận văn về
đề tài: “Giải thuật tiến hoá đa nhiệm giải bài toán cây tổng hợp dữ liệu với tổng năng lượng nhỏ nhất” Tôi xin chân thành cảm ơn quý thầy cô đã giảng dạy, chỉ
dẫn tôi trong thời gian tôi học tập tại trường Những kiến thức quý báu của thầy cô
đã giúp tôi rất nhiều trong học tập cũng như trong cuộc sống Cuối cùng tôi xin gửi lời cảm ơn đến bố mẹ, bạn bè & gia đình đã gắn bó, giúp đỡ tôi trong quá trình tôi nghiên cứu và viết luận văn
HỌC VIÊN
Ký và ghi rõ họ tên
Trang 4MỤC LỤC
DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT 9
MỞ ĐẦU 10
CƠ SỞ LÝ THUYẾT 13
1.1 Tổng quan về mạng cảm biến 13
1.1.1 Cấu trúc của mạng cảm biến 14
1.1.2 Kiến trúc giao thức của mạng cảm biến không dây 16
1.1.3 Ứng dụng của mạng cảm biến 17
1.2 Các vấn đề trong mạng cảm biến 19
1.2.1 Định vị 20
1.2.2 Đồng bộ hóa 20
1.2.3 Bao phủ 21
1.2.4 An ninh 21
1.2.5 Nén và tổng hợp dữ liệu 22
1.3 Tổng hợp dữ liệu 22
1.3.1 Độ đo tổng hợp dữ liệu 23
1.3.2 Phương pháp tổng hợp dữ liệu 25
1.4 Bài toán tối ưu tổ hợp 27
1.4.1 Các phương pháp giải chính xác 29
1.4.2 Các phương pháp giải gần đúng 29
THU ẬT TOÁN ĐỀ XUẤT 31
2.1 Giải thuật di truyền 31
2.1.1 Các bước cơ bản của giải thuật di truyền 31
2.1.2 Nguyên lý của giải thuật di truyền 33
2.1.3 Thuật toán tiến hóa đa nhiệm 35
2.1.4 Mô hình tiến hóa đa nhiệm 36
Trang 52.1.5 Giải thuật tiến hóa đa nhiệm 38
2.2 Bài toán cây tổng hợp dữ liệu với năng lượng nhỏ nhất 42
2.3 Thuật toán tiến hóa đa nhiệm cho bài toán cây tổng hợp dữ liệu với năng lượng nhỏ nhất 45
2.3.1 Biểu diễn 45
2.3.2 Mã hóa trong không gian chung 46
2.3.3 Khởi tạo 48
2.3.4 Lai ghép 49
2.3.5 Đột biến 51
K ẾT QUẢ THỰC NGHIỆM 53
3.1 Cấu hình thực nghiệm 53
3.2 Kết quả và đánh giá 55
K ẾT LUẬN 59
Trang 6DANH MỤC HÌNH VẼ
Hình 1-1 Mạng cảm biến không dây trong thực tế 15
Hình 1-2 Kiến trúc của 1 nút cảm biến 15
Hình 1-3 Kiến trúc giao thức của mạng cảm biến không dây 16
Hình 1-4 Ứng dụng smarthouse 18
Hình 1-5 Đồng bộ hóa thời gian trong mạng cảm biến 21
Hình 1-6 Vấn đề bao phủ trong mạng cảm biến 21
Hình 1-7 Quá trình tổng hợp dữ liệu 23
Hình 1-8 Tổng quan các phương pháp tổng hợp dữ liệu 26
Hình 1-9 Phương pháp tổng hợp dữ liệu tree-based 27
Hình 2-1 Sơ đồ giải thuật di truyền 32
Hình 2-2 Minh họa MFEA 35
Hình 2-3 Sơ đồ thuật toán MFEA 39
Hình 2-4 Ví dụ về 1 mạng cảm biến được mô hình dưới dạng đồ thị 43
Hình 2-5 Ví dụ về 1 mạng cảm biến có 6 nút 44
Hình 2-6 Cây tổng hợp dữ liệu thứ 1 44
Hình 2-7 Cây tổng hợp dữ liệu thứ 2 44
Hình 2-8 Ví dụ về cây đường đi ngắn nhất (b) đến nút A của đồ thị (a) 45
Hình 2-9 Ví dụ đồ thị G 46
Hình 2-10 Ví dụ Cây bao trùm T của đồ thị G 46
Hình 2-11 Dạng biểu diễn được mã hóa của T 46
Hình 2-12 Ví dụ mã hóa của 2 cây 𝑇𝑇1 và 𝑇𝑇2 của 2 tác vụ 𝑘𝑘1, 𝑘𝑘2 trong không gian chung 47
Hình 2-13 Giải mã với 2 tác vụ 𝑘𝑘1, 𝑘𝑘2 48
Hình 2-14 Ví dụ với 2 đồ thị 𝐺𝐺1 và 𝐺𝐺2, và cây bao trùm 𝑇𝑇1, 𝑇𝑇2 tương ứng 50
Hình 2-15 Đồ thị con được tạo ra bởi 𝑇𝑇1 ∪ 𝑇𝑇232T 51
Hình 2-16 Kết quả của phép giao 𝐺𝐺1 ∩ (𝑇𝑇1 ∪ 𝑇𝑇2) 51
Hình 2-17 Kết quả thế hệ con cuối cùng của đồ thị 𝐺𝐺1 51
Trang 7Hình 2-18 Cá thể cha p(T,G) với cây bao trùm T và đồ thị G 52
Hình 2-19 Cá thể p được đột biến bằng thêm cạnh ngẫu nhiên thuộc G 52
Hình 2-20 cá thể con c sau khi kết thúc đột biến 52
Hình 3-1 So sánh tốc độ hội tụ của các thuật toán trên nhóm kịch bản 1 57
Hình 3-2 So sánh tốc độ hội tụ của các thuật toán trên nhóm kịch bản 2 57
Trang 8DANH MỤC BẢNG
Bảng 3-1 Cấu hình hệ thống 53
Bảng 3-2 Tham số dữ liệu 54
Bảng 3-3 Bảng tham số thuật toán 54
Bảng 3-4 Kết quả thực nghiệm với nhóm kịch bản 1 56
Bảng 3-5 Kết quả thực nghiệm với nhóm kịch bản 2 56
Trang 9DANH MỤC CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
Mạng cảm biến không dây……… WSN
Giải thuật tiến hóa đa nhiệm………MFEA
Giải thuật di truyền……… GA
Lai ghép……… Cross-over Đột biến……… ………Mutation
Giải thuật gần đúng……….Heuristic Tổng hợp dữ liệu………Data Aggregation
Trang 10MỞ ĐẦU Tính cấp thiết của đề tài
Sự phát triển mạnh mẽ của khoa học công nghệ, kĩ thuật đo lường đặc biệt là mạng cảm biến không dây đã mang lại những hiệu quả to lớn cho cuộc sống của con người Với những tính năng riêng biệt, mạng cảm biến không dây đã giúp con người thám hiểm và khám phá ở nhiều địa hình khác nhau, ví dụ như những địa hình hiểm trở hay môi trường độc hại con người không thể tiếp cận Hiện nay,
mạng cảm biến không dây được ứng dụng trong các lĩnh vực từ quân sự đến dân
sự, thực hiện rất nhiều các công việc khác nhau như giám sát địa hình, cảnh báo các hiện tượng thiên tai, dự báo thời tiết, quản lý chất lượng sản phẩm, theo dõi
sức khỏe con người hay tích hợp vào các thiết bị điện trong nhà [1] Ứng dụng thực
tế của mạng cảm biến không dây có thể kể đến như: trong những vườn trồng hay trang trại thực phẩm sạch có quy mô lớn, các thiết bị cảm biến giúp cung cấp cho người chủ vườn những thông tin chính xác và thiết thực nhất [1]
Mạng cảm biến không dây là hệ thống liên kết nhiều cảm biến với nhau sử dụng các kết nối không dây Chúng có thể phối hợp thực hiện nhiệm vụ thu thập thông tin dữ liệu với quy mô lớn Mạng có thể được liên kết trực tiếp với nút quản lý giám sát trực tiếp hay gián tiếp thông qua một điểm thu phát và môi trường mạng công cộng như Internet hay vệ tinh Mỗi một cảm biến có một hoặc nhiều nhiệm
vụ khác nhau tùy thuộc vào ứng dụng Các thiết bị cảm biến không dây liên kết thành mạng đã tạo ra nhiều khả năng mới cho con người Ưu điểm của các nút cảm
biến là có thể hoạt động trong môi trường khắc nghiệt với yêu cầu năng lượng thấp Bên cạnh những ưu điểm giúp mạng cảm biến không dây được ứng dụng trong nhiều lĩnh vực, mạng cảm biến không dây cũng gặp không ít trở ngại và thách thức Một trong số đó phải kể đến vấn đề năng lượng tiêu thụ Do các nút cảm biến sử
dụng nguồn năng lượng pin để tồn tại, một khi hết năng lượng các nút này sẽ trở thành các nút mạng chết Do đó, mức tiêu thụ năng lượng lượng là yếu tố chính quyết định đến chi phí duy trì và thời gian sống của mạng (trong mạng cảm biến
sử dụng pin) Vì vậy, được sự định hướng và chỉ dẫn của PGS.TS Huỳnh Thị Thanh Bình, luận văn này sẽ đi sâu nghiên cứu vấn đề tối ưu năng lượng trong mạng cảm biến Luận văn nghiên cứu thuật toán định tuyến trong mạng cảm biến
Trang 11không dây sử dụng cây tổng hợp dữ liệu, từ đó giúp tối ưu tổng năng lượng của toàn mạng Nghiên cứu giúp tối ưu năng lượng của mạng mà vẫn đảm bảo thông tin được thu thập và phản ánh một cách đầy đủ nhất Vì các lý do trên, tôi tin tưởng
luận văn này vừa có sự đóng góp cho cộng đồng nghiên cứu học thuật và đồng thời
có tính ứng dụng thực tiễn
Mục tiêu nghiên cứu
Luận văn nghiên cứu giải thuật tiến hóa đa nhiệm (thuật ngữ gốc: Multi-Factorial Evolutionary Algorithm - MFEA) [2] cho bài toán tối ưu thời gian sống trong
mạng cảm biến Luận văn hướng đến việc phát triển giải thuật định tuyến hiệu quả trong mạng cảm biến sử dụng cây tổng hợp dữ liệu, từ đó có ứng dụng thiết
thực trong các vấn đề thực tiễn đòi hỏi phát triển các hệ thống mạng mà cây tổng
hợp dữ liệu là là cốt lõi
Xuất phát từ những lý do thiết thực như: một mạng cảm biến có thể cần nhiều cây định tuyến trong các trường hợp một số nút hỏng; hoặc việc triển khai cùng lúc nhiều mạng cảm biến có kích thước khác nhau MFEA có thể tận dụng sự tương đồng trong cấu trúc mạng để tìm ra lời giải tốt hơn [2] Trên cơ sở đó, luận văn đề xuất phương pháp mã hóa trên không gian chung cho các bài toán cây
tổng hợp dữ liệu đồng thời phát triển và cải tiến giải thuật tiến hóa đa nhiệm để giải quyết bài toán
Luận văn cài đặt thực nghiệm giải thuật đề xuất theo mô hình đơn nhiệm và đa nhiệm, Đồng thời so sánh với các cách tiếp cận 2 xấp xỉ của tác giả trong nghiên
cứu [3] để làm cơ sở phân tích tính hiệu quả và tính thực tiễn của giải thuật đề
xuất Thực nghiệm giải thuật chỉ ra và phân tích được tính hiệu quả của mô hình
đa nhiệm trong việc giải quyết các bài toán tối ưu phức tạp
Phạm vi và phương pháp nghiên cứu
Mô hình cây tổng hợp dữ liệu và phương pháp tính năng lượng dựa trên bài báo [3] Giải thuật MFEA sử dụng trong luận văn dựa trên nghiên cứu về tiến hoá đa nhiệm của tác giả [2] Các giải thuật đề xuất được đánh giá tính hiệu quả bằng độ
đo tổng năng lượng sử dụng của toàn mạng [4] Việc so sánh kết quả thực nghiệm
là thước đo kiểm chứng tính thực tiễn của giải thuật đề xuất trong việc phát triển các giải thuật
Trang 12Cấu trúc luận văn
Ngoài chương mở đầu và kết luận, luận văn được trình bày trong ba chương chính như sau:
• Chương 1: Cơ sở lý thuyết Trình bày kiến thức tổng quan về mạng cảm biến,
cây tổng hợp dữ liệu, các bài toán định tuyến và tối ưu năng lượng trong mạng
cảm biến
• Chương 2: Giải thuật đề xuất Giới thiệu về mô hình bài toán & thuật toán tiến
hóa và thuật toán tiến hóa đa nhiệm Trình bày về thuật toán tiến hoá đa nhiệm
giải quyết bài toán cây tổng hợp dữ liệu với tổng năng lượng nhỏ nhất Trình bày chi tiết về giải thuật, các chiến lược mã hoá và lai ghép, …vv sử dụng trong thuật toán
• Chương 3: Kết quả thực nghiệm Tổng hợp kết quả thực nghiệm của giải thuật
đề xuất với các phương pháp tiếp cận dựa trên cây đường đi ngắn nhất và giải thuật di truyền đơn nhiệm
Trang 13CƠ SỞ LÝ THUYẾT 1.1 Tổng quan về mạng cảm biến
Mạng cảm biến không dây (Wireless Sensor Network) là tập hợp các thiết bị cảm biến sử dụng các liên kết không dây Chúng phối hợp với nhau để thực hiện nhiệm
vụ thu thập thông tin dữ liệu với quy mô lớn Mạng cảm biến không dây có thể liên kết trực tiếp hoặc gián tiếp với bên ngoài (mạng công cộng như Internet hay
vệ tinh) thông qua một nút thu phát (Sink) Các nút cảm biến không dây có thể được triển khai cho các mục đích chuyên dụng như điều khiển giám sát và an ninh; thu thập thông tin môi trường; giám sát sức khỏe cho bệnh nhân trong y tế, [5] Thế mạnh của mạng cảm biến đó là sự linh hoạt nên có thể triển khai ở những khu
vực đặc biệt mà các thiết bị có dây khó tiếp cận Ngoài ra, mạng cảm biến không dây còn có nhưng đặc điểm nổi bật như sau [5]:
Kích thước vật lý nhỏ gọn
Các thiết bị trong mạng cảm biến không dây thường được thiết kế nhỏ gọn và tiện
dụng Vì kích thước thiết bị tỉ lệ nghịch với tốc độ xử lý, giới hạn lưu trữ và thời gian hoạt động nên mạng cảm biến cần được phát triển và thiết kế sao cho hợp lý
và hài hòa nhất Với công nghệ tiên tiến bây giờ các thiết bị trong mạng cảm biến không dây cũng khá đủ cho nhu cầu của người dùng: kích thước bé, năng lượng tiêu thu thấp, tốc độ nhanh,…
Ho ạt động đồng thời với độ tập trung cao
Một mạng cảm biến không dây có thể cần động liên tục và chính xác cao trong
thời gian dài, tùy vào nhu cầu sử dụng Ví dụ như việc giám sát sức khỏe người bệnh trong y tế, người bệnh phải được theo dõi thường xuyên và liên tục Điều này đến chủ yếu từ thiết kế phần cứng của mạng cảm biến, tuy nhiên đôi khi thiết kế
phần mềm hợp lý cũng đem lại những hiệu quả bất ngờ
Tính đa dạng trong thiết kế và sử dụng
Hiện nay có rất nhiều thiết bị cảm biến được dành riêng cho một số lĩnh vực nhất định: những hệ thống được thiết kế cho những công việc đặc thù như đo lượng dầu trong nước hay đo nồng độ khí CO2 trong không khí Những nhóm phát triển mạng
cảm biến không dây đưa ra những giải pháp thích hợp là xây dựng một nền tảng
Trang 14chung có thể kết hợp nhiều thiết bị lại với nhau Chúng sử dụng phần mềm linh
hoạt để có thể thích ứng với phần cứng riêng nhằm đem lại hiệu quả công việc
Hoạt động tin cậy
Đối với những lĩnh vực đặc biệt (y tế, …) những thông tin dữ liệu mà mạng cảm
biến mang lại rất quan trọng và cấp thiết Hiện nay khoa học công nghệ phát triển
đã thiết kế ra những thiết bị cảm biến có độ tin cây cao và cung cấp thông tin nhanh chóng [5] Như tính linh hoạt đã nêu ở trên, việc sử dụng phần mềm thích hợp cũng
sẽ mang lại cho mạng tính hiệu quả và độ tin cậy thông tin cao Trong thực tế, có nhiều yếu tố mang lại sự tin cậy cho mạng cảm biến không dây cũng như có nhiều yếu tố bên ngoài gây ra việc giảm độ tin cậy Trong mỗi trường hợp, con người có
thể đưa ra những giải pháp hợp lý để mang lại tính tin cậy cao nhất
1.1.1 Cấu trúc của mạng cảm biến
Một mạng cảm biến không dây thường có số lượng lớn các nút được phủ trong
một vùng mà chúng ta muốn thăm dò hay thu thập thông tin dữ liệu Do có sự gắn
kết trong mạng nên các nút có thể tùy chỉnh vị trí sao cho phù hợp với địa hình cũng như yêu cầu người dùng Với khả năng mở rộng cho nên mạng cảm biến không dây có thể tiếp cận những khu vực nguy hiểm hoặc địa hình đặc thù Khả năng liên kết cũng như công tác làm việc chính là đặc trưng cơ bản của mạng cảm biến không dây Với số lượng lớn các cảm biến không dây được triển khai gần nhau thì truyền thông đa liên kết thường được lựa chọn để công suất tiêu thụ là nhỏ
nhất (so với truyền thông đơn liên kết [6]) và mang lại hiệu quả truyền tín hiệu tốt hơn so với truyền khoảng cách xa
Trang 15Hình 1-1 M ạng cảm biến không dây trong thực tế[7]
Cấu trúc cơ bản của một mạng cảm biến không dây được thể hiện trên Hình 1-1
Mỗi nút cảm biến được sắp đặt trong mạng có khả năng thu thập thông tin dữ liệu
và định tuyến gói tin về nút chủ là bộ thu nhận (Sink, Base station).Dữ liệu này được chuyển tới người dùng (User) qua internet hoặc một môi trường khác Nút Sink có thể quản lý việc định tuyến giúp các nút cảm biến truyền gói tin theo mong
muốn Số liệu được nút Sink nhận về thường không có một định dạng cụ thể, có thể tùy chỉnh sao cho phù hợp với mục đính của người sử dụng
Hình 1-2 Ki ến trúc của 1 nút cảm biến [7]
Mỗi nút cảm biến bao gồm bốn thành phần cơ bản là: hệ thống cảm biến, bộ xử lý,
bộ phận lưu trữ nếu cần, thiết bị thu phát không dây và nguồn năng lượng Tùy theo nhu cầu người dùng nên có những nút cảm biến còn được gắn thêm các thiết
bị như hệ thống định vị, hệ thống năng lượng mặt trời, … Các thành phần cơ bản trong một nút cảm biến được thể hiện ở Hình 1-2: Hệ thống cảm biến bao gồm các đầu đo Sensor và một bộ chuyển đổi tương tự số ADC Các tín hiệu tương tự được thu nhận từ đầu đo được chuyển sang tín hiệu số bằng bộ chuyển đổi ADC, những
Trang 16tín hiệu số được đưa vào bộ xử lý Bộ xử lý thường được gắn thêm một bộ nhớ
nhỏ, nhằm xử lý tín hiệu số và truyền dữ liệu cho thiết bị thu phát không dây Ở đây bộ xử lý có thể tiến hành định dạng gói tin cũng như định tuyến cho thiết bị không dây Thiết bị không dây có nhiệm vụ thu phát các thông tin dữ liệu giữa các nút cảm biến với nhau
1.1.2 Kiến trúc giao thức của mạng cảm biến không dây
Hình 1-3 Ki ến trúc giao thức của mạng cảm biến không dây [7]
Kiến trúc giao thức được sử dụng trong nút chủ (Sink) và tất cả các nút cảm biến được thể hiện trên Hình 1-3 Kiến trúc giao thức bao gồm lớp ứng dụng (Application Layer), lớp giao vận (Transport Layer), lớp mạng (Network Layer), lớp liên kết số liệu (Datalink Layer), lớp vật lý (Physical Layer), mặt bằng quản lý năng lượng (Power Management Plane), mặt bằng quản lý di động (Mobility Management Plane) và mặt bằng quản lý nhiệm vụ (Task Management Plane) Kiến trúc gồm ba mặt phẳng quản lý là: Mặt phẳng quản lý nguồn, mặt phẳng quản
lý tính di động, mặt phẳng quản lý tác vụ
Mặt phẳng quản lý nguồn
Mặt phẳng quản lý nguồn quản lý cách cảm biến sử dụng nguồn năng lượng của
nó Ví dụ: một nút cảm biến có thể bật hoặc tắt bộ thu nhận sau khi nhận được một gói tin Các nút cảm biến có thể broadcast đến các nút bên cạnh rằng mình không
đủ năng lượng để thực hiện công việc được nữa
M ặt phẳng quản lý tính di động
Có nhiệm vụ quản lý tính di động của nút Có thể phát hiện các nút bên cạnh và thông báo vị trí của nó cho các nút đó
Trang 17Mặt phẳng quản lý tác vụ
Làm nhiệm vụ sắp xếp các công việc giữa các nút trong vùng liên quan
• Tầng vật lý: Có nhiệm vụ lựa chọn tần số, tạo ra tần số sóng mang, phát hiện
tín hiệu, điều chế và mã hóa tín hiệu Trong mạng cảm biến thì băng tần sử
dụng nhiều nhất là ISM 915 MHZ
• Tầng liên kết dữ liệu: Lớp này có nhiệm vụ liên kết dữ liệu, phát hiện dữ liệu
hay các frame dữ liệu cần thiết Vì một mạng cảm biến thường nhận được nhiều tín hiệu tạp âm nên 1 trong các nhiệm vụ của lớp này là lọc nhiễu
• Tầng mạng: Lớp mạng được thiết kế dùng để phân biệt các mạng cảm biến
khác nhau Trong lớp này có nhưng số liệu mà người dùng cài đặt để xây dựng
một mạng cảm biến riêng cho mình
• Tầng truyền tải: Chỉ cần thiết khi hệ thống được thiết kế cho việc truy cập qua
internet hoặc mạng bên ngoài
• Tầng ứng dụng: Tùy theo nhiệm vụ của cảm biến, các loại ứng dụng, phần
mềm khác nhau được xây dựng và sử dụng ở lớp ứng dụng này
1.1.3 Ứng dụng của mạng cảm biến
Mạng cảm biến ngày càng trở nên phổ biến và có rất nhiều ứng dụng trong cuộc
sống hiện nay Một số ứng dụng phổ biến có thể kể đến như:
Giám sát và điều khiển công nghiệp
Hiện nay với nền công nghiệp phát triền, rất nhiều lĩnh vực cần đến sự tự động hóa Có những công việc phải điều khiển từ xa, hoặc vì lý do sức khỏe mà con người không thể lại gần: những khu vực nguy hiểm cần phải giám sát thường xuyên như hầm mỏ, khu sản xuất vật liệu nguy hiểm, khu vực thử nghiệm thuốc súng thuốc nổ Do đó, mạng cảm biến không dây có thể đem lại nguồn thu lớn lao cho con người, giảm thiểu khả năng tai nạn ảnh hưởng sức khỏe người lao động Một
ví dụ đơn gian và dễ thấy là hệ thống phòng cháy chữa cháy trong công ty Chúng thường bao gồm một cảm biến nhiệt độ và cảm biến khói trong phòng Khi phát
hiện ra cháy hệ thống sẽ tự động phun nước dập lửa
T ự động hoá gia đình và điện dân dụng
Trang 18Hình 1-4 Ứng dụng smarthouse [8]
Hiện nay nhà thông minh (SmartHouse) không còn xa lạ đối với chúng ta Hệ thống nhà thông minh bao gồm một hoặc nhiều mạng cảm biến khác nhau, phục vụ rất nhiều công việc cho con người Một ứng dụng được điều khiển chung từ xa, máy nghe nhạc, dàn âm thanh nổi và các thiết bị điện tử gia đình khác hay các bóng đèn, các cánh cửa, và các ổ khoá cũng được trang bị với kết nối mạng cảm biến không dây Với hệ thống điều khiển từ xa chúng ta có thể điều khiển, quản lý ngôi nhà của mình Tuy nhiên, khả năng hấp dẫn nhất là sự kết hợp thông minh từ nhiều dịch vụ, giống như các cánh cửa tự động đóng khi TV được tự động bật, hoặc có
thể tự động ngưng hệ thống giải trí gia đình khi có điện thoại hoặc chuông cửa reo
Mục đích lớn của các mạng cảm biến không dây trong gia đình được mong chờ là mức tiêu thụ điện thấp và tính ổn định cao
Triển vọng trong quân sự
Các mạng cảm biến không dây là một phần quan trọng trong các ứng dụng quân
sự ngày nay với các hệ thống ra lệnh, điều khiển, thu thập tin tức tình báo truyền thông, tính toán, theo dõi kẻ tình nghi, trinh sát và tìm mục tiêu Các đặc tính triển khai nhanh chóng, tự tổ chức và khả năng chịu đựng lỗi của các mạng cảm biến cho thấy đây là một công nghệ đầy triển vọng trong lĩnh vực quân sự Với đặc điểm nhỏ gọn thì một hệ thống theo dõi mục tiêu rất đơn giản mà khó có thể phát
hiện được Một số ứng dụng của mạng cảm biến trong quân sự: kiểm tra lực lượng, trang bị, đạn dược, giám sát chiến trường, trinh sát vùng địa lý và lực lượng địch,
Trang 19tìm mục tiêu, đánh giá thiệt hại trận đánh, trinh sát và phát hiện các vũ khí hóa học
- sinh học - hạt nhân
Mạng cảm biến không dây trong y tế và giám sát sức khỏe
Trong y tế hiện nay cũng đã áp dụng rất nhiều về mạng cảm biến không dây: Ví
dụ như một hệ thống theo dõi sức khỏe bệnh nhân như: Nhịp tim, nồng độ cồn, nồng độ chất trong máu, hoạt động chân tay Y tá và bác sĩ không cần túc trực theo dõi bệnh nhân 24/24 vì đã có các cảm biến làm thay nhiệm vụ này
M ạng cảm biến không dây với môi trường và ngành nông nghiệp
Trong nông nghiệp hiện nay đã và đang sử dụng những mạng cảm biến không dây
có kích thước lớn [9] Việc theo dõi thông số cho cây trồng trước đây luôn mất nhiều công sức Ví dụ như việc theo dõi nhiệt độ, hoặc lưu lượng nước, nồng độ chất trong dung dịch nuôi cây Với những đặc điểm như tính mở rộng và dễ lắp đặt thì việc áp dụng mạng không dây trên một diện tích trông cây lớn là hoàn toàn phù
hợp Các ứng dụng về môi trường của mạng cảm biến không dây trong nông nghiệp
có thể kể đến như: sự di chuyển của các loài chim, loài thú nhỏ, côn trùng; kiểm tra các điều kiện môi trường ảnh hưởng tới mùa màng và vật nuôi; tình trạng nước tưới; các công cụ vĩ mô cho việc giám sát mặt đất ở phạm vi rộng và thám hiểm các hành tinh; phát hiện hóa học, sinh học; tính toán trong nông nghiệp; kiểm tra môi trường không khí, đất trồng, biển; phát hiện cháy rừng; nghiên cứu khí tượng
và địa lý; phát hiện lũ lụt; vẽ bản đồ sinh học phức tạp của môi trường và nghiên cứu ô nhiễm môi trường
1.2 Các v ấn đề trong mạng cảm biến
Các dịch vụ cung cấp, quản lý và điều khiển được phát triển để phối hợp và quản
lý các nút cảm biến Điều này giúp nâng cao hiệu suất tổng thể của mạng bằng các phương pháp như tối ưu năng lượng, phân phối tác vụ và sử dụng tài nguyên Chúng phân bổ các nguồn lực như năng lượng và băng thông để tối đa hóa việc sử
dụng Ví dụ về bài toán tối ưu trong mạng cảm biến đó là bài toán bao phủ và bài toán sắp xếp Mạng cảm biến cần đảm bảo rằng khu vực được giám sát được bao
phủ hoàn toàn với mức độ tin cậy cao Phạm vi bao phủ rất quan trọng vì nó ảnh hưởng đến số lượng cảm biến được triển khai, vị trí của các cảm biến, kết nối và
Trang 20năng lượng này Định vị là quá trình mà một nút cảm biến cố gắng để xác định vị trí của chính nó sau khi triển khai Các dịch vụ quản lý và kiểm soát đóng một vai trò quan trọng trong mạng cảm biến khi chúng cung cấp hỗ trợ cho các dịch vụ
phần mềm trung gian như bảo mật, đồng bộ hóa, nén dữ liệu và tổng hợp, tối ưu hóa lớp chéo, v.v [5]
1.2.1 Định vị
Trong mạng cảm biến không dây, các nút cảm biến được triển khai vào môi trường
một cách đặc biệt mà không có thông tin trước về vị trí của chúng Vấn đề xác định nút vị trí (của cảm biến) được gọi là định vị Hiện các phương pháp định vị bao
gồm hệ thống định vị toàn cầu (GPS), và phương pháp đèn tín hiệu Trang bị các nút cảm biến với máy thu GPS là một giải pháp Tuy nhiên, một hệ thống dựa trên GPS có thể không hoạt động khi các cảm biến được triển khai trong môi trường có chướng ngại vật như các tán lá dày đặc Phương pháp đèn tín hiệu (hoặc dung neo
- anchor) cảm biến sử dụng nút đèn hiệu (anchor) để biết vị trí của chính chúng,
để giúp các cảm biến khác xác định vị trí Phương pháp này cũng có những hạn
chế Nó khó mở rộng quy mô tốt trong các mạng lớn và các vấn đề có thể phát sinh
do điều kiện môi trường Quá trình định vị dựa trên sự gần gũi sử dụng các nút lân cận để xác định vị trí của chúng và sau đó hoạt động như đèn hiệu cho các nút khác [10]
1.2.2 Đồng bộ hóa
Đồng bộ hóa thời gian trong mạng cảm biến không dây là bước quan trọng để thực
hiện định tuyến giúp bảo tồn năng lượng Sự sai lệch thời gian chính xác có thể làm giảm đáng kể vòng đời của mạng cảm biến Đồng bộ hóa thời gian cho phép các nút hợp tác và truyền dữ liệu theo lịch trình Năng lượng được bảo tồn khi giữa các nút có ít xung đột và truyền lại Các giao thức đồng bộ hóa thời gian nhằm mục đích ước tính chính xác sự không chắc chắn về thời gian và đồng bộ hóa đồng hồ
cục bộ của từng nút trong mạng
Trang 21Hình 1-5 Đồng bộ hóa thời gian trong mạng cảm biến[5]
Mức độ bao phủ cao hơn đòi hỏi nhiều cảm biến giám sát hơn trong cùng một vị trí để tạo ra kết quả đáng tin cậy [11]
Hình 1-6 Vấn đề bao phủ trong mạng cảm biến[5]
1.2.4 An ninh
Mạng cảm biến không dây dễ bị đe dọa và rủi ro Kẻ thù có thể làm tổn hại đến
một nút cảm biến, làm thay đổi tính toàn vẹn của dữ liệu Chúng có thể thực hiện các hành động như nghe lén tin nhắn, chèn tin nhắn giả mạo làm lãng phí tài nguyên trong mạng Có những hạn chế trong việc kết hợp bảo mật vào mạng cảm biến
Trang 22không dây: chẳng hạn như những hạn chế về khả năng lưu trữ, giao tiếp, tính toán
và xử lý Thiết kế các giao thức bảo mật đòi hỏi sự hiểu biết về những hạn chế này
và đạt được hiệu suất chấp nhận được để đáp ứng nhu cầu của từng ứng dụng [12]
gốc Trong quá trình nén dữ liệu, điều quan trọng là không có thông tin nào bị mất
và các thông số dữ liệu riêng phải được giữ nguyên vẹn Đối với quá trình tổng
hợp dữ liệu, dữ liệu được thu thập từ nhiều cảm biến và kết hợp với nhau để truyền đến nút gốc Phương pháp này thường được sử dụng trong cách tiếp cận dựa trên
mô hình mạng cảm biến phân cụm hoặc cây
Đây cũng là hướng nghiên cứu chính của luận văn Trong các phần sau, luận văn sẽ trình bày về mô hình tổng hợp dữ liệu với cây tổng hợp dữ liệu, và bài toán t ối ưu sử dụng tổng năng lượng
1.3 T ổng hợp dữ liệu
Trong mạng cảm biến không dây, mức tiêu thụ năng lượng để thực hiện tác vụ tính toán thường ít hơn năng lượng sử dụng trong quá trình truyền dữ liệu [14] Thay
vì gửi dữ liệu mỗi lần đến nút tổng một các riêng lẻ, nếu dữ liệu được thu thập và
tổng hợp bằng cách sử dụng các hàm tổng hợp như sum, avg…vv và sau đó chuyển tiếp đến nút tổng, rất nhiều năng lượng sẽ được tiết kiệm [15] Trong mạng cảm
biến không dây, tổng hợp dữ liệu [13] là một quy trình thu thập và kết hợp các thông tin hữu ích trong một khu vực quan tâm cụ thể Hiệu quả của việc giao tiếp giữa các nút phụ thuộc vào kỹ thuật tổng hợp dữ liệu đang được sử dụng Tổng
hợp dữ liệu có thể được coi là một quy trình xử lý cơ bản để giảm tiêu thụ năng lượng và tiết kiệm tài nguyên có hạn Một kỹ thuật tổng hợp dữ liệu hiệu quả có thể tăng cường hiệu quả năng lượng và tuổi thọ mạng [13] Tổng hợp dữ liệu cũng
có thể hữu ích khi nhiều nút cùng gửi dư thừa một dữ liệu do mật độ nút trong
Trang 23mạng cao (còn được gọi là vấn đề chồng chéo dữ liệu) [16] Cơ bản về hoạt động
tổng hợp dữ liệu trong mạng cảm biến được biểu diễn trong Hình 1-7
Hình 1-7 Quá trình tổng hợp dữ liệu[13]
Quá trình này có thể được miêu tả như sau: Trước hết, dữ liệu được thu thập từ các nút khác nhau Các thuật toán khác nhau như hệ thống phân cấp thích ứng năng lượng thấp (LEACH), phương pháp tiếp cận tập trung, Tổng hợp nhỏ (TAG) [16], v.v được sử dụng để tổng hợp dữ liệu cảm biến đến từ các nút cảm biến Đầu vào cho thuật toán tổng hợp là các giá trị cảm biến được lấy từ các nút và đầu ra là dữ liệu tổng hợp Hơn nữa, một tập hợp đường đi hiệu quả được chọn để chuyển dữ
liệu tổng hợp đến nút gốc Một giao thức định tuyến sẽ được sử dụng để quyết định tuyến đường tốt nhất Thông tin truyền đi có khả năng bị thất bại trong mạng cảm biến không dây do hạn chế năng lượng, lỗi liên kết và vấn đề bao phủ…vv [17]
Bởi vì sự thay đổi trong không gian mà mạng cảm biến được triển khai, sẽ là không
đủ nếu dựa vào một đường dẫn duy nhất giữa nguồn và điểm đến Để giải quyết các vấn đề như vậy, nhiều đường dẫn giữa nguồn và điểm đến cần được phát hiện,
để nếu một đường dẫn bị lỗi, dữ liệu có thể được truyền đến một con đường được phát hiện khác [16] Vì vậy, cần phải phát triển một giao thức định tuyến hiệu quả
về tiêu thụ tài nguyên (tài nguyên năng lượng là mối quan tâm chính) và thực hiện
dữ liệu tổng hợp bằng cách khám phá nhiều đường dẫn giữa nguồn và đích Vấn
đề bảo mật, mức tiêu thụ năng lượng, bảo mật dữ liệu, độ trễ, tính toàn vẹn và tổng
hợp dữ liệu trở nên quan trọng khi mạng cảm biến được triển khai trong môi trường
khắc nghiệt
1.3.1 Độ đo tổng hợp dữ liệu
Khái niệm độ đo tổng hợp dữ liệu như tuổi thọ mạng, hiệu quả năng lượng, độ chính xác của dữ liệu, độ trễ và tốc độ tổng hợp được đánh giá bởi [14]:
Trang 24Hiệu quả năng lượng (Energy Efficiency):
Mỗi cảm biến sẽ tiêu thụ cùng một lượng năng lượng trong mỗi vòng thu thập dữ
liệu trong tình huống lý tưởng Nhưng trong các tình huống thực tế, các nút cảm
biến tiêu thụ một năng lượng khác nhau để truyền dữ liệu Kỹ thuật tổng hợp dữ liệu là tiết kiệm năng lượng nếu nó cung cấp chức năng tối đa với tiêu thụ năng lượng tối thiểu trong mạng cảm biến Hiệu quả năng lượng là tỷ lệ lượng dữ liệu thành công được truyền trong mạng cảm biến đến tổng lượng năng lượng tiêu thụ
để truyền những dữ liệu đó Phương trình sau được sử dụng để tính toán hiệu quả năng lượng:
ℎ𝑖𝑖ệ𝑢𝑢 𝑞𝑞𝑢𝑢ả 𝑛𝑛ă𝑛𝑛𝑛𝑛 𝑙𝑙ượ𝑛𝑛𝑛𝑛𝑖𝑖
= �𝑠𝑠ố 𝑙𝑙ượ𝑛𝑛𝑛𝑛 𝑑𝑑ữ 𝑙𝑙𝑖𝑖ệ𝑢𝑢 𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡ề𝑛𝑛 𝑡𝑡ℎà𝑛𝑛ℎ 𝑐𝑐ô𝑛𝑛𝑛𝑛 𝑡𝑡𝑡𝑡𝑡𝑡𝑛𝑛𝑛𝑛 𝑚𝑚ạ𝑛𝑛𝑛𝑛𝑡𝑡ổ𝑛𝑛𝑛𝑛 𝑛𝑛ă𝑛𝑛𝑛𝑛 𝑙𝑙ượ𝑛𝑛𝑛𝑛 𝑡𝑡𝑖𝑖ê𝑢𝑢 𝑡𝑡ố𝑛𝑛
𝑛𝑛
𝑖𝑖=1
Với n là số lượng sensor node trong mạng
Th ời gian sống của mạng (Network lifetime):
Tuổi thọ mạng có thể được định nghĩa là số lượng các vòng tổng hợp dữ liệu cho đến khi nút cảm biến đầu tiên cạn kiệt năng lượng của nó Nói cách khác, nó được định nghĩa là thời gian cho đến nút cảm biến đầu tiên hoặc nhóm các nút cảm biến đầu tiên trong mạng hết năng lượng (pin) hoặc thời gian (số vòng) của mạng bị
ngắt kết nối do lỗi của một hoặc nhiều cảm biến:
𝑁𝑁𝐿𝐿𝑛𝑛= minv∈V𝑁𝑁𝐿𝐿𝑣𝑣
Trong đó thời gian sống của mạng NL kết thúc đến khi nốt đầu tiên bị hỏng, với 𝑁𝑁𝐿𝐿𝑣𝑣là thời gian sống của nút v với V là tập nút trừ nút gốc
Độ chính xác của dữ liệu (Data Accuracy):
Độ chính xác dữ liệu được xác định trong các ngữ cảnh khác nhau, dựa trên ứng dụng mà mạng cảm biến được thiết kế Ví dụ: ước tính gần về vị trí mục tiêu tại nút gốc xác định độ chính xác của dữ liệu trong vấn đề bản địa hóa mục tiêu Độ chính xác của dữ liệu là được định nghĩa là tỷ lệ lượng dữ liệu được truyền thành công và Tổng lượng dữ liệu được gửi:
Độ 𝑏𝑏ề𝑛𝑛 𝑑𝑑ữ 𝑙𝑙𝑖𝑖ệ𝑢𝑢 = 𝑙𝑙ượ𝑛𝑛𝑛𝑛 𝑑𝑑ữ 𝑙𝑙𝑖𝑖ệ𝑢𝑢 𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡ề𝑛𝑛 𝑡𝑡ℎà𝑛𝑛ℎ 𝑐𝑐ô𝑛𝑛𝑛𝑛𝑡𝑡ổ𝑛𝑛𝑛𝑛 𝑑𝑑ữ 𝑙𝑙𝑖𝑖ệ𝑢𝑢 𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡ề𝑛𝑛
Trang 25Độ trễ (Latency):
Độ trễ là khoảng thời gian giữa các dữ liệu được gửi đi tại các nút nguồn và các
dữ liệu nhận được tại nút gốc Nói cách khác, độ trễ có thể được định nghĩa là
chênh lệch thời gian giữa gửi dữ liệu và nhận dữ liệu bằng nút cảm biến Công
thức được sử dụng để tính độ trễ như sau:
Độ trễ 𝑖𝑖= � 𝑡𝑡ℎờ𝑖𝑖 𝑛𝑛𝑖𝑖𝑔𝑔𝑛𝑛 𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡ề𝑛𝑛 − 𝑡𝑡ℎờ𝑖𝑖 𝑛𝑛𝑖𝑖𝑔𝑔𝑛𝑛 𝑛𝑛ℎậ𝑛𝑛
𝑛𝑛
𝑖𝑖=1
Với n là số lượng nút cảm biến trong mạng
Tỷ lệ tổng hợp dữ liệu (Data aggregration rate):
Trong mạng cảm biến, tổng hợp dữ liệu là một quá trình thu thập và kết hợp các thông tin hữu ích trong một khu vực quan tâm cụ thể Tổng hợp dữ liệu có thể được coi là một quy trình xử lý cơ bản để giảm năng lượng tiêu thụ và để tiết kiệm các tài nguyên Tỷ lệ tổng hợp dữ liệu được định nghĩa là tỷ lệ lượng dữ liệu tổng hợp thành công vào tổng lượng dữ liệu thu được:
𝑇𝑇ỷ 𝑙𝑙ệ 𝑡𝑡ổ𝑛𝑛𝑛𝑛 ℎợ𝑝𝑝 𝑑𝑑ữ 𝑙𝑙𝑖𝑖ệ𝑢𝑢 = 𝑠𝑠ố 𝑙𝑙ượ𝑛𝑛𝑛𝑛 𝑑𝑑ữ 𝑙𝑙𝑖𝑖ệ𝑢𝑢 𝑛𝑛é𝑛𝑛 𝑡𝑡ℎà𝑛𝑛ℎ 𝑐𝑐ô𝑛𝑛𝑛𝑛𝑡𝑡ổ𝑛𝑛𝑛𝑛 𝑑𝑑ữ 𝑙𝑙𝑖𝑖ệ𝑢𝑢 𝑡𝑡𝑡𝑡𝑢𝑢𝑡𝑡ề𝑛𝑛 𝑋𝑋 100
Tổng năng lượng sử dụng của mạng (Network Energy Comsumtion):
Tổng năng lượng sử dụng của toàn mạng được định nghĩa bởi tổng năng lượng
sử dụng của tất cả các nút trong mạng Độ đo này có thể đánh giá mức độ tiêu thụ năng lượng của mạng cảm biến, từ đó đánh giá tính hiệu quả năng lượng của mạng:
𝑇𝑇ổ𝑛𝑛𝑛𝑛 𝑛𝑛ă𝑛𝑛𝑛𝑛 𝑙𝑙ượ𝑛𝑛𝑛𝑛 = � 𝑛𝑛ă𝑛𝑛𝑛𝑛 𝑙𝑙ượ𝑛𝑛𝑛𝑛 𝑠𝑠ử 𝑑𝑑ụ𝑛𝑛𝑛𝑛𝑖𝑖
Trang 26Hình 1-8 Tổng quan các phương pháp tổng hợp dữ liệu[13]
Phương pháp tập trung
Tại cách tiếp cận này, mỗi nút đều gửi dữ liệu đến 1 nút trung tâm, thường là nút
mạnh nhất (về năng lượng, năng lực tính toán, băng thông…) Phương pháp định tuyến trung tâm địa chỉ được sử dụng cùng với thuật toán đa bước nhảy (muti-hop)
bằng cách xem xét chỉ số chi phí tại mỗi nút trung gian Nhiệm vụ của nút trung tâm là tổng hợp dữ liệu nhận được từ các nút khác và báo cáo cùng một dữ liệu cho nút gốc Cách tiếp cận này thường bị ảnh hưởng từ vấn đề lưu lượng truy cập cao do số lượng lớn gói tin được truyền đi [18]
Phương pháp tổng hợp tại mạng
Trong phương pháp này, dữ liệu được xử lý tại các nút trung gian để giảm tiêu thụ các tài nguyên quan trọng như năng lượng, thời gian tính toán, v.v Cách tiếp cận này làm tăng tuổi thọ mạng khi nó cố gắng giảm mức tiêu thụ năng lượng ở mọi nút Có hai cách tiếp cận khác nhau của tổng hợp trong mạng: tổng hợp mất mát (lossy) với giảm kích thước gói và tổng hợp dữ liệu không mất mát (lossless) mà không giảm kích thước gói Trong tổng hợp mất mát, dữ liệu được thu thập từ các nút nguồn khác nhau và sau đó một số hàm nhóm được áp dụng trên dữ liệu như sum, count, maximum và minimum vv… Trong cách tiếp cận này, kích thước của gói bị giảm, vì chỉ tính giá trị của hàm tổng hợp được đưa vào gói sau khi nén, thay
vì gửi toàn bộ gói của mỗi nút Ví dụ, trong hệ thống giám sát cháy rừng, nhiệt độ trung bình hoặc tối đa được yêu cầu trong thời gian ngắn Trong các ứng dụng như
vậy, tổng hợp mất mát là bắt buộc, vì nó phản ứng kịp thời với trạm gốc Trong
Trang 27tổng hợp không mất mát (lossless), mọi gói đều hợp nhất thành một gói duy nhất
mà không cần nén [18]
Phương pháp phân cụm
Theo cách tiếp cận này, các khu vực quan tâm được chia thành số lượng cụm
Trong mỗi cụm, một trưởng cụm được bầu, có nhiệm vụ chính là tổng hợp dữ liệu
Mỗi nút cảm nhận hiện tượng mong muốn và báo cáo dữ liệu cho cụm trưởng trong
cùng một cụm thay vì gửi dữ liệu trực tiếp đến trạm gốc, do đó tiết kiệm rất nhiều
năng lượng trong mạng [18]
Phương pháp dựa trên cây
Theo cách tiếp cận này, đầu tiên một cây tổng hợp dữ liệu được xây dựng, thường
là cây bao trùm nhỏ nhất (Minimum spanning tree) Trong cây này, nút gốc hoạt
động như trạm gốc, các nút lá hoạt động như nút nguồn và các nút trung gian hoạt
động như các nút mẹ Nút lá gửi nút cảm giác của chúng đến nút mẹ của chúng
trong một con đường được phát hiện giữa nút lá và trạm gốc như trong Hình 1-9
Hình 1-9 Phương pháp tổng hợp dữ liệu tree-based[10]
Luận văn này tập trung phân tích phương pháp tổng hợp dữ liệu dựa trên cây (cây
tổng hợp dữ liệu), với mô hình tổng năng lượng nhỏ nhất Cụ thể mô hình bài toán
sẽ được trình bày trong chương 2.1
1.4 Bài toán tối ưu tổ hợp
Về mặt toán học, mỗi bài toán tối ưu tổ hợp ứng với một bộ ba (𝑆𝑆, 𝑓𝑓, 𝜔𝜔) [19],
trong đó S là tập hữu hạn trạng thái (lời giải tiềm năng hay phương án), f là hàm
Commented [NT1]: Trình bày rất lộn xộn
Phần này chuyển lên trên bài toán kia Ngoài phần mở đầu
Chương 1: e cần trình bày -TỔng uan về mạng,
- Tổng quan về bài toán tối ưu năng lượng tỏng mạng -Bài toán tối ưu tổ hợp
-Các cách giải bài toán tối ưu tổ hợp Phần bài toán mình định giải quyết k cho vào chương này
Commented [T2R1]: Done
Trang 28mục tiêu xác định trên S, còn 𝜔𝜔 là tập các ràng buộc Mỗi phương án 𝑠𝑠 ∈ 𝑆𝑆 thỏa
mãn các ràng buộc gọi là phương án (hay lời giải) chấp nhận được Mục đích của
ta là tìm phương án chấp nhận được s* tối ưu hóa toàn cục hàm mục tiêu f Chẳng
hạn với bài toán cực tiểu thì 𝑓𝑓(𝑠𝑠∗) ≤ 𝑓𝑓(𝑠𝑠) với mọi phương án chấp nhận được s Đối với mỗi bài toán, đều có thể chỉ ra một tập hữu hạn gồm n thành phần 𝐶𝐶 =
{𝑐𝑐1, 𝑐𝑐2, … 𝑐𝑐𝑛𝑛} sao cho mỗi phương án s trong S đều biễu diễn được nhờ liên kết các
thành phần trong nó Cụ thể hơn, các tập S, C và 𝜔𝜔 có các đặc tính sau:
• Ký hiệu 𝑋𝑋 là tập các vectơ trên C có độ dài không quá ℎ: 𝑋𝑋 = {< 𝑢𝑢𝑜𝑜, … 𝑢𝑢𝑘𝑘 >, 𝑢𝑢𝑖𝑖∈ 𝐶𝐶 ∀ 𝑖𝑖 ≤ 𝑘𝑘 ≤ ℎ} Khi đó, mỗi phương án s trong S được xác định nhờ ít
nhất một vectơ X)
• Tồn tại tập con 𝑋𝑋∗ của 𝑋𝑋 và ánh xạ 𝜙𝜙 từ 𝑋𝑋∗ lên S sao cho 𝜙𝜙−1(𝑠𝑠) không rỗng
với mọi 𝑠𝑠 ∈ 𝑆𝑆 , trong đó tập 𝑋𝑋∗ có thể xây dựng được từ tập con nào đó của
nhờ thủ tục mở rộng tuần tự dưới đây
• Từ 𝐶𝐶0 ta mở rộng tuần tự thành 𝑋𝑋∗ như sau:
1 Ta xem 𝑋𝑋0= < 𝑢𝑢0> là mở rộng được với mọi 𝑢𝑢0∈ 𝐶𝐶
2 Giả sử 𝑋𝑋𝑘𝑘= < 𝑢𝑢0, … 𝑢𝑢𝑘𝑘> là mở rộng được và chưa thuộc 𝑋𝑋∗ Từ tập ràng
buộc 𝜔𝜔, xác định tập con 𝑗𝑗(𝑥𝑥𝑘𝑘) của C, sao cho với mọi 𝑢𝑢𝑘𝑘+1∈ 𝐽𝐽(𝑥𝑥𝑘𝑘) thì
Trên đây cho thấy các bài toán tối ưu tổ hợp có thể đưa về bài toán tìm kiếm trên
đồ thị Các bài toán này có thể giải đúng hoặc gần đúng Với những bài toán cỡ
nhỏ hoặc có dạng đặc biệt người ta có thể tìm lời giải tối ưu nhờ tìm kiếm vét cạn
hoặc bằng một thuật toán với thời gian đa thức, được xây dựng dựa trên các phân tích toán học Nhiều bài toán trong số đó là NP-khó, nên với các bài toán cỡ lớn, người ta phải tìm lời giải gần đúng Các thuật toán giải gần đúng các bài toán tối
ưu tổ hợp khó thường dựa trên 2 kỹ thuật cơ bản: heuristic cấu trúc (construction heuristic) và tìm kiếm cục bộ (local search) [19]
Trang 291.4.1 Các phương pháp giải chính xác
Duy ệt toàn bộ
Một trong những cách rõ ràng nhất để giải bài toán tối ưu hóa tổ hợp là: trên cơ sở thuật toán danh sách tổ hợp, chúng ta tiếp tục duyệt từng giải pháp của bài toán, đối với mỗi phương án, chúng ta tính giá trị của hàm mục tiêu, sau đó so sánh giá
trị của hàm mục tiêu tốt nhất Cách tiếp cận từ nguyên tắc này sang nguyên tắc khác được gọi là phương pháp "duyệt toàn bộ " Ngay cả với những máy tính điện
tử hiện đại nhất, rất khó để tiến hành một phép duyệt toàn bộ [20]
Vì vậy cần có biện pháp hạn chế tìm kiếm để giải bài toán tối ưu hóa tổ hợp thực
tế Tất nhiên, để có thể thiết kế một biện pháp như vậy, cần phải nghiên cứu kỹ lưỡng bản chất của bài toán tối ưu hóa cho một nhóm cụ thể Thông qua loại hình nghiên cứu này, trong một số tình huống cụ thể, chúng ta có thể xây dựng các thuật toán hiệu quả để giải quyết một vấn đề nhất định Tuy nhiên, cần phải nhấn mạnh
rằng trong nhiều trường hợp, chúng ta không thể xây dựng bất kỳ phương pháp hữu hiệu nào [20]
Với 𝐴𝐴1, 𝐴𝐴2, … 𝐴𝐴𝑛𝑛 là các tập hữu hạn, còn P là tính chất đề các cho trên tích 𝐴𝐴1∗
𝐴𝐴2 … 𝐴𝐴𝑛𝑛 Theo giả thiết trên của tập D, chúng ta có thể sử dụng thuật toán quay lui để liệt kệ các phương án của bài toán Trong quá trình liệt kê theo thuật toán, chúng ta sẽ từng bước tìm được các thành phần của đáp số [20] Một bộ phận gồm
Trang 30tạo trong tập 𝐶𝐶0ở mục 1.1, thêm vào các thành phần mới theo phương thức ngẫu nhiên hay tất định dựa trên các quy tắc heuristic đã chọn Các quy tắc heuristic này thường được xây dựng dựa trên các kết quả phân tích toán học hoặc kinh nghiệm
Tìm kiếm cục bộ
Kỹ thuật tìm kiếm cục bộ hay còn gọi là tìm kiếm địa phương, thực hiện bằng cách bắt đầu từ một phương án chấp nhận được, lặp lại bước cải tiến lời giải nhờ các thay đổi cục bộ Để thực hiện kỹ thuật này, ta cần xác định được cấu trúc lân cận
của mỗi phương án (lời giải) đang xét, tức là những phương án chấp nhận được,
gần với nó nhất, nhờ thay đổi một số thành phần Cách thường dùng là lân cận thay đổi, tức là lân cận bao gồm các phương án chấp nhận được khác với phương
k-án đang xét nhờ thay đổi nhiều nhất thành phần
Phương pháp metaheuristic
Phương pháp metaheuristic là một phương pháp heuristic tổng quát được thiết kế, định hướng cho các thuật toán cụ thể (bao gồm cả heuristic cấu trúc và tìm kiếm cục bộ) Như vậy, một metaheuristic là một lược đồ thuật toán tổng quát ứng dụng cho các bài toán tối ưu khác nhau, với một chút sửa đổi cho phù hợp với từng bài toán Memetic là một mô hình theo phương pháp metaheuristic Trong các thuật toán được thiết kế theo memetic, người ta tạo ra nhiều thế hệ quần thể lời giải chấp
nhận được Trong mỗi quần thể của thế hệ tương ứng, ta chỉ chọn ra một số lời giải (chẳng hạn lời giải tốt nhất) để thực hiện tìm kiếm cục bộ nhằm cải thiện chất lượng Quá trình tiến hóa này cho ta tìm được lời giải tốt nhất có thể
Trong ứng dụng thực tế, các thuật toán di truyền thường được kết hợp với tìm kiếm
cục bộ theo mô hình memetic này
Trang 31THUẬT TOÁN ĐỀ XUẤT 2.1 Giải thuật di truyền
Nhà khoa học Charles Darwin (Charles Darwin) đã đưa ra thuyết tiến hóa tự nhiên
của động vật, nhiều thế hệ sinh vật phát triển theo nguyên tắc chọn lọc tự nhiên
“con nào thích hợp thì sống sót”, như chúng ta đã thấy ở các loài động vật hoang
dã, chúng sẽ tranh nhau chỗ ở, thức ăn… Các cá thể cùng loài cạnh tranh nhau để
thu hút bạn tình trong mùa sinh sản nên cá thể kém thích nghi ít có cơ hội sống sót,
cá thể kém thích nghi sẽ sinh sản và sinh ra nhiều con cái hơn Trong quá trình
sinh sản, các đặc tính ưu tú của tổ tiên sẽ được kết hợp lại, và sau nhiều thế hệ nỗ
lực, các loài tiến hóa tự nhiên sẽ thích nghi hơn với môi trường phát triển Dựa trên
thuyết tiến hóa tự nhiên này, Holland đã phát triển ý tưởng này thành một hệ thống
nhân tạo vào năm 1975 Ông đã sử dụng nguyên tắc này để áp dụng trong các bài
toán tối ưu hóa và xây dựng thuật toán di truyền (GA) [21]
GA là một thuật toán khoa học máy tính có thể tìm ra giải pháp gần chính xác cho
các bài toán tối ưu hóa tổ hợp GA là một phần nhỏ trong nhánh các thuật toán tiến
hóa Nó áp dụng các nguyên tắc tiến hóa như di truyền, đột biến, chọn lọc tự nhiên
và trao đổi chéo Giải thuật di truyền sử dụng ngôn ngữ máy tính để mô phỏng sự
tiến hóa của một tập hợp các biểu diễn trừu tượng (được gọi là nhiễm sắc thể) để
tối ưu hóa các giải pháp khả thi cho bài toán Tập hợp các giải pháp này sẽ phát
triển theo hướng lựa chọn giải pháp tốt hơn Giống như thuật toán tiến hóa, thuật
toán di truyền dựa trên khái niệm tiên đề được cho là phù hợp với thực tế khách
quan Đó là “bản thân quá trình tiến hóa tự nhiên là hoàn hảo nhất, khôn ngoan
nhất và tối thượng” Quá trình tiến hoá thể hiện tính tối ưu ở chỗ thế hệ sau bao
giờ cũng tốt hơn thế hệ trước Ngày nay, GA càng trở nên quan trọng, đặc biệt là
trong lĩnh vực tối ưu hoá, một lĩnh vực có nhiều bài toán phổ biến, được ứng dụng
nhiều trong thực tiễn nhưng có độ phức tạp tính toán lớn và chưa có phương pháp
hiệu quả để giải quyết
2.1.1 Các bước cơ bản của giải thuật di truyền
Thuật toán di truyền là một công nghệ tổng hợp giúp giải quyết các vấn đề bằng
cách mô phỏng sự tiến hóa hoặc số lượng sinh vật nói chung (dựa trên thuyết tiến
hóa của tất cả các loài Darwin), trong những điều kiện môi trường nhất định Mục
Commented [NT3]: Giải thuật di truyền Commented [Office4R3]: Done