אלגוריתם דטרמיניסטי במדעי המחשב הוא אלגוריתם המתנהג בצורה צפויה וניתנת לחיזוי. כלומר, בהינתן קלט מסוים, המכונה עליה רץ האלגוריתם תבצע את אותם צעדים והפלט הסופי יהיה אותו פלט.
אלגוריתמים דטרמיניסטים משמשים בתחומים רבים ולאו דווקא במדעי המחשב. דוגמה לאלגוריתם דטרמינסטי היא החילוק הארוך.
המושג "אלגוריתם דטרמיניסטי" הוא מונח חדש יחסית, והוא מתאר את מה שבמשך מאות שנים כונה פשוט "אלגוריתם". הצורך במינוח זה נוצר בסביבות שנת 1976, עם תחילת חקירתם של אלגוריתמים אקראיים, מאחר שהיה צורך להבדיל בינם ובין אלגוריתמים שאינם אקראיים. בכל זאת, ברוב המקרים בהם קיימת התייחסות לאלגוריתם כיום, הכוונה היא לאלגוריתם דטרמיניסטי.
כל המחשבים המודרניים הם מחשבים דטרמיניסטיים, כלומר ניתן להריץ עליהם רק תוכנות המהוות ייצוג של אלגוריתמים דטרמיניסטיים.
הגדרה פורמלית.
באופן פורמלי אלגוריתם דטרמינסטי יכול להיות מוגדר במונחי מכונת מצבים: מצב מתאר מה תעשה מכונה בזמן מסוים. מכונת המצבים עוברת בין המצבים. מיד לאחר מתן הקלט המכונה נמצאת במצב ההתחלתי שלה (הידוע גם כמצב התחלה). במכונה דטרמיניסטית המצב הנוכחי והקלט קובעים מה יהיה המצב הבא אליו תעבור המכונה (כלומר סדר הפעולות בו תעבור המכונה קבוע מראש).
הטמעת אקראיות בתוך אלגורתמים דטרמיניסטיים.
מכיוון שתוכנות משחב מבצעות אלגורימים דטרמיניסטיים, לא ניתן לחולל מספרים אקראיים באמצעות תוכנת מחשב.
קיימים יישומים בהם רוצים להשתמש באלגוריתם דטרמיניסטי, אך לא רוצים שהמצבים הבאים יהיו צפויים. משחקי קלפים למשל הם דוגמה ליישום בו לא רוצים לתת את האפשרות לחזות את הקלפים הבאים בחפיסה.
לצורך כך, המחשב מייצר מספרים פסאודו-אקראיים המתקבלים באמצעות הפעלת פונקציה דטרמיניסטית על מספר התחלתי אקראי המכונה Seed. מספרים אלה נחשבים אקראיים לכל שימוש מעשי אך הם למעשה סדרה דטרמיניסטית. כדי להבטיח קבלת סדרה פסאודו-אקראית שונה בכל הרצה של התוכנית, על ה-Seed שבו היא משתמשת להגיע ממקור חיצוני לה שישתנה בין הרצות שונות - לרוב משתמשים בשעון של המחשב, או במידע על נתון "אקראי" כדוגמת הזזות העכבר של המשתמש. בנוסף לכך למחשב יכולה להיות גישה למספרים אקראיים "אמיתיים" על ידי חיבור להתקן מדידה פיזיקלי המודד תהליך אקראי (כמו התפרקות רדיואקטיבית).
מכיוון שהאקראיות שבה המחשב משתמש אינה אקראיות "אמיתית" אלא ניפוח דטרמיניסטי של Seed שעשוי להגיע ממקור בעל חוקיות מסוימת (בפרט, שעון המחשב), לא ניתן למנוע באופן מוחלט מפעולת המחשב מלהיות צפויה עבור מי שמנסה לנתחה.
מכיוון שמחשבים מסוגלים להשתמש בפועל באקראיות בחישובים (באמצעות מחולל פסאודו אקראי), המושג של אלגוריתם דטרמיניסטי יעיל אינו מייצג את כלל השיטות היעילות לפתרון בעיות; המחלקה BPP המייצגת את כל הבעיות הניתנות לפתרון בידי אלגוריתם אקראי יעיל בעל הסתברות "טובה" להצלחה נחשבת על פי רוב למחלקה הסטנדרטית של "כל הבעיות הניתנות לפתרון יעיל במחשבים".
תכונות.
דטרמיניסטיות אינה מחייבת עצירה. מכונה יכולה להיות דטרמיניסטית ועדיין לא לעצור לעולם. התנאי היחיד להיותה של המכונה דטרמיניסטית היא שנוכל לדעת בכל שלב היכן תהיה המכונה.
אף על פי שכל בעיה אלגוריתמית פתירה, ניתנת לפתרון באמצעות אלגוריתם דטרמינסטי, בעבור חלק גדול מהבעיות האלגוריתמים הדטרמניסטיים הידועים איטיים יותר (במונחי סיבוכיות) ממשפחות אלגוריתמיות אחרות. בתורת הסיבוכיות המחלקה המכילה את הבעיות שקיים אלגוריתם דטרמיניסטי הרץ בזמן סביר (פורמלית, זמן הריצה שלו הוא פולינום של גודל הקלט) מכונה P.
קיימות מגוון של בעיות שימושיות (בעיות תכנון מסלולים וזמנים, בעיות מספריות, בעיות מתורת הגרפים וכו') אשר לא ידועה דרך לפתור אותן בזמן סביר. במידה וימצאו אלגוריתמים דטרמינסטיים לבעיות אלה ניתן יהיה לשפר יישומים מעשיים רבים (גרפיקה במשחקי מחשב, תכנון מסלול באמצעות תוכנת GPS).
מלחמת הברית המשולשת
מלחמת הברית המשולשת, הידועה גם כ"מלחמת פרגוואי" (בספרדית: Guerra de la Triple Alianza, בפורטוגזית: Guerra do Paraguai), התרחשה בין 1864 ל־1870. במלחמה זו לחמה פרגוואי נגד ברית משולשת של המדינות ארגנטינה, ברזיל ואורוגוואי. היא הייתה אחת מהמלחמות העקובות ביותר מדם שנוהלו על אדמת אמריקה.
את פרוץ המלחמה ניתן לייחס למגוון של סיבות הנוגעות לתוצאות תבוסת הקולוניאליזם הספרדי באמריקה הלטינית, המאבק לשליטה באזור ריו דה לה פלטה האסטרטגי, התערבות ברזיל וארגנטינה בפוליטיקה הפנימית של אורוגוואי, אינטרסים כלכליים של האימפריה הבריטית באזור, ואישיותו יוצאת הדופן של רודן פרגוואי פרנסיסקו סולנו לופס ושל מאהבתו האירית אלייזה לינץ'.
המלחמה הסתיימה בתבוסה מוחצת של פרגוואי. לאחר שהברית המשולשת הביסה את צבאה הסדיר של פרגוואי, הפך העימות ללוחמת גרילה שגרמה לאבדות קשות בפרגוואי, חיילים ואזרחים כאחד. יש אומדנים שלפיהם אבדותיה של פרגוואי הגיעו ל־1.2 מיליון נפש, הן במלחמה והן במחלות וברעב שגרמה, שהם כ־90% מאוכלוסיית פרגוואי לפני המלחמה. יש הסבורים כי אומדנים אלו מגזימים הן במספר ההרוגים והן בגודל אוכלוסייתה של פרגוואי בטרם החלה המלחמה, ומעמידים את מספר ההרוגים בפרגוואי על כ־300,000 מתוך אוכלוסייה של כ־525,000 לפני המלחמה.
התאוששותה של פרגוואי מן התוהו ובוהו והקטסטרופה הדמוגרפית שנוצרה במלחמה ארכה עשרות שנים. המדינה, שהייתה אחת מהרפובליקות הראשונות שנוצרו בדרום אמריקה, בחרה את נשיאה הנבחר הראשון רק בשנת 1993. בברזיל, סייעה המלחמה לביטול העבדות והביאה את הצבא לעמדת מפתח בענייני הציבור. המלחמה הובילה למודרניזציה של ארגנטינה. אורוגוואי נהנתה מכך שברזיל וארגנטינה לא הוסיפו להתערב בענייניה הפנימיים.
רקע.
פרגוואי לפני המלחמה.
ההיסטוריונים סבורים כי התפתחותה של פרגוואי תחת שלטונם של שני הרודנים חוסה גספר רודריגס דה פרנסיה וקרלוס אנטוניו לופס בין השנים 1813 ל־1862, הייתה שונה במובנים רבים מהתפתחותן של מדינות דרום אמריקה האחרות. מטרתם של פרנסיה ולופס הייתה לעודד עצמאות כלכלית בפרגוואי, תוך גזירת בידוד על תושביה ממגע עם המדינות הסמוכות. אך בשנות ה-60 ושנות ה-70 טענו היסטוריונים רבים שמלחמת הברית המשולשת פרצה בשל התערבותם הקולוניאלית של הבריטים. בשנים האחרונות ראייה זו אינה עוד נחלת הכלל בשל עבודתם של חוקרים כפרנסיסקו דורטיאוטו.
משטרה של משפחת לופס אופיין בריכוזיות נוקשה, שלא אפשרה יצירת חברה אזרחית. לא הייתה אבחנה בין הזירה הפרטית והזירה הציבורית, ומשפחת לופס שלטה במדינה כמי ששולטת באחוזתה הפרטית. הממשלה שלטה בייצוא, צמח הירבה, מקור ייצוא עיקרי, ועצים מעובדים, היוו איזון לייבוא המועט לפרגוואי. פרגוואי נקטה במדיניות פרוטקציוניסטית קיצונית, מעולם לא קיבלה הלוואות מבחוץ, ובאמצעות מכסים גבוהים, מנעה כניסת סחורות מבחוץ. בנו של קרלוס אנטוניו לופס, אשר ירש אותו על כס הנשיאות בשנת 1862, פרנסיסקו סולנו לופס, המשיך במדיניות קודמיו.
בתחום הצבאי, עם זאת, שקד לופס על מודרניזציה והרחבה של צבא פרגוואי. מיליטריזם זה היה בין הגורמים שהובילו למלחמה. יותר ממאתיים טכנאים זרים נשכרו על ידי הממשלה, התקינו עמודי טלגרף, ומסילות ברזל על מנת לסייע בתעשיית המתכת, הטקסטיל, הנייר, הדיו, בניית האוניות ואבקת השריפה. מפעל שנוסד בפרגוואי בשנת 1850 ייצר תותחים, מרגמות, פגזים וכדורים בכל קוטר, בעוד שהמספנות באסונסיון יצרו ספינות מלחמה.
צמיחה זו דרשה מגע עם השוק הבינלאומי, אך פרגוואי הייתה מדינה ללא מוצא לים. נמליה היו נמלי נהר, והספינות צריכות היו לשוט במורד נהר פרגוואי ונהר פרנה על מנת להגיע למפרץ בריו דה לה פלטה ולים הפתוח. סולנו לופס חשק במוצא לאוקיינוס האטלנטי. ייתכן שרצה ליצור "פרגוואי גדולה" באמצעות תפיסת נתח אדמה ברזילאי שיחבר את פרגוואי אל החוף.
על מנת להגשים חלומות אלו, עסק לופס באינטנסיביות בהכנת צבאו למלחמה. הוא עודד את התעשיות הצבאיות, הכריז על גיוס נרחב, כאשר גיוס חובה כבר היה קיים מזה שנים, אימן את המגויסים החדשים, ובנה ביצורים מדרום לנהר פרגוואי. מבחינה דיפלומטית רצה לופס לכרות ברית עם מפלגת ה"בלנקו" השלטת באורוגוואי. מפלגת ה"קולורדו" של אורוגוואי הייתה בעלת קשרים לברזיל ולארגנטינה.
יש הרואים באישיותו הבלתי יציבה של לופס, שהיה ללא ספק דיקטטור עריץ ואלים, משום זרז למלחמה. לופס שהה זמן מה בצרפת שם הושפע מאישיותו ומעשיו של נפוליון השלישי, והיה בעל חלומות גדלות משלו. באירופה פגש באירית בשם אלייזה לינץ' אשר הייתה אף היא בעלת השפעה עליו. אופיו הבלתי יציב, והדיקטטורה האכזרית שיצר, באו על רקע הדיפלומטיה הנפיצה של הפוליטיקה של אזור ריו דה לה פלטה, בה שאיפות התפשטות של ברזיל וארגנטינה, אל מול האינטרסים של האימפריה הבריטית דרשו הנהגה זהירה ואחראית יותר מזו שלופס היה מסוגל להפגין.
הפוליטיקה של ריו דה לה פלטה.
מאז שקיבלו ברזיל וארגנטינה את עצמאותן, המאבק בין הממשלות בבואנוס איירס ובריו דה ז'ניירו על הגמוניה באזור אגן הנהרות המכונה ריו דה לה פלטה היה למאפיין מרכזי ביחסים הדיפלומטיים בין מדינות האזור. ברזיל כמעט והכריזה מלחמה על ארגנטינה פעמיים.
ממשלת בואנוס איירס התכוונה להשתלט על הטריטוריה של מחוז ריו דה לה פלטה הקולוניאלי הספרדי הישן, אשר כלל בין היתר, את שטחן של פרגוואי ואורוגוואי. היא ניסתה לעשות כן במהלך המחצית הראשונה של המאה ה-19, אך נכשלה בכך בשל התערבותה של ברזיל. ברזיל העדיפה מאזן כוחות באזור, מחשש לשליטה ארגנטינאית, וסייעה למדינות הקטנות באזור לשמור על עצמאותן.