Depth-First Search DFS

Similar documents
קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

תכנון אלגוריתמים, אביב 2010, תרגול מס' 7 סריקה לעומק, מיון טופולוגי, רכיבים קשירים היטב. time time 1

אלגוריתמים 1 דפי עזר

Practical Session No. 13 Amortized Analysis, Union/Find

קובץ שאלות פתורות אביב 2102

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

מבני נתונים תרגיל 4 פתרון

תרגול מס' 01 אלגוריתם דיניץ

. s בנוסף, המרחק בקשתות על העץ מ- s לכל צומת ב- R הוא מינימאלי. נותן פיתרון ל: מציאת מסלול קצר ביותר מהמקור לכל צומת. גלוי צמתים ברי הגעה מהמקור.

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

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

חזרה, מיונים פולינה לוצקר

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

סיבוכיות זמן ריצה רדוקציות ושלמות ב- NP המחלקה P הגדרה: = המחלקה NP הגדרה: שפה סגירות שפות הגדרה: רדוקציה

עצים ועצי חיפוש חומר קריאה לשיעור זה. Chapter 5.5 Trees (91 97) Chapter 13 Binary Search Trees ( )

תרגול 8. Hash Tables

שאלה ) 1 מבחינה של פרופ' נוגה אלון ( G V עם משקלים על הקשתות, ונתון עץ פורש מינימלי של G. נניח

הגדרה: משפחת עצים תקרא מאוזנת אם (n.h(t) = O(log

תרגול 11 תור עץ חיפוש בינארי

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

הקיטסיגול הרבחה יעדמל בלושמה גוחה

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

בעיית שיבוץ משימות.J כל משימה j J מאופיינת על הקלט: קבוצת משימות.t(j) s(j) וזמן סיום ידי זמן התחלה J J של משימות לא חופפות בזמן, הפלט: תת-קבוצה שהיא מ

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

A R E Y O U R E A L L Y A W A K E?

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

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

הקיטסיגול הרבחה יעדמל בלושמה גוחה

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

מבוא למחשב בשפת פייתון

CML כנס שנתי של מודעות ל- CML 4-6 לאוקטובר 2018, מלון רמדה, חדרה

4...Informed Search Strategies Partial Order Planning 29...Hierarchical Decomposition Reenforcement Learning 40...Unsupervised Learning

ASP.Net MVC + Entity Framework Code First.

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

Theories of Justice

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

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

THINKING ABOUT REST THE ORIGIN OF SHABBOS

Genetic Tests for Partners of CF patients

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

פתרון בעיית צביעת הגרפים בעזרת אלגוריתם גנטי ואלגוריתמי Beam-Search

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

הצגת המשחק תלמידים משחקים סיום. פתיחה 12 min. min. min. min פתיחה. Copyright 2015

פרק היררכי

יסודות מבני נתונים. תרגול :9 ערימה - Heap

Summing up. Big Question: What next for me on my Israel Journey?

סיכומים למבחן בקורס DSP

interface Student {tag: Student, name: string; age: number;} const makestudent = ( name: string, age: number ) : Student =>

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

דיאלוג מומחז בין מרטין בובר וקרל רוג'רס

1. מספרים מרוכבים צורות אלגברית ווקטורית של מספרים מרוכבים. הוא זוג סדור. הגדרה 1.1. מספר מרוכב z של מספרים ממשיים. ו- y

תרגול נושאי התרגול כעץ חיפוש בינארי : העץ הימני. Inorder(x) 1) if x NULL 2) then Inorder(left(x)) 3) print key[x] 4) Inorder(right(x))

BEAUTY AND UGLINESS. Global Day of Jewish Learning: Curriculum. A Project of the Aleph Society

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

תורשכ ירפס לכ ץבוק " ב י קלח יללכ רעש

ב "ה. ABC s of Judaism. Fundamentals of Jewish Thought and Practice. June 2007 Tammuz 5767 Jewish Educational Institute Chabad Brisbane

פתרון בעיות תכנון בגרף

SHABBOS, 10 TAMMUZ, 5778

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

קריאת גרפים. לצפייה בפתרון בווידאו לתרגילים שבחוברת, כנסו ל "קריאת גרפים" בשאלון 801 שבאתר 116

Name Page 1 of 5. דף ז. This week s bechina begins with the fifth wide line at the top of

B E N D, S T R A I G H T E N, B A L A N C E

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

מסנן סולארי: הוראות שימוש

State Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002

Rachel Rosenthal. Humanity and Divinity

Patents Basics. Yehuda Binder. (For copies contact:

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

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

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

Shaar HaYichud The Gate of Unity By The Holy Rabbi Dov Ber of Lubavitch

A-level MODERN HEBREW 7672

Reflection Session: Sustainability and Me

sharing food intro price & extra drinks * ניתן להזמין מנות כשרות בתאום מראש for good memories

Expressions (ex 8) Wild World (ex 7) Cars (ex 9)

Noach 5722 בראשית פרק ב

Relationships: Everything Else is Commentary

The Art of Rebuke. Source #1: Story of Kamtzah and Bar Kamtzah Talmud Gittin 55b-56a

Perashat Re'eh: In the Eyes of God and Man Based on an article by Rav Ari Kahn. Source 1: Devarim Chapter 12

T H E S U N F L O W E R L I M I T S T O F O R G I V E N E S S

Scribal Impact on Textual Transmission. by Israel M. Sandman, UCL. Parma, Biblioteca Palatina 2373, 16b

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

ונגלה כבוד הוי' Veniglah K vod Havayah

Extended Introduction to Computer Science CS1001.py Lecture 25: Summary

שאלון ו' הוראות לנבחן

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

WHAT IS THE PSHAT OF A METAPHORICAL MITZVAH?

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

The Power of Words. (Holding Koren Mahzor aloft) How many words are we going to say today? How many?

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

בוחן בתכנות בשפת C בצלחה

כנס את תבואתו - He harvested the produce of his grapevine

A lot of the time when people think about Shabbat they focus very heavily on the things they CAN T do.

שבות תחום מצוות עשה שזמן גרמא סמיכה תקיעה, שברים, תרועה. The אי ור of performing any מלאכה on Rosh HaShanah שופר in preparation of the

Yetzer Shalom: Inclinations of Peace

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

JUDAISM AND INDIVIDUALITY

ASTM UL / FM / BS abesco

מדריך למשתמש בשירות. yes MultiRoom

Homework 10. Theoretical Analysis of Service Stations in Steady State. Priority Queues.

Transcription:

Depth-First Search DFS (Depth-First Search) DFS חיפוש לרוחב חיפ וש לעומק (DFS) הוא אלג וריתם לסרי קת הגרפים. פועל גם על גרפים מ כוו נים וגם על בלתי מ כוו נים בהינתן גרף,G=(V,E) אלגוריתם DFS מבקר בכל הצמתים וקשתות של G בודק האם G קשיר מחשב רכיבי קשירות של G מחשב "יער פורש" של G 1

.1.2.3 האסטרטגיה לחפש "עמוק יותר" בגרף ככל שהדבר אפשרי נבדקות קשתות של הקדקוד שהוא הקדקוד האחרון שהתגלה עד עכשיו לאחר שנבדקו כל הקשתות היוצאות מ-, החיפוש "נסוג" וממשיך בבדיקת הקשתות היוצאות מקדקוד שממנו התגלה אם נותרו קודקודים שטרם התגלו חוזרים על התהליך סיווג קדקודים DFS - - - קדקוד שטרם התגלה קדקוד שהתגלה אבל לא סיימנו טיפול בו קדקוד שהתגלה וסיימנו טיפול בו בכל קודקוד שומרים חותמות הזמן (timestamps) מועד גילוי של d[] מועד סיום הטיפול ב- f[] הם ערכים שלמים בין 1 ל- 2 V d[], f[] לכל קודקוד d[] < f[] 2

דוגמה u w דוגמה u w 3

דוגמה u w דוגמה u w 4

DFS DFS(G=(V,E)) // π[u] - predecessor of u 1 for each erte u V 2 color[u] WHITE 3 π[u] NULL 4 time 0 5 for each erte u V 6 if color[u] = WHITE 7 DFS-VISIT(u) זמן ריצה E) O(V + DFS-VISIT(u) // white erte u has just been discoered 1 color[u] GRAY 2 time time+1 3 d[u] time 4 for each Adj[u] // eplore edge (u, ) 5 if color[] = WHITE 6 π[] u 7 DFS-VISIT() 8 color[u] BLACK // blacken u; it is finished. 9 f [u] time time+1 תכונות של חיפוש לעומק G π =(V, E π נגדיר ) תת-גרף הקודמים subgraph) (predecessor של G: E π ={ (π[], ) E π[] NULL and V } כאשר DFS מופעל על גרף (E G, =,V) הוא בונה יער עומק forest) (depth-first המורכב מכמה עצי עומק 5

תכונות של חיפוש לעומק (a) מועדי הגילוי והסיום יוצרים ביטוי סוגריים בנוי היטב נסמן גילוי של קדקוד u ע"י u) נסמן סיום טיפול ב- u ע"י (u (b).2.3 תכונות של חיפוש לעומק משפט: בכל חיפוש לעומק של גרף (E G=(V, (מכוון או בלתי מכוון), עבור שני קדקודים u ו- מתקיים בדיוק אחד משלושת התנאים הבאים:.1 הקטעים ] f[u] [ d[u], ו- ] f[] [ d[], זרים לחלוטין ] f[] [ d[u], f[u] ] [ d[], ו- u הוא צאצא של בעץ העומק ] f[u] [ d[], f[] ] [ d[u], ו- הוא צאצא של u בעץ העומק מסקנה: הוא צאצא של u ביער העומק של גרף G אם ורק אם d[u] < d[] < f[] < f[u] 6

משפט המסלול הלבן משפט: הוא צאצא של u ביער העומק של גרף G אם ורק אם בזמן d[u] שבו מגלה החיפוש את u, ניתן להגיע ל- לאורך מסלול המורכב כולו מקדקודים לבנים. סיווג קשתות 1. קשת עץ edge) -(tree קשת השייכת ליער G π.2 קשת אחורה edge) (back מחברת קודקוד לאב קדמון שלו ביער העומק קשת קדימה edge) (forward רק בגרף מכוון. קשת שאינה קשת עץ, מחברת קודקוד לצאצא שלו ביער קשת חוצה edge) (cross רק בגרף מכוון. כל קשת אחרת. - קשת המחברת בין שני עצי עומק שונים או - קשת בין שני קדקודים שונים באותו עץ שאינם ביחס "אב קדמון-צאצא" G π.3 G π.4 7

סיווג קשתות.1.2.3 ניתן לשנות את DFS כך שיסווג כל קשת (,u) במהלך הריצה לפי צבעו של הקדקוד. לבן קשת עץ אפור קשת אחורה שחור אם d[] d[u] < קשת קדימה, אם d[] d[u] > קשת חוצה מיון טופולוגי Sort Topological (DAG) Direct Acclic Graph גרף מכוון חסר מעגלים מיון טופולוגי של DAG הוא סידור ליניארי של קדקודים כך שאם גרף מכיל קשת (,u), אז u מופיע לפני בסידור V U X Z V Y X W U Z W Y 8

מיון טופולוגי ל- DAG שימושים רבים לציון קדימויות בתוך קבוצת המאורעות איך מתלבש פרופסור בומסטד בבוקר: יש ללבוש פריטי לבוש מסוימים לפני האחרים (גרביים לפני נעליים) יש פריטי לבוש אותם אפשר ללבוש בסדר כלשהו (גרביים ומכנסיים) מיון טופולוגי TOPOLOGICAL-SORT(G) 1 call DFS(G) to compute finishing times f [] for each erte 2 as each erte is finished, insert it onto the front of a linked list זמן ריצה E) 3 return the linked list of ertices O(V + 9

מתי גרף הוא DAG משפט: גרף מכוון (E G=(V, אינו מכיל מעגל אם ורק אם DFS אינו מניב קשתות אחורה הוכחה: (=>) נניח (,u) קשת אחורה, אז אב קדמון של u. לכן קיים מסלול מ- ל- u בעץ העומק וקשת (,u) סוגרת מעגל. מתי גרף הוא DAG (<=) נניח G מכיל מעגל c. יהי הקדקוד הראשון המתגלה ב- הקשת הקודמת ב- c. (u,) ויהי c, בזמן d[] קיים מסלול של קדקודים לבנים מ- ל- u => u צאצא של (u,) => קשת אחורה. u 10

מיון טופולוגי - נכונות האלגוריתם משפט: אלגוריתם Topological-Sort(G) יוצר מיון טופולוגי של גרף מכוון חסר מעגלים G. הוכחה: די להראות שעבור כל קשת (,u) ב- DAG מתקיים f[u].f[]< כאשר קשת (,u) נבדקת נתבונן בצבעים של u ו-. - צבע של u אפור - צבע של לא יכול להיות אפור (כי אז (u,) קשת אחורה).f[] < f[u] ואז u צאצא של לבן, אז - f[] < f[u] ו- הסתיים שחור, אז הטיפול ב- - 11