نام پژوهشگر: حسین نریمانی راد
حسین نریمانی راد محمد طالعی
به منظور رسیدن به رویکردهای منعطف و جامع در طراحی ساختمان های داده و تحلیل های مکانی، می بایستی در رایانه مدل سازی صحیحی از دنیای واقعی، انجام شود. چگونگی انجام یک مدل سازی و میزان انعطاف پذیری آن، به مفاهیم پشتیبانی شده در پارادایم برنامه نویسی مورد استفاده، محدود می شود. هر یک از پارادایم های برنامه نویسی برای انجام مدل سازی ها، امکانات و دیدگاه هایی را فراهم می کنند. با رشد پارادایم برنامه نویسی شی گرایی و با توجه به امکانات و مفاهیم ارائه شده در این پارادایم، دنیای واقعی به صورت مجموعه ای از اشیا که با یک دیگر در تعامل هستند، مدل سازی می شود. اما این پارادایم، برای مدل سازی مسئله هایی که ماهیت فرآیندی دارند، مناسب نمی باشد. از طرف دیگر، در پارادایم برنامه نویسی تابعی، تاکید بر مدل سازی تابع-محور است. اما این پارادایم نیز، برای مدل سازیِ مسئله هایی که ماهیت داده ای دارند، گزینه مناسبی نمی باشد. در این تحقیق، یک رویکرد چند پارادایمی برای توسعه الگوریتم های منعطف، پیشنهاد می شود. این رویکرد، برای انجام طراحی ها و مدل سازی ها، هم از مفاهیم پشتیبانی شده در پارادایم برنامه نویسی شی گرایی و هم از «توابع مرتبه بالا»، استفاده می کند. این توابع، یکی از ابزارهای انجام چکیده سازی تابعی در پارادایم برنامه نویسی تابعی، می باشند. به این ترتیب، رویکرد پیشنهادی این تحقیق، با تکیه بر امکانات و مفاهیم پشتیبانی شده در دو پارادایم برنامه نویسی، مدل سازی ها را تا حد قابل توجهی، بهبود می بخشد. در این تحقیق، منظور از بهبود مدل سازی ها، ارائه مدل سازی های جامع تر، منعطف تر و تعامل پذیرتر برای توسعه سیستم های پیچیده و بزرگ، است. به عنوان مطالعه موردی برای این تحقیق، خم های فضا پرکنِ خود متشابه و تحلیل هم پوشانی برای داده هایِ تصویر شده توسطِ این خم ها، مورد مطالعه قرار گرفته اند. علاوه بر این دو مورد، الگوریتمی جهت تولید خم های فضا پرکن بر روی شبک? منظم مربعی و همچنین یک الگوریتم برای مرتب سازی دسته نقطه های پراکنده بر اساس خم های فضا پرکن، طراحی شده است. این الگوریتم ها، دسته وسیعی از حالت هایِ مختلفِ خم های فضا پرکن را پشتیبانی کرده و نیاز به توسعه یک الگوریتم جداگانه برای هر نوع از این خم ها را، غیر ضروری می کنند. در حوزه ساختمان های داده مکانی نیز علاوه بر خم های فضا پرکن، دو ساختمان داده مکانی kd-tree و r-tree، مطالعه شده است. در حوزه تحلیل ها نیز، علاوه بر تحلیل هم پوشانی، یک الگوریتم جامع جهت شمارش انواع یال هایِ خم هایِ فضا پرکنِ مختلف، توسعه داده شده است. مدل سازی ها و الگوریتم های طراحی شده همگی به صورت مستقل از نوع خم فضا پرکن طراحی شده و نیاز به توسعه جداگانه هر یک با توجه به نوع خاصی از یک خم فضا پرکن را، از بین می برند. این در حالی است که مدل سازی های فعلی برای نمایش خم های فضا پرکن، به این اندازه، جامع و منعطف نمی باشند. نهایتا در این تحقیق نشان داده خواهد شد که با یک نگاه چند-پارادایمی به پدیده ها و مسئله های دنیای واقعی و تشخیص ماهیت های تابعی یا داده ای مسئله ها، می توان الگوریتم ها و راه حل های جامع تر و منعطف تری را، ارائه کرد. سپس از این طراحی های جامع و منعطف می توان در توسعه سیستم های نرم افزاری بزرگ و پیچیده، بهره برد.