|  |
| --- |
| 
**עיינו גם בפורטל**

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

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

בעיות הכרעה
-----------

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

דוגמה לכך היא הבעיה *האם יש גורם ראשוני*: כאשר נתונים שני מספרים טבעיים, n ו-k, ענה האם ל-n יש גורם ראשוני קטן מ-k. אם אנו מסוגלים לפתור את בעיית ההכרעה הזו באמצעות משאבים בסדר גודל מסוים, אנו יכולים לפתור את הבעיה "פירוק לגורמים", שאינה בעיית הכרעה, באמצעות משאבים מאותו סדר גודל, וזאת על ידי סדרה של שאלות התוחמות את ערכו האפשרי של k.

תורת הסיבוכיות מבחינה לעיתים קרובות בין התשובה "כן" לתשובה "לא". דוגמה: הקבוצה NP היא קבוצת הבעיות שבהן התשובה "כן" ניתנת לבדיקה בזמן סביר. הקבוצה Co-NP היא קבוצת הבעיות שבהן התשובה "לא" ניתנת לבדיקה בזמן סביר. הקידומת Co היא קיצורה של המלה complement - משלים. המשלים של בעיה נתונה היא הבעיה שבה כל התשובות "כן" ו"לא" מוחלפות זו בזו. הבעיה "האם ראשוני" והבעיה "האם פריק" (מספר פריק הוא מספר שאינו ראשוני) משלימות זו את זו.

**האם P=NP?**

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

ניתן יהיה להכריע בשאלה האם P=NP על ידי הכרעת השאלה האם יש ב-P בעיה NP-שלמה.

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

קישורים חיצוניים
----------------

ויקישיתוף מדיה וקבצים בנושא **תורת הסיבוכיות** בוויקישיתוף
* גדי אלכסנדרוביץ', פוסטים בנושא תורת הסיבוכיות, באתר "לא מדויק"
* מחלקות סיבוכיות חישובית, באתר אנציקלופדיה למתמטיקה (באנגלית)
* תורת הסיבוכיות, באתר אנציקלופדיה בריטניקה (באנגלית)
* מורכבות חישובית, דף שער בספרייה הלאומית

| תחומים במדעי המחשב |
| --- |
| יסודות מתמטים | לוגיקה מתמטית • תורת הקבוצות • תורת המספרים • תורת הגרפים • תורת הטיפוסים • תורת הקטגוריות • אנליזה נומרית • תורת האינפורמציה |
| תורת החישוביות | תורת האוטומטים • תורת הרקורסיה • תורת הסיבוכיות • מחשוב קוונטי |
| אלגוריתמים ומבנה נתונים | אנליזה של אלגוריתמים • גאומטריה חישובית |
| שפות תכנות ומהדרים | מפרש • פרדיגמת תכנות (תכנות פרוצדורלי • תכנות מונחה עצמים • תכנות פונקציונלי • תכנות לוגי) |
| חישוב מבוזר ועיבוד מקבילי | עיבוד מקבילי • מחשוב סריגי • בקרת מקביליות |
| הנדסת תוכנה | ניתוח מערכות מידע • עיצוב תוכנה • תכנות מחשבים • שיטות פורמליות • בדיקות תוכנה • מתודולוגיית פיתוח תוכנה |
| תקשורת | ניתוב • טופולוגיית רשת • קריפטוגרפיה |
| מסד נתונים | מסד נתונים יחסי • SQL • תנועה • אינדקסים • כריית מידע • CAP theorem |
| בינה מלאכותית | חשיבה אוטומטית • בלשנות חישובית • ראייה ממוחשבת • עיבוד שפה טבעית • בינה חישובית • מערכת מומחה • למידה חישובית • רובוטיקה |
| גרפיקה | הדמיה ממוחשבת • הנפשה ממוחשבת • עיבוד תמונה |
| שפות פורמליות | שפה רגולרית • שפה חסרת הקשר • שפה תלוית הקשר • ההיררכיה של חומסקי |
| שימושים במדע | ביואינפורמטיקה • מדעים קוגניטיביים • כימיה חישובית • פיזיקה חישובית • אנליזה נומרית |

|  |  |
| --- | --- |
| בקרת זהויות עריכת הנתון בוויקינתונים | 
* NLI: 987007545779105171
* GND: 4120591-1
* LCCN: sh85029473
* NKC: ph305884

 |