RE (מחלקת סיבוכיות)

בתורת החישוביות והסיבוכיות, המחלקה RE (מאנגלית: Recursively Enumerable) היא מחלקה אשר מכילה את כל בעיות ההכרעה שעל התשובה "כן" קיימת מכונת טיורינג היכולה לוודא זאת בזמן סופי. באופן לא פורמלי, הכוונה שאם התשובה לבעיה נתונה היא "כן", אזי קיים תהליך כלשהו שיכול לוודא זאת בזמן סופי, ותהליך זה לעולם לא יפלוט "כן" אם התשובה האמיתית היא "לא". אף על פי כן, אם התשובה האמיתית היא "לא", התהליך לא מחויב לעצור ואף יכול להיכנס ללולאה אינסופית בחלק מהמקרים. תהליך כזה נקרא לעיתים דמוי-אלגוריתם או אלגוריתם למחצה, על מנת להבדיל מאלגוריתם אשר נועד לחשב תשובה עבור בעיית הכרעה. באופן דומה, ניתן להגדיר את המחלקה המשלימה, coRE, בתור מחלקת כלל השפות הפורמליות שהמשלימה שלהן נמצאת ב-RE, דהי, המחלקה מכילה את כלל השפות הפורמליות שניתן לשלול שייכות בזמן סופי, אך הוכחת שייכות יכולה לקחת זמן אינסופי. באופן שקול, ניתן להגדיר את המחלקה RE בתור מחלקת כלל בעיות ההכרעה כך שקיימת מכונת טיורינג היכולה למנות את כל מופעי ה-"כן", זו אחר זו (מכאן המשמעות של "ניתנת למנייה"). כל איבר במחלקה היא קבוצה ניתנת למנייה רקורסיבית ולכן מהווה קבוצה דיופנטית. על מנת להראות שקילות זו, נשים לב שאם קיימת מכונה E {\displaystyle E} כך שהיא מונה את כל הקלטים שמתקבלים, מכונה אחרת שמקבלת מחרוזת כקלט יכולה להריץ את E {\displaystyle E} ולקבל (כלומר לענות כן) אם המחרוזת ניתנת למנייה. באופן הפוך, אם מכונה M {\displaystyle M} מקבלת (עונה כן) כאשר הקלט הוא שפה פורמלית, מכונה אחרת יכולה למנות את כל המחרוזות שנמצאות בשפה על ידי הרצת M {\displaystyle M} באיטרציות על כל קלט ולפלוט את כל הפלטים ש- M {\displaystyle M} מקבלת. מחלקת השפות הרקורסיביות (R) היא תת-קבוצה של RE ו-coRE ולמעשה, R מהווה את החיתוך בין שתי המחלקות, שכן אנו יכולים להכריע כל בעיה שקיימת לה מכונת טיורינג המקבלת אותה וקיימת לה מכונת טיורינג הדוחה אותה על ידי הרצה לסירוגין של שתי המכונות עד שאחת מהן עוצרת ופולטת תשובה. לכן: R = RE ∩ coRE {\displaystyle {\mbox{R}}={\mbox{RE}}\cap {\mbox{coRE}}} . באופן הפוך, הקבוצה של כלל השפות הפורמליות שאינן ב-RE ואינן ב-coRE נקראת NRNC. זוהי מחלקת כלל השפות הפורמליות שלא קיימת להן מכונת טיורינג היכולה להוכיח או להפריך שייכות אליהן בזמן סופי, כלומר: NRNC = ALL − ( RE ∪ coRE ) {\displaystyle {\mbox{NRNC}}={\mbox{ALL}}-({\mbox{RE}}\cup {\mbox{coRE}})} . לא רק שבעיות כאלו אינן כריעות, גם הן וגם המשלימות שלהן אינן ניתנות למנייה רקורסיבית. המחלקה RE-Complete היא תת-קבוצה של המחלקה RE המכילה את כל בעיות ההכרעה שהן שלמות ב-RE. ניתן לומר כי הן הבעיות "הכי" קשות הניתנות למנייה רקורסיבית. באופן כללי, אין הגבלות על הרדוקציות פרט לכך שהן אמורות להיות פונקציות מלאות המוגדרות לכל קלט ותקפות. דוגמאות לבעיות שהן שלמות ב-RE: בעיית העצירה: בהינתן תוכנית מחשב וקלט, האם התוכנית תסיים את פעולתה בשלב כלשהו עבור קלט זה. משפט רייס אומר כי הכרעה של שייכות עבור כל תת-קבוצה לא טרוויאלית של קבוצת פונקציות רקורסיביות היא RE-קשה. היא תהיה שלמה אם הקבוצה היא ניתנת למנייה רקורסיבית. ג'ון מייהיל (אנ') (1955) הוכיח כי כל הקבוצות היצירתיות (אנ') הן RE-שלמות. בעיית המילה (אנ') היוניפורמית עבור חבורות וחבורות למחצה. קביעת שייכות עבור דקדוק בלתי-מוגבל (אנ') כללי (טיפוס 0 בהיררכיית חומסקי). בעיית התקפות עבור תחשיב פרדיקטים מסדר ראשון. בעיית ההתאמה של פוסט קביעה אם למשוואה דיופנטית יש פתרונות בשלמים. המחלקה coRE-Complete היא תת-קבוצה של המחלקה coRE המכילה את כל בעיות ההכרעה שהן שלמות ב-coRE. דוגמאות לבעיות שהן שלמות ב-coRE: בעיית הדומינו באריחי ואנג. בעיית הספיקות (אנ') עבור תחשיב פרדיקטים מסדר ראשון. סקוט אהרונסון, Class RE, באתר Complexity Zoo (באנגלית) סקוט אהרונסון, Class coRE, באתר Complexity Zoo (באנגלית)