RP

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

במדעי המחשב, RP (ראשי תיבות של Randomized Polynomial time) היא מחלקת הסיבוכיות של כל הבעיות הניתנות להכרעה הסתברותית בזמן פולינומי ביחס לגודל הקלט באופן הבא:

  1. אם הקלט בשפה, האלגוריתם מקבל בהסתברות של לפחות 1/2.
  2. אם הקלט אינו בשפה, האלגוריתם דוחה.

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

יש המכנים את המחלקה "R", אך שם זה שגור יותר עבור שפות רקורסיביות.

אם התשובה הנכונה היא "כן" והאלגוריתם מורץ n פעמים, כאשר תוצאת כל ריצה היא בלתי תלויה סטטיסטית באחרות, הוא יחזיר "כן" לפחות פעם אחת בהסתברות של לפחות 1-2^{-n}. אז אם האלגוריתם מורץ 100 פעמים, ההסתברות שיענה תשובה שגויה נמוכה יותר מההסתברות שקרניים קוסמיות ישבשו את זיכרון המחשב שמריץ את האלגוריתם.[1] מבחינה זו, אם מקור למספרים רנדומליים זמין, רוב האלגוריתמים הרצים במחלקת RP הם מאוד פרקטיים.

מחלקת הסיבוכיות המשלימה ל-RP קרויה co-RP, והיא כוללת את השפות שעבורן יש אלגוריתם המקבל קלטים בשפה בהסתברות 1, ודוחה בהסתברות הגדולה מ-1/2. גם RP וגם המשלימה co-RP מוכלות במחלקת הסיבוכיות BPP, הכוללת את כל הבעיות הניתנות להכרעה הסתברותית עם שגיאה דו-צדדית.

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ This comparison is attributed to Michael O. Rabin on p. 252 of Gasarch, William (6 ביולי 2014), "Classifying Problems into Complexity Classes", in Memon, Atif, Advances in Computers, Vol. 95, Academic Press, עמ' 239–292 .
Crystal Clear app ktalkd.png ערך זה הוא קצרמר בנושא מחשבים. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.