סמינר במדעי המחשב מס' 5 סמסטר אביב תשס"ז

80
ססססס ססססס ססססס סס'5 ססססס סססס ססס"ס סססססס : סססס ססססס סססס ססססס ססססס ססססס סס ססס סססססLCA I. Gronau and S. Moran , 2007 Neighbor Joining Algorithms for Inferring Phylogenies via LCA- Distances

Upload: varick

Post on 14-Jan-2016

75 views

Category:

Documents


11 download

DESCRIPTION

סמינר במדעי המחשב מס' 5 סמסטר אביב תשס"ז. צימוד שכנים על ידי מרחקי LCA. Neighbor Joining Algorithms for Inferring Phylogenies via LCA-Distances. I. Gronau and S. Moran , 2007. מציגים : רביב ויניק גילי מיתקי. מבנה ההרצאה. מציג: רביב ויניק. רקע ומושגים - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

5סמינר במדעי המחשב מס' סמסטר אביב תשס"ז

רביב ויניקמציגים :

גילי מיתקי

צימוד שכנים על ידי מרחקי LCA

I. Gronau and S. Moran , 2007

Neighbor Joining Algorithms for Inferring Phylogenies via LCA-Distances

Page 2: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

רביב ויניקמציג:

גילי מיתקימציג:

רקע ומושגים

LCA ומרחקי LCA מטריצת

הכללי DLCA הצגת האלגוריתם

דוגמת הרצה והוכחת נכונות האלגוריתם.

ניתוח מימוש האלגוריתם

אופטימאליות האלגוריתם

דיון ומסקנות

Page 3: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

שיטות בנייה פילוגנטיות מנסות למצוא את האבולוציה ההיסטורית של קבוצה נתונים של זנים.

רקע

הטופולוגיה של העץ יוצרת עץ בינארי.

היסטוריה זו מתוארת ע"י עץ עם קשתות ממושקלות שצמתיו הפנימיים מייצגים אירועי עבר באותו מין )מדובר במינים

נכחדים(.העלים בו מתאימים לקבוצה של אותו זן.

השינוי האבולוציוני בין שני זנים מיוצג ע"י המשקל של הקשת שמחברת ביניהם.

Page 4: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

קבוצה של זנים.Sתהי

הוא עץ ממושקל ולא מכוון .Sעץ פילוגנטי מעל הקבוצה

הקשתות הם בעלי משקולת חיובית.

.S הוא האלמנטים של הקבוצה Tהעלים בעץ

קשת היא חיצונית אם היא מסתיימת בעלה, ופנימית אחרת.

עלה

קשת פנימית

צומת פנימיתקשת חיצוני

ת

הגדרות

Page 5: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

מטריקהמטריקה היא פונקציה שמתאימה לכל זוג מאברי הקבוצה

מספר ממשי, המסמל את המרחק בין שני האיברים.

באופן פורמלי :

קבוצה כלשהי. פונקציה תיקרא מטריקה כאשר Sתהא היא מקיימת את שלוש התכונות הבאות עבור כל

:

Page 6: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

: מושגים שנשתמש בהם

Ultrametricity

: כל העלים הם Ultrametricityעץ במרחק שווה מהשורש.

a

b

c d

e

X

Y a = b + c + d + e

: מטריקה Ultrametricityמטריקה אדיטיבית שקונסיסטנטית עם עץ

Ultrametricity.

מטריקת מרחקים שמייצגת מרחקים בין .צמתים בעץ היא אדיטיבית

אדיטיביות

Page 7: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

: מושגים שנשתמש בהם - המשך

קונסיסטנטיותאלגוריתמים לבניית עצים פילוגנטיים שמקבלים כקלט

מטריצת מרחקים הם קונסיסטנטיים אם בהינתן מטריצת מרחקים אדיטיבית כלשהי הם מחזירים עץ שזוהי המטריצת

.מרחקים שמתארת אותו

Distance matrices

Additive matrices

Ultrametric matrices

Page 8: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

טכניקות פילוגנטיות שמבוססות על מרחק מנסות לבנות את עץ האבולוציה מזוגות של מרחקים בין הזנים השונים .

אלגוריתמים לבניית עצי אבולוציה

אלגוריתמים לבניית עצי אבולוציה המבוססים על מרחק

בהרצאה נתמקד בשיטת לבניית עצי אבולוציה שמשתמשים .LCAבשיטת צימוד השכנים ומבוססים על מרחקי

עץ מרחקים היא אדיטיבית. מטריקת מרחקים שמזוהה עם

Page 9: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

אחת מטכניקות הבנייה הפופולאריות ביותר היא צימוד שכנים.

צימוד שכנים היא טכניקת איחוד צבירים שבה שני שכנים מאוחדים לצביר אחד.הצביר החדש מחליף אותם בקבוצת

האלמנטים ותהליך יצירת הצבירים ממשיך באופן רקורסיבית על קבוצת האלמנטים החדשה.

Neighbor joining - צימוד שכנים

קריטריון איחוד השכנים הפשוט ביותר הוא "הזוג הקרוב ביותר" ונעשה בו שימוש באלגוריתמים רבים.

למשל :UPGMA,WPGMA.single kinkage algorithm

עבור עצים כללים קריטריון זה אינו קונסיסטנטי אך עבור , הוא כן קונסיסטנטי.ultramatric עצים

Page 10: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

נפתור את בעיית בניית העץ הכללי ע"י רדוקציה לבניית עץ .Farris ע"י שימוש בטרנספורמציית ultramatricשהוא

Neighbor)המשך – צימוד שכניםjoining)

אלגוריתמים של צימוד שכנים פועלים על עצים כללים ובכל זאת מבטיחים בנייה קונסיסטנטית של העץ

משתמשים בקריטריון מסובך יותר לצימוד שכנים – דבר המגדיל משמעותית את סיבוכיות הזמן ריצה.

אז משחזרים עצים פילוגנטיים עבור עצים שאינם ultramatric? ים

Page 11: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

Farrisטרנספורמציית ממירה כל מטריקה אדיטיבית Farrisטרנספורמצית

ושומרת על הטופולוגיה של העץ.ultramatricלמטריקה וערך כלשהוא r, זן Dבהינתן מטריצת מרחקים

יוצרת מטריצת מרחקים Farris ,טרנספורמצית שמקיימת :Uחדשה

היא U( אז T היא אדיטיבית )וקונסיסטנטית עם עץ Dאם שנשיג אותו ע"י הארכת ultrametricקונסיסטנטית עם עץ

הקוים המקוטעים :Tהקשתות החיצוניות של העץ מייצגים קשתות

שהוארכו

לאחר שימוש בטרנספורמציה ניתן להשתמש שמתאימה ולקבל עץ שהוא קונסיסטנטי עם ultramatricלעצים שהם

המטריקה.יש צורך לשחזר את המשקלים של הקשתות של העץ שאותו

אנו משחזרים .

Page 12: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

במאמר מוצגת טכניקה אלטרנטיבית שבה נשחזר עצים שאינם ultramatric.

העץ יבנה באופן ישיר ללא השימוש בטרנספורמציה וללא .ultramatricיצירת עץ ביניים שהוא

הטכניקה תשתמש במרחקים לאבות הקדמונים המשותפים לזוגות צמתים שרחוקים ביותר מהשורש..

.LCA = Least Common Ancestorsמרחקים אלו יקראו מרחקי

גישה זו מאפשרת הוכחה של תכונות חוזק מסוימות שחזקים יותר מתכונת הקונסיסטנטיות.

הטכניקה החדשנית שמוצגת לבניית העץ הפילוגנטי

Page 13: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

מטריצת הקלט שאינה מדויקת היא גרסה רעשנית של מטריצה אדיטיבית.

הטכניקה החדשנית שמוצגת לבניית העץ הפילוגנטיקונסיסטנטיות מבטיחה בנייה נכונה כאשר המרחקים הנתונים - המשך

מדויקים.אך בפועל המרחקים שנקבל אינם מדויקים ומטריקת המרחקים

שעל פיה יבנה העץ היא אדיטיבית בחלק קטן של המיקרים.

שיטות בנייה מבוססי מרחקים צריכים להיות חזקים בפני .רעש

חוזק של אלגוריתמים לרעש נמדד ע"י כמות הרעש שתחתיו מובטחת עדיין בנייה של העץ בטופולוגיה נכונה.

Page 14: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

רעש ו"מטריקה כמעט אדיטיביות"

שהיא Dהמטריצה נקבעת ע"י Tהטופולוגיה של העץכמעט אדיטיבית.

T היא גם Quartet consistency.

החוזק של האלגוריתם מתבטא ביכולת לבנות את .הטופולוגיה הנכונה ע"י קלט שהוא כמעט אדיטיבי

היא כמעט אדיבית ביחס לקשתות ממושקלות Dהמטריצה )שמשרה מטריצה אדיטיבית שנסמן Tשל עץ

אותה ( אם מתקיים :

(Atteson,1999)

Page 15: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

Quartet) – רביעייה קונסיסטנטית 1.1הגדרה consistency.)

מטריצת מרחקים אזי :Dתהי

D היא קונסיסטנטית עם רביעייה (ij : kl):אם

D היא רביעייה קונסיסטנטית עם עץ T כלשהו אם היא .Tקונסיסטנטית עם כל הגדרות הרביעייה המושרות ע"י

כאשר הקלט אינו קונסיסטנטי עם עץ כלשהוא , הוא עדיין יכול להיות קונסיסטנטי עם קשתות מסוימות של

העץ .בהקשר זה, קשת מוגדרת עם הפיצול שהוא משרה מעל

.Dקבוצת זנים ופיצול מרומז ע"י המטריצה קונסיסטנטי עם כל ההגדרות.Dאם

Page 16: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

רעשAtteson( את המושגים : קשתות 1999 הציג )

,

הוא הערך כך Aה של אלגוריתם שיחזור המושגים מקנים לנו הערכה מספרית לרעש של מטריצת הקלט. מתקיים שאם T ועץ Dשלכל מטריצת המרחקים

D יקבל את מטריצת המרחקים Aאז מובטח שכאשר האלגוריתם .Tהוא יחזיר עץ עם אותה טופולוגיה כמו העץ

יש קשתות בגודל אם Aלאלגוריתם T משחזר את כל הקשתות ב T,A ועץ Dלכל מטריצת מרחקים

שהם בעלי משקל גדול יותר מאשר .

ה קשתות של אלגוריתם חסום מלמעלה ע"י ה . ולכן אלגוריתם 0.5 והוכח ששניהם אינם גדולים מ

שמבטיח בנייה קונסיסטנטית ממטריצה מרחקים שהיא כמעט . 0.5אדיטיבית הוא בעל אופטימלי של

Page 17: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

סקירת המחקר בתחוםבנייה קונסיסטנטית של עצים פילוגנטיים הוא נושא

Buneman 1971.70שנחקר החל מראשית שנות ה

Sattath and Tversky 1977

Water,am 1977

באופן כללי זוהי משומה שדורשת סיבוכיות זמן של

וסיבוכיות של עבור fullyמקרה מיוחד של עצים בעלי טופולוגיה של

resolved.

מייצג את מספר הזנים.nכזכור

אלגוריתמים בסיבוכיות זמן ריצה של ו עבור המקרה המיוחד הוצגו בסוף

.70שנות ה

האלגוריתמים עבור המקרה המיוחד הוצגו שני עשורים מאוחר יותר.

Page 18: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

סקירת המחקר בתחום - ע"י בהקשר 1977סכמת צימוד השכנים הוצגה לראשונה ב המשך

של בניות שמבוססות על מרחק עקבי.

Sattath( שסיבוכיותו . ADDTREEבאלגוריתם , Tversky (

NJ הוצג אלגוריתם צימוד השכנים הקרוי 80בשנות ה שסיבוכיותו .

(Saitou, Nei, Studier, Kepller.)

מאז מספר רב של אלגוריתמים פותחו במטרה לשפר את על קלט של מטריצת שמכילה NJהביצועים של אלגוריתם

רעש.

דוגמאות לאלגוריתמים כאלה :BIONJ, Gascuel 1997

NJML, Ota and Li 2000

Weighbor, Bruno, 2000

Page 19: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

סקירת המחקר בתחום - השיפור באלגוריתמים לא הוכח באופן אנליטי אלא הודגם המשך

באמצעות סמולצית ריצה על תהליך אבוליציוני.

אחת הדרכים שבה ניתן באופן אנליטי לנתח את הביצועים של אלגוריתם בנייה מבוסס על מרחק על קלט שאינו אדיטיבי הוא

ע"י התבוננות במרחק בין מטריצת הקלט ומטריצת שמושרת ע"י עץ הפלט.

מרחק זה נמדד ע"י שימוש בערך הנורמה של המטריצה.לצערנו, בעיית מציאת העץ שקרוב ביותר למטריצת הקלט

קשה עבור נורמות מסוימות. הדרך היחידה NPהוא בעיה עבור הנורמה approximation-3לשערך הוא האלגוריתם

.

ואלגוריתם Farrisאלגוריתם זה משתמש בטרנספורמצית הקרובה ביותר למטריצה ultrametricלמציאת המטריצה ה

נתונה.

Page 20: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

סקירת המחקר בתחום - . radius- אינדיקציה נוספת לעמידות לרעש היא ה המשך

עמידות לרעש מתבטאת ביכולת לבנות טופולוגיה נכונה של עץ פילוגנטי בהינתן מטריצה שהיא רעשנית והדבר אפשרי

עבור מטריצה שהיא שכמעט אדיטיבית.

הממצאים שמהם מורכבת מטריצת המרחקים אינם מדויקים לחלוטין, והמטריצות הם לרוב לא אדיטיביות, אך הן כמעט

אדיטיביות בהסתברות גבוהה.

Atteson הראה שאלגוריתמים לשחזור עצים המבוססים על , כלומר הם מחזירים את 0.5 של Radiusמרחקים

הטופולוגיה הנכונה בהינתן קלט שהוא כמעט אדיטיבי.

Page 21: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

.LCAבמאמר מוצג אפיון של מטריקות עץ ע"י מרחקי אלו הם מרחקים משורש שמייצג זן לאב הקדמון המשותף

הרחוק ביותר מהשורש , עבור כל זוגות הזנים. מאפשר לשחזר עצים כללים ולא רק LCAהשימוש במרחקי

.ULTRAMETRICעצים שהם

נציג קריטריון צימוד שכנים פשוט שיוצר למעשה משפחה .DCLAשל אלגוריתמים יעילים שנקראת

משפחה זו של אלגוריתמים היא למעשה מימוש ישיר של . Farrisטרנספורמציית

שאותם מחשבים מהמטריקה LCAמשתמשים במרחקי המקורית במקום ביצוע טרנספורמציה למטריקת

ULTRAMETRIC.ובניית העץ ממנה

Page 22: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

משפחה זו של אלגוריתמים מאפשרת מגוון רחב של אלגוריתמים לבנייה קונסיסטנטית.

ההבדל בין כל אחד מהאלגוריתמים במשפחה זו הוא בצורה שבה הוא מצמצם את מטריצת הפלט בכל צעד.

לאלגוריתמים אלו יש סיבוכיות זמן ריצה אופטימלית של כאשר אנו משתמשים בטכניקה חדשנית .

טכניקה זו מאפשרת סיבוכיות זו גם לאלגוריתמי UPGMA,WPGMA.ואלגוריתמי צביר אחרים

במהלך ההרצאה נתמקד בתת משפחה גדולה של .Conservative algorithms שקרויה : DLCAמשפחת ה

בכל האלגוריתמים בתת משפחה זו יתכנו שינויים משמעותיים בביצועי הריצה על אף שלכולם מובטחת

אחידות בבנייה עצמה.

Page 23: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

הגדרות iהמרחק בעץ בין צומת

לצומת הקרובה rהמרחק בעץ בין צומת jלצומת – זהו j ל iביותר אליו שנמצאת במסלול בין

LCAלמעשה מרחק

הצומת המרכזית היא האב הקדמון הרחוק ביותר מהשורש.j ו iשל הצמתים

. vבאיור המוצג זוהי הצומת

Page 24: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

S עם קשתות ממושקלים מעל קבוצת זמנים Tבהינתן עץ , היא ובהינתן זן

מטריצה מעל שיש בה את כל מרחקי ה LCA בעץ T מהשורש r :ומתקיים

. :LCAדרכים לשערך מרחקי

ע"י טרנספורמציה . Dא. לחשב אותם ממטריצת מרחקים היא D טרנספורמציה זו היא קונסטינטנטית כך שאם

אז מתקיים: Tמטריקה אדיטיבית קונסיסטנטית עם עץ 2.1הגדרה .

וזן S מעל קבוצת זנים Dבהינתן מטריצת מרחקים ,אזי :

היא המטריצה מעל שמוגדרת באופן הבא:

Page 25: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

– המשךLCAדרכים לשערך מרחקי

הנא LCAב. הדרך השנייה שבה ניתן לשערך מרחקי באופן ישיר מרצפי הזנים ע"י יישום של טכניקות

מקסימום מעל שלשות של רצפים.מחקרים שנעשו הראו שמרחקים ששוערכו באופן ישיר מרצפים של שלשות נוטים להיות יותר מדויקים מאשר

אלו ששוערכו ע"י רצפים של זוגות. שיערוך מרחקים מדויק יותר מוביל לבניית עץ באופן

מדויק יותר.

Page 26: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

מסומנתLCA - מטריצת היא S מעל קבוצה Lמטריצה סימטרית ואי שלילית

אם היא מספקת את הדרישות הבאות :LCAמטריצת עבור כל הזנים )לכל ( מתקיים כי : 1.

.

הגדרה 2.2

L: זנים A B C D

A 7 4 3 1

B 9 3 1

C 6 1

D 7

מתקיים S מתוך הקבוצה (i,j,k). עבור כל שלשה של זנים 2כי:

ניתן לנסח את התנאי השני באופן הבא: כל שלושה איברים מהצורה: Lבמטריצה

מקיימים כי הערך המינימאלי מופיעה לכל הפחות פעמיים.

נקרא לתכונה זו תנאי שלושת הנקודות.

Page 27: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

- המשךLCAמטריצת LCAתנאי שלושת הנקודות עבור מרחקי

היא הצומת V.המרכזית

: ומתקיים בה כי

נימצא בזוג iאחרת, כפי שניתן לראות rעם

ומתקיים :

Page 28: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

מימוש גנריDLCA– אלגוריתם Deepest LCA Joinng

.S מעל קבוצה של זנים L מטריצה סימטרית אי שלילית קלט:

אם החזר עץ שמכיל קשת אחת תנאי סיום:1.. S לזן יחיד ב r שמחברת את השורש Wבמשקל

כך שמתקיים כי i,j בחר זוג של זנים בחירת שכנים:.2.L במטריצה i,jהיא הכניסה המקסימאלית שאינה אלכסונית בשורות

עם v בתור בנים של i,j בעץ שמוחזר, הוסף את . צימוד שכנים:4המשקלים הבאים:

: קבע כי

:עבור כל , קבע

במקומם.S ל v והוסף איבר חדש שיקרא S מ i,j הסר את הזנים צמצום הקבוצה:. 3

.Lהפעל את האלגוריתם באופן רקורסיבי על המטריצה המצומצמת

Page 29: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

זנים A B C D E

A - 8 7 12 7

B - 9 14 9

C - 11 6

D - 7

E -

דוגמאניקח עץ בעל קשתות ממושקלים.

העלים מדמים עבורנו את קבוצת זנים: 5 שכוללתSהזנים

זוהי מטריצת המרחקים שמתאימה לעץ. כל איבר

במטריצה מייצג את המרחק בין שני זנים.

להיות Eנבחר את השורש של העץ.

הקשתות הממושקלות את המרחק האבולוציוני בין הזנים.

S = {A,B,C,D,E}E

1

Page 30: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

דוגמא - המשך

אלגוריתמים אחרים אותם ראינו בסמינר, למשל ה NJ משחזרים את העץ הפילוגנטי ממטריצת ,

המרחקים .

E

1

זנים A B C D E

A - 8 7 12 7

B - 9 14 9

C - 11 7

D - 7

E -

A

B

5K1 K2

D

C

3

1

8

3

וממנה נשחזר את LCAאנו ראשית נבנה מטריצת העץ.

E

1

Page 31: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

D:זנים

A B C D E

A - 8 7 12 7

B - 9 14 9

C - 11 6

D - 7

E -

דוגמא - המשך ממטריצת LCAנחשב את מטריצת מרחקי ה

.Dהמרחקים

L:

באותו אופן נחשב גם את שאר אברי האלכסון במטריצה.

L(A,A) =

( D(r,A) + D(r,A) – D(A,A )) =

(7+7-0) = 7

זנים

A B C D

A 7

B 9

C 6

D 7

Page 32: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

- המשך.LCAחישוב מטריצת מרחקי ה

L(A,D) =

( D(E,A) + D(E,D) – D(A,D )) =

(7+7-12) = 1

L(B,C) =

( D(E,B) + D(E,C) – D(B,C )) =

(9+6-9) = 3

דוגמא – המשך (חישובים)

L(B,D) =

( D(E,B) + D(E,D) – D(B,D )) =

(9+7-14) = 1

L(C,D) =

( D(E,C) + D(E,D) – D(C,D )) =

(6+7-11) = 1

L(A,C) =

( D(E,A) + D(E,C) – D(A,C )) =

(7+6-7) = 3

L(A,B) =

( D(E,A) + D(E,B) – D(A,B )) =

(7+9-8) = 4

Page 33: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

D:

- המשך.LCAחישוב מטריצת מרחקי ה

L:

LCAלאחר סיום החישובים נקבל את מטריצת ה הבאה :

זנים

A B C D

A 7 4 3 1

B 9 3 1

C 6 1

D 7

דוגמא - המשך

זנים

A B C D E

A - 8 7 12 7

B - 9 14 9

C - 11 6

D - 7

E -

Page 34: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

E

1

דוגמא - המשך לעץ LCAנסביר כיצד מתאימה מטריצת ה

:Lהמקורי

L(A,A) = 7 ואכן המרחק בין השורש לאב הקדמון הקרוב ביותר אליהם הוא A ו Aהמשותף של העלים

.7 שהוא אכן Aלמעשה המרחק בין השורש לעלה

L(A,B) = 4 ואכן המרחק בין השורש לאב הקדמון .4 הקרוב ביותר אליהם הוא B ו Aהמשותף של העלים

זנים

A B C D

A 7 4 3 1

B 9 3 1

C 6 1

D 7

Page 35: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

דוגמת הרצהDLCA– אלגוריתם L:

S: {A, B, C, D }

כך שמתקיים כי i,j בחר זוג של זנים בחירת שכנים:.2.L במטריצה i,jהיא הכניסה הלא אלכסונית המקסימאלית בשורות

B,Aנבחר את הזוג: .S ל v והוסף את S מ i,j הסר את הזנים צמצום הקבוצה:. 3

S: { C, D }

S: { AB,C, D }

Sנגדיר איבר חדש שנוסיף לקבוצה ABשיקרא

לשם קיצור נקרא לאיבר החדש Vשהוספנו

נתחיל בהרצת האלגוריתם Lכאשר מטריצת הקלט

LCA ה היא מטריצתשיצרנו במהלך החישובים.

זנים

A B C D

A 7 4 3 1

B 9 3 1

C 6 1

D 7

Page 36: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

דוגמת הרצה - DLCA– אלגוריתם המשך:המשך

קבע : כי

קבע: עבור כל

L: L1:

זנים AB C D

AB 4

C 6 1

D 7

L(AB,AB) = 4

זנים

A B C D

A 7 4 3 1

B 9 3 1

C 6 1

D 7

Page 37: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

מימוש גנרי - הערהDLCA– אלגוריתם Deepest LCA Joinng

ההבדלים בין הגרסאות השונות של אלגוריתם הערה: DLCA '3 הוא באופן שבו מחושב בצעד מס

, Lבאלגוריתם. אופן החישוב יכול להיות תלוי במטריצה או בכל מידע אחר שנשמר ע"י האלג'.I,j,kבאיברים

: קבע כי

:עבור כל , קבע

.S ל v והוסף את S מ i,j הסר את הזנים הפחתת הקבוצה:. 3

Page 38: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

דוגמת הרצה - DLCA– אלגוריתם המשך:המשך

Mid point

נבחר את ערכו של להיות חצי – : ונקבל

L: זנים AB C D

AB 4 3

C 6 1

D 7

L(AB,C) =

( D(A,C) + D(B,C)) = (3+3) = 3

לצורך הרצת הדוגמא נבחר באחת שבהם נעשה שימוש.

זנים

A B C D

A 7 4 3 1

B 9 3 1

C 6 1

D 7

L: L1:

Page 39: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

דוגמת הרצה - DLCA– אלגוריתם המשך:המשך

L:

L(AB,D) =

( D(A,D) + D(B,D)) = (1+1) = 1

באותו אופן נחשב את יתר ערכי המטריצה המצומצמת שיש לחשבם.

L1:

זנים AB C D

AB 4 3 1

C 6 1

D 7

זנים

A B C D

A 7 4 3 1

B 9 3 1

C 6 1

D 7

Page 40: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

הפעל את האלגוריתם באופן רקורסיבי על המטריצה .Lהמצומצמת

דוגמת הרצה - DLCA– אלגוריתם המשך:המשך

L1:

אם החזר עץ שמכיל קשת אחת תנאי סיום:1.. S לזן יחיד ב r שמחברת את השורש Wבמשקל

כך שמתקיים כי i,j בחר זוג של זנים בחירת שכנים:.2.L במטריצה i,jהיא הכניסה הלא אלכסונית המקסימאלית בשורות נבחר את הזוג:

C,ABS: {AB, C, D } .S ל v והוסף את S מ i,j הסר את הזנים צמצום הקבוצה:. 3

S: {ABC, D }

זנים ABC D

ABC

D 7

L2:זנים AB C D

AB 4 3 1

C 6 1

D 7

Page 41: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

דוגמת הרצה - DLCA– אלגוריתם המשך:המשך

L1:

זנים ABC D

ABC 3 1

D 7

L2:

קבע : כי

קבע: עבור כל

L(ABC,ABC) = 3

L(V,D) =

( D(AB,D) + D(C,D)) = (1+1) = 1

זנים AB C D

AB 4 3 1

C 6 1

D 7

Page 42: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

הפעל את האלגוריתם באופן רקורסיבי על המטריצה .Lהמצומצמת

המשך:

אם החזר עץ שמכיל קשת אחת תנאי סיום:1.:S .L2 לזן יחיד ב r שמחברת את השורש Wבמשקל

כך שמתקיים כי i,j בחר זוג של זנים בחירת שכנים:.2.L במטריצה i,jהיא הכניסה הלא אלכסונית המקסימאלית בשורות נבחר את הזוג:

D,ABCS: {ABC, D } .S ל v והוסף את S מ i,j הסר את הזנים צמצום הקבוצה:. 3

לשם קיצור נקרא לאיבר החדש Vשהוספנו

S: {ABCD }

קבע : כי

L(ABCD,ABCD) = 1

זנים ABCD

ABCD 1

L3:

הפעל את האלגוריתם באופן רקורסיבי על המטריצה .Lהמצומצמת

זנים ABC D

ABC 3 1

D 7

Page 43: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

אם החזר עץ שמכיל קשת אחת תנאי סיום:1.. S לזן יחיד ב r שמחברת את השורש Wבמשקל

המשך:

זנים ABCD

ABCD 1L3:

E

1

ABCD

עם v בתור בנים של i,j בעץ שמוחזר, הוסף את . צימוד שכנים:4המשקלים הבאים:

שורש

1ABCDזנים ABC D

ABC 3 1

D 7

L2:

DABC

2 6

W(ABCD,ABC) = max{0, L(ABC,ABC)-L(ABC,D) } = 2

W(ABCD,D) = max{0, L(D,D)-L(ABC,D) } = 6

Page 44: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

A B

L1:Eהמשך:

1

ABCD

DABC

2 6

W(ABC,AB) = max{0, L(AB,AB)-L(AB,C) } = 1

AB C

1 3W(ABC,C) = max{0, L(C,C)-L(ABC,C) } = 3

W(AB,A) = max{0, L(A,A)-L(A,B) } = 3

W(AB,B) = max{0, L(B,B)-L(A,B) } = 5

3 5

זנים AB C D

AB 4 3 1

C 6 1

D 7

זנים

A B C D

A 7 4 3 1

B 9 3 1

C 6 1

D 7

Page 45: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

האם קיבלנו את אותו עץ שניסינו לשחזר ? המשך:

?

E1

ABCD

DABC

2 6

AB C

1 3

A B

3 5

E

1

Page 46: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

האם קיבלנו את אותו עץ שניסינו לשחזר ? המשך:

!! כןE

1ABCD

D

ABC2

6

AB

C

1

3A

B3

5

E

1

Page 47: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

מעל L מטריצה אי שלילית : 2.3משפט אמ"מ קיים עץ LCA היא מטריצת Sקבוצת זנים

T עם קשתות ממושקלות מעל הקבוצה כך שמתקיים כי:

הוכחה : עם קשתות ממושקלות Tבהינתן עץ פילוגנטי

מעל הקבוצה כך שמתקיים :

היא L אז .LCAמטריצת

עבור כל הזנים )לכל ( מתקיים כי : 1..

מקיימת את התנאים Lכלומר, עלינו להראות כי הבאים :

מהצורה: L. כל שלושה איברים במטריצה 2 מקיימים כי הערך המינימאלי מופיעה לכל

הפחות פעמיים.

Page 48: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

והמינימום מופיע ב שלושה פעמים.

הוא עץ ממושקל מעל קבוצת זנים Tנניח ש ומתקיים: .

אזי ברור על פי הגדרה שמתקיים: .

2.3הוכחת משפט

עבור כל הזנים )לכל ( מתקיים כי : 1..

.r,i,j,kנתבונן בתת העץ הנפרש ע"י

אם הטופולוגיה שלו היא :

אז מתקיים:

התכונות של מטריצת 2נראה כי מתקיימות LCA:

מהצורה: L. כל שלושה איברים במטריצה 2 מקיימים כי הערך המינימאלי מופיעה לכל

הפחות פעמיים.

Page 49: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

– המשך2.3הוכחת משפט

ניתן לומר זאת גם לגביי שתי האפשרויות הטופולוגיות

האחרות של תת עץ זה ובכך .2לספק את תכונה מס'

ברבעיה אז מתקיים כי:r נמצא יחד עם iאם

וערך המינימום מופיעה פעמיים

ב .

Page 50: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

- המשך2.3הוכחת משפט

נראה שכל LCA שידוע שהיא מטריצת Lבהינתן מטריצה עץ שתואר, יוצא הגנריDLCAוריאנט של האלגוריתם ה

שמקיים

. והעלים שלו הם האיברים rהאלגוריתם מחזיר עץ ששורשו

שהעץ Sנוכיח באינדוקציה על מס' האיברים בקבוצה .Sבקבוצה .LCAשהוחזר קונסיסטנטי עם מטריצת ה

ועל פי תנאי העצירה נקבל , :בסיס .

, שנובעת 2.4את צעד האינדוקציה נראה באמצעות למה מהצורה: Lכל שלושה איברים במטריצה הנקודות:3למעשה ישירות מתנאי

מקיימים כי הערך המינימאלי מופיעה לכל הפחות פעמיים.

Page 51: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

i,j : כעת נניח שמתקיים ויהיו צעד האינדוקציה.2זוג הזנים שנבחר ע"י האלגוריתם בצעד מס'

עבור כל נקבל כי 2.4עפ"י למה .

של האלגוריתם נקבל כי 3לכן בצעד מספר ללא קשר לערכו של .

כעת אנו טוענים שהמטריצה החדשה מעל הקבוצה של 3בצעד מס' המופחתת שהוגדרה

.LCAהאלגוריתם היא מטריצת

- המשך2.3הוכחת משפט

שני איברים i,j, והיו S מעל LCA מטריצת Lתהי : כך שמתקייםSשל הקבוצה

אז:

2.4למה

Page 52: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

כיוון שכל האיברים במטריצה מלבד הם זהים לאיברים התואמים במטריצה

במטריצה i במטריצה מתאים לאינדקס v)כאשר האינדקס אזי:

מתקיימת עבור כפי שהיא 2.2 בהגדרות 2תכונה מס' מתקיימת עבור .

בהגדרות מתקיימות עבור כל 1מאותה סיבה, תכונה מס' . כיוון שמתקיים:v מתקיימת גם עבור 1תכונה מס'

עבור כל , .

אזי עפ"י הנחת האינדוקציה LCAכיוון ש היא מטריצת העץ שמעל

שמוחזר ע"י הקריאה הרקורסיבית בסוף צעד באלגוריתם מקיים .3מס'

נשתמש בה"א על מנת להראות שמתקיים שמתקיים : .

- המשך2.3הוכחת משפט

Page 53: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

ע"י הוספת שתי קשתות: 4 מתקבל מ בצעד מס'

עם משקלים ו בהתאמה.

כאשר לכל מתקיים :

- המשך2.3הוכחת משפט

Page 54: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

נותר להוכיח את השוויון עבור האיברים :L של המטריצה

על מנת להשלים את הוכחת הקונסיסטנטיות של האלגוריתם מייצגת עץ ייחודי עם קשתות LCAיש להראות שכל מטריצת

ממשקלות.

ניתן אינטואיציה לכך :

של 2 שנבחרו בצעד מס' i,jתכונת זו מתקיימת כיוון שהזנים האלגוריתם הם בהכרח שכנים בכל העצים שקונסיסטנטיים

(.LCAעם מטריצת הקלט )שהיא מטריצת

- המשך2.3הוכחת משפט

Page 55: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

החופש בבחירת אופן ההפחתה מאברי הקבוצה שמוגדר מוביל לכך שקיימים אלגוריתמים רבים ע"י ערכו של

.DLCAשקונסיסטנטיים עם משפחת ה

אנו נדבר רק על אלגוריתמיים שפועלת בצורת הפחתה .(conservative reduction)שמרנית

conservative reduction(( צמצום שמרני

צעד הפחתה שמרני מושג ע"י ראשית חישוב ערך עבור

ואחר כך יישום של אחד מהחישובים הבאים :

או

Page 56: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

- המשךconservative redeunction(( צמצום שמרני

אנו נתעניין בעיקר בשני הואריאנטים השמרניים הבאים :

Mid point

Maximal value

מזכירה את סכימת DLCAסכימת צימוד השכנים באלגוריתמי צימוד שכנים של ה"זוג הקרוב ביותר" עבור בניות של עצים

.Ultrametricפילוגנטיות ממטריקות שהן

הנקודות.3בשתי הסכמות יש שימוש בתנאי של

Page 57: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

closest) )צימוד שכנים של הזוג הקרוב ביותרpair

הנקודות 3קריטריון "הזוג הקרוב ביותר" מבוסס על תנאי deepest כשם שקריטריון ה ultrametricעבור מטריקות שהן

LCA עבור מטריקת ה הנקודות3 מבוסס על תנאי LCA.

הדמיון בין סכמות צימוד השכנים מאפשר לנו להמיר ultrametricאלגוריתמים שבונים עצים פילוגנטיות ממטריקות

שמבוססות על מרחקים בזוגות לאלגוריתמים שבונים עצים .LCAפילוגנטים כללים ממרחקי

.WPGMA מתקשר לאלגוריתם ה mid pointואריאנט ה

מתקשר לאלגוריתם הקישור maximal valueואריאנט ה .(single linkage)היחיד

Page 58: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

איטרציות.n-1 מבצע DLCA זנים, n של S מעל קבוצה Lבהינתן מטריצה

בכל איטרציה עליו לבחור זוג "שכנים" ) כלומר צמתיםשמקיימים את התנאי( ולצמצם את מטריצת הקלט.

nהצימצום לוקח זמן ליניארי ב-

כמה זמן לוקח לבחור זוג? :שאלה

: נעבור על כל המטריצה, ונחפש את הערך המקסימאלי גישה נאיבית )n3(O בכל צימצום של המטריצה, וסה"כ: )O)n2מחוץ לאלכסון. סיבוכיות:

נשמור את ערכי התאים של המטריצה מחוץ לאלכסון במבנה חיפוש מתאים, : 1שיפור גודל המבנה, למשל עץ חיפוש בינארי, m כאשר )O)logmעם מימוש של כל פעולה בסיסית ב-

. )O)m*logm(=O)n2*logn ולכן יצירת העץ לוקחת m<n2ועם הצבעה הדדית על המטריצה. בכל פעם שנרצה למצוא את הערך המקסימלי במטריצה, נמצא אותו דרך העץ, ובכל פעם שנמחק

או נוסיף שורות ועמודות, נמחק אותם דרך המטריצה. )עדיין מחיקה והוספה בעץ לוקחת O)logm(.)

)n2logn(O בכל צמצום, וסה"כ )nlogn(O בהתחלה, )O)n2logn סיבוכיות:

Page 59: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

!כן ?)O)n2 האם אפשר להשיגאבל צריך ( )להתאמץ

הוא סדרת אינדקסים )"זנים"( )L )ascending pathביחס למטריצה מסלול עולה הגדרה:P=)i1,,…,il(( כך שכל הזוגות ir,ir+1-הם זוגות מקסימליים ב )Lכלומר אם נגדיר ,

MAXL)i(:=maxj{L)i,j(} אז MAXL)ir(=L)ir, ir+1( 1 לכל<r<l.

( )MAXL)il-i(=MAXL)il אם הזוג האחרון מקיים שלםמסלול עולה הוא

מתאיםr לכל )MAXL)ir( < MAXL)ir+1נובע מכך

מקבל ערך מקסימאלי )il-1,il(L, אז L מסלול עולה שלם של )P=)i1,…,il אם הבחנה: מתאימים לצימוד(il-1,il )ולכן il-1, ilמחוץ לאלכסון בשורות

, il-1 מקסימאלי בשורה )il-1.il(il, L)זה ברור, כי ע"פ הגדרת (ilוע"פ הגדרת מסלול עולה שלם, גם בשורה

i,j, נוכל לבחור ב-)O)n2אם נצליח לבנות ולהחזיק מסלול עולה שלם בסיבוכיות מסקנה: לצימוד, ומה שיוותר זה פעולות העידכון של המטריצה )ובניית העץ(, ונקבל סיבוכיות זמן

סה"כ. )O)n2של

Page 60: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

:אחזקת מסלול עולה שלם

)L)i1,i2(=MAXL)i1 המקיים i2, ונמצא את i1 נבחר אינדקס אקראי איתחול:ונבצע הרחבה בסיסית עד לקבלת מסלול עולה שלם.

הרחבה בסיסית)il(m=MAXL, חשב את L של )P=)i1,..,ilבהינתן מסלול עולה

, סיים.)m=L)il-1,ilאם il,il+1(=m(L המקיים il+1 ע"י הוספת P, הרחב את )il-1,il(m<Lאחרת )כלומר אם )

פעמיםn-1ב כך מסלול עולה יותר מ-ין להרחתלא ניא( הבחנה:ב( כאשר מסיימים, מקבלים מסלול עולה שלם

צמצום: במסלול עולה שלם הקיים.il,il-1כאמור, בכל שלב אנו מבצעים צימוד על

, )ונישאר עם מסלול עולה, ע"פ הלמה(,il, il-1כדי לעדכן אותו, נוציא ממנו את ואם הוא אינו ריק, נבצע הרחבה בסיסית עד לקבלת מסלול עולה שלם.

אם הוא ריק, נבצע איתחול.

מסלול עולה שלם, והצימצום הוא קמור )כמו כל צימצום שמרני( אז Pאם למה: הוא מסלול עולה.)il-1,il, P’:=)i1,…,il-2במטריצה לאחר צימוד

{)k, L’)k,v(<max{L)k,i(,L)k,jתחת הנחה זו, לכל הוכחה: יתקבל שם.)k(’MAXL התקבל בעמודה אחרת, גם )MAXL)kולכן אם

Page 61: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

:צימצום

P= a b c

i curr= c

i next=

MAXL)icurr( =

דוגמא

a b c d e

a 2 1 1 1 1

b 1 3 2 2 2

c 1 2 4 3 3

d 1 2 3 5 4

e 1 2 3 4 6

i curr=

i next=

MAXL)icurr( =

a

bcde

1234

P= a b c d e

bc

!

P שלם

a b c v

a 2 1 1 1

b 1 3 2 2

c 1 2 4 3

v 1 2 3 4

de

d

Page 62: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

נובעת מהעובדה שבכל צימצום אנו בוחרים את האיברים האחרונים במסלולנכונות:עולה שלם )שמקיימים את דרישת האלגוריתם(.

סיבוכיות: )כי צריך לסרוק שורה במטריצה()O)nסיבוכיות הרחבה בסיסית של מסלול היא

n-1 איתחולים )אם המסלולים קצרים( ובכל איתחול ייתכנו n-1במבט כללי, ייתכנו הרחבות בסיסיות )אם המסלולים ארוכים(

בכל )O)n2מה שיוצר לכאורה סיבוכיות צימצום

אך זה אינו המצב!)שימו לב לסוגריים(

. בכל הרחבה 2ניתוח פשוט מראה שבכל צימצום אנו מקצרים את אורך המסלול ב- )ובשלב איתחול גם מוסיפים אינדקס אחד 1בסיסית אנו מגדילים את אורכו ב-

בהתחלה(. (, 1 )כי המטריצה היא בגודל 1בסוף האלגוריתם אורך המסלול הוא

ולכן מספר ההרחבות הבסיסיות והאיתחולים שבוצעו לא יכול להיות יותר הרחבות סה"כ.2n-2מפעמיים מספר הצימצומים, כלומר לכל היותר

)בחירת אינדקס אקראי ומחיקת אינדקסים ממסלול עולה שלם: O)1()

)O)n2לכן סה"כ סיבוכיות:

Page 63: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

הגדרות

LCA היא צביר S של X. תת קבוצה ממש S מטריצה סימטרית מעל Lתהי )LCA-cluster( של L אם מתקיים

, נסמן:v וקודקוד r עם שורש Tבהינתן עץ

Cr)v( ה של = ) קבוצת העלים שהם צאצאים של )כולל = v v vclade

∀ ∈ ∈x,y X,z S \ X,L)x,y( < max{L)x,z(,L)y,z(}

.L שמרני שמופעל על DLCA עץ עם שורש המוחזר ע"י אלגוריתם T מטריצה סימטרית אי שלילית. יהי Lתהי

T ב-clade הוא L של LCAאז כל צביר

למה

Page 64: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

| (Sהוכחה )באינדוקציה על |

.L של LCA צביר Xיהי

, הטענה טריויאליתS|=1עבור |Cr)x(=X ולכן X={x} , מתקיים X|=1עבור |Cr)r(=X, מתקיים X=Sעבור

צעד האינדוקציה:|S’|<|S’ המקיימת |Sנניח שהטענה נכונה לכל

בסיס:

S|<|X|<1עבור |

, S’ את הגרסא המצומצמת של Sנסמן ב-L העץ הנוצר ע"י L’, T’ העץ הנוצר ע“י L, T’ את הגרסא המצמוצמת של Lב-

את הצומת שנוצר לאחר v הנבחר ע"י האלגוריתם, ונסמן ב-S זוג זנים ב-i,jיהיו S'=)S\{i,j}( {v}הצימצום. כלומר

X הוא צביר LCA של S| וכן ,X|<1 ולכן או ש או ש )אם רק אחד היה

, וזו סתירה( i,j אינו מקסימלי בשורות )L)i,j, היינו רואים ש LCA, אז ע"פ הגדרת צביר Xב-i, j Xi, j X

'S S ע"י הצמצום X-כקבוצה הנוצרת מ ’X לכן נוכל להגדיר את

אחרת X, X’=)X\{i,j}(U{v}-אינם ב i,j אם X’=X :כלומר

Page 65: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

’L של LCA’ הוא צביר X. נראה ש-1

’.S’\X ב-z’, ויהי X ב-x,yיהיו

{)L’)x,y(<max{L’)x,z(, L’)y,zצ.ל.

. iנניח ללה"כ שהמינימום מתקבל ב-

נחלק לשני מקרים:

אין שינוי במרחקים, והטענה טריויאלית.v שונים מ-x,yעבור

{ )v,y( < min{ L)i,y(, L)j,y(’L, )ללה"כ(, x=vעבור

L)y,z(=L’)y,z( ולכן L’)v,y( < L)i,y( < L)y,z( = L’)y,z(

ואכן:)L’)y,v(<L’)v,zנותר להראות ש-

L’)y,v(= a L)y,i( + )1-a(L)y,j(<a L)z,i( + )1-a(L)z,j( = L’)z,v(

y,i-ב X ולכן ,L)y,i(<max { L)y,z(,L)i,z(}

1 ל-0 בין aכי

(v שונה מ-z’ )ואז X ב-v, ולכן X ב-i,jא.

)L)k.j( L’)k,v( = a L)k,i( a-1תזכורת: + )

, i,j שונה מ-kלכל

kלא תלויה ב-1 ל-0 בין aכאשר

X צביר LCA של L X צביר ’LCA של L’ X הוא ’clade-ב T’ X הוא clade Tב-

. הנחת 2 האינדוקציה

1 3

Page 66: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

(v שונים מ x,y’ )ואז X אינו ב-v, ולכן X אינם ב-i,jב.

, אז הטענה טריויאלית )אין שינוי במרחקים(v שונה מ-zאם גם

)S’, L’)x,v( < max { L)x,i(, L)x,j ב-v שונה מ-x, אז לכל z=vאם )L’)x,iנניח ללה"כ שהמקסימום הוא {

)L’)x,y( = L)x,y( < L)x,i( < L’)x,vכלומר:

, {)L’)x,y( < max {L’)x,v(, L’)y,vלכן

מ.ש.ל

x,y-ב X, i-לא ב X ולכן ,L)x,y(<L)x,i(

)L’)x,y( < L’ )y,vבאופן דומה,

של clade’, ולפי הנחת האינדוקציה הוא L של LCA’ הוא צביר X. הראינו ש2T כלומר קיים צומת ,’y-ב T כך ש ’Cr)y(=X’

Page 67: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

Cr)y(=X מתקיים T. נראה שב-3

y לא צאצאים של i,j’. לכן T ב-y’, כלומר אינו צאצא של X לא ב-v, אז X לא ב-i,jאם . ומתקיים: Tב-

X = X’ = Cr)y(-ב T’ = Cr)y(-ב T

, T ב-y צאצאים של i,j’. לכן T ב-y’, כלומר הוא צאצא של X ב-v, אז X ב-i,jאם ומתקיים:

X = )X’ \ {v} (U {i,j} = Cr)y( \ {v} ( U {i,j}-ב )T’( = Cr)y(-ב T

Tב-Cr)y(=Xכלומר בכל מקרה מתקיים:

מ.ש.ל

’:T מ-Tניזכר איך קיבלנו את

Page 68: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

למה:

S( חלוקה של P\Q, ותהי )S מטריצת מרחקים מעל קבוצת זנים Dתהי )LCA)D,r של LCA היא צביר Q. אזי D של Bunemanהמושרית ע"י קשת בעץ

.P ב-rלכל הוכחה:

.Q ב-P, x,y ב-z ויהיו )L= LCA)D,r תהי

(P\Q מיוצר ע"י קשת )Buneman: כלומר ,

, , , ,

( , ) ( , ) min{ ( , ) ( , ), ( , ) ( , )}

x y Q z w P

D w z D x y D w x D z y D w y D z x

, נקבל:w=rאם נגדיר

D)r,z( + D)x,y( < D)r,x( + D)z,y( D)r,x(-D)x,y( < D)r,z(-D)z,y( D)r,x(+D)r,y(-D)x,y( < D)r,z(+D)r,y(-D)z,y( L)x,y( < L)z,y(

)L)x,y( < L)z,xובאופן דומה,

מ.ש.ל.

Page 69: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

טענה

הוכחה:

המושרה )P\Q( split קיים ה-)LCA)D,r שמרני מ-DLCAצ.ל.: בעץ שנבנה ע"י eמ-

’)split )P\Q מכיל קשת המייצרת את ה-D של Buneman אפשר לראות שעץ

.P ב-r נניח ללה"כ ש-

r ושורש D של מטריצת מרחקים )LCA)D,r קונסרבטיבי שמופעל על DLCAכל הוא בעל רדיוס קשתות )ולכן גם רדיוס( אופטימלי! )כלומר חצי(

)LCA)D,r של LCA הוא צביר Qלפי הלמה האחרונה:

שמחזיר האלגוריתם עבור T בעץ Cluster הוא Qלפי הלמה שלפניה: LCA)D,r( קיים, y את האבא שלו )y ונסמן ב-Cr)x(=Q את הצומת המקיים x נסמן ב-•

היה ריק(.P ואז x=rאחרת

( ולכן P והעלים האחרים )=)x )=Q( מחלקת את העלים לצאצאי x,yהקשת )מייצרת

מ.ש.ל)split )P\Oאת ה-

e, תהי S מטריצת מרחקים מעל קבוצת זנים D עץ ממושקל קשתות, Tיהי ||w)e(<2||D,DT כך ש - Tקשת ב-

Page 70: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

DLCA"עם צמצום לפי "הערך המקסימאלי מאפשר {)L’)v,k(=max {L)i,k(,L)j,kמסתבר שהאלגוריתם הספציפי שמצמצם על פי הכלל

( לכל מטריצה, במובן הבא:approximation-3-קירוב )3לקבל

עם צימצום הערך המקסימאלי DLCAאך הדרך לקבל את זה היא לא להפעיל על המטריצה המקורית, אלא יותר מסובכת ודורשת הגדרות חדשות.

הגדרות:

מכיל איבר מינימלי יחיד! )U)Aמסקנה:

הוא מאפשר לקבל עץ שבנורמה מטריצת המרחקים בין העלים שלו אינה רחוקה מכל מטריצה אדיטיבית אחרת 3מהמטריצה המקורית יותר מפי

שהן LCA קבוצת המטריצות )U)A מטריצה סימטרית אי שלילית, ותהי Aתהי וסגור, ולכן מכיל איבר מינימלי, A חסום מלרע ע"י )A. U)Aגדולות או שוות ל-

i,j לכל )A)i,j( < B)i,j אם"ם A < B" המוגדר ע"י >עם היחס "

)A(U ב-{)i,j(:=min{L1)i,j(,L2)i,j(L המוגדרת ע"י L, גם )U)A ב-L1,L2קל לראות שלכל

)A =:Ldom)A הדומיננטית של LCAנסמן אותו: מטריצת ה-

Page 71: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

למהללא הוכחה{)i, Ldom)A()i,i(=maxj{A)i,jלכל

טענה DLCA בעזרת A משוחזר מ-S U {r} עץ מעל T, ויהי S מטריצה סימטרית מעל Aתהי

עם צמצום הערך המקסימלי. Ldom)A( LCATאזי =

r-מטריצת ה( LCA המושרית מהעץ T עם שורש r)

|(Sהוכחה: )באינדוקציה על |(, והטענה טריויאלית 1x1 )מטריצה בגודל )A=)w|, אז S=|1אם

השכנים שנבחרו ע"י האלגוריתם.i,j, ויהיו S|<1נניח |

’ העץ המוחזר מהפעלת T’ המטריצה המצומצמת, S’= )S \ {i,j} ( U {v}, Aנסמן .T המושרית מ-LCA מטריצת הL המושרית ממנו, LCA’ מטריצת ה A’, Lהאלגוריתם על

היא L’. נרצה להראות ש-A הדומיננטית של LCA’ היא מטריצת Lע"פ הנחת האינדוקציה, :L < A. נשים לב ש A הדומיננטית של LCAמטריצת

L)i, j(=L’)v,v( = A’)v,v(=A)i,j(

L)i,k(=L)k,j(=L’)k,v( < A’)k,v( < A)k,i(, A)k,j(

L)k,l(=L’)k,l( < A’)k,l(=A)k,l(

)k,l = I,j(

?

Page 72: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

.T כי היא מתקבלת מעץ LCA, וברור שהיא מטריצת L < Aכלומר, הראינו ש- היא המינימלית המקיימת זאת.Lנותר להראות ש-

M)i,k( < L)i,k( < L)i,j( = A)i,j( < M)i,j(

.k = i,j, ויהי A<M<L המקיימת LCA מטריצת Mתהי

מתקיים:)M)j,k( < M)i,jובאופן דומה

,{)M)i,j( < max {M)i,k(, M)j.k מתקיים, k = i,jכלומר, לכל (LCA היא מטריצת M )כי )M)i,k(=M)j,kולכן

)שהראינו i,j’ לפי האלגוריתם, כאשר אנו בוחרים ב-M למטריצה Mנצמצמם את (.LCA’ היא מטריצת Mעכשיו שהם מקיימים את התנאי הדרוש ולכן

’M’=L’ ולפי הנחת האינדוקציה A’ < M’ < Lקל לראות שמתקיים

(k,l = i,j)עבור , ע"י השוויונות הבאים: M=Lנובע מכך ש

M)k,l(=M’)k,l(=L’)k,l(=L)k,l(

M)k,i(=M)k,j(=L’)k,v(=L’)k,v(=L)k,i(=L)k,j(

M)i,j(=M’)v,v(=L’)v,v(=L)i,j(

)k, M)k,k(=A)k,k(=L)k,kכמו כן קל לראות שלכל

מ,ש,ל, כנ"ל, ולכן Mזה מתקיים לכל

Page 73: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

למה:

הדומיננטית שלה. נסמן LCA מטריצת Ldom מטריצה ותהי Aתהי d = ||A,Ldom|| =maxi,j{Ldom)i,j( - A)i,j(}

{Lnew)i,j(:= max {Ldom)i,j(-d/2,0אזי המטריצה המוגדרת ע"י .A במרחק מינימלי מ-LCAהיא מטריצת

הוכחה:

)היא התקבלה ע"י הפחתה של קבוע LCAקל לראות שזוהי מטריצת ( LCA, שהיא מטריצת 0 ולקיחת מקסימום עם מטריצת ה-LCAממטריצת

, ע"פ הגדרתה( הוא מינימלי:d/2 )שהוא כמובן Aאפשר גם לראות בקלות שמרחקה מ-

LCAאם נניח בשלילה שקיימת מטריצת L2|| המקיימת A,L2|| = x < d/2 אז ,

L3)i,j(:=L2)i,j( + x היא מטריצת LCA:המקיימת L3<A||L3,A|| < ||L2,A|| + x =2x<d= ||Ldom,A||

מ.ש.ל.Ldomבסתירה להגדרת

Page 74: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

:S מעל קבוצת זנים Dנגדיר את האלגוריתם הבא, בהינתן מטריצה

משפט:

, ולכן כל זה נכון גם עבור המטריצה:)Ldom)A()i,i(=A)i,iנשים לב ש- Lnew)A( ללא הורדתd/2 באלכסון Lfinal)A(=:

(A, וגם היא במרחק מינימלי מ-LCA )זוהי מטריצת

L=LCA(D,r) וחשב את rבחר זן אקראי 1.,T כדי לקבל עץ L על DLCA הפעל את גרסת הערך המקסימלי של 2.

Ld=LT המטריצה המוגדרת ע"י Ldותהי r מטריצת ה)LCA-המושרית מ -T(

את Lfinal מחוץ לאלכסון, כפי שהוצג בלמה הנ"ל. נסמן ב-Ld מהתאים ב-d/2.הפחת 3המטריצה החדשה.

, והחזר את התוצאה.Lfinalעל DLCA. הפעל אלגוריתם 4

את המטריקה Dfinal-קירוב. כלומר אם נסמן ב-3האלגוריתם הנ"ל מחזיר ’Dהמושרית מהעץ שמחזיר האלגוריתם, אז לכל מטריקה אדיטיבית :

||D,Dfinite|| < 3||D, D||’

)O)n2סיבוכיות:

|| , || במקום || , || בהמשך נכתוב רק הערה:

Page 75: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

הוכחה:

’L=LCA)D,r(, L’=LCAT’, ויהי D’ עץ ממושקל צלעות המשרה את המטריקה Tיהי r

’||, ונעשה זאת בעזרת שתי טענות: D,Dfinal|| < 3||D,Dאנו רוצים להראות ש ||

||D,Dfinal|| = 2||L,Lfinal ||טענה א':

’||L,L’|| < 3/2||D,D ||טענה ב':

’||D,Dfinal||=2||L,Lfinal|| < 2||L,L’|| < 3||D,Dלכן אם נוכיח את הטענות נקבל ||

’||L,Lfinal|| < ||L,L, ולכן ||LCA’ היא מטריצת Lנשים לב ש

)מ.ש.ל.(

Page 76: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

||D,Dfinal|| = 2||L,Lfinal ||טענה א':

הוכחה:

היא מטריקה, ולכן מקיימת את אי שוויון המשולש, כלומר לכל Dנשים לב ש-i,j,

D)r,i( + D)i,j( < D)r,j( D)r,i( < D)r,j( – D)i,j( ולכן L)i,i(:=D)r,i(=1/2)D)r,i(+D)r,i(( < ½ )D)r,i( + D)r,j( – D)I,j( ( = L)i,j(

)L)i,i(=maxjL)i,j כלומר

D)i,j( < D)r,i( + D)r,j( D)r,i( + D)r,j( – D)i,j( < 0 L)i,j( < 0כמו כן, אי שליליתL כלומר,

)Dfinal)r,i( = Lfinal)i,i( = Ld )i,i(=Ldom)L()i,j(=maxjL)i,j(=L)i,i(=D)r,iמתקיים

Dfinal, Lfinal

מתאימות לאותו עץ

DLCAשמרני Ldomמחזיר את

תכונה של Ldom

לא מפחיתים באלכסון

Lע"פ הגדרת

Page 77: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

מתקיים:S\{r} ב-i,jלכל

D)I,j(-Dfinal)i,j( = )D)r,i(+D)r,j(-2L)i,j(( – )Dfinal)r,i(+Dfinal)r,j( - 2Lfinal)i,j(( = 2)Lfinal)i,j( – L)i,j(( ) 0כל שאר המחוברים מסתכמים ל- (

||D,Dfinal||=2 ||L,Lfinal ולכן ||i,jזה מתקיים לכל

מ.ש.ל א'

Page 78: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

’||L,L’|| < 3/2||D,D ||טענה ב':

הוכחה:

L’)i,j( = ½)D’)r,i( + D’)r,j( – D’)i,j((L)i,j( = ½)D)r,i( + D)r,j( – D)I,j((

ואם נפעיל את אש"ש על ההפרש ||L,L’|| < 3/2וניקח מקסימום נקבל ||

D,D ||’'מ.ש.ל. ב

Page 79: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

שמרני יש יתרונות רבים:DLCAללא ספק, ל-

בניית עץ ממטריצה קונסיסטנטית רבועית

0.25 שיש לו רדיוס קשתות NJ )לעומת אלגוריתם 0.5 רדיוס קשתות מקסימלי = 0.5לכן גם רדיוס מקסימלי =

)O)n2מימוש ב-

-קירוב לכל מטריקה )גם לא כמעט אדיטיבית( באותה סיבוכיות3מאפשר לקבל

Page 80: סמינר במדעי המחשב מס' 5  סמסטר אביב תשס"ז

ובבחירה של בשלב הצימצום.r תלויים במידה רבה בבחירה של DLCAביצועי

)Desper and Gascuel )2002בממוצע שנלקח על קלטים המתוארים ב- NJ משיג תוצאות גרועות יותר מ- DLCA נראה ש )Ranwez and Gascuel )2002וב-

במקרה הכלליrלא ידוע על אלגוריתם לבחירה אופטימלית של

( )i,k(+1/2L)j,k(1/2Lבין כללי הצימצום השונים, נראה שצימצום הערך הממוצע )NJמניב תוצאות טובות יותר מצימצום הערך המקסימלי, אבל עדייו פחות מ-

)וגם קצת בצימצום הערך NJ( ב-averagingייתכן שהסיבה לזה היא אלמנט המיצוע )הממוצע(, שגורם להחלקת הרעש בקלט.

האם יש דרך לבחור את השורש

r בצורה מושכלת?

שאלות למחשבה:

האם אפשר לשפר את

LDCA באופן שיבטיח ביצועים יותר

טובים מ- NJ?