Mộtsốkháiniệmcơbản
Cơsởdữ liệukhônggian-thờigian
Cơ sở dữ liệu không gian được nghiên cứu rộng rãi trong hai thập kỷ qua đã đemlại nhiều kết quả về mô hình khái niệm, chỉ mục đa chiều và các kỹ thuật xử lý truyvấn Trong cơ sở dữ liệu không gian truyền thống, dữ liệu của các đối tượng khônggian thường được giả định là tĩnh, trong khi thực tế thì các đối tượng không gianthườngxuyênbiếnđổitheothờigiancảvềvịtrí,hìnhdạng,kíchthước…
Cơ sở dữ liệu không gian-thời gian được xây dựng nhằm giải quyết các bài toánkhông gian thay đổi theo thời gian Trên thực tế, hình dạng có thể biến đổi khôngnhữngtheocácbướcrờirạcmàcònliêntục.Nếutachỉquantâmđếncácvịtrítrongkhông gian của một đối tượng cần theo dõi, thì điểm chuyển động là mô tả mức trừutượng cơ bản; nếu tính tới cả độ mở rộng về các chiều, thì mức trừu tượng của vùngchuyểnđộngbaogồmcảchuyểnđộngvàmứcđộmởrộnghaythuhẹp(thayđổikíchthước). Chúng ta có thể hiểu điểm chuyển động và vùng chuyển động được thể hiệntrongmiềnkhônggianbachiều(khônggian2D+thờigian).Cáckiểudữliệunàycóthể được tích hợp như là kiểu dữ liệu cơ sở trong mô hình quan hệ, hướng đối tượnghoặc các mô hình dữ liệu khác Kiểu dữ liệu không gian-thời gian đóng vai trò quantrọngvàcơbảnchocơsởdữliệukhônggian- thờigiantươngtựnhưvaitròcủakiểudữliệukhônggiantrongcơsởdữ liệukhônggiantruyềnthống.
Trong quá khứ, các nghiên cứu về mô hình dữ liệu không gian, thời gian và hệthống cơ sở dữ liệu chủ yếu được thực hiện một cách độc lập Các nghiên cứu về cơsở dữ liệu không gian thì tập trung vào việc hỗ trợ mô hình hóa và truy vấn hình họccủa các đối tượng trong cơ sở dữ liệu Các nghiên cứu về cơ sở dữ liệu thời gian chútrọngvàomởrộngcáctrithứcđượclưutrữtrongcơsởdữliệuđểthểhiệntrạngtháihiện tại của thế giới thực bao gồm quá khứ, được thể hiện qua hai nhận thức“quákhứ của thế giới thực”(thời gian hiệu lực - valid time) và“trạng thái quá khứ củacơ sở dữ liệu”(thời gian giao dịch - transaction time) Mặc dù vậy, hai lĩnh vựcnghiên cứu này thực sự liên quan chặt chẽ với nhau Bởi vì các lĩnh vực nghiên cứunàyđềugiảiquyếtdạngbàitoán“chiều”hay“khônggian”.Dovậy,cóthểthấyrằngnghiêncứum ôhìnhdữliệutíchhợpcủakhônggianvàthờigianlàthựcsựcầnthiết.Thuậtngữthườngđượcdùnglà cơsởdữliệukhônggian-thờigian(Spatio-temporal database).
Dữliệukhônggianmàbiếnđổitheothờigian(rờirạchoặcliêntục)gọilàdữliệukhông gian-thời gian. CSDL không gian-thời gian là sự kết hợp giữa CSDL khônggianvàCSDLthờigian.HệquảntrịCSDLkhônggian- thờigianlàhệquảntrịCSDLmàcungcấpcáckiểudữliệukhônggian- thờigiantrongmôhìnhdữliệucủanócùngvớingônngữ truyvấn.
Cơsởdữ liệucácđốitượngchuyểnđộng
[46] làdạngthugọncủacơsởdữliệukhônggian- thờigian(xemhình1.1),trongđóchỉquantâmđếncácđiểmchuyểnđộngmàkhôngxétđếncácđốit ượngkhác(đườnghayvùngchuyểnđộng).
Với những tiến bộ trong công nghệ định vị và sự phát triển nhanh chóng của truyềnthông không dây, giờ đây chúng ta có thể theo dõi các đối tượng chuyển động liêntục [17] như xe cộ, hàng hóa và cả con người (mà đang sử dụng cácthiết bị di độngthông minhnhư điện thoại, đồng hồ, vòng đeo tay, nhẫn…) Một loạt các ứng dụngliên quan đến các đối tượng chuyển động đã được phát triển Ví dụ, trong một hệthống điều khiển giao thông thông minh nếu chúng ta lưu trữ thông tin về vị trí củaxe cộ đang lưu thông, việc tắc nghẽn có thể được giảm bớt bằng cách thông báo đểmột số xe di chuyển vòng qua các tuyến đường thay thế hay như xe taxi có thể đượcthông báo để tìm đến vị trí hành khách một cách nhanh chóng (GrabTaxi, Uber…).Một ví dụ thú vị khác là trò chơi kỹ thuật số dựa trên vị trí Trong kiểu trò chơi này,ngườichơicầnphảixácđịnhvịtrícácngườichơikhácgầnnhấtđểthựchiện“nhiệmvụ” như
“đánh dấu”, “quay phim” họ thông qua thiết bị di động Cơ sở dữ liệu cácđối tượng chuyển động cũng rất quan trọng trong quân sự Với sự giúp đỡ của nó,máy bay chiến đấu và xe tăng trong chiến trường có thể được định vị tốt hơn và huyđộngtốiđalợithế đểgiànhchiếnthắng.
Các ứng dụng của MODB đem lại những thách thức kỹ thuật mới mà không thểđáp ứng được bởi các DBMS hiện có Các vấn đề như độ chắc chắn/độ không chínhxác của dữ liệu, mô hình dữ liệu, biểu diễn ngôn ngữ truy vấn, kỹ thuật lập chỉ mục,kỹ thuật truy vấn và bảo mật vị trí cần phải được nghiên cứu và thử nghiệm Trongsố đó, việc lập chỉ mục và kỹ thuật truy vấn là phần quan trọng nhất trong hệ thốngcơsởdữliệucácđốitượngchuyểnđộng.Bảovệsựriêngtưcũnglàmộtvấnđềquantrọngvàn hạycảmmàcầnphảiđượcgiảiquyếtđểcácứngdụngMODBcóthểđượcchấp nhận rộng rãi trong cuộc sống Hình 1.2 dưới đây mô tả mô hình hệ thống tổngquátcủaứngdụngMODB.
Tronghình1.2,máychủquảnlýcơsởdữliệucácđốitượngchuyểnđộngvàcungcấp các dịch vụ dựa trên vị trí cho người dùng (NSD) Các kiểu truy vấn khác nhauđược thực hiện bởi máy chủ và trả kết quả về cho người dùng Có thể thấy hai kiểutruy vấn hay được sử dụng là truy vấn phạm vi (hình chữ nhật) và truy vấn k- lánggiềnggầnnhất(hìnhtròn).Khisửdụngcácdịchvụdựatrênvịtrí,ngườidùngcóthểlo lắng về vấn đề rò rỉ thông tin cá nhân của họ Có thể áp dụng nhiều mô hình khácnhauđểbảovệtínhriêngtư trênmáychủ.
Trong thực tế, chúng ta thấy có nhiều ứng dụng thường xuyên cần đến cơ sở dữliệumôtảthôngtinvềcácđốitượngchuyểnđộngcùngvớivịtrícủachúng.Vídụ như CSDL mô tả vị trí của các xe taxi với các truy vấn thường gặp là: tìm tất cả cácxetaxichưacókháchtrongvòng1kmtừsố1ĐinhTiênHoàng(đểđónkhách).VớiCSDL quản lý xe vận tải đường dài thì các truy vấn thường gặp là tìm tất cả các xetải mà cách xe V khoảng 5 phút di chuyển (để hỗ trợ cứu hộ) Hoặc CSDL mô tả vịtrí của các đối tượng trên chiến trường thì các truy vấn thường gặp là: tìm tất cả máybay chiến đấu đang trong vùng M hoặc sẽ vào vùng M trong vòng
10 phút nữa Cáctruy vấn này có thể xuất phát từ vị trí của các đối tượng chuyển động hoặc từ vị trícủa người dùng Hiện tại ứng dụng cơ sở dữ liệu các đối tượng chuyển động đangphát triển hết sức nhanh chóng và được sử dụng trong rất nhiều lĩnh vực khác nhautừgiaothông,dulịch,cứuhộ,cứunạnđếnanninh,quốcphòng.
Dữliệutrongcơsởdữliệucácđốitượngchuyểnđộng
Kiểudữliệucơbảntrongcơsởdữliệucácđốitượngchuyểnđộnglàđiểmchuyểnđộng (moving point – mpoint) Một điểm chuyển động là trừu tượng cơ bản của mộtđối tượng vật lý chuyển động trên mặt phẳng không gian hai chiều mà chỉ liên quanđến thay đổi vị trí Điểm chuyển độngmpointđược định nghĩa khác như là một hàmliên tục từ thời gian vào không gian hai chiều (2D), hoặc như một đường gấp khúc(polyline) trong không gian ba chiều (2D + thời gian) Khi phân tích hành vi chuyểnđộng trong không gian, các chuyển động có thể dễ dàng được mô hình hóa và xử lýnhư một chuỗi các quan sát điểm chuyển động, được biểu diễn như là bộ 3 gồm thờigian t và tọa độ (x, y) Ví dụ về các đối tượng kiểu điểm chuyển động là ô tô, máybay,tàuthuyền,conngười,độngvật
CáccôngtrìnhnghiêncứuCSDLkhônggian-thờigianthườngmôtảsựphânloạicủa các dữ liệu điểm phụ thuộc vào thời gian Những dữ liệu này có thể được xemmộtcáchtựnhiênnhưlànhúngvàomộtmiềnkhônggianmàlàtíchvéctơcủakhônggian hai chiều và thời gian, rồi được biểu diễn trong không gian ba chiều (hình 1.3).Trong miền thời gian t, thời gian có thể được xem là rời rạc, dày đặc hoặc liên tục.Vìnhữnglýdothựctế,cácmôhìnhCSDLthờigian(temporaldatabase)thườngdùng các thểhiện rờirạc củathời gian.Ngược lại,cácmô hìnhliên tụclà phùhợp hơnđểnóivềvớicácđốitượngchuyểnđộng. a.R ờ i rạc b Liên tụcHình1.3 Điểmchuyển độngrờirạc vàliên tục
Các mô hình chuyển động của điểm được tập trung vào khái niệm về quỹ đạo(trajectory) Dữ liệu chuyển động thu được bằng cách sử dụng thiết bị và phần mềmhỗ trợ định vị để ghi lại các vị trí của đối tượng và biểu diễn sự chuyển động theohình thức rời rạc Cách tiếp cận này là thể hiện của thời gian liên kết với một đơn vịchuyểnđộngcủađiểmtrongmặtphẳngx,ynhư làmộthàmcủathờigian.
Giátrịcủakiểumpointmôtảvịtrínhưlàmộthàmcủathờigiancóthểđượcbiểudiễn dưới dạng đường cong liên tục trong không gian ba chiều (x, y, t) thể hiện nhưtronghình1.3b.Chúngtagiảđịnhrằngkhônggiancũngnhưcácchiềucủathờigianlàliêntục, tứclàhoàntoàncóthểchènmộtđiểmvàotrụcthờigiangiữahaithờiđiểmxácđịnhbấtkỳ,như làmộtvịtrítạithờiđiểmđó.
Truyvấntrongcơ sởdữ liệucácđốitượngchuyểnđộng
Cơsởdữliệucácđốitượngchuyểnđộngcầnđápứngđượcviệccập nhậtthườngxuyên, đồng thời lại phải đảm bảo truy vấn hiệu quả Sự phát triển của các kỹ thuậtlập chỉ mục đã tạo cơ sở cho việc tạo lập nhiều kiểu truy vấn khác nhau Các kiểutruy vấn phổ biến nhất trong MODB là truy vấn điểm, truy vấn phạm vi và truy vấnklánggiềnggầnnhất:
Truy vấn phạm vi (hình 1.4a):“Tìm tất cả các đối tượng mà vị trí của nónằmtrongvùngRtrongkhoảngthờigiantừt 1 đếnt 2 ”.Vídụ:cóbaonhiêuxeôtôtro ngphạmviphườngAvàolúc9hđến9h15phútsángnay.
Truyvấnklánggiềnggầnnhất(hình1.4b):“TìmkđốitượnggầnđốitượngO nhất tại thời điểm t” Ví dụ: tìm 3 chiếc taxi của 3 hãng khác nhau gầnvịtríkháchdulịchnhất.
Truy vấn điểm và truy vấn phạm vi thường sử dụng trong lớp ứng dụng quản lývà điều hành giao thông, còn truy vấn k láng giềng gần nhất thường được sử dụngtronglớpbàitoánchodịchvụLBS.Ngoàiracònvàikiểutruyvấnphứctạphơnnhưtruyvấnp hạmviliêntụchaytruyvấnmậtđộ[63]…
Cácvấnđềcầngiảiquyết
Vấnđềvềmôhìnhhóavịtrí
Cáchệquảntrịcơsởdữliệuquanhệhiệntạikhôngđượctrangbịtốtđểxửlýcác dữ liệu mà liên tục thay đổi (như vị trí của đối tượng chuyển động) Trườngdữ liệu trong các hệ quản trị cơ sở dữ liệu quan hệ thường ít khi thay đổi, nó chỉthayđổikhicólệnhsửađổirõràng.Vídụtronghệthốngquảnlýnhânsự,trườngmức lương cơ bản có giá trị là 1.150.000 (VNĐ) thường giữ nguyên cho đến khingườiquảntrịhệthốngcậpnhật(theochínhsáchmớicủanhànước).Đểmôtả được các đối tượng chuyển động trong cơ sở dữ liệu và trả lời được các truy vấnvềvịtrí,vịtrícủacácđốitượngchuyểnđộngsẽphảiđượccậpnhậtmộtcáchliêntục Việc cập nhật liên tục này sẽ dẫn đến vấn đề là làm giảm mạnh (thậm chí lànghiêm trọng nếu quá thường xuyên) hiệu năng của hệ thống Nếu không đượccập nhật liên tục thì lại nảy sinh vấn đề khác là kết quả truy vấn về vị trí bị sailệch.Hơnnữa,vớiviệcthôngtinvềvịtríđượccậpnhậtmộtcáchliêntụcvềmáychủtrungtâ mquamạngkhôngdây(mạngviễnthôngGPRS/3GhayWifi/Wimax/LTE) cũng sẽ dẫn đến vấn đề quá tải băng thông khi số lượng đốitượngcậpnhậtđồngthờilàrấtlớn.
Vấnđềvềngônngữ truyvấn
Thôngthường,truyvấntrongcácứngdụng MODBthườngliênquanđếncácđối tượng không gian (điểm, đường, vùng) với các ràng buộc về thời gian Xemxétvídụtruyvấnsau:
TìmtấtcảcácđốitượnggiaovớiđagiácPtrong3phútnữa Đâylàmộttruyvấnphạmvikhônggianvàphạmvithờigian.Phạmvikhônggianlàđagiác P,phạmvithờigianlàkhoảngthờigiantừbâygiờ(thờiđiểmtruyvấn)đến3phúttiếpsauđó.H aynhư vídụ:
Tìmtấtcảcáccáccặpmáybaychiếnđấucủatavàđốiphươngcóthểtiếpcậnnhautron gvòng15kmvàtrảvề thờiđiểmsẽ xảy ra.
Nhìn chung, ngôn ngữ truy vấn truyền thống như SQL là không đủ để diễn tảcác truy vấn kiểu như vậy Cho dù đã có những nghiên cứu trong cộng đồng cơsởdữliệuvềngônngữtruyvấnkhônggianvàthờigian,nhưngnhữngnghiêncứunàyvẫnlàrời rạcvàvớicácứngdụngMODB,chúngcầnđượctíchhợplạiđểtrảlờitruyvấnmộtcáchchính xác.
Vấnđềvềlậpchỉmục
SốlượngcácđốitượngchuyểnđộngtrongCSDLcóthểrấtlớn(vídụnhưmôtảthànhphốv ớihàngtriệucưdânchuyểnđộng).Dovậy,hiệunănghệthốngkhi trả lời truy vấn cho mỗi đối tượng chuyển động cũng cần phải xem xét Nói cáchkhác, chúng ta cần phải lập chỉ mục cho thuộc tính vị trí Việc sử dụng cách lậpchỉ mục trực tiếp cho thuộc tính không gian như thông thường là không thể đượcdoviệcthayđổiliêntụcgiátrịcủathuộctínhnàysẽdẫnđếncũngphảilậplạichỉmụcchon ómộtcáchliêntục.Đâyrõrànglàmộtgiảiphápkhôngthểchấpnhận.
Vấnđềvềtínhkhôngchắcchắn/khôngchínhxác
Vị trí của đối tượng chuyển động về cơ bản là không chính xác bất kể chínhsách cập nhật vị trí của đối tượng vào CSDL Vị trí của đối tượng lưu trữ trongCSDL không phải luôn luôn trùng với vị trí thực tế của đối tượng Tính khôngchắc chắn vốn có này có ý nghĩa khác nhau cho mô hình cơ sở dữ liệu, truy vấnvà lập chỉ mục Ví dụ, với các truy vấn phạm vi, có thể có hai loại kết quả khácnhau cho câu trả lời Một loại là tập các đối tượng “CÓ THỂ” (MAY) thỏa mãnkết quả truy vấn và một loại là tập các đối tượng “CHẮC CHẮN” (MUST) thỏamãnkếtquảtruyvấn.Nhưvậynhữngngữnghĩakhácnhausẽđượcđưavàotrongtruyvấn.X emxéttruyvấnQ:“TìmtấtcảcácđốitượngnằmtrongđagiácP”.Vìsựkhôngchắcchắntrong cơsởdữliệuvịtrí,sẽcóthêmhaikiểungữnghĩatrongtruy vấn này là “CÓ THỂ” và “CHẮC CHẮN” Với ngữ nghĩa “CÓ THỂ”, câutrảlờilàtấtcáccácđốitượngmàcóthểnằmtrongP,nghĩalàbaogồmcảcácđốitượngmàkhoả ngkhôngchắcchắncógiaovớiP.Vớingữnghĩa“CHẮCCHẮN”,câutrảlờichỉbaogồmcácđốitư ợngmàchắcchắnnằmtrongP,nghĩalàchỉgồmcácđốitượngmàkhoảngkhôngchắcchắnnằ mhoàntoàntrongP(hình1.5).
Một cách tiếp cận khác là đưa vào xác suất mà đối tượng thỏa mãn kết quảtruyvấn.Khiđó,câutrảlờichotruyvấnQcóthểlà:đốitượngobject1nằmtrongP với xác suất là 0.4 (CÓ THỂ) còn đối tượngobject 2nằm trong P với xác suấtlà1(CHẮCCHẮN).
Dùtínhkhôngchắcchắnđãđượcnghiêncứurộngrãi,việcxâydựngmôhìnhmới với khả năng không gian-thời gian cho các đối tượng chuyển động vẫn cầnxem xét để tích hợp các giải pháp lại với nhau Thêm vào đó, các cách tiếp cậnhiệntạimàgiảiquyếttínhkhôngchắcchắnvớigiảthiếtrằngvàithôngtinkhôngchắc chắn có được liên kết với dữ liệu thô, lưu trữ trong CSDL hay không? Sựkhông chắc chắn ban đầu (khởi tạo) là như thế nào? Với các ứng dụng
Làmthếnàođểcânbằnggiữaviệcquátảicậpnhậtvàlỗikhôngchắcchắn/khôngchínhxác? Nên cập nhật thường xuyên vị trí của các đối tượng chuyển động ở mức độnàolàhợplý? Làmthếnàođểxửlýkhảnăngmộtđốitượngdichuyểnđãbịngắtkết nối và không thể gửi thông tin cập nhật vị trí? Như vậy, cần có một tập cáctính năng quan trọng được tích hợp, xây dựng và thích nghi cho các hệ quản trịCSDLquanhệhiệncóđểhỗtrợcơsởdữliệucácđốitượngchuyểnđộng.
Chương 1 đã giới thiệu các vấn đề cơ bản về cơ sở dữ liệu các đối tượng chuyểnđộng(MODB).MODBlàdạngthugọncủacơsởdữliệukhônggian-thờigian,trongđó chỉ quan tâm đến các điểm chuyển động mà không xét đến các đối tượng khác.MODBđangđượccáchãngcôngnghệ,trườngđạihọc,trungtâmnghiêncứulớntrênthế giới tập trung xây dựng, phát triển và hoàn thiện nhằm tiến tới thương mại hóatrongtươnglaigần.Cácvấnđềcòntồntạicần giảiquyếttrongcơsởdữliệucácđốitượngchuyểnđộngcũngđượctổnghợplại.Cácchươngtiếpth eonghiêncứusinhsẽtrìnhbàycácnghiêncứucủamình,gópphầngiảiquyếtmộtsốvấnđềnày.
Chương2 DỰĐOÁN VỊTRÍ CỦA ĐỐITƯỢNGCHUYỂN ĐỘNG
Trong chương này, nghiên cứu sinh sẽ trình bày hai phương pháp dự đoán vị trícủa đối tượng chuyển động, được đề xuất nhằm góp phần giải quyết vấn đề mô hìnhhóavịtrítrongcơ sởdữ liệucácđốitượngchuyểnđộng.
Vấn đề mô hình hóa dữ liệu vị trí đã được đặt ra từ lâu Cơ sở dữ liệu các đốitượng chuyển động có quá nhiều dữ liệu, do đó việc tổ chức chúng theo cách nào đóđể mà những thông tin liên quan có thể được lấy ra một cách hiệu quả là rất quantrọng.Hơnthế,dodữliệuthayđổirấtthườngxuyên,việcgiảmchiphícậpnhậtcũngrấtcầnthiế t.ChìakhóađểkhắcphụcvấnđềmôhìnhhóavịtrílàlàmchocácDBMScóthểdựđoánvịtrítươngla icủamộtđốitượngchuyểnđộng.Khiđốitượngchuyểnđộng cập nhật vào cơ sở dữ liệu, nó không chỉ cung cấp vị trí hiện tại, mà còn cả cácvị trí dự kiến trong tương lai Ví dụ, nếu DBMS biết tốc độ và các tuyến đường củamột đối tượng di chuyển, thì có thể tính toán vị trí của đối tượng đó ở bất kỳ điểmnào mà không cần các cập nhật bổ sung Một số nghiên cứu đã đưa ra khái niệm vềthuộctínhđộng,tứclàthuộctínhcógiátrịthayđổiliêntụctheothờigian,màkhôngđược cập nhật một cách rõ ràng Ví dụ, vị trí của một chiếc xe được biểu diễn bởithuộc tính động của nó bao gồm thông tin chuyển động (ví dụ, đi về phía đông, trênđường5,tốcđộ60km/giờ).Nóicáchkhác,môhìnhnàyđưaramộtmứcđộcaohơncủa trừu tượng hóa dữ liệu mà thông tin chuyển động của một đối tượng, chứ khôngchỉ là vị trí của nó, được biểu diễn như là một thuộc tính của đối tượng Rõ ràng cácthông tin chuyển động của một đối tượng có thể thay đổi Như vậy các thuộc tínhđộngcũngcầnđượccậpnhật,nhưngtronghầuhếtcáctrườnghợpnóítthườngxuyênthay đổi hơn nhiều so với vị trí của đối tượng Mô hình này đưa ra các cơ chế để kếthợp các thuộc tính động trong các mô hình dữ liệu và khả năng thêm được vào hệthốngxử lýtruyvấnhiệncó.
Thuộc tính động của một đối tượng là thuộc tính mà giá trị của nó thay đổi liêntụctheomộthàmphụthuộcthờigian.Kếtquảtrảlờicáctruyvấnliênquanđếnthuộc tínhđộngkhôngchỉphụthuộcvàonộidungcơsởdữliệumàcònphụthuộcvàothờiđiểm gọi thực hiện truy vấn Ngược lại, thuộc tính tĩnh của một đối tượng là thuộctính thông thường trong hệ quản trị cơ sở dữ liệu truyền thống, tức là nó chỉ thay đổikhimộtsự cậpnhậtrõràngtrongcơsởdữ liệuxảyra.
ThuộctínhđộngAđượcbiểudiễnbởicácthuộctínhphụ:updatevalue,updatetimevàfu nction Trong đófunctionlà hàm phụ thuộc đơn biến thời gian t vàcó giá trị 0 khi t=0 Giá trị của thuộc tính động phụ thuộc thời gian và được mô tảnhưsau:
Đến thời điểm cập nhật tiếp theo, giá trị của A tại thời điểmupdatetime+t 0 (t0là số thực dương) được gán bởiupdatevalue+function(t0) Mỗi khicập nhật, các giá trị thuộc tính phụ sẽ được điều chỉnh và có thể cả hàmthuộctínhphụkhicần.
Vớimộtđốitượngchuyểnđộng,cóthểmôhìnhhóathuộctínhvịtríLcủanóbởihai thuộc tính động L.xvà L.y(x, y mô tả tọa độ trên mặt phẳng hai chiều của vị tríL) Mỗi thuộc tính động này cóupdatevalue,updatetimevàfunctiontương ứng củađối tượng (có thể mở rộng thêm z trong không gian ba chiều) Đối tượng sẽ cập nhậtlại vị trí của nó khi tốc độ thay đổi. Với các đối tượng có thể di chuyển tự do trongkhông gian, không phải theo các tuyến đường cố định
(ví dụ như máy bay, tàu biển)cóthểsửdụngcáchnàyhiệuquả.Tuynhiênvớicácđốitượngdichuyểntheonhữngtuyến đường quanh co thì không hiệu quả vìfunctioncủa L.x và L.y sẽ cần cập nhậtliêntục.Đểgiảiquyếtvấnđềnàycóthểmởrộngkháiniệmthuộctínhđộngbaogồmcảthôngtin vềtuyếnđường(route)nhưsau Thuộctínhvịtrílàthuộctínhđộngbaogồm năm thuộc tính phụ làL.route, L.x.updatevalue, L.y.updatevalue, L.updatetimevà L.speed Trong đóL.routetrỏ đến đối tượng đường mô tả tuyến đường mà đốitượngđangdichuyển.L.x.updatevaluevàL.y.updatevaluelàcáctọađộx,ycủamộtđiểm nằm trên L.route Đó là vị trí của đối tượng chuyển động tại thời điểmL.updatetime(thờiđiểm cậpnhậtcuốicùng).L.speedlàhàm tuyếntínhcódạngf(t)
=v* t Hàm này xác định bởi vận tốcvcủa đối tượng chuyển động Và nó cho biếtkhoảng cách hiện tại từ vị trí bắt đầu như là một hàm phụ thuộc thời gian t trôi quakể từ thời điểm L.updatetime Vị trí tại thời điểm L.updatetime+ t là điểm (x, y) mànằm trên tuyến đường L.routevới khoảng cách L.speed* t từ điểm có tọa độ(L.x.updalevalue,L.y.updalevalue).
Về cơ bản, cách giải quyết vấn đề của thuộc tính động là dự đoán được vị trí củađối tượng chuyển động nhằm giảm thiểu việc cập nhật quá thường xuyên vị trí củachúngmàthườngdẫnđếngiảmmạnhhiệunăngcủahệthốngCSDL. Đãcókhánhiềunghiêncứuvềdựđoánvịtrícủađốitượngchuyểnđộng.Mộtsốtập trung theo hướng hàm chuyển động [33], [34], số khác lại theo lô-gíc mờ [47],xácxuấtthốngkê[5], [19]haykếthợpnhiềuphươngphápkhácnhau[15],[23].
Phầntiếptheodướiđây,nghiêncứusinhsẽtrìnhbàyhaiphươngphápvềdựđoánvị trí của đối tượng chuyển động Phương pháp thứ nhất là dự đoán vị trí theo hàmchuyểnđộng.Ưuđiểmcủaphươngphápnàylàxửlýnhanhchóng,chophépdựđoánđược vị trí ở gần thời điểm hiện tại Tuy nhiên, với những truy vấn ở xa thời điểmhiệntạithìphươngphápnàylạitỏrakhônghiệuquả.Chínhvìvậy,phươngphápthứhai là dự đoán theo hành vi của đối tượng được sử dụng Phương pháp này tiếp cậntheohướngsửdụngkhaipháluậtkếthợpcủacácmẫuhìnhdichuyểncủađốitượng,khắc phục được nhược điểm của phương pháp thứ nhất là cho phép dự đoán được vịtríởnhữngthờiđiểmxahiệntạivớiđộchínhxáctươngđốicao.Kếthợphaiphươngphápnàysẽđe mlạihiệuquảtốthơnchotruyvấntrongtoànhệthống.
Dựđoánvịtrícủađốitượngdựatheohàmchuyểnđộng
Dựđoándựatheohàmtuyếntính
Chomộtđốitượngcóvịtríl 0tại thờiđiểmt 0có vậntốcv 0 Môhìnhchuyểnđộngtuyếntínhs ẽdựđoánvịtrícủađốitượngtạithờiđiểmt qb ở i biểuthức: l(t q )=l 0 +v 0 * (t q -t 0 ) (2-1) trongđólvàvlàcácvéc-tơnchiều.
Với mô hình tuyến tính, việc tính toán vị trí của đối tượng chuyển động ởthời điểm tiếp theo rất nhanh chóng Tuy nhiên, với nhiều bài toán thực tế,độchính xác này thường không cao do đối tượng có thể di chuyển trong mạnglưới giao thông đô thị phức tạp và có rất nhiều yếu tố ảnh hưởng đến véc tơvậntốc(cảđộlớnvàhướng)củađốitượng.
Dựđoándựatheohàmphituyến
Trong thực tế, chuyển động của các đối tượng thường là phi tuyến. Trongmô hình phi tuyến, chuyển động của đối tượng được biểu diễn bởi các hàmtoán học phức tạp hơn vì vậy độ chính xác dự đoán sẽ cao hơn mô hình tuyếntính Tuy nhiên, việc thường áp dụng mô hình tuyến tính cho chuyển độngtrong thực tế được lý giải theo hai cách: (i) thứ nhất là để tránh sự phức tạpcủamôhìnhchuyểnđộngphituyến,đồngthờichophépphântích mộtsốvấnđề của bài toán không gian-thời gian mà nếu không áp dụng thì sẽ trở thànhrất khó giải quyết, (ii) thứ hai là sử dụng phân đoạn tuyến tính thông minh(piece-wise line segments) có thể xấp xỉ bất kỳ chuyển động phi tuyến nàothành tuyến tính Tuy nhiên khi sử dụng phương pháp phân đoạn tuyến tínhthôngminhnàysẽdẫnđếndựđoánsaitrongrấtnhiềutrườnghợp.Hình2.1 dướiđâymôtảsựbấtcậpcủadựđoántuyếntínhkhidùngphươngphápphânđoạntuyếntí nhthôngminh.
Trong hình này, đường cong đen đậm biểu diễn đường di chuyển thực tếcủa đối tượngOvới 6 thời điểm cập nhật vị trí (các điểm đen), bắt đầu từ vịtrí o(0) Xem xét truy vấn tại thời điểm 1 dự đoán vị trí củaOtại 4 thời điểmsauđó,vớiphươngphápdựđoántheohàmtuyếntínhlầnlượtlà4điểmtrắngtrênđườ ngthẳngthứnhất(tínhtoántheovịtrío(0)vào(1)).Tươngtựvớitruyvấntạithờiđiểm2(tínht oántheovịtrío(1)vào(2)).Vìvậycóthểthấyrằng,cho dù phân đoạn tuyến tính thông minh có thể xấp xỉ đường cong bởi cácđường thẳng những không thể áp dụng hiệu quả trong truy vấn dự đoán vị trí,đặcbiệtlàởtươnglaixa.Hơnnữa,cũngcầnlưuýrằngcácđốitượngcầnphảicập nhật lại sau mỗi thời điểm nhất định để phản hồi lại việc thay đổi hướngđiliêntục.
Thuậtngữkiểuchuyểnđộnghaymẫuhìnhdichuyểnđượcsửdụngđểbiểuthịcácdạngc hungcủahàmchuyểnđộng(vídụ:kiểutuyếntính,kiểubậchai,kiểutròn)màkhôngphụth uộcvàocácthamsốcụthểcủanó(xemthêmphần2.2.3) Ví dụ như hai đối tượng chuyển động kiểu tuyến tính theo cùng mộtmẫu hình cho dù hướng hay vận tốc của nó khác nhau Những nỗ lực để giảiquyết vấn đề trên là để áp dụng cho những kiểu chuyển động phức tạp hơn.Chẳnghạncóthểbiểudiễnchuyểnđộngcủa đốitượngdướidạngp h ư ơn g trỡnhbậchaio(t)=o(to)+vo(t−to)+ẵao(t−to)2,trongđúvovàaolầnlượtlàvộctơvận tốc và gia tốc của đối tượngO Phương trình này có tính ứng dụng caohơn nhưngvẫnkhôngthểbiểudiễnđượcchuyểnđộngcongnhưvídụở hình
2.1.Và cho dù có tồn tại một hàm mô tả đường cong riêng biệt nào đó, vẫnkhôngthểbiểudiễnđượccácđốitượngkháctronghệthốngdochúngchuyểnđộng theo những mô hình hoàn toàn khác nhau Nói chung, nỗ lực xây dựngmộthàmchuyểnđộngtổngquátchotấtcảcácloạichuyểnđộnglàphithựctế.
GọiOlà đối tượng có kiểu chuyển động chưa xác định Giả sử đã cóhvịtrí thực tế gần đây nhất củaO, mục tiêu của chúng ta là xác định hàm chuyểnđộng củaOmà đường biểu diễn của nó đi qua chính xác tất cả các vị trí nàyvàđồngthờicóthểdựđoánquỹđạotiếptheotrongtươnglaicủaObằngcáchsửdụngcá cchuyểnđộngmẫuđãbiết(chuyểnđộngthẳngvớivậntốccốđịnh,chuyểnđộngcógiatốc(n hanh/chậmdầnđều),chuyểnđộngcong…).
Dù quỹ đạo chuyển động của các đối tượng là rất khác nhau, nhưng vị trícủachúngvẫncóthểdựđoántừnhữngvịtrítrướcđótrongquákhứ.Điềunàycó thể thấy rõ ràng nhất trong chuyển động thẳng với vận tốc không đổiv. Vịtrío(t)củađốitượngOcóthểxácđịnhnhưsau: o o (t)=o o (t−1)+[o o (t−1)−o o (t−2)]=2o o (t−1)−o o (t−2) (2-2)
Lưuýlào o (t−1)−o o (t−2)xácđịnhchínhxácvậntốcv.Cóthểthấyrằngvớisố lượng lớn các kiểu chuyển động, vị trío o (t)có thể biểu diễn bởi một hàmtuyến tính của các vị trí trước đóo o (t−1),o o (t−2),… Xem xét tiếp hai kiểuchuyểnđộngmẫuđãbiếtkháclàchuyểnđộngcógiatốcvàchuyểnđộngtròn.
Xemxétchuyểnđộngcógiatốcbiểudiễnbởihàmsốsau: o(t) = o(to) + vo(t−to) + ẵ ao(t−to)2trongđó:o ( to)làvịtrícủaotạithờiđiểmto, vol àvéctơvậntốctạithờiđiểmtov àaol àgiatốc.Hàmchuyểnđộ ngnàycóthểdễdàngviếtlạitheodạngsau: o(t)=c0+ c1*t + c2*t2 trong đó: c0, c1, c2là các véc tơ hằng sốn×1(chiều) vớinlà số chiều củakhônggiandữ liệu. Ápdụngtạithờiđiểm(t-1)tacó: o(t-1)=c0+c1*(t-1)+c2*(t-1)2 Lấyhiệutrêncảhaivếcủahaibiểuthứctrêntaloạiđượcc0v àcó: o(t)-o(t−1)=c1+2c2 *t–c2
Tươngtự,tiếptụcvớio(t-1)vào(t-2),taloạiđượcc1v àcó:
Nhìn chung, có thể dễ dàng xác định rằng bất kỳ hàm chuyển động dạngđa thứcDnào cũng có thể chuyển đổi về dạng tuyến tính lặp sauD+1 bướclấyhiệunhư trên.
Xét đối tượngOchuyển động đều trên đường tròn có tâm (c1, c2) và bánkínhrvới vận tốc gócw Các tọa độ o(t).x1và o(t).x2tại thời điểm t được xácđịnhbởi: o(t).x1= c1+ r*cos(ω*t)o(t).x2=c2+r*sin
Dựa trên những kết quả của biểu thức (2-2), (2-3) và (2-4) này có thể rútrahàmchuyểnđộngđệquynhư sau: o(t)=C1*o(t−1)+C2*o(t−2)+…+Cf*o(t−f) (2-5) trongđóCi(1≤i≤f)làmatrậnhằngsốn×nchiềuvàflàthamsốhệthống(retrospect) Biểu thức (2-5) hiệu quả hơn nhiều so với các hàm chuyển độngthôngthườngvìnóbiểudiễnmộtlượnglớncáckiểuchuyểnđộngđơngiảnvàphứctạp(n hờsựkhácnhaucủaCi),baogồmcảchuyểnđộngđathức,chuyểnđộngconghìnhtròn,êlíp haybầudục…
Rõràng,khảnăngbiểudiễncủabiểuthứcnàycàngtăngkhiftăng.Vớifbằng5cóthểmôhình hóatươngđốichínhxáchầuhếtcácloạichuyểnđộngtrongthựctế[41].
Biểu thức (2-5) trên có thể tổng quát thành dạng hàm chuyển động đệ quyRMF (Recursive Motion Function) Sử dụng RMF là phương pháp dự đoánkhá chính xác Phương pháp này biểu diễn vị trílcủa đối tượng tại thời điểmt(kýhiệul t )dướidạngbiểuthứctoánhọcnhưsau: ƒ
(2-6) trong đóc i là ma trận hệ số vàflà số tối thiểu các vị trí gần nhất để tínhđượccácphầntử củatấtcảc i
Xét một đối tượngOtrong không giannchiều Tại thời điểm tivà ti+1(0
Dù có nhiều điểm nổi bật nhưng RMF vẫn có những hạn chế Trước hếtRMF chỉ hiệu quả trong việc truy vấn dự đoán vị trí ở tương lai gần Với truyvấnởnhữngthờiđiểmxahiệntạiđộchínhxácgiảmđinhanhchóng.Thứhaingay cả trong tương lai gần phương pháp này cũng khó dự đoán chính xácđược những trường hợp thay đổi hướng một cách đột ngột (rẽ, quay đầu…).Tuynhiên,vớilớpbàitoánquảnlýthôngtinđốitượngchuyểnđộng,độchínhxác không cần quá cao và nghiêng về tăng tốc độ tính toán để phản hồi chongười sử dụng hay ra quyết định nhanh chóng Có một số kỹ thuật dự đoántheohàmchuyểnđộngđệquyhayđượcsửdụngnhưSMAvàEWMA.Chúngsửdụn gcácvịtrítrongquákhứcủađốitượngđểxácđịnhvéctơdịchchuyển,từ đó dự đoán vị trí của đối tượng ở các thời điểm tiếp theo SMA và EWMAcòn được sử dụng để phát hiện đối tượng chuyển động [62] hay dự đoán biếnđộng trong lĩnh vực tài chính, chứng khoán… Phần tiếp theo dưới đây sẽ giớithiệu ngắn gọn về SMA, EWMA và kỹ thuật đề xuất của nghiên cứu sinh làW-EWMAnhằmtăngtốcđộtínhtoánchothuậttoándựđoán. a Kỹthu td ật ựcộng đoántheotrungbình đ ngđ ngi n ộng ơ ản -SMA
Kỹ thuật dự đoán theo trung bình động đơn giản - SMA (Simple MovingAverage) sử dụng các vị trí trong quá khứ của đối tượng để xác định véc tơdịch chuyển Theo kỹ thuật này, mỗi i,k có thể tính bằng cách lấy trung bìnhcủatấtcảcác j,kở cácthờiđiểmtrước.Biểuthứctính i,k như sau:
Kỹthuậtnàychophépdựđoánđượcvịtríđốitượngtrongtươnglaigần.Vớithời điểmtrongtươnglaicàngxathờiđiểmhiệntạithìcàngkémchính xác vì chưa cập nhật được các giá trị j,k thực tế trong tương lai gần mà chỉ cóđược qua tính toán bởi công thức trên Hơn nữa, kỹ thuật này đòi hỏi khốilượng tính toán ngày càng lớn khi giá trịingày càng tăng theo thời gian. ĐộphứctạpthuậttoánlàO(n 2 ). b Kỹthu t ật d ựcộng đoántheotrungbìnhđ ng ộng tr ngs mũ-EWMA ọngsốmũ-EWMA ối
Với kỹ thuật dự đoán dựa trên trung bình động đơn giản ở trên, các j,k đềucómứcđộưutiênnhưnhauchodùgiátrịthayđổinàyđượctínhbởivịtrícủađối tượng cách thời điểm hiện tại vài giờ đồng hồ Dễ dàng nhận thấy rằngtrongthựctế,vịtríhiệntạigầnnhưkhôngphụthuộchoặcphụthuộcrấtítvàogiátrịthay đổiởthờiđiểmquáxanày.Kỹthuậtdựđoántheotrungbìnhđộngtrọng số mũ - EWMA được áp dụng để giải quyết vấn đề này EWMA dựatrênnguyênlýđơngiảnlàđộchínhxáctrongviệcdựđoánvịtrítươnglaicủađốitượng
Ophụthuộcnhiềuhơnvàocácdữliệuvịtrígầnhiệntại,cácdữliệuvị trí càng xa thời điểm hiện tại thì mức độ ảnh hưởng càng ít Kỹ thuật nàychophépgiảmsaisốdựđoánnhờsửdụngtrọngsốchocácdữliệuquákhứ.
EWMA (Exponentially Weighted Moving Average) là một loại bộ lọc sửdụng trọng số giảm theo cấp số nhân (hàm mũ) Trọng số cho dữ liệu càng xamốcbanđầucànggiảmmạnh(tiếntới0).ÁpdụngbộlọcEWMAvàokỹthuậtnày,mỗi j,kđư ợc gántrọngsốαi-jtươngứng(với0