اندازه¬گیری میزان تشابه مسیرهای جهت¬دار بر روی داده¬های هندسی
محورهای موضوعی :
1 - استادیار
2 - دانشجو
کلید واژه: ساختمان داده, فاصله فرشه, فاصله هاسدورف, تشابه, مسیر جهتدار ,
چکیده مقاله :
در این مقاله به بررسی مسئله تشابه زیر در حوزه فاصله فرشه می پردازیم. یک مسیر جهتدار به عنوان ورودی و یک پارهخط افقی که در لحظه پرسوجو توسط کاربر ارائه میشود، داده شده اند، هدف پیشپردازش و ذخیره مسیر جهتدار در یک ساختمان داده است به طوری که با توجه به اطلاعات ذخیره شده در ساختمان داده بتوان زیرمسیری از مسیر جهتدار را گزارش کرد که فاصله فرشه میان زیرمسیر گزارششده و پارهخط افقی بین تمام زیرمسیرهای ممکن مینیمم باشد. تا آنجایی که ما اطلاع داریم هیچگونه نتیجه تئوری برای این مسئله گزارش نشده است. در این مقاله اولین الگوریتم ابتکاری برای مسئله ارائه شده است و به دلیل عدم ارائه الگوریتمی برای حل این مسئله در گذشته، صرفاً کیفیت الگوریتم ارائه شده بر روی چند پایگاه داده بررسی میگردد.
We consider the following similarity problem concerning the Fréchet distance. A directed path π is given as input and a horizontal segment Q is defined at query time by the user. Our goal is to preprocess and save the directed path π into a data structure such that based on the information saved in the data structure, one sub-path of the directed path can be reported which Fréchet distance between the sub-path and the horizontal query segment Q is minimum between all possible sub-paths. To the best of our knowledge, no theoretical results have been reported for this problem. In this paper, the first heuristic algorithm is proposed. We only experimentally show the quality of the algorithm in several datasets due to no existing algorithm.
Felix Hausdorff. Grundzuge der mengenlehre, 1949
[2] Helmut Alt. The computational geometry of comparing shapes. In Efficient Algorithms, volume 5760 of Lecture Notes in Computer Science, pages 235–248, 2009.
[3] Paolo Cignoni, Claudio Rocchini, and Roberto Scopigno. Metro: measuring error on simplified surfaces. In Computer graphics forum, pages 167–174, 1998
[4] Maurice Fréchet. Les ensembles abstraits et le calcul fonctionnel. Rendiconti del Circolo Matematico di Palermo, pages 1-26, 1910.
[5] Helmut Alt and Michael Godau. Measuring the resemblance of polygonal curves. In Proceedings of the eighth annual symposium on Computational geometry, pages 102–109, 1992.
[6] Helmut Alt and Michael Godau. Computing the Fréchet distance between two polygonal curves. International Journal of Computational Geometry & Applications, pages75-91, 1995.
[7] E Sriraghavendra, K Karthik, and Chiranjib Bhattacharyya. Fréchet distance based approach for searching online handwritten documents. In Ninth International Conference on Document Analysis and Recognition, pages 461-465, 2007.
[8] Mark de Berg, Atlas F Cook, and Joachim Gudmundsson. Fast Fréchet queries. Computational Geometry, pages 747–755, 2013
[9] Joachim Gudmundsson and Michiel Smid. Fréchet queries in geometric trees. In European Symposium on Algorithms, pages 565–576. Springer, 2013
[10] Anne Driemel and Sariel Har-Peled. Jaywalking your dog: computing the Fréchet distance with shortcuts. SIAM Journal on Computing, pages 1830-1866, 2013
[11] Mark de Berg and Ali D Mehrabi. Straight-path queries in trajectory data. Journal of Discrete Algorithms, pages 27–38, 2016.
[12] Mark de Berg, Ali D Mehrabi, and Tim Ophelders. Data structures for Fréchet queries in trajectory data. In Proceedings of the 29th Canadian Conference on Computational Geometry (CCCG 2017), pages 214-219, 2017.
[13] Maike Buchin, Ivor van der Hoog, Tim Ophelders, Rodrigo I Silveira, Lena Schlipf, and Frank Staals. Improved space bounds for Fréchet distance queries. In Proceeding of the 36th European Workshop on Computational Geometry, pages 1-7, 2020.
[14] Joachim Gudmundsson, Majid Mirzanezhad, Ali Mohades, and Carola Wenk. International Journal of Computational Geometry & Applications, pages 161-187, 2019
[15] Mark de Berg, Joachim Gudmundsson, and Ali D Mehrabi. A dynamic data structure for approximate proximity queries in trajectory data. In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pages 1-4,2017
[16] Julian Baldus and Karl Bringmann. A fast implementation of near neighbors queries for Fréchet distance (GIS cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pages 1-4, 2017.
[17] Matteo Ceccarello, Anne Driemel, and Francesco Silvestri. Fresh: Fréchet similarity with hashing. In Workshop on Algorithms and Data Structures, pages 254–268, 2019.
[18] Fabian Dütsch and Jan Vahrenhold. A filter-and-refinement-algorithm for range queries based on the Fréchet distance (gis cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pages 1–4, 2017
[19] Yanping Chen, Eamonn Keogh, Bing Hu, Nurjahan Begum, Anthony Bagnall, Abdullah Mueen, and Gustavo Batista. The UCR time series classification archive, July 2015.http://www.cs.ucr.edu/eamonn/time_series_data.
[20] Joachim Gudmundsson and Michiel Smid. Fast algorithms for approximate Fréchet matching queries in geometric trees. Computational Geometry, pages 479-494, 2015
[21] Bahram Sadeghi Bigham, and Samaneh Mazaheri. Survey on Metrics for Shape Matching Based on Similarity, Scaling and Spatial Distance. In The 7th International Conference on Contemporary Issues in Data Science, pages 13-23, 2017
دو فصلنامه علمي فناوري اطلاعات و ارتباطات ایران | سال دوازدهم، شمارههاي 45 و 46، پاییز و زمستان 1399 صص: 145-158 |
|
اندازهگیری میزان تشابه مسیرهای جهتدار بر روی دادههای هندسی
زینب سعیدی* محمد فرشی**
* دانشجوی دکتری، گروه علوم کامپیوتر، دانشکده علوم ریاضی، دانشگاه یزد
** استادیار، گروه علوم کامپیوتر، دانشکده علوم ریاضی، دانشگاه یزد
تاریخ دریافت: 100/06/1399 تاریخ پذیرش: 20/10/1399
نوع مقاله: پژوهشی
چكیده
در این مقاله به بررسی مسئله تشابه زیر در حوزه فاصله فرشه میپردازیم. یک مسیر جهتدار به عنوان ورودی و یک پارهخط افقی که در لحظه پرسوجو توسط کاربر ارائه میشود، داده شدهاند، هدف پیشپردازش و ذخیره مسیر جهتدار در یک ساختمان داده است بهطوریکه با توجه به اطلاعات ذخیره شده در ساختمان داده بتوان زیرمسیری از مسیر جهتدار را گزارش کرد که فاصله فرشه میان زیرمسیر گزارششده و پارهخط افقی بین تمام زیرمسیرهای ممکن مینیمم باشد. تا آنجایی که ما اطلاع داریم هیچگونه نتیجه تئوری برای این مسئله گزارش نشده است. در این مقاله اولین الگوریتم ابتکاری برای مسئله ارائه شده است و به دلیل عدم ارائه الگوریتمی برای حل این مسئله در گذشته، صرفاً کیفیت الگوریتم ارائه شده بر روی چند پایگاه داده بررسی میگردد.
واژگان کلیدی: ساختمان داده، فاصله فرشه، فاصله هاسدورف، تشابه، مسیر جهتدار
1. مقدمه
توصیف عددی دور بودن دو شی از هم فاصله نامیده میشود. در ریاضیات، تابع فاصله یا متر، تعمیمی از مفهوم فاصله فیزیکی است. متر، یک راه برای توصیف مفهوم نزدیک یا دور بودن عناصر یک فضا از هم است. اندازهگیری همسانی بین دو شی هندسی، یک مسئله اساسی در زمینههای بسیاری از علوم و مهندسی میباشد. برای مهیا کردن چنین مقایسههایی، یک معیار خوب برای فرمولبندی میزان تشابه یا همسانی لازم میباشد.
نویسنده مسئول: محمد فرشی mfarshi@yazd.ac.ir
فاصله هاسدورف یک ابزار برای اندازهگیری میزان تشابه بین دو منحنی است. این فاصله برای اولین بار توسط فلیکس هاسدورف1 در سال 1914 میلادی در کتابش معرفی شد [1]. در سال 2009، آلت2 نشان داد که فاصله هاسدورف میان دو چندضلعی با و رأس در زمان قابل محاسبه است. یکی از کاربردهای فاصله هاسدورف در گرافیک کامپیوتری برای اندازهگیری تفاوت بین دو دید مختلف از یک شی میباشد [3] [2]. فاصله هاسدورف به صورت غیر رسمی برابر با ماکزیمم فاصله بین دو نقطه از دو منحنی است زمانی که هر نقطه از یک منحنی به نزدیکترین نقطهاش در منحنی دیگر نگاشت گردد. یکی از مزیتهای فاصله هاسدورف این است که به آسانی قابل توصیف است. فاصله هاسدورف جهتدار از منحنی به منحنی به صورت زیر تعریف میشود:
(1) |
|
فاصله هاسدورف بین و نیز به صورت زیر تعریف میشود:
(2) |
|
فاصله فرشه توسط موریس رنه فرشه3 در سال 1906 میلادی معرفی شد [4[. یک مطالعه پایه روی ویژگیهای محاسباتی فاصله فرشه توسط آلت و گوداو4 در سال 1992 انجام شد [5]. آنها الگوریتمی ارائه دادند که فاصله فرشه بین دو چندضلعی را در زمان محاسبه میکند که و تعداد رئوس چندضلعیها هستند. در سال 1995، آلت و گوداو نشان دادند که فاصله فرشه بین دو چندضلعی در زمان قابل محاسبه است و تا کنون هم نتیجه بهتری گزارش نشده است[6]. فاصله فرشه دارای کاربردهای متنوعی از جمله تشخیص گفتار، تشخیص امضا و تشخیص دستخط است[7[.
فاصله فرشه به طور غیررسمی به صورت زیر تعریف میشود. یک شخص و سگش را در نظر بگیرید به گونهای که سگ با یک قلاده به صاحبش وصل شده است. هر کدام از این دو روی یک مسیر جهتدار (منحنی) از نقطه ابتدایی آن تا انتهایش در حال حرکت میباشند. هر دوی آنها اجازه دارند که سرعت خود را کنترل کنند اما نمیتوانند به عقب برگردند. هزینه هر پیادهروی برابر با حداکثر طول قلادهای است که شخص را به سگش وصل میکند. پیادهرویهای متفاوت هزینهی متفاوت دارند. فاصله فرشه برابر با هزینه پیادهروی است که دارای هزینه مینیمم در بین تمام پیادهرویهای ممکن است.
فاصله فرشه بین منحنی و بهصورت زیر تعریف میشود:
(3) |
|
کهفاصله اقلیدسی را نشان میدهد و یک تابع پیوسته غیرنزولی است که هر نقطه را به نقطه در نگاشت میکند. تحت نگاشت ، نقطه شروع به نقطه شروع نگاشت میشود که مطمئن باشیم دو تا منحنی در یک جهت پیموده میشوند. مزیت فاصله فرشه نسبت به معیارهای دیگر این است که فاصله فرشه ترتیب نقاط در امتداد منحنیها را رعایت میکند.
دسته جالبی از مسائل که در حوزه فاصله فرشه مطرح میشود، ارائه ساختمان داده کارآمد برای مسائل پرسوجوی فرشه است. به این صورت که یک مسیر جهتدار داده شده است. میخواهیم با انجام یک پیشپردازش آن را در یک ساختمان داده ذخیره کنیم به صورتی که با توجه به اطلاعات ذخیره شده در ساختمان داده بتوانیم فاصله فرشه میان مسیر جهتدار و هر پارهخطی که در زمان پرسوجو داده میشود را محاسبه کنیم و یا تعداد زیرمسیرهایی را شمارش کنیم که فاصله فرشه آنها از پارهخطی که در زمان پرسوجو داده میشود، کوچکتر یا مساوی مقدار آستانه مشخص شده در زمان پرسوجو باشد.
دی برگ5 و همکارانش در سال 2013 مسئله پرسوجوی فرشه در مسیر جهتدار را مورد بررسی قرار دادند. آنها برای سادهتر کردن مسئله، پرسوجو را به صورت پارهخط افقی در نظر گرفتند و تعداد زیرمسیرهایی که فاصله فرشه آنها از پارهخط افقی داده شده حداکثر برابر است را شمارش کردند[8]. ساختمان دادهای که توسط دی برگ و همکارانش ارائه شد، این مسئله را به صورت تقریبی حل میکند. این ساختمان داده، علاوه بر تمام زیرمسیرهایی با فاصله ، شامل تعدادی زیرمسیر اضافه است که فاصله فرشه آنها از پارهخط داده شده حداکثر برابر با است. آنها فرض کردند که طول پارهخط داده شده در پرسوجو حداقل است و مسئله را در دو حالت بررسی کردند. الف) حالتی که از قبل مشخص است. ب) حالتی که جزء پرسوجو است و از قبل مشخص نمیباشد. آنها با طراحی یک ساختمان داده چندسطحی با زمان پیشپردازش و فضای ذخیرهسازی حالت (الف) مسئله را حل کردند که تعداد رئوس مسیر است و s پارامتری است که بین و قرار دارد. زمان پاسخ به پرسوجو است. با افزایش زمان پیشپردازش به میتوان مسئله را در حالت (ب) حل کرد. فضای ذخیرهسازی و زمان پاسخ به پرسوجو نسبت به حالت (الف) تغییری نمیکند.
گودموندسون6 و اسمید7 در سال 2013 مسئله پرسوجوی فرشه در درخت هندسی (درختی که بر روی یک مجموعه از نقاط در صفحه ساخته شود) را مورد بررسی قرار دادند[9[. درخت و مقدار را به عنوان ورودی داریم. پرسوجو به صورت مسیر در نظر گرفته شده است. آنها در پی یافتن ساختمان دادهای برای ذخیره کردن درخت بودند که بتواند در زمان پرسوجو مشخص کند آیا درخت شامل مسیری مانند است که فاصله فرشه آن از مسیر داده شده در پرسوجو کمتر از باشد. آنها مسئله را در حالتی که درخت به صورت -بستهبندی (درختی که کل طول قرار گرفته از آن داخل هر دیسک حداکثر برابر شعاع دیسک باشد) است و طول هر کدام از یالهای درخت و مسیر داده شده در پرسوجو از است، بررسی کردند. ساختمان داده ارائه شده دارای زمان ساخت و فضای ذخیرهسازی است و برای مسیر داده شده در پرسوجو با رأس میتواند در زمان پاسخ آری یا نه را بدهد. اگر ساختمان داده پاسخ نه بدهد، حتماً مسیری در وجود نداشته است که فاصله آن از کمتر از باشد. اگر پاسخ آری بدهد و باشد، به این معنی است که مسیری در وجود دارد که فاصله فرشه آن از حداکثر برابر با
است. اگر پاسخ آری بدهد و باشد، به این معنی است که مسیری در وجود دارد که فاصله فرشه آن از حداکثر برابر با است. یعنی در حالت آری پاسخ تقریبی خواهیم داشت. آنها در سال 2015 [18] ضریب را از کران بدست آمده برای حالتی که است، حذف کردند و نتیجه بهتری را بدست آورند. اما برای حالت کران بدست آمده جدید برابر با است.
دریمل8 و هارپلد9 در سال 2013 مسئله پرسوجوی فرشه با کمک یال میانبر را بررسی کردند. آنها ساختمان دادهای ارائه کردند که میتواند دو مسئلهای که در ادامه مطرح میشود را حل کند[10[.
• منحنی که دارای رأس است را به عنوان ورودی داریم. پرسوجو، منحنی شامل رأس و رئوس و است. هدف، ذخیره منحنی در یک ساختمان داده است به صورتی که بتوانیم به ازای هر ، و که در پرسوجو داده میشود، فاصله فرشه میان زیرمنحنی از که بین و قرار دارد و منحنی را محاسبه کنیم. ساختمان داده ارائه شده دارای زمان ساخت و فضای ذخیرهسازی است. زمان پاسخ به پرسوجو است. ساختمان داده ارائه شده، فاصله فرشه تقریبی با ضریب تقریب ثابت 23 را محاسبه میکند.
• منحنی داده شده در پرسوجو را به صورت پارهخط افقی در نظر میگیرد. ساختمان داده ارائه شده دارای زمان ساخت و فضای ذخیرهسازی است که
. ساختمان داده ارائه شده در زمان فاصله فرشه میان زیرمنحنی از که بین و قرار دارد و پارهخط افقی را با ضریب تقریب محاسبه میکند.
دی برگ و مهرابی در سال 2015 مسئله یافتن زیرمسیرهای مستقیم در مسیر جهتدار را بررسی کردند. آنها دو معیار متفاوت برای مستقیم بودن ارائه کردند و با توجه به آن دو تعریف، مسئله را بررسی کردند. معیار اول، ضریب کشش و معیار دوم انحراف جهت است. با توجه به این دو معیار ساختمان دادههای زیر طراحی شده است[11].
• ضریب کشش: مسیر جهتدار و مقدار را به عنوان ورودی داریم. در پرسوجو دو مکان و که به ترتیب نشان دهنده نقطه شروع و نقطه پایان است، داده میشود. هدف گزارش تمام زیرمسیرهایی از است به صورتیکه نقطه شروع و پایان آن به ترتیب و باشد و ضریب کشش آن حداکثر باشد. آنها صفحه را به سلولهای مربعی تقسیمبندی کردند. به عبارتی صفحه را به صورت مشبکه در نظر گرفتند. ساختمان داده ارائه شده نیازمند فضای ذخیرهسازی است که در زمان مورد انتظار ساخته میشود و تعداد رئوس مسیر جهتدار و تعداد کل زیرمسیرهای جهتدار با شرایط ذکر شده است.
• انحراف جهت: مسیر جهتدار و مقدار را به عنوان ورودی داریم. در پرسوجو دو مکان و که به ترتیب نشان دهنده نقطه شروع و نقطه پایان است، داده میشود. هدف گزارش تمام زیرمسیرهایی از است که نقطه شروع و پایان آنها به ترتیب و هستند و انحراف جهت آن حداکثر باشد که انحراف جهت مقدار بیشینه زاویه بین هر دو پارهخط متوالی مسیر جهتدار است. آنها صفحه را به سلولهای مربعی تقسیمبندی کردند. به عبارتی صفحه را به صورت مشبکه در نظر گرفتند. ساختمان داده ارائه شده نیازمند فضای ذخیرهسازی است که در زمان ساخته میشود و تعداد رئوس مسیر جهتدار و تعداد کل زیرمسیرهای جهتدار با شرایط ذکر شده است.
مسئلهی دیگری که در سال 2017 توسط دی برگ و همکارانش مورد بررسی قرار گرفته است، محاسبه فاصله فرشه میان مسیر جهتدار و پرسوجو ورودی که به صورت پارهخط افقی فرض شده است، میباشد[12]. هدف طراحی ساختمان دادههایی که برای مسیر بتوانند برای هر پارهخطی که به عنوان پرسوجو داده میشود، فاصله فرشه میان پارهخط و مسیر جهتدار را به صورت دقیق محاسبه کنند. آنها ساختمان دادهای ارائه دادند که فاصله فرشه میان مسیر جهتدار را از هر پارهخط داده شده در پرسوجو با زمان پیشپردازش و فضای ذخیرهسازی و زمان پرسوجوی محاسبه میکند. دی برگ و همکارانش ساختمان داده دیگری طراحی کردند که فاصله فرشه میان زیرمسیری که توسط دو رأس داده شده در پرسوجو مشخص میشود و هر پارهخط دلخواهی که در زمان پرسوجو داده میشود را محاسبه کند. زمان پیشپردازش ساختمان داده ارائه شده و پیچیدگی فضای است. زمان پاسخ به پرسوجو برابر با است.
بوخین و همکارانش در سال 2020 فضای ذخیرهسازی ساختمان داده برای محاسبه فاصله فرشه میان مسیر جهتدار و پارهخط افقی داده شده در پرسوجو را به کاهش دادند[13[.
گودموندسون و همکارانش در سال 2017 مسئله پرسوجوی فرشه برای منحنی با طول یالهای طویل را مورد بررسی قرار دادند. ورودی مسئله منحنی شامل رأس است[14]. طول کوتاهترین یال منحنی است. در پرسوجو، منحنی با رأس و مقدار داده میشود. طول کوتاهترین یال منحنی است. منحنی و دارای یالهایی با شرط و هستند. شرطها در واقع نشان دهنده این هستند که مسئله برای منحنی با طول یالهای طویل است. هدف، مشخص کردن این است که فاصله فرشه میان و حداکثر مقدار است یا نه. گودموندسون و همکارانش ساختمان دادهای ارائه کردند که با زمان پیشپردازش و فضای ذخیرهسازی به پرسوجو در زمان پاسخ میدهد.
دی برگ و همکارانش در سال 2017 ساختمان داده پویا برای پرسوجوی مجاورت در مجموعهای از مسیرهای جهتدار ارائه کردند. برخلاف کارهای قبلی که ورودی مسئله تنها یک مسیر جهتدار بود، در این مقاله ورودی مسئله مجموعه شامل مسیر جهتدار و مقدار ثابت است که تعداد رئوس مسیر جهتداری است که در زمان پرسوجو داده میشود. ساختمان داده طراحی شده توسط دی برگ و همکارانش میتواند پرسوجوهای زیر را پاسخ بدهد[15].
1. نزدیکترین همسایه: پرسوجو مسیر جهتدار است. هدف یافتن مسیری از بین مسیرهای جهتدار موجود در است که فاصله فرشه آن از کمینه باشد.
2. -تا نزدیکترین: پرسوجو، مسیر جهتدار و مقدار صحیح است. هدف گزارش مسیر از بین مسیرهای جهتدار موجود در است که فاصله فرشه آنها از کمینه است.
3. پرسوجوی بازهای: پرسوجو، مسیر جهتدار و مقدار است. هدف گزارش کردن تمام مسیرهای جهتدار است که فاصله فرشه آنها از حداکثر است.
4. تشابه: پرسوجو، مسیر جهتدار و مسیر جهتدار موجود در مجموعه ورودی است. هدف محاسبه فاصله فرشه میان و است.
ساختمان داده ارائه شده، مسائلی که در بالا بیان شد را به صورت تقریبی حل میکند. ضریب تقریب حداکثر برابر با است که حداکثر فاصله اقلیدسی میان نقطه شروع و سایر رئوس دیگر است. فضای مورد نیاز برای ساختن ساختمان داده است. زمان پاسخ به پرسوجو برای مسائل ذکر شده در بالا به ترتیب به صورت زیر است:
1. نزدیکترین همسایه:
2. -تا نزدیکترین:
3. پرسوجوی بازهای: تعداد مسیرهای جهتدار خروجی است.
4. تشابه:
زمان درج کردن یک مسیر جهتدار با رأس در ساختمان داده به صورت سرشکن برابر با است. زمان حذف کردن یک مسیر جهتدار با رأس از ساختمان داده به صورت سرشکن برابر با است.
پرسوجوی فاصله فرشه برای مسئله جستجوی بازهای بین یک مجموعه از مسیرهای جهتدار و یک پرسوجو به صورت تجربی مورد بررسی قرار گرفته است و کیفیت الگوریتم بر روی پایگاه داده گزارش شده است[16، 17، 18[.
در این مقاله مسئله تشابه در حوزه فاصله فرشه را به صورت تجربی بررسی میکنیم. به این صورت که مسیر جهتدار با رأس به عنوان ورودی داده شده است. در زمان پرسوجو پارهخط افقی توسط کاربر مشخص میشود. هدف ذخیره مسیر جهتدار در یک ساختمان داده است به صورتی که بتوانیم زیرمسیر از مسیر جهتدار را گزارش کنیم که فاصله فرشه میان زیرمسیر و پارهخط افقی بین تمام زیرمسیرهای ممکن مینیمم باشد. زیرمسیر یک مسیر جهتدار همبند از مسیر اصلی است بهصورتی که نقطه ابتدا و انتهای آن جزء رئوس مسیر اصلی هستند.
این مسئله بسیار پیچیدهای است و تا جایی که ما اطلاع داریم هیچگونه نتیجه تئوری و تجربی برای این مسئله گزارش نشده است. راه حل اولیه برای یافتن پاسخ این است که فاصله فرشه میان تمامی زیرمسیرهای ممکن را محاسبه کنیم و سپس زیرمسیری که کمترین فاصله فرشه را دارا میباشد، گزارش کرد. با کمک ساختمان داده ارائه شده ، فاصله فرشه میان زیرمسیر و پارهخط افقی در زمان قابل محاسبه است[12]. از طرفی تعداد زیرمسیرهای ممکن میباشد. بنابراین میتوان در زمان هر پرسوجویی را پاسخ داد. اما این زمان در
عمل کارآمد نمیباشد و نیازمند ایده خلاقانه برای بهبود زمان هستیم.
در این مقاله یک الگوریتم ابتکاری برای مسئله ارائه خواهیم داد. این الگوریتم از دو مرحله تشکیل شده است. در مرحله اول، با کمک ساختمان داده جستجوی بازهای یک زیرمسیر را مشخص میکنیم و سپس در مرحله دوم با کمک روشهای ارائه شده، زیرمسیر اولیه را تغییر میدهیم تا به پاسخ بهینه نزدیک گردد.
[1] Felix Hausdorff
[2] Alt
[3] Maurice René Fréchet
[4] Godua
[5] de Berg
[6] Gudmundsson
[7] Smid
[8] Driemel
[9] Har-Peled
شکل 1 . حالات مختلف برای محاسبه فاصله زوج برگشتی
الگوریتم ارائه شده را بر روی چند پایگاه داده اجرا کردهایم و کیفیت الگوریتم ارائه شده را برحسب درصد پرسوجوهایی که به درستی پاسخ داده میشوند، گزارش میکنیم.
مختصات هر نقطه در صفحه را به صورت نشان میدهیم. فرض میکنیم که توالی از نقطه در صفحه است و یک مسیر جهتدار در صفحه است که توسط توالی ذکر شده تعریف شده است. یک خط افقی در صفحه است به صورتی که مختصات نقطه و به ترتیب برابر با و است به صورتی که و . فرض کنید که و دو رأس دلخواه از مسیر جهتدار باشد. زیرمسیر جهتدار که از رأس آغاز و به رأس ختم میگردد را با عبارت نشان میدهند. زوج نقطه زوج برگشتی (رو به جلو) است اگر و نقطه سمت چپ (رأست) نقطه واقع شده باشد. یک یال که نقطه را به نقطه وصل میکند، یال برگشتی (رو به جلو) است اگر زوج یک زوج برگشتی (رو به جلو) باشد.
فاصله زوج برگشتی، ماکزیمم فاصله میان نقطه و و یک نقطه بر روی پارهخط افقی است. نقطهای بر روی پارهخط افقی که فاصله زوج برگشتی را مشخص میکند، نقطه تقاطع بین عمودمنصف خط واصل بین و و پارهخط افقی است، اگر نقطه تقاطع بین نوار عمودی واقع شده باشد. غیر اینصورت نقطه تقاطع بین خط یا و پارهخط افقی را باید محاسبه کرد. شکل 1 حالات مختلف فاصله زوج برگشتی را نشان میدهد. فاصله زوج برگشتی برای یک زوج برگشتی به صورت زیر تعریف میگردد:
عبارات داخل آکولاد فاصله بین نقطه داده شده و نقطه و نقطه را محاسبه میکند. فاصله زوج نقاط برگشتی مربوط به زیرمسیر جهتدار به اینگونه تعریف میشود:
فاصله هاسدورف جهتدار بین زیرمسیر جهتدار و پارهخط افقی بهصورت زیر محاسبه میشود:
طبق نتایج موجود در [12]، فاصله فرشه بین زیرمسیر جهتدار و پارهخط افقی بهصورت زیر محاسبه میشود:
فاصله اقلیدسی میان نقطه و میباشد.
زیرمسیر جهتدار بهینه زیرمسیری از است که فاصله فرشه آن از پارهخط افقی بین تمامی زیرمسیرهای ممکن مینیمم است. بنابراین برای هر زیرمسیر جهتدار از خواهیم داشت:
در این قسمت یک الگوریتم ابتکاری ارائه خواهد شد که زیرمسیری از مسیر جهتدار را گزارش میکند که فاصله فرشه آن از پارهخط افقی میان تمام زیرمسیرهای ممکن مینیمم است. الگوریتم از دو مرحله تشکیل شده است که در مرحله اول نقطه ابتدا و انتها برای زیرمسیر مشخص میشود که این نقاط برأساس دو تا عبارت ابتدایی فرمول (4) مشخص میگردند. در مرحله دوم الگوریتم بررسی میشود که آیا سایر عبارات دیگر فرمول (4) فاصله فرشه را اضافه میکنند یا نه. اگر سایر عبارت فرمول (4) باعث ازدیاد فاصله فرشه گردد، زیرمسیر بدست آمده در مرحله اول تغییر داده میشود و در نهایت زیرمسیری گزارش میگردد.
نکته کلیدی برای بدست آوردن زیرمسیر ، مینیمم کردن دو عبارت ابتدایی فرمول (4) است. برای مینیمم کردن دو عبارت ابتدایی، نزدیکترین نقاط مسیر جهتدار به نقطه و نقطه محاسبه میگردد. این نقاط به ترتیب و نامیده میشود. با کمک ساختمان داده نزدیکترین همسایه نقاط و محاسبه میشوند. اگر نقطه بعد از نقطه در مسیر واقع شده باشد، اصلاحاتی بر روی زیرمسیر اعمال میگردد به صورتی که بعد از آن نقطه قبل از نقطه واقع میگردد. قابل ذکر است که اگر از ابتدا نقطه قبل از نقطه واقع شده باشد، میتوان از مرحله اول صرفنظر کرد و به مرحله دوم رفت. در غیر اینصورت تغییراتی را اعمال میکنیم به صورتی که بعد از آن نقطه قبل از نقطه قرار خواهد گرفت.
به منظور اعمال تغییرات، فواصل و محاسبه میگردد. اگر باشد، اندیس را میتوان به رأسی قبل از نقطه منتقل کرد که فاصله آن از نقطه کمتر از باشد. دیسک را با مرکز و شعاع در نظر بگیرید. همانگونه که در شکل 2 مشخص است، اگر دیسک مسیر جهتدار را قبل از نقطه قطع کند، نقطه به رأسی داخل دیسک قبل از انتقال داده میشود. در غیر اینصورت رأسی بین و را به عنوان اندیس جدید انتخاب میکنیم که ماکزیمم فاصله آن از نقاط و مینیمم باشد.
شکل 2: در این حالت i>j و disti<distj است. نقطه آبی رنگ داخل دیسک Bi، اندیس جدید برای i میباشد.
اگر باشد، اندیس را میتوان به رأسی بعد از نقطه منتقل کرد که فاصله آن از نقطه کمتر از باشد. دیسک را با مرکز و شعاع در نظر بگیرید. اگر دیسک مسیر جهتدار را بعد از نقطه قطع کند، نقطه به رأسی داخل دیسک بعد از انتقال داده میشود. اگر نتوانیم نقاط جدید در دیسکهای و پیدا کنیم، رأسی بین و را به عنوان اندیس جدید انتخاب میکنیم که ماکزیمم فاصله آن از نقاط و مینیمم باشد. الگوریتم 1 جزئیات مرحله اول الگوریتم را نشان میدهد.
Algorithm 1 Finding The Subtrajectory | |
Input: The trajectory and a horizontal segment pq Output: Candidate subtrajectory | |
Let i and j be the index of the closest vertices of to p and q | 1: |
if (i > j) then | 2: |
if () then | 3: |
change i into a vertex in before | 4: |
else | 5: |
if () then | 6: |
change j into index of vertex in after | 7: |
else | 8: |
i = j = The index of a vertex between j and i which minimize the maximum distance to and ; | 9: |
end if | 10: |
end if | 11: |
end if | 12: |
در مرحله دوم الگوریتم، ماکزیمم عباراتی که فاصله فرشه میان زیرمسیر انتخاب شده از مرحله اول و پارهخط افقی را مشخص میکند، محاسبه میکنیم. در پایگاه دادههایی که در این مقاله بررسی میکنیم، عبارت آخر هیچ گاه فاصله فرشه را مشخص نمیکند. دلیل اصلی این است که چون طول یالهای مسیرهای جهتدار در پایگاه دادههای مورد بررسی کوچک است، نوار عمودی ایجاد شده باریک است و عمودمنصف، پاره خط افقی را خارج از نوار عمودی قطع میکند (حالت میانی و سمت رأست شکل 1). در این حالات، تصویر عمودی نقطه یا فاصله زوج برگشتی را مشخص میکند. بنابراین فاصله زوج برگشتی برای یک زیرمسیر جهتدار حداکثر برابر با فاصله هاسدورف است.
بر اساس مقدار ماکزیمم، حالات زیر را خواهیم داشت:
• اگر مقدار ماکزیمم عبارت یا باشد، الگوریتم زیرمسیر را گزارش میکند. ازآنجایی که و نزدیکترین نقاط به و هستند، بنابراین دو عبارت اول، کمترین مقدار ممکن خود را دارا هستند، و از طرفی ماکزیمم این دو عبارت فاصله فاصله فرشه را تعیین میکند، بنابراین زیرمسیر کمترین فاصله فرشه از پارهخط افقی را دارا است. لذا خواهیم داشت:
• اگر مقدار ماکزیمم عبارت باشد، آنگاه ابتدا رأس بین و که فاصله هاسدورف جهتدار بین و پارهخط افقی را تعیین میکند، مشخص میکنیم. با توجه به موقعیت این رأس سه حالت زیر را خواهیم داشت:
1- اگر رأس سمت چپ پارهخط افقی واقع شده باشد، آنگاه اندیس را به رأسی قبل از منتقل میکنیم که فاصله آن از نقطه مینیمم باشد. بنابراین، .
2- اگر رأس سمت رأست پاره خط افقی واقع شده باشد، آنگاه اندیس را به رأسی قبل از منتقل میکنیم که فاصله آن از نقطه مینیمم باشد. بنابراین، .
3- اگر رأس بین نقطه و واقع شده باشد، آنگاه اندیس و را به اندیسهای جدید و مطابق دو مورد بالا منتقل میکنیم. سپس عبارات ، و را محاسبه میکنیم و هر کدام که مقدارش مینیمم گردید را گزارش میکنیم. جزئیات بیشتر این مرحله در الگوریتم 2 نشان داده شده است.
پایگاه داده | زمان بر حسب ثانیه |
ECG200 | 1/6424 |
CBF | 3/9366 |
GunPoint | 6/4094 |
FaceUCR | 3/9787 |
FaceAll | 4/1524 |
Plane | 5/3504 |
SwedishLeaf | 4/0188 |
SIGSPATAL | 3/9125 |
تحلیل پیچیدگی زمانی الگوریتم ارائه شده: اندیس و در خط اول الگوریتم 1 با کمک ساختمان داده جستجوی نزدیکترین همسایه در زمان محاسبه میگردد. خط 4، 7 و 9 را میتوان در بدترین حالت در زمان محاسبه کرد (در بدترین حالت باید نقطه را بررسی کرد). بنابراین، الگوریتم 1 به زمان نیاز دارد. محاسبه خط اول الگوریتم 2 با استفاده از ساختمان دادههای ارائه شده در زمان محاسبه میگردد. خطوط 8، 12 ، 16 و17 را میتوان در بدترین حالت در زمان محاسبه کرد. بنابراین، الگوریتم 2 به زمان نیاز دارد[12]. بنابراین الگوریتم ارائه شده در مقاله در زمان زیرمسیر را گزارش میکند. میانگین زمان صرف شده برای اجرای الگوریتم در پایگاه دادههای استفاده شده در این مقاله در جدول 1 آورده شده است. مقادیر جدول نشان میدهد که اجرای
جدول 1 .زمان صرف شده برای اجرای الگوریتم
الگوریتم بر روی هر کدام از مسیرهای جهتدار موجود در پایگاه داه به صورت میانگین چند ثانیه طول میکشد.
Algorithm 2 Reporting The Subtrajectory | ||
Input: The subtrajectory [pi, pj] that is determined in Algorithm 1 Output: Report the optimal subtrajectory | ||
| ||
| 1: | |
if () then | 2: | |
return | 3: | |
else | 4: | |
if () then | 5: | |
k = the index of vertex between and that determines the Hausdroff distance. | 6: | |
if () then | 7: | |
| 8: | |
return | 9: | |
else | 10: | |
if () then | 11: | |
| 12: | |
return | 13: | |
else | 14: | |
if () then | 15: | |
| 16: | |
| 17:
| |
| 18: | |
if () then | 19: | |
return | 20: | |
else | 21: | |
if () then | 22: | |
return | 23: | |
else | 24: | |
return | 25: | |
end if | 26: | |
end if | 27: | |
end if | 28: | |
end if | 29: | |
end if | 30: | |
end if | 31: | |
end if | 32: |
|
| |
الف | ب | |
| ||
ج |
شکل 3. (الف): مسیر جهتدار روبهجلو (ب): مسیر جهتدار روبهعقب. (ج): مسیر جهتدار خنثی
در این قسمت نتایج تجربی بر روی الگوریتم ارائه شده در قسمت قبل ارائه و کیفیت الگوریتم و زمان آن گزارش میشود. مسائل پرسوجوی فرشه مسائل جدیدی هستند. نتایج تئوری و تجربی زیادی در حوزه پرسوجوی فرشه وجود ندارد. به طور خاص، مسئله بررسی شده در این مقاله نه از نظر تئوری و نه از نظر تجربی تاکنون بررسی نشده است و الگوریتم ارائه شده در بحش قبلی، اولین الگوریتم ابتکاری برای این مسئله است. با توجه به عدم وجود الگوریتمهای دیگری برای حل مساله، امکان مقایسه بین الگوریتمهای مختلف به صورت تجربی وجود ندارد. در ادامه، کیفیت این الگوریتم با اجرای آن روی چند پایگاه داده بررسی میشود.
پنج پایگاه داده از مجموعه UCR که شامل 85 پایگاه داده از مسیرهای جهتدار یک بعدی است را برای اجرای الگوریتم انتخاب کردهایم[19[. همچنین از پایگاه داده که مربوط به سفرهای جادهای در سانفرانسیسکو میباشد، استفاده کردهایم. این پایگاه داده، پایگاه دادهای است که در چالش سال 2017 مربوط به SIGSPATIAL استفاده شده است. این پایگاه داده از 20000 مسیر جهتدار تشکیل شده است که تعداد رئوس مسیرها بین 11 تا 769 میباشد. این پایگاه داده دارای یک ویژگی خوب است، طول یالهای مسیرهای جهتدار موجود در پایگاه داده کوچک است و این ویژگی باعث میشود که الگوریتم قادر باشد در اکثر موارد پاسخ بهینه را پیدا کند. پرسوجو که یک پارهخط افقی است به صورت تصادفی تولید شده است. برای هر مسیر جهتدار ده پارهخط افقی به صورت تصادفی تولید شده است (دو نقطه برای مولفه دو سر پارهخط و یک نقطه برای مولفه به صورت تصادفی تولید کردهایم) و الگوریتم بر روی آن اجرا شده است.
الگوریتم ارائه شده در نرمافزار متلب بر روی سیستم عامل ویندوز 10 پیادهسازی شده است. الگوریتم بر روی لپتاپ لنوو با پردازنده مرکزی اینتل مدل core-i7 4510 با سرعت 2 گیگاهرتز و RAM هشت گیگابایت اجرا شده است.
در پایگاه دادههای استفاده شده با توجه به جهت پارهخط افقی که از سمت چپ به رأست میباشد، سه نوع مسیر جهتدار وجود دارد. مسیر روبهجلو مسیری است که شی متحرک در بیشتر مواقع رو به جلو حرکت میکند به این معنی که تعداد یالهای رو به جلو بیشتر از نصف کل یالها است و نقطه شروع حرکت سمت چپ نقطه انتها قرار دارد. نوع بعدی، مسیر جهتدار روبهعقب میباشد. در این نوع مسیر جهتدار، شی متحرک در بیشتر مواقع رو به عقب حرکت میکند به این معنی که تعداد یالهای برگشتی بیشتر از نصف کل یالها است و نقطه شروع حرکت سمت راست نقطه انتها قرار دارد. نوع آخر مسیر جهتداری است که شی متحرک تقریباً به صورت مساوی به جلو و عقب حرکت کرده است. این نوع را مسیر جهتدار خنثی مینامیم. شکل 3 انواع مختلف مسیر جهتدار را نشان میدهد.
شکل 4 توزیع مسیرهای جهتدار مختلف در پایگاه دادههای استفاده شده را نشان میدهد. همان طور که در شکل 4 مشخص شده است بیشترین قسمت از هر پایگاه داده شامل مسیرهای جهتدار روبهعقب است. در پایگاه داده FaceAll ،ECG200 و FaceUCR مسیر خنثی وجود ندارد و فقط شامل مسیرهای روبهجلو و روبهعقب میباشد. در ادامه الگوریتم را بر روی انواع مختلف مسیرهای جهتدار در پایگاه دادههای ذکر شده اجرا کرده و کیفیت الگوریتم را گزارش میکنیم. شکل 5 میزان درستی الگوریتم در پایگاه دادههای استفاده شده را نشان میدهد. در ادامه نتیجه چند پایگاه داده را تحلیل خواهیم کرد.
تحلیل پایگاه داده SIGSPATIAL: نتایج نشان میدهد که کیفیت الگوریتم برای مسیرهای جهتدار روبهجلو در این پایگاه داده است. در واقع الگوریتم ارائه شده فقط در پرسوجوها برای مسیرهای جهتدار روبهجلو قادر نیست که جواب بهینه را گزارش کند. الگوریتم اندیس یا را با کمک دیسک یا در مرحله اول الگوریتم برای اکثر مسیرهای جهتدار روبهجلو تغییر میدهد. همچنین در مرحله دوم الگوریتم ماکزیمم عبارات یا فاصله فرشه را تعیین میکند. تنها در پرسوجوها عبارت مربوط به فاصله هاسدورف، فاصله فرشه را تعیین میکند و الگوریتم ارائه شده علیرغم اصلاحات صورت گرفته قادر نیست که جواب بهینه را پیدا کند. کیفیت الگوریتم برای مسیرهای جهتدار روبهعقب و مسیرهای جهتدار خنثی در پایگاه داده است. الگوریتم قادر نیست که در مرحله اول برای اکثر مسیرهای جهتدار روبهعقب، اندیس یا را با کمک دیسک یا تغییر بدهد. در واقع الگوریتم زیرمسیری را گزارش میکند که نقطه شروع و انتهای آن یکسان است. در پرسوجوها عبارت مربوط به فاصله هاسدورف، فاصله فرشه را تعیین میکند و الگوریتم ارائه شده نمیتواند زیرمسیر بهینه را پیدا کند. در واقع اصلاحات انجام شده در فاصله هاسدورف در الگوریتم 2 همواره به درستی عمل نمیکند. اگر جهت پارهخط افقی را تغییر بدهیم، یعنی پارهخط افقی از سمت رأست به چپ باشد، مسیر جهتدار رو به عقب تبدیل به مسیر جهتدار رو به جلو میشود و نتایج هم تغییر خواهد کرد.
کیفیت الگوریتم ارائه شده برای پایگاه داده است و تنها در یک درصد از پرسوجوها زیرمسیر بهینه گزارش نمیگردد. تنها علت اصلی برای خطای الگوریتم اصلاحاتی است که در الگوریتم2 در قسمت فاصله هاسدورف صورت گرفته است. برای حذف کردن یک درصد خطا باید اصلاحات این قسمت را بهبود داد.
تحلیل پایگاه داده GunPoint: نتایج نشان میدهد که کیفیت الگوریتم برای مسیرهای جهتدار روبهجلو در این پایگاه داده است. در واقع الگوریتم ارائه شده تقریبا در پرسوجوها برای مسیرهای جهتدار روبهجلو قادر نیست که جواب بهینه را گزارش کند. کیفیت الگوریتم برای مسیرهای جهتدار روبهعقب و مسیرهای جهتدار خنثی در پایگاه داده تقریبا است.
شکل 4. توزیع مسیرهای جهتدار در پایگاه دادههای استفاده شده
Plane |
SwedishLeaf |
GunPoint |
CBF |
FaceUCR |
FaceAll |
ECG200 |
SIGSPATIAL |
شکل 5 .درستی الگوریتم ارائه شده برای مسیرهای جهتدار مختلف در پایگاه دادههای استفاده شده
نکات زیر در مورد اجرای الگوریتم ارائه شده بر روی پایگاه دادههای ذکر شده بدست آمده است:
• اگر جهت پارهخط افقی را تغییر بدهیم، یعنی پارهخط افقی از سمت رأست به چپ باشد، مسیر جهتدار رو به عقب تبدیل به مسیر جهتدار رو به جلو میشود و نتایج هم تغییر خواهد کرد.
• دلیل اصلی برای پایین بودن خطای الگوریتم ارائه شده این است که طول یالهای مسیرهای جهتدار موجود در پایگاه دادههای مورد بررسی کوچک است. بنابراین اصلاحات صورت گرفته در مرحله اول و دوم الگوریتم ارائه شده به خوبی عمل میکند و الگوریتم قادر است در اکثر موارد پاسخ بهینه را پیدا کند.
• هر چقدر ماکزیمم طول یال در پایگاه داده بیشتر باشد، میزان خطای الگوریتم بالا میرود.
جدول 1 میزان اختلاف میان پاسخ الگوریتم ارائه شده و جواب بهینه، برای پایگاه دادههای استفاده شده را نشان میدهد. همانطور که مشخص است، بیشترین اختلاف مربوط به پایگاه داده FaceAll است.
جدول 2. میزان اختلاف با مقدار بهینه
پایگاه داده | Forward | Backward | Neutral |
ECG200 | 0/31 | 0/33 |
|
CBF | 0/48 | 0/51 | 0/56 |
GunPoint | 0/16 | 0/08 | 0/06 |
FaceUCR | 1/13 | 1/2 |
|
FaceAll | 1/31 | 1/15 |
|
Plane | 0/39 | 0/37 | 0/5 |
SwedishLeaf | 0/51 | 0/53 | 0/6 |
SIGSPATAL | 0/22 | 1/53 | 0/43 |
در این مقاله مسئله تشابه در حوزه فاصله فرشه به صورت تجربی مورد بررسی قرار گرفت. به این صورت که مسیر جهتدار به عنوان ورودی داده شده است. در زمان پرسوجو پارهخط افقی توسط کاربر مشخص میشود. الگوریتم ابتکاری ارائه شده زیرمسیری از مسیر جهتدار را گزارش میکند به صورتی که فاصله فرشه میان زیرمسیر گزارششده و پارهخط افقی بین تمام زیرمسیرهای ممکن مینیمم میباشد. کیفیت الگوریتم ارائه شده بر روی چند پایگاه داده بررسی و گزارش شد. مقاله را با ارائه چند مسئله باز به پایان میرسانیم:
1. چگونه میتوان این مسئله را برای حالتی که پارهخط غیرافقی باشد، حل کرد؟
2. چگونه میتوان الگوریتمی ارائه کرد که بتواند مسئله را برای هر نوع پرسوجو حل کند؟
3. آیا میتوان الگوریتم را به صورتی تغییر داد که خطا نداشته باشد و همواره پاسخ بهینه را تولید کند؟
مراجع
[1] Felix Hausdorff. Grundzuge der mengenlehre, 1949
[2] Helmut Alt. The computational geometry of comparing shapes. In Efficient Algorithms, volume 5760 of Lecture Notes in Computer Science, pages 235–248, 2009.
[3] Paolo Cignoni, Claudio Rocchini, and Roberto Scopigno. Metro: measuring error on simplified surfaces. In Computer graphics forum, pages 167–174, 1998
[4] Maurice Fréchet. Les ensembles abstraits et le calcul fonctionnel. Rendiconti del Circolo Matematico di Palermo, pages 1-26, 1910.
[5] Helmut Alt and Michael Godau. Measuring the resemblance of polygonal curves. In Proceedings of the eighth annual symposium on Computational geometry, pages 102–109, 1992.
[6] Helmut Alt and Michael Godau. Computing the Fréchet distance between two polygonal curves. International Journal of Computational Geometry & Applications, pages75-91, 1995.
[7] E Sriraghavendra, K Karthik, and Chiranjib Bhattacharyya. Fréchet distance based approach for searching online handwritten documents. In Ninth International Conference on Document Analysis and Recognition, pages 461-465, 2007.
[8] Mark de Berg, Atlas F Cook, and Joachim Gudmundsson. Fast Fréchet queries. Computational Geometry, pages 747–755, 2013
[9] Joachim Gudmundsson and Michiel Smid. Fréchet queries in geometric trees. In European Symposium on Algorithms, pages 565–576. Springer, 2013
[10] Anne Driemel and Sariel Har-Peled. Jaywalking your dog: computing the Fréchet distance with shortcuts. SIAM Journal on Computing, pages 1830-1866, 2013
[11] Mark de Berg and Ali D Mehrabi. Straight-path queries in trajectory data. Journal of Discrete Algorithms, pages 27–38, 2016.
[12] Mark de Berg, Ali D Mehrabi, and Tim Ophelders. Data structures for Fréchet queries in trajectory data. In Proceedings of the 29th Canadian Conference on Computational Geometry (CCCG 2017), pages 214-219, 2017.
[13] Maike Buchin, Ivor van der Hoog, Tim Ophelders, Rodrigo I Silveira, Lena Schlipf, and Frank Staals. Improved space bounds for Fréchet distance queries. In Proceeding of the 36th European Workshop on Computational Geometry, pages 1-7, 2020.
[14] Joachim Gudmundsson, Majid Mirzanezhad, Ali Mohades, and Carola Wenk. International Journal of Computational Geometry & Applications, pages 161-187, 2019
[15] Mark de Berg, Joachim Gudmundsson, and Ali D Mehrabi. A dynamic data structure for approximate proximity queries in trajectory data. In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pages 1-4,2017
[16] Julian Baldus and Karl Bringmann. A fast implementation of near neighbors queries for Fréchet distance (GIS cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pages 1-4, 2017.
[17] Matteo Ceccarello, Anne Driemel, and Francesco Silvestri. Fresh: Fréchet similarity with hashing. In Workshop on Algorithms and Data Structures, pages 254–268, 2019.
[18] Fabian Dütsch and Jan Vahrenhold. A filter-and-refinement-algorithm for range queries based on the Fréchet distance (gis cup). In Proceedings of the 25th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pages 1–4, 2017
[19] Yanping Chen, Eamonn Keogh, Bing Hu, Nurjahan Begum, Anthony Bagnall, Abdullah Mueen, and Gustavo Batista. The UCR time series classification archive, July 2015.http://www.cs.ucr.edu/eamonn/time_series_data.
[20] Joachim Gudmundsson and Michiel Smid. Fast algorithms for approximate Fréchet matching queries in geometric trees. Computational Geometry, pages 479-494, 2015
[21] Bahram Sadeghi Bigham, and Samaneh Mazaheri. Survey on Metrics for Shape Matching Based on Similarity, Scaling and Spatial Distance. In The 7th International Conference on Contemporary Issues in Data Science, pages 13-23, 2017
Measuring Similarity for Directed Path in Geometric Data
Abstract:
We consider the following similarity problem concerning the Fréchet distance. A directed path π is given as input and a horizontal segment Q is defined at query time by the user. Our goal is to preprocess and save the directed path π into a data structure such that based on the information saved in the data structure, one sub-path of the directed path can be reported which Fréchet distance between the sub-path and the horizontal query segment Q is minimum between all possible sub-paths. To the best of our knowledge, no theoretical results have been reported for this problem. In this paper, the first heuristic algorithm is proposed. We only experimentally show the quality of the algorithm in several datasets due to no existing algorithm.
Keywords: Data structure, Fréchet distance, Hausdorff distance, Similarity, Directed Path