Skip to main content
SUPERVISOR
Seyed Rasul Moosavi
سید رسول موسوی (استاد راهنما)
 
STUDENT
Fateme Bahri
فاطمه بحری

FACULTY - DEPARTMENT

دانشکده مهندسی برق و کامپیوتر
DEGREE
Master of Science (MSc)
YEAR
1387
The Shortest Common Supersequence (SCS) problem is a justify; MARGIN: 0cm 0cm 0pt; unicode-bidi: embed; DIRECTION: ltr" Till now dynamic programming and branch and bound algorithms have been proposed to solve SCS problem optimally, but the problem is NP-Hard if the number of strings is greater than 2, so no exact polynomial-time algorithm has yet been proposed. Because of the inefficiency of exact algorithms for large instances of the problem, most of the proposed algorithms are inexact, which sacrifice optimality to obtain near-optimal solutions in a reasonable time. Among such algorithms for SCS problem are approximation, heuristic, and meta-heuristic algorithms. Approximation algorithms guarantee a bound on the approximation ratio of their solutions. Heuristic algorithms which are usually fast use a heuristic function to achieve a near optimal solution. These algorithms divide to simple heuristic and meta-heuristic algorithms. Till now different heuristic algorithms are proposed for the problem and some of them are designed particularly for DNA strings. In this thesis an exact A* algorithm is proposed for SCS problem. Several heuristic functions are investigated and a hybrid heuristic function is finally proposed, which outperforms the other ones by providing a better estimated bound. Branch and bound strategy and also dominance pruning are used in the proposed algorithm to reduce the search space and execution time. Extensive experimental results indicate that the proposed A* algorithm comparing to other existing exact algorithms results in significant reduction of the search space and execution time. Also a new heuristic algorithm and a post processing procedure are developed in this thesis for SCS problem. This heuristic algorithm is a local beam search that employs a recursive heuristic and uses dynamic programming to populate an array of probabilistic values which are then used to speed up the calculation of the heuristic values. It also uses the dominance property to further prune the search space. The proposed algorithm is compared with three most recent algorithms proposed for the problem on both random and biological sequences, outperforming them all by quickly providing solutions of higher average quality in all the experimental cases. The input to the post processing procedure is any (non-optimal) solution to an SCS instance. The procedure then tries to shorten the given solution in an iterative cycle that is still a supersequence of the input strings. Extensive experiments indicate that this post processing procedure is significantly faster and more effective than an existing post processing procedure. Keywords: Shortest Common Supersequence, Heuristic Functions, A* Algorithm, Local Beam Search
مسئله کوتاه ترین ابرتوالی مشترک (SCS) از مسائل مهم بهینه سازی ترکیبیاتی است. مجموعه ای از رشته ها به عنوان ورودی به مسئله SCS داده می شود و این مسئله به دنبال رشته ای می گردد که ابرتوالی تمام رشته ها بوده و دارای کوتاه ترین طول ممکن باشد. ابرتوالی یک رشته، از درج صفر یا تعداد بیشتری نماد در هر مکان از رشته مورد نظر به دست می آید. این مسئله در زمینه های مختلفی از جمله فشرده سازی داده، بهینه سازی پرسش در پایگاه داده ها، طرح ریزی و زیست اطلاعات کاربرد دارد. یکی از کاربرد های مهم این مسئله در زیست اطلاعات، کاهش زمان، هزینه و خطا در ساخت یکی از انواع ریزآرایه های DNA می باشد. ریزآرایه های DNA ابزارهای مفیدی هستند که در دسته بندی ژن ها، تشخیص ژن ها، تصویر سازی بیان ژنی و آشکارسازی ، کاربرد دارند. تا به حال الگوریتم های دقیق برنامه نویسی پویا و شاخه و حد برای حل مسئله SCS ارائه شده اند، اما این مسئله هنگامی که تعداد رشته ها بیشتر از 2 باشد یک مسئله NP-Hard می باشد، بنابراین تاکنون راه حل بهینه ای که در زمان چند جمله ای قابل اجرا باشد برای آن ارائه نشده است و در عمل الگوریتم های دقیق برای نمونه های بزرگ این مسئله قابل اجرا نیستند. به همین دلیل، اکثر الگوریتم های موجود برای حل این مسئله غیر دقیق می باشند، بدین معنی که این الگوریتم ها از شرط بهینگی پاسخ چشم پوشی کرده و سعی می کنند که جوابی نزدیک به بهینه در زمانی معقول به دست آورند. تا به حال الگوریتم های غیردقیق مختلفی از انواع الگوریتم های تقریبی، مکاشفه ای ساده و فرا مکاشفه ای برای مسئله SCS ارائه شده اند. الگوریتم های تقریبی الگوریتم هایی هستند که جواب حاصل از آنها نسبت به جواب بهینه از حدی که با نسبت تقریب مشخص می شود، بدتر نمی باشد. الگوریتم های مکاشفه ای نیز، به الگوریتم هایی گفته می شود که بر مبنای یک مکاشفه عمل می کنند. این الگوریتم ها به دو دسته مکاشفه ای ساده و فرامکاشفه ای تقسیم می شوند. برای حل مسئله کوتاه ترین ابرتوالی مشترک تا به حال از الگوریتم های مکاشفه ای ساده و فرامکاشفه ای مختلفی استفاده شده است. تعدادی از این الگوریتم های مکاشفه ای به طور خاص برای رشته های DNA طراحی شده اند. در این پایان نامه یک الگوریتم دقیق A* ارائه شده و برای آن توابع مکاشفه ای مختلفی بررسی شده است و در نهایت یک تابع مکاشفه‌ای ترکیبی ارائه شده که با تخمین حدی دقیق تر، از سایر توابع مکاشفه‌ای بهتر عمل می کند. در این الگوریتم برای کاهش فضای جستجو و در نتیجه کاهش زمان اجرا از راهبرد شاخه و حد و همچنین ایده هرس غالبانه استفاده شده است. با مقایسه این الگوریتم با دیگر الگوریتم های دقیق موجود، مشخص شد که الگوریتم ارائه شده منجر به کاهش قابل ملاحظه‌ای در فضای جستجو شده و دارای زمان اجرای بهتری می باشد. همچنین یک الگوریتم مکاشفه ای به همراه یک رویه پس پردازش در این پایان نامه ارائه شده است. کلمات کلیدی: 1- کوتاه ترین ابرتوالی مشترک 2- الگوریتم A* 3- الگوریتم های مکاشفه ای 4- جستجوی پرتوی محلی

ارتقاء امنیت وب با وف بومی