بلند ترين زير دنباله مشترك Longest common subsequence (LCS)

Slides:



Advertisements
Similar presentations
Awe sim.
Advertisements

معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
فاکتورهای مهم در ایجاد یک مقاله علمی
الگوریتم ژنتیکی. تعریف  الگوریتم ژنتیکی، رویه ای تکراری است که راه حل های انتخابیش را بصورت رشته ای از ژنها که کروموزوم نامیده می شوند، بازنمایی می کند.
Decision Tree.
فایل پردازی در C File based Programming in C. انواع فایل متنی –سرعت بالا –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها دودویی (باینری) –امکان باز.
1 Network Address Translation (NAT). 2 Private Network شبکه خصوصی شبکه ای است که بطور مستقیم به اینترنت متصل نیست در یک شبکه خصوصی آدرس های IP به دلخواه.
Lesson four Grade three
روش تحقیق جلسه چهارم دانشگاه صنعتی اصفهان دانشکده کشاورزی
به نام خدا برنامه سازی سمت سرور (php)
موضوع: دبير مربوطه: آموزشگاه : اجرا : عبارتهای جبری خانم مقصودی
Arrangements of Lines C omputational Geometry By Samaneh shafi naderi
آشنايي با سيستم اعداد.
[c.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
( Project Operation Management )
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
هیدروگراف(Hydrograph) تهیه : دکتر محمد مهدی احمدی
ویژگی های DHCP جلوگیری از Conflict سرعت بخشیدن به کارها مدیریت متمرکز
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
SY800 router mode [AD-14-TB ].
Mobile Robot Kinematics
آشنایی مقدماتی با نرم افزار Endnote X4
ساختمان داده ها جداول درهم سازی
ساختمان داده‌ها الگوریتمهای کوتاهترین مسیر
روش حریصانه در طراحی الگوریتم
Odd-even merge sort مرتب سازی.
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
فصل دوم جبر بول.
Route configuration for 5400W ADSL Router
به نام حق مبحث: ارث بری Inheritance.
بررسی قطبش در لیزر های کاواک عمودی گسیل سطحی(vcsel)
Natural language Understanding James Allen
مقدمه اي بر مهندسي نيازمنديها
SSO Single Sign-on Systems
نمايش اعداد در کامپيوتر چهار عمل اصلي
خودآموز آسان ویکی‌پدیای فارسی
Similarity transformation
آموزش کرک کردن نرم افزار ACTIVE HDL
قسمت اول ترجمه: زهرا سادات آقامیری
Tree Sort.
کوئیز از جلسه قبل) کارخانه ای در حال خرید قطعه‌ای برای یکی از ماشین‌آلات خود می باشد اگر نرخ بهره 10% برای محاسبات فرض شود، دو مدل از قطعه ماشین در دسترس.
مدارهای منطقی فصل سوم - خصوصیات توابع سويیچی
ساختمان داده‌ها پیمایش درخت دودویی
Encyclopedia Britannica
سميرا قانوني زهرا معدني
Intro تمام موجودات باید قبل از تقسیم DNA خود را همانندسازی کنند
Bucket sort اكرم منوچهري زهرا منوچهري
مقاله ام را کجا Submit کنم؟ تهیه و تنظیم: سودابه طاهری و زهره راخ
آشنایی مقدماتی با نرم افزار Endnote X4
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
آشنایی مقدماتی با نرم افزار Endnote
کاربرد کامپیوتر در داروخانه
جستجوی منابع الکترونیک
فصل ششم مدارهای ترتیبی.
ابزارهای جستجوی پایان نامه
توزیع میانگین نمونه سعید موسوی.
به نام یکتای دانا فصل اول: متدها و قواعد.
فصل 8 –Process and Deployment
مراحل پیش رو : 1- الگوریتم عقبگرد برای مسئله کوله پشتی صفر و یک
نسبت جرم فرمولی ”جرم اتمی و فرمول تجربی
عملیات با رشته‌ها موسوی ندوشنی ویراست 1389 دانشگاه صنعت آب و برق.
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 7
kbkjlj/m/lkiubljj'pl;
ساختمان داده ها مرتب سازی درجی
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
ساختمان داده ها گرافها.
گازهای نجیب.
سد خونی- مغزی. تکنولوژی نمایش فاژی و کاربرد آن  مقدمه و تاریخچه  نمایش فاژی در تولید آنتی بادی مونوکونال.
Presentation transcript:

بلند ترين زير دنباله مشترك Longest common subsequence (LCS)

About DNA دی ان ای مولکولی است که دستورهای ژنتیکی مورد استفاده در توسعه و عملکرد تمام موجودات زنده شناخته شده و بسیاری از ویروس‌ها را کدگذاری می‌کند. دی ان ای اسید نوکلئیکی است که شامل پروتئین و کربوهیدرات‌ها میباشد. اسیدهای نوکلئیک از سه ماکرو مولکول اصلی تشکیل شده اند که برای زندگی همه گونه‌های شناخته شده ضروری می‌باشد. اکثر مولکول دی ان ای از دو رشته پلیمری زیستی تشکیل میشوند که به صورت حلقه دور هم پیچ خورده و به شکل یک مارپیچ دوگانه درآمده اند.

About DNA هر نوکلئوتید از یک باز آلی، گوانین (G)، یا سیتوزین (C)، یا از یک قند مونوساکاریدی به نام دئوکسی ریبوز و یک گروه فسفات تشکیل شده است. نوکلئوتیدها به وسیله پیوند کوالانسی به صورت زنجیره‌ای به هم متصل می‌شوند، نوکلئوتیدها از محل قند یک نوکلئوتید با فسفات نوکلئوتید دیگر پیوند ایجاد کرده و ساختاری شبیه ستون فقرات (رشته بلند) قند و فسفاتی را ایجاد می‌کنند.

About DNA در هر کروموزوم‌ واحدهای توارثی منفردی به‌نان ژن هست. حامل اصلی اطلاعات وراثت محسوب می‌شود. همه مولکول‌های دی‌ان‌اِ ترکیب شیمیائی واحدی دارند. به‌سبب ویژگی‌های ساختاری این بازها، همواره A با T و G با C جفت می‌شود. این بازها به‌ترتیب‌های گوناگون در طول رشته قرار می‌گیرند و این ترتیب، همان رمز توارث است. آرایش‌های گوناگون بازها، تنوع بسیار به دی‌ان‌اِ از جهت پیام‌های وراثتی (ژنتیک) می‌دهد.

About DNA همین چهار باز تعیین‌کننده ویژگی‌های همه جانداران هستند و اینکه جاندار پرنده بشود یا ماهی یا شیر یا انسان، ناشی از آرایش این بازها است. G : گوانین C : سیتوزین A : آدنین T : تیمین

بلند ترين زير دنباله مشترك Longest common subsequence (LCS) در كاربرد هاي بيولوژي ،‌ وقتيكه ميخواهيم DNA دو ارگان متفاوت را با هم مقايسه كنيم‌،‌ ميتوانيم از مفهوم بلند ترين زير دنباله مشترك استفاده نماییم. يك رشته DNA‌ شامل يك دنباله اي از مولكول هائي است كه به آنها Base ميگويند. برخي از اين Base ها عبارتند از , Guanine, Cytosine, Thymine Adenine هركدام از اين Base ها با حرف اول خود نشان داده ميشوند. بعنوان مثال {A, G, C, T } ميتواند يك رشته DNA باشد.

بلند ترين زير دنباله مشترك Longest common subsequence (LCS) یک هدف مقایسه دو رشته DNA پیدا کردن میزان شباهت بین آنها است. این شباهت را میتوان از جمله به یکی از سه روش زیر پیدا کرد: الف - اگر با حد اقل تعداد تغییرات روی base ها ، یک رشته به رشته دیگر تبدیل گردد. ب - اگر یک رشته زیر دنباله رشته دیگر باشد.

بلند ترين زير دنباله مشترك Longest common subsequence (LCS) ج – برای دو رشته S1, S2 ، رشته جدیدی مانند S3 پیدا کنید بطوریکه، base های S3 در S1 و S2 ظاهر شوند ، اما ترتیب حضور این base ها در S1 و S2 باید همان ترتیب حضور در S3 باشد. طبق تعریف، عناصر یک زیر دنباله در لیست میتوانند دقیقا بطور متوالی ظاهرنشوند. هر چقدر رشته S3 طولانی تر باشد ، شباهت بیشتری بین S1 و S2 وجود دارد.

بلند ترين زير دنباله مشترك Longest common subsequence (LCS)

بلند ترين زير دنباله مشترك Longest common subsequence (LCS)

بلند ترين زير دنباله مشترك (LCS)

چكونه ميتوانيم LCS دو رشته را پيدا كنيم يك راه حل بنظر ساده ولي غير معقول اين است كه ابتدا كليه زير دنباله هاي موجود در رشته X را پيدا كنيم سپس ببينيم كدام يك از اين زير دنباله ها در Y وجود دارند و از بین زیر دنباله هائی که درY وجود داشتند، آن زير دنباله اي را انتخاب كنيم كه بلند ترين طول را دارد.

چكونه ميتوانيم LCS دو رشته را پيدا كنيم

چكونه ميتوانيم LCS دو رشته را پيدا كنيم (Optimal sub-structure) است که باعث میشود بتوانیم آنرا به زیر مسئله های کوچکتر تقسیم کنیم. این زیر مسئله ها مربوط میشوند به ذوج پیشوند های (Prefixes) دو دنباله ورودی.

مدل داده ليست List Data Model

چكونه ميتوانيم LCS دو رشته را پيدا كنيم تعریف پیشوند:

بلند ترين زير دنباله مشترك (LCS)

چكونه ميتوانيم LCS دو رشته را پيدا كنيم (Optimal sub-structure) است که باعث میشود بتوانیم آنرا به زیر مسئله های کوچکتر تقسیم کنیم.

قضيه : زير ساختار بهينه براي يك LCS

يك راه حل بازگشتي براي پيدا كردن LCS

يك راه حل بازگشتي براي پيدا كردن LCS

يك راه حل بازگشتي براي پيدا كردن LCS

بلند ترين زير دنباله مشترك Longest common subsequence (LCS) بطور كلي اگر دو رشته X = ( x1, x2, … xm) و Y = (y1,y2, … , yn) را در نظر بگيريد. يك بلند ترين زير دنباله مشترك را ميتوان با استقاده از روش برنامه نويسي ديناميك پيدا كنيم. Dynamic Programming

الگوريتم زير طول يك LCS را به روش برنامه نويسي ديناميك حساب ميكند برای حل این مسئله ابتدا دو آرایه بنام های C[0..m, 0..n] و b[1..m, 1..n] را مقدار دهی می کنیم. این مقدار دهی به روش row-major انجام میشود.

الگوريتم زير طول يك LCS را به روش برنامه نويسي ديناميك حساب ميكند

الگوريتم زير طول يك LCS را به روش برنامه نويسي ديناميك حساب ميكند

How to construct array c and array b

How to construct array c and array b

How to construct array c and array b

عناصر تشكيل دهنده LCS را چگونه بدست آوريم

How to find the LCS using arrays c and b

عناصر تشكيل دهنده LCS را چگونه بدست آوريم در این مثال ، الگوریتم بازگشتی زیر با مقادیر i = 7 & j = 6 فراخوانی میشود. یعنی آرایه b از گوشه سمت راست پائین پردازش میشود.

عناصر تشكيل دهنده LCS را چگونه بدست آوريم اين الگوريتم بازگشتي ،‌ دنباله Z = < B C B A > را بعنوان بلند ترين زير دنباله مشترك دو دنباله زیر چاپ ميكند. توجه کنید که چون الگوریتم بازگشتی است، دستوالعمل print وقتی عمل میکند که به حالت مبنا برسیم. پس از رسیدن به مبنا، مقادیر به ترتیب از اولین حالت بعد از مبنا تا به انتها چاپ میشوند. در نتیجه، ما ترتیب درست مقادیر LCS را دریافت میکنیم. X = < A B C B D A B > , Y= < B D C A B A > زمان اجراي اين الگوريتم O(mn) است. در مثال فوق m = 7, n = 6

Garbage Collection

تعريف مفهوم Garbage Collection

تعريف مفهوم Garbage Collection

تعريف مفهوم Garbage Collection در عمل برنامه نویسان هیچ گرهی را آزاد نمی کنند، بلکه تنها علامت فیلد mark bit را عوض میکنند. وقتیکه سیستم نتواند حافظه مورد نیاز را برای یک تقاضای تخصیص حافظه (malloc) تامین نماید (یعنی عدم وجود حافظه آزاد) ، برنامه ای بنام Garbage collection اجرا میشود. این برنامه با چک کردن mark bit همه گره ها، گره هائی که باید آزاد شوند را پیدا کرده و فضای آنها را آزاد میکند. این فضای آزاد شده به فضای حافظه قابل دسترس اضافه میشود.

تعريف مفهوم Garbage Collection چون حافظه کافی برای نسبت دادن به تقاضای تخصیص حافظه ایجاد شده است.

پایان فصل