תורת החישוביות/סיבוכיות קולמוגורוב/הסתברות אוניברסאלית: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Atavory (שיחה | תרומות)
Atavory (שיחה | תרומות)
שורה 72:
<math>| \langle M \rangle | + 1</math>,
ונשייך את <math>M</math> אליו (בהמשך נוכיח שבהכרח תמיד יהיה צומת פנוי). הצומת הופך להיות משוייך. נמחק את כל הצאצאים של הצומת מהעץ, וכל צומת במסלול מהצומת לראש העץ (כולל ראש העץ) הופך להיות תפוס.
 
[[File:KolmogorovTree 1.png|left|thumb|בניית העץ 1 - שיוך צומת ראשון לתכנית בעלת תיאור אורך 1]]
 
לדוגמה (בתרשים "בניית העץ 1" המצוייר בצד שמאל), נניח שהתוכנית הראשונה שהסתיימה היא התוכנית שתיאורה הוא "1", והפלט שלה הוא "000111000". בשלב זה, כל הצמתים בעץ פנויים. הצומת השמאלי ביותר ברמה
שורה 79 ⟵ 81:
הופך להיות משוייך, והצמתים השמאליים ביותר ברמות 0 ו1 הופכים להיות תפוסים.
 
 
[[File:KolmogorovTree 1.png|left|thumb|בניית העץ 1 - שיוך צומת ראשון לתכנית בעלת תיאור אורך 1]]
כעת נוסיף עוד כלל. אם הסתיימה ריצת תוכנית <math>M</math> המייצרת <math>x</math>, בעבר הסתיימה ריצת תוכנית <math>M'</math> שגם ייצרה <math>x</math>, ו-<math>|\langle M \rangle | = |\langle M' \rangle |</math>, אז לא משייכים את <math>M</math> לאף צומת. כך יוצא שלכל מחרוזת <math>x</math>, יש לכל היותר תוכנית אחת משוייכת בכל רמה בעץ.
 
לדוגמה (בתרשים "בניית העץ 1" המצוייר בצד שמאל), נניח שהתוכנית השניה שהסתיימה היא התוכנית שתיאורה הוא "2", והפלט שלה הוא "000111000". בעבר כבר הסתיימה התוכנית שתיאורה "1" עם אותו הפלט, ואורכי התיאורים שווים. לכן לא נשייך את התוכנית החדשה לצומת בעץ.
 
[[File:KolmogorovTree 2.png|left|thumb|בניית העץ 2 - שיוך צומת שני לתכנית בעלת תיאור אורך 0]]
 
שורה 90 ⟵ 93:
</span>
הוא תפוס. לכן נשייך את התוכנית לצומת השני משמאל ברמה 1.
 
[[File:KolmogorovTree 3.png|left|thumb|בניית העץ 3 - שיוך עוד מספר צמתים]]
 
נמשיך כך הלאה והלאה. לפי הdovetailing, כל תוכנית שתסתיים בסופו של דבר תישקל ואולי תשוייך לצומת. כל מחרוזת המיוצרת ע"י תוכנית כלשהי, תשוייך לצומת כלשהו בעץ. נקבל עץ אינסופי, שרק לעליו יש שיוך (לדוגמה, בתרשים "בניית העץ 3" בצד שמאל).
 
===קידוד ופענוח===