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

Nghiên cứu thuật toán dự đoán hành vi mspeed ứng dụng trong nhà thông minh (LV thạc sĩ)

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.83 MB, 63 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

Đường Quang Hiếu

NGHIÊN CỨU THUẬT TOÁN DỰ ĐOÁN HÀNH VI M-SPEED ỨNG
DỤNG TRONG NHÀ THÔNG MINH

LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

HÀ NỘI - 2017

1


HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

Đường Quang Hiếu

NGHIÊN CỨU THUẬT TOÁN DỰ ĐOÁN HÀNH VI M-SPEED ỨNG
DỤNG TRONG NHÀ THÔNG MINH

Chuyên ngành: Khoa Học Máy Tinh
Mã số: 60.48.01.01
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)

NGƯỜI HƯỚNG DẪN KHOA HỌC : TS.NGUYỄN TRỌNG KHÁNH


HÀ NỘI - 2017

2


MỤC LỤC
LỜI CẢM ƠN ............................................................................................................. 5
LỜI CAM ĐOAN ....................................................................................................... 6
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ................................................ 7
DANH MỤC CÁC BẢNG ......................................................................................... 8
MỞ ĐẦU ................................................................................................................... 10
CHƯƠNG 1. GIỚI THIỆU VỀ NHÀ THÔNG MINH ............................................ 11
1.1.Tổng quan về nhà thông minh ........................................................................ 11
1.1.1. Khái niệm ..................................................................................... 11
1.1.2. Lịch sử hình thành ........................................................................ 11
1.2 Giới thiệu kiến trúc nhà thông minh MavHome ............................................. 14
1.3. Ứng dụng hệ thống mô phỏng nhà thông minh SIMACT ............................. 17
1.3.1 Giới thiệu trình mô phỏng nhà thông minh SIMACT ................... 17
1.3.2. Ứng dụng SIMACT trong công nghệ nhà thông minh ................. 23
1.4. Kết luận .......................................................................................................... 24
CHƯƠNG 2. DỰ ĐOÁN HÀNH VI TRONG NHÀ THÔNG MINH ..................... 25
2.1. Bài toán dự đoán hành vi của người dùng ..................................................... 25
2.1.1. Mô hình chuyển động áp dụng dự đoán ....................................... 26
2.2. Giới thiệu về học máy .................................................................................... 28
2.2.1. Một số mô hình học máy hiện nay ............................................... 28
2.2.2. Mô hình học máy ứng dụng trong nhà thông minh ...................... 32
2.3. Giới thiệu một số thuật toán dự đoán hành vi................................................ 34
2.3.1 Thuật toán LZ78 ............................................................................ 34
2.3.2 Thuật toán Active LeZi ................................................................. 36
2.4. Thuật toán M-SPEED .................................................................................... 38

2.4.1. Đặt vấn đề .................................................................................... 39
2.4.2. Phân tích thuật toán ...................................................................... 39
2.4.3. Tiêu chuẩn đánh giá ...................................................................... 40
2.4.4. Thủ tục học liệu ............................................................................ 42

3


2.4.5. Ra quyết định ................................................................................ 44
2.4.6. Kết quả .......................................................................................... 50
2.5. Kết luận .......................................................................................................... 50
CHƯƠNG 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ ..................................................... 51
4.1.Thực nghiệm ................................................................................................... 51
4.2. Các bước thực thi giải thuật ........................................................................... 53
4.3. So sánh thuật toán SPEED và M-SPEED ...................................................... 57
4.4. Kết quả ........................................................................................................... 59
4.5. Kết luận .......................................................................................................... 60
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ................................................................ 61
TÀI LIỆU THAM KHẢO......................................................................................... 62

4


LỜI CẢM ƠN
Để hoàn thành luận văn tốt nghiệp “Nghiên cứu thuật toán dự đoán hành vi
M-SPEED ứng dụng trong nhà thông minh”, lời đầu tiên tôi xin gửi cám ơn sâu sắc
nhất tới Th.S. Nguyễn Trọng Khánh đã hướng dẫn và chỉ bảo tôi tận tình trong suốt
thời gian làm khóa luận.
Tôi xin chân thành cảm ơn Ban giám hiệu nhà trường, các thầy cô giáo
Trường Học viện Công nghệ Bưu chính Viễn thông, các giảng viên đã truyền đạt

cho tôi những kiến thức, kỹ năng, tạo mọi điều kiện giúp đỡ, động viên, chia sẻ để
tôi hoàn thành bản luận văn này.
Bản luận văn chắc chắn còn nhiều thiết sót, rất mong được các thầy cô giáo
trong hội đồng chấm luận văn xem xét, góp ý kiến để luận văn được hoàn thiện hơn.
Tôi xin chân thành cảm ơn!
Hà Nội, tháng

năm 2017

HỌC VIÊN

Đường Quang Hiếu

5


LỜI CAM ĐOAN
Với mục đích học tập, nghiên cứu để nâng cao trình độ chuyên môn nên tôi
đã làm luận văn này một cách nghiêm túc và hoàn toàn trung thực.Trong luận văn,
tôi có sử dụng tài liệu tham khảo của một số tác giả, tôiđã nêu trong phần tài liệu
tham khảo ở cuối luận văn.Tôi xin cam đoan và chịu trách nhiệm về nội dung, sự
trung thực trongluận văn tốt nghiệp Thạc sĩ của mình.
Hà Nội, tháng

năm 2017

HỌC VIÊN

Đường Quang Hiếu


6


DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
Viết tắt
M-SPEED

Tiếng Anh

Tiếng Việt

SequencePredictionvia Enhanced
Episode Discovery Modified

Thuật toán SPEED sửa đổi

Smart Home Simulator for Activity

Trình mô phỏng nhà thông

Recognition

minh

AI

Artificial Intelligence

Trí tuệ nhân tạo


PPM

Prediction by partial matching

ADL

Activities of daily living

Hoạt động hàng ngày

GUI

Graphich User Interface

Giao diện đồ họa

ML

Machine Learning

Học máy

IOT

Internet of Things

Internet kết nối vạn vật

MavHome


Managing An Intelligent Versatile
Home

SIMACT

7

Dự đoán bằng kết hợp từng
phần

Quản lý tài nguyên ngôi
nhà thông minh


DANH MỤC CÁC BẢNG
Bảng 1: Những giá trị lưu trữ và tất cả các khả năng có thể xảy ra tần suất của chúng theo
thuật toán M-SPEED
Bảng 2: Các thiết bị trong nhà và trạng thái đi kèm

8


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1: Hệ thống Echo-IV phát triển bởi Jim Sutherland
Hình 2. Mô tả hệ thống mạng lưới sử dụng mạng không dây
Hình 3. Mô hình 4 tầng của hệ thống phân tầng MavHome
Hình 4. Mô hình hoạt động theo các tầng
Hình 5. Công cụ mô phỏng SIMACT khi hoạt động
Hình 6. Bảng tùy chỉnh SIMACT
Hình 7. Kiến trúc tổng quan của SIMACT

Hình8. Mô hình đồ thị của một ngôi nhà thông minh
Hình 9. Lịch sử các hoạt động của chủ nhà
Hình 10. Mã giả cho thuật toán LZ78
Hình 11.Mô phỏng từ phân tích LZ78
qua chuỗi“aaababbbbbaabccddcbaaaa”
Hình 12. Mô hình phân tích chuỗi “aaababbbbbaabccddcbaaaa” Active LeZi
Hình 13. Bộ cơ sở dữ liệu của chữ số viết tay
Hình 14. Trí thông minh nhân tạo chơi cờ vây với người
Hình 15. Mô hình ứng dụng học máy vào môi trường nhà thông minh
Hình 16. Mã giả của thuật toán M-SPEED
Hình 17. Cây được tạo ra bởi M-SPEED
sau khi xử lý chuỗi AdCBb2D3a12B4c7C1A2d8a1b8c3B3A11D4a2b3
Hình 18. Mã giả của phần ra quyết định
Hình 19. Sơ đồ bố trí các cảm biến trong các phòng
Hình 20. Một phần dữ liệu thô được thu thập từ MavHome
Hình 21. Mô hình các bước hoạt động của M-SPEED
Hình 22. Quá trình tạo episode.
Hình 23. Cây nhị phân Markov được tạo ra
Hình 24. Kết quả của dự đoán của SPEED và M-SPEED
Hình 25. Sự khác nhau giữa code của SPEED và M-SPEED
Hình 26. So sánh độ chính xác giữa thuật toán M-SPEED, SPEED

9


MỞ ĐẦU
Nhà thông minh được định nghĩa là không gian sống và nơi làm việc hỗ trợ
các tương tác tự nhiên và thích ứng với người dùng. Sự thích ứng này được hiểu
theo nghĩa là sự phản ứng liên tục và thích ứng với điều kiện thay đổi để thoả mãn
những nhu cầu sử dụng của người dùng. Do vậy, Nhà thông minh phải có khả năng

dự đoán những mô hình di động và thói quen sử dụng các thiết bị của người dùng.
Với những dự đoán như vậy, nhà thông minh có thể gửi đi thông điệp và các thông
tin đa phương tiện một cách chính xác cũng như tự động hoá các hoạt động mà đối
với một căn nhà bình thường, người dùng sẽ phải đích thân thực hiện. Nhà thông
minh được coi như một tác nhân thông minh, cảm nhận được tình trạng của ngôi
nhà thông qua các cảm biến và tác động lên môi trường từ những tác nhân được
phát hiện. Mục đích của nhà thông minh nhằm làm tăng sự thoải mái và an toàn cho
người dùng, tối ưu hoá năng lượng sử dụng và loại bỏ những hoạt động lặp đi lặp lại
không cần thiết.
Do đó, dưới sự hướng dẫn của TS. Nguyễn Trọng Khánh, tôi tìm hiểu đề tài
“Nghiên cứu thuật toán dự đoán hành vi M-SPEED ứng dụng trong nhà thông
minh”.Luận văn sẽ tập trung nghiên cứu bài toán dự đoán hành vi, và biến thể của
chúng. Để từ đó áp dụng cho bài toán dự đoán hành vi ứng dụng trong ngôi nhà
thông minh, với hai ràng buộc cụ thể về dự đoán và ra quyết định.

10


CHƯƠNG 1. GIỚI THIỆU VỀ NHÀ THÔNG MINH
1.1.Tổng quan về nhà thông minh
1.1.1. Khái niệm
Nhà thông minh [1] hoặc hệ thống nhà thông minh là một ngôi nhà, căn hộ
được trang bị hệ thống tự động tiên tiến dành cho điều khiển đèn chiếu sáng, nhiệt
độ, truyền thông đa phương tiện, an ninh, rèm cửa, cửa và nhiều tính năng khác
nhằm mục đích làm cho cuộc sống ngày càng tiện nghi, an toàn và góp phần sử
dụng hợp lý các nguồn tài nguyên.
Một trong những ví dụ cơ bản nhất của nhà thông minh là một hệ thống kiểm
soát mức độ chiếu sáng của hệ thống đèn giúp tiết kiệm điện và phù hợp với khung
cảnh, chẳng hạn như cài đặt đèn ánh sáng nhẹ cho các bữa tiệc tối. Hệ thống cũng
có thể điều chỉnh rèm cửa theo yêu cầu, kiểm soát nhiệt độ, hệ thống camera giám

sát, hệ thống khóa cửa tự động, hệ thống phòng ngừa trộm.
1.1.2. Lịch sử hình thành
Khởi đầu của hệ thống nhà cửa tự động, nhà thông minh chính là thiết bị điều
khiển từ xa không dây. Được giới thiệu năm 1898 bởi Nikola Tesla, khi đó ông đã
điều khiển mô hình thu nhỏ của một chiếc thuyền bằng cách gửi đi sóng radio qua
điều khiển từ xa.
Bước sang thế kỷ 20 bắt đầu với sự phát triển bùng nổ của các thiết bị gia
dụng, ví dụ như máy hút bụi chạy bằng động cơ (1901) và máy hút bụi chạy bằng
điện (1907). Hai thập kỷ tiếp theo là một cuộc cách mạng thiết bị gia dụng, sự xuất
hiện của tủ lạnh, máy sấy, máy giặt,... Tuy nhiên với giá thành đắt đỏ không phải
gia đình nào cũng có khả năng sở hữu những thiết bị này.
Tới những năm 1930, ý tưởng về tự động hóa nhà ở được khơi gợi lên,
nhưng phải đến năm 1966, hệ thống tự động hóa căn nhà đầu tiên mang tên Echo-IV
mới được phát triển bởi Jim Sutherland. Hệ thống này giúp chủ nhà lên danh sách

11


mua hàng, điều chỉnh nhiệt độ các phòng, bật và tắt các thiết bị gia dụng. Tuy nhiên
hệ thống này chưa được thương mại hóa.

Hình 1. Hệ thống Echo-IV phát triển bởi Jim Sutherland
Tới năm 1969, bếp máy tính Honeywell ra đời. Chức năng chính của sản
phẩm này là tạo ra các công thức món ăn, nhưng chiếc bếp này đã không đạt được
thành công do vấn đề giá thành.
Vào năm 1971 một bước ngoặt đã xảy ra khi bộ vi xử lý ra đời khiến giá
thành các thiết bị giảm mạnh. Điều này mang lại khả năng tiếp cận rộng rãi hơn cho
mọi người với các thiết bị điện, điện tử. Nhờ điều kiện thuận lợi này, khái niệm
"nhà thông minh" lần đầu tiên được đưa ra vào năm 1984 bởi Hội Liên Hiệp Xây
dựng Hoa Kỳ.

Trong cả thập niên 90, các công nghệ dành cho người cao tuổi đã là một chủ
đề được tập trung nghiên cứu, trong đó người ta cố gắng kết hợp giữa kỹ thuật hiện
đại và khoa học về tuổi già để tạo ra các công nghệ phục vụ cho người cao tuổi.

12


Nhờ sự tập trung nghiên cứu này đã đóng góp vào việc phát triển các tiện nghi gia
đình, thiết bị gia dụng, điện tử điện lạnh. Trong gian này, nhu cầu kết nối các thiết
bị gia dụng cũng bắt đầu xuất hiện.
Năm 1993, mạng lưới kết nối các thiết bị tại nhà không dây đầu tiên được xây dựng
bởi Fujieda, mang đến bước phát triển lớn cho hệ thống không dây ngày nay.
Năm 1998, Ngôi nhà Thiên niên kỷ (Integer millennium house) được mở cửa trưng
bày. Đây là căn nhà mẫu minh họa cho việc một căn nhà có thể được tích hợp công
nghệ như thế nào, với các hệ thống sưởi ấm, quản lý đất trồng, các thiết bị an ninh,
chiếu sáng và cửa đều được điều khiển tự động.
Mười năm sau, khi mạng Internet phát triển mạnh mẽ và trở nên phổ biến,
người ta bắt đầu đi vào nghiên cứu để tìm ra cách kết nối hệ thống điều khiển tự
động hóa căn nhà với mạng Internet. Hiroshi Kanma và các đồng sự đã đề xuất việc
hệ thống được điều khiển thông qua bluetooth vào năm 2003. Năm 2006, hệ thống
mạng lưới phức hợp các sản phẩm gia dụng được giới thiệu. Mạng lưới này sử dụng
bluetooth hoặc mạng điện thoại để gửi dữ liệu cho nhà cung cấp và truyền dẫn trở
về căn nhà của người sử dụng. Bằng cách thức này, người dùng có thể điểu khiển
các thiết bị trong nhà kể cả khi ở bên ngoài.

13


Hình 2. Mô tả hệ thống mạng lưới sử dụng mạng không dây
Ngày nay khi các yếu tố giá thành, và công nghệ sản xuất phát triển, nhu cầu

người dùng tăng cao các công ty đã chú trọng đầu tư nghiên cứu và phát triển các hệ
thống nhà thông minh. Mô hình nhà thông minh đã phát triển rộng khắp rất rễ bắt
gặp ở mọi nơi và mọi lĩnh vực.

1.2 Giới thiệu kiến trúc nhà thông minh MavHome
Dự án nhà thông minh của MavHome[2] là dự án tập trung vào việc tạo ra
một môi trường hoạt động với một bộ xử lý thông minh, nhận thức được trạng thái
của ngôi nhà thông qua cảm biến và tác động lên môi trường thông qua bộ điều
khiển thiết bị. Mục tiêu dự án này là tạo ra hệ thống chức năng tối đa hóa sự thoải
mái và năng suất của người sử dụng và giảm thiểu chi phí vận hành. Để đạt được
mục tiêu này, ngôi nhà phải có khả năng dự đoán, lý giải và thích nghi với chủ nhân
của nó.
Một số tính năng yêu cầu cho hệ thống này bao gồm học máy, hệ cơ sở dữ
liệu, công nghệ tự động, ứng dụng tính toán trên di động và máy tính đa phương
tiện. Trong môi trường thông minh kiến trúc MavHome phân chia thành nhiều lớp

14


chịu trách nhiệm xử lý các nhiệm vụ bao gồm cảm biến, tự động hóa, giao
diện.Kiến trúc này phân chia theo chức năng, mỗi phần chức năng lại được áp dụng
các kỹ thuật AI riêng. Kiến trúc này gồm bốn tầng:
-Tầng quyết định: Chọn các hành động để điểu khiển các thiết bị thực hiện dựa
trên thông tin mà các tầng khác cung cấp qua lớp thông tin.
-Tầng thông tin: thu thập, lưu trữ các thông tin hữu ích hỗ trợ cho tầng quyết định.
-Tầng giao tiếp: tầng này tạo kênh thông tin liên lạc giao tiếp và các yêu cầu truy
vấn thông tin giữa các tầng.
- Tầng vật lý: là các thiết bị bao gồm hạ tầng phần cứng mạng, các cảm biến, các
thiết bị thực hiện hành động. [3].


Tầng quyết định

Tầng thông tin

Tầng giao tiếp
Tầng vật lý

Tầng quyết định

Tầng quyết định
15

Tầng quyết định


Tầng thông tin

Tầng thông tin

Tầng thông tin

Tầng giao tiếp

Tầng giao tiếp

Tầng giao tiếp

Tầng vật lý

Tầng vật lý


Tầng vật lý

Hình 3. Mô hình hệ thống phân tầng MavHome
Hoạt động của hệ thống Nhà thông minh diễn ra theo hai hướng: Nhận thức
và hành động.
Quá trình học (nhận thức) diễn ra theo hướng từ dưới lên. Tầng vật lý thu
thập thông tin từ môi trường, chuyển thông tin tới một tác nhân khác (nếu cần)
thông qua tầng giao tiếp. Thông tin thu nhận được thông qua mạch Arduino truyền
tới tầng thông tin. Mạch Arduino sẽ gửi thông tin để xử lý dữ liệu lên trung tâm.
Trung tâm lưu trữ các thông tin thu nhận được. Tại đây, thông tin được xử lý, huấn
luyện, dự đoán…và gửi kết quả lên tầng quyết định. Tầng quyết định lựa chọn một
hành động liên kết với tầng thông tin.
Quá trình thực thi (hành động) diễn ra theo hướng từ trên xuống. Sau khi lựa
chọn một hành động dựa vào kết quả dự đoán mà tầng thông tin cung cấp, tầng
quyết định gửi tín hiệu xuống tầng thông tin. Tầng thông tin lưu lại kết quả của tầng
quyết định. Thông tin thông qua tầng giao tiếp gửi tín hiệu điều khiển tới tầng vật
lý. Các thiết bị ở tầng vật lý thực hiện hành động.

16


Hình 4. Mô hình hoạt động theo các tầng [2]

1.3. Ứng dụng hệ thống mô phỏng nhà thông minh SIMACT
1.3.1 Giới thiệu trình mô phỏng nhà thông minh SIMACT
SIMACT[4] là trình mô phỏng được xây dựng với mục đích cung cấp một
công cụ thử nghiệm phần mềm giúp các nhà nghiên cứu xác nhận các phương pháp
tiếp cận, nghiên cứu mô hình nhà thông minh của họ. Đây là một ứng dụng đơn giản
để thử nghiệm và xác định các ý tưởng các thuật toán trong lĩnh vực nhà thông

minh. SIMACT là một công cụ rất linh hoạt và dễ sử dụng, hơn nữa nó được xây
dựng dựa trên mã nguồn mở vì vậy mọi người từ sinh viên đến các nhà nghiên cứu
đều có khả năng tùy biến và tiếp cận nó để sử dụng cho mục đích mà mình muốn.
Ứng dụng này bao gồm việc tái tạo lại hành vi của một người thực sự sống
trong một ngôi nhà thông minh. Để làm được điều này, trình mô phỏng có kiến trúc
cơ bản giống như một ngôi nhà thông minh. Chương trình này có các cảm biến khác
nhau mà phân tích những gì xảy ra trong nhà và lưu các thông tin trong cơ sở dữ
liệu. Các cảm biến này và định nghĩa hành động đã được định nghĩa và sẵn sàng để

17


sử dụng. SIMACT được biểu diễn dưới dạng hình ảnh 3D. SIMACT cung cấp nhiều
tùy chọn thú vị để kiểm soát việc thực hiện và để xem trực quan sự tiến độ của các
bước. Nó cho phép cấu hình các chuỗi hoạt động theo nhu cầu. Trình mô phỏng này
còn phù hợp để so sánh các thuật toán được sử dụng trong nhà thông minh.
-

Giao diện người dùng

Giao diện người dùng của SIMACT có các tính năng quan trọng được hiển
thị trên màn hình chính. Như chúng ta có thể thấy trong Hình 5, cửa sổ ứng dụng
được chia thành ba vùng đặc biệt. Đầu tiên là môi trường đồ họa ba chiều được xây
dựng từ một trong những công cụ hứa hẹn nhất trong Java: Java Monkey Engine
(JME) [5]. Nền tảng này chứa tất cả những gì cần thiết để mô phỏng môi trường
thực tế kết hợp các cảm biến ảo. Trong vùng 3D, người ta có thể tự do di chuyển
máy quay xung quanh môi trường để có những góc nhìn khác nhau và sau đó quyết
định vị trí thích hợp nhất để xem những gì đang xảy ra.
Khu vực thứ hai là vùng điều khiển tập lệnh, cung cấp một cách nhanh
chóng, đáng tin cậy và dễ dàng để kiểm soát việc thực hiện một kịch bản trong thời

gian thực. Nó hoạt động giống như một máy nghe nhạc, video có thể bấm để chạy,
tạm dừng, và tua quay lại và chuyển tiếp trong việc thực hiện. Trong thời gian chạy,
ứng dụng hiển thị một số thông tin về các bước hiện tại. Tốc độ thực hiện có thể
được điều chỉnh mà không thay đổi giá trị thời gian thực. Trong quá trình thực hiện
mô phỏng tập lệnh, SIMACT thu thập dữ liệu từ các cảm biến ảo và lưu nó vào cơ
sở dữ liệu. Do đó, ứng dụng của bên thứ ba (tức là một điểm nhận dạng) có thể được
xây dựng độc lập và kết nối với cơ sở dữ liệu để trích xuất dữ liệu từ mô phỏng theo
thời gian thực. SIMACT sẽ đi kèm với bộ tập lệnh được xác định trước để bắt đầu
trong flash. Người dùng cũng có thể tùy chỉnh các tập lệnh. Để rõ ràng, các kịch bản
xác định một loạt các sự can thiệp trong môi trường mô phỏng, và SIMACT diễn
giải những hành động này và có những hoạt động phù hợp.

18


Hình 5. Công cụ mô phỏng SIMACT khi hoạt động

-

Phương thức và tùy chọn

SIMACT có một số tùy chọn có thể thay đổi cách làm việc và cách giải thích
kịch bản. Các menu cho phép người dùng thay đổi nhanh chóng. Hình 6 cho thấy
cửa sổ này trong khi đang ở tab giá trị được thiết lập. Các thông số khác nhau được
tách thành bốn thẻ giúp cái nhìn đơn giản và trực quan hơn. Bên cạnh đó, điều này
cho phép người dùng dễ dàng tìm thấy các tùy chọn tìm kiếm và do đó tiết kiệm
thời gian. Bên dưới đây là mô tả một số chức năng trong SIMACT.

19



Hình 6. Bảng tùy chỉnh SIMACT
Phần đầu tiên, là thẻ mặc định, bao gồm các giá trị sử dụng trong việc giải
thích kịch bản trong trường hợp định nghĩa các thông số thiết lập ban đầu bị mất.
Phần thẻ thứ hai, được gọi là giá trị bắt buộc, phân loại các tùy chọn được sử
dụng để ghi đè các tham số được xác định trong các tập lệnh.
Tab Cơ sở dữ liệu bao gồm các tùy chọn ảnh hưởng đến cơ sở dữ liệu. Có hai
tham số nhưng số này sẽ thay đổi khi SIMACT câng cấp. Thứ nhất, cơ sở dữ liệu có
thể bị vô hiệu hóa và kích hoạt. Nếu bị vô hiệu, SIMACT sẽ chạy các tình huống và
sẽ hiển thị kết quả mà không lưu bất kỳ sự kiện nào. Thứ hai, đường dẫn của cơ sở
dữ liệu có thể được sửa đổi kết quả là một cơ sở dữ liệu khác nhau có thể được sử
dụng để chạy các tình huống.
Tab cuối cùng có tên là Script, và nó bao gồm mọi tham số ảnh hưởng đến
chạy các kịch bản. Tùy chỉnh quan trọng trong thẻ này là tốc độ chạy. Các thiết lập
trong mục này cho phép trong lần khởi động tiếp theo, SIMACT sẽ sử dụng tốc độ
mặc định mới được xác định từ lần chạy trước.
- Kiến trúc phần mềm: Kiến trúc phần mềm linh hoạt và thích nghi với những
đặc trưng của các vấn đề gặp phải bởi các nhà nghiên cứu. Nó được thiết kế với
code tách biệt là khía cạnh linh động của phần mềm. Như chúng ta có thể thấy trong

20


hình 7, có một tập hợp các lớp được sử dụng để điều khiển hình ảnh 3D. Các lớp
này là những lớp duy nhất có mã JME và được sử dụng chặt chẽ để vận hành khung
đồ họa. Chính xác hơn, trong hệ thống chính, các lớp thông dịch với vai trò hiểu
phải làm gì và làm thế nào. Bước đầu tiên xảy ra khi khởi động SIMACT; Một mô
đun trình đọc XML sẽ đọc một tệp định nghĩa đối tượng và yêu cầu các lớp kiểm
soát tải từng tệp 3D bằng cách tìm trong thư mục objects / jme. Nếu nó không thể
tìm thấy các đối tượng trong .jme, nó sẽ thử một số định dạng khác như .obj và .3ds.

Một khi đối tượng được tìm thấy, nó được xuất ra như là *.jme.
- Phần thứ hai bao gồm việc hiển thị các đối tượng này khi giữ con trỏ trên
chúng theo các tham chiếu và tương tác. Cấu trúc bản đồ được sử dụng cho từng
loại đối tượng (bình thường, văn bản, v.v.). Sau đó, chúng có thể được thao tác
thông qua các kịch bản bằng cách sử dụng các ID duy nhất. ví dụ sự kiện "Mở cửa
lò nướng". Lệnh sẽ được đọc từ kịch bản bởi một mô đun trình đọc XML và được
gửi lại cho trình thông dịch lệnh mà cuối cùng sẽ trao đổi với lớp kiểm soát hình
ảnh ba chiều để mở cửa lò trực quan. Để xác định kịch bản và danh sách các đối
tượng, chương trình đã sử dụng XML vì khả năng dễ đọc của nó; Nhìn vào ví dụ
đơn giản này: <action>
<Object> Lò nướng </ object><open> true </ open></ action>.

21


Hình 7. Kiến trúc tổng quan của SIMACT
Ý nghĩa của ví dụ đơn giản này là: nó thông báo cho mô-đun thông dịch rằng
một hành động sẽ xảy ra, thông báo cho tất cả các đối tượng bị ảnh hưởng sử dụng
các ID duy nhất và cuối cùng đặt ra định hướng mới. Phần cuối của trình tự bao
gồm việc hoàn thành một vần đề gì đó hữu ích với các kịch chạy. Trong thời gian
phát, SIMACT lưu các sự kiện trong cơ sở dữ liệu và không phải khi nạp qua lại
trong chuỗi các bước. Nó sẽ khởi động lại bản ghi bất cứ nơi nào trong chuỗi các
nút chạy được bấm.
-

Công nghệ xây dựng

Bộ mô phỏng SIMACT đã được lập trình hoàn toàn bằng Java với mã nguồn
mở. Ngôn ngữ java và cộng đồng mã nguồn mở [6] xung quanh khá lớn vì vậy ngôn
ngữ này rất thích hợp để xây dựng chương trình. Java cũng là một ngôn ngữ hướng

đối tượng mạnh mẽ được biết đến trong khoa học máy tính để ủng hộ việc sử dụng
mã nguồn mở. Thư viện swing được chọn cho GUI (giao diện đồ họa người dùng)
vì nó là nền tảng chéo, có tài liệu và dễ sử dụng. Phần 3D ít phức tạp hơn, vì Java
thường được sử dụng trong lập trình trò chơi. Công cụ Java Monkey Engine , một
công cụ 3D khá hứa hẹn. JME đang ở trạng thái phát triển mạnh mẽ; Nó là một
công cụ quan trọng đã được thông qua bởi cộng đồng Java trong vài năm qua. JME
có tất cả các chức năng mong đợi cho mô phỏng 3D và nhiều hơn nữa. Đối với thiết

22


kế 3D, nhà phát triển sử dụng phần mềm đơn giản có tên SketchUp từ Google [7].
SketchUp là công cụ mô hình hóa theo thiết kế nhà và phụ kiện trong nhà. Ưu điểm
chính của việc sử dụng SketchUp là thư viện đối tượng 3D khổng lồ được duy trì
trên trang web của Google bởi cộng đồng xung quanh Sketchup. Những mô hình 3D
này là miễn phí, và các nhà phát triển chủ yếu xây dựng từ thư viện đó. Để cung cấp
một lớp trừu tượng cho phần mềm, họ quyết định sử dụng XML ngôn ngữ phổ biến.
Nó được sử dụng để định nghĩa môi trường ba chiều như là một danh sách các đối
tượng đơn giản (nạp từ các tệp trên đĩa) với các thông tin cơ bản như vị trí tuyệt đối
hoặc tương đối trong không gian, ID duy nhất, quy mô, vv Để xác định các kịch bản
trường hợp thực. SIMACT có hai cách để thay đổi cấu hình. Có thể được thực hiện
bằng phiên bản văn bản chuẩn trong tệp .ini hoặc bằng trình đơn GUI trực tiếp trên
SIMACT.
1.3.2. Ứng dụng SIMACT trong công nghệ nhà thông minh
Các công nghệ gia đình thông minh đã trở thành một chủ đề nghiên cứu rất
tích cực trong vài năm trở lại đây. Tuy nhiên, nhiều nhà khoa học làm việc trong
lĩnh vực này không có cơ sở hạ tầng thông minh cho phép họ thực hiện các thí
nghiệm thỏa đáng trong một môi trường cụ thể với dữ liệu thực. Để giải quyết vấn
đề này, SIMACT ra đời với mục đích mô phỏng cơ sở hạ tầng gia đình 3D linh hoạt.
Một tập hợp các kịch bản được ghi lại, được làm bằng dữ liệu trích ra từ các thử

nghiệm lâm sàng, sẽ được đưa vào mô phỏng để tạo nền tảng chung để kiểm tra các
thuật toán nhận dạng hoạt động. Mục tiêu là phát hành trình mô phỏng SIMACT với
trình biên tập kịch bản thị giác như là một thành phần nguồn mở mang lại lợi ích
cho toàn bộ cộng đồng nghiên cứu gia đình thông minh.
Trong bài luận văn này với mục đích ban đầu sẽ sử chạy mô phỏng hoạt động
trong nhà bằng SIMACT để sinh ra dữ liệu kiểm thử cũng như mô phỏng dự đoán
của thuật toán M-SPEED tuy nhiên do tài liệu hướng dẫn chạy SIMACT có rất ít và
phức tạp cao chưa thể thực hiện được trong thời gian ngắn do vậy luận văn sẽ trình

23


bày thực thi giải thuật trực tiếp với bộ dữ liệu có sẵn từ dự án nghiên cứu MavHome
không qua trình mô phỏng SIMACT.

1.4. Kết luận
Trong chương này đã giới thiệu sơ lược về khái niệm và lịch sử phát triển
của nhà thông minh, mô hình kiến trúc nhà thông minh MavHome. Bên cạnh đó
chương 1 cũng đã giới thiệu về chương trình giả lập nhà thông minh 3D SIMACT
một công cụ giúp chúng ta nghiên cứu và thử nghiệm hệ thống nhà thông minh cũng
như các thuật toán dự đoán được sử dụng trong nhà thông minh trên hệ thống mô
phỏng ảo này.

24


CHƯƠNG 2. DỰ ĐOÁN HÀNH VI TRONG NHÀ THÔNG
MINH
2.1. Bài toán dự đoán hành vi của người dùng
Hàng ngày có rất nhiều hoạt động thường ngày được diễn ra trong ngôi nhà của

chúng ta. Sau đây là một kịch bản ví dụ về những hoạt động đó:
“Tôi thức dậy vào lúc 6h30 phút sáng, đèn ngủ tự động tắt, đèn phòng bật và
rèm cửa tự động kéo ra. Tiếp đó tôi vào phòng vệ sinh, đèn tự động bật và tôi dùng
nước ấm đã được hệ thống tự động bật trước đó 15 phút vệ sinh cá nhân, lúc này
nhiệt độ trong phòng cũng được tự động điều chỉnh tăng dần để khi tôi ra khỏi nhà
không cảm thấy bị sốc nhiệt.”
Để hệ thống hoạt động trơn tru và tự động như trên rất nhiều yêu cầu được
đặt ra như: thu thập dữ liệu từ các cảm biến nhiệt độ, ánh sáng hồng ngoại, v…v,
phân tích dự đoán hành vi người dùng, kết nối thông tin giữa các thiết bị… Tất cả
các yêu cầu này cần phải được đáp ứng liên tục và hoạt động không ngừng. Đặc
biệt, việc dự đoán hành động, dự đoán phòng tiếp theo người dùng sẽ di chuyển, dự
đoán sự tương tác giữa người dùng và ngôi nhà và sử dụng những thông tin đó cho
ngôi nhà tự động hóa các quyết định, tối ưu hóa sự thoải mái của người dùng.
Hoạt động dự đoán này còn phụ thuộc vào các chương trình học máy và thuật
toán dự đoán mà người xây dựng sử dụng. Thuật toán dự đoán giúp dự báo tình
trạng có thể xảy ra đối với căn nhà hoặc người sử dụng và đó là một phần quan
trọng trong việc phát triển mô hình nhà thông minh. Một vài thuật toán dự báo như
IPAM, thuật toán Jacobs Blockeel, LZ78 , LeZi- bản cập nhật, LeZi-mô hình đang
được sử dụng, FXl và mô hình FXl thích ứng [8], SPEED, MSPEED. Mỗi thuật
toán đều có tính ảnh hưởng đến hiệu quả làm việc của một ngôi nhà thông minh.
Một số thuật toán dự đoán sẽ được giới thiệu trong mục tiếp theo.

25


×