ארכיון פוסטים ששייכים לנושא 'מתמטיקה'

איך לבחור שם לאתר אינטרנט?

ראשון, 30 באפריל 2006

בחירת שם לאתר אינטרנט היא לא עניין פשוט. שם טוב הוא-

  1. קל לביטוי ו"מתגלגל על הלשון".
  2. קל לכתיבה ולאיות.
  3. שם שכתובת ה-.com שלו פנויה.

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

הדרישה שלנו, אם כן, היא כזו: אנחנו רוצים שם קצר וקליט (5-6 אותיות לכל היותר) שישמע טבעי כמו מילה באנגלית, אך לא יהיה מילה אמיתית (או לפחות לא מילה פופולארית). דוגמאות לשמות מפורסמים כאלה: Nike, Google, Skype, Joga, Ubuntu, Baidu, Xanga.

ניסיתי להמציא בעצמי שמות כאלה, והגעתי למסקנה שזה לא פשוט בכלל (תזכרו שה-.com שלהם צריך עדיין להיות פנוי!). האם יש דרך אוטומטית (או חצי-אוטומטית) לעשות זאת?

לכאורה, היינו יכולים לייצר את כל המחרוזות בנות 5 או 6 אותיות, לעבור עליהן בעין ולמצוא שמות טובים. בפועל, מדובר בכמות לא סבירה בעליל - מיליונים רבים של שמות פוטנציאליים, שרובם זבל מוחלט (בסגנון "sjdffq").

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

השתמשתי במודל סטטיסטי פשוט של "שרשראות מרקוב", שהרעיון הבסיסי בו הוא כזה: נעבור על רשימת כל המילים באנגלית, ועבור כל רצף של שלושה תווים שמופיע במילה נרשום בצד מה האות הבאה שהופיעה אחריו. לדוגמא: עבור המילה "lucky" נרשום בצד שאחרי הרצף "luc" הופיעה האות "k", ואחרי הרצף "uck" הופיעה האות "y". בסופו של דבר, נקבל רשימה ארוכה של רצפים בני 3 אותיות, שעבור כל אחד מהם ידוע אילו אותיות יכולות להופיע אחריו (ובאיזו שכיחות).

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

nik –> a (2)
nik –> e (10)
nik –> i (24)
nik –> o (2)
nik –> s (13)

ז"א, לפי המודל הרצף "nikf" אינו סביר כלל (ואכן אינו נשמע טוב), ולעומתו הרצף "niki" סביר מאוד (ואכן נשמע לא רע בכלל).

בשלב זה, ניתן להשתמש במודל כדי לייצר רצפים שישמעו טוב, בכל אורך שנרצה. נגריל 3 אותיות התחלתיות, ובכל פעם נגריל אות בודדת נוספת לפי ההסתברויות שהמודל חוזה. לדוגמא, נניח שהתחלנו עם הרצף "ram". נוסיף את האות "s" (לפי המודל, יש לה סיכוי גבוה להופיע לאחר הרצף הזה) וקיבלנו "rams". נסתכל כעת על הרצף "ams", ונגלה שבסבירות טובה תופיע אחריו האות "h", וכך נמשיך עד לקבלת רצף באורך המבוקש. עבור 6 אותיות, הרצף שיתקבל בסופו של דבר הוא ramshi. וכמובן, ניתן לכתוב תוכנה שתבצע את כל התהליך בצורה אוטומטית לחלוטין.

הנה רשימה קצרה של "מילים" שיוצרו בדרך זו: robulo, spanti, seromi, orshir, ticolo, weeksa, kineti, ricato, jackke - אף אחת מהן אינה מילה תקנית באנגלית, אך כולן נשמעות כך ברמה זו או אחרת.

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

על כשלון הסקרים

ראשון, 30 באפריל 2006

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

ההסברים לכשלון נעו על שני צירים מרכזיים:

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

ולראיה: "סקרי היציאה" (exit polls - מדגמי הקלפיות) שנערכו ביום הבחירות דייקו מאוד.

הנה הסבר אלטרנטיבי: הסקרים נכשלו כיוון שלא עמדו בדרישה הבסיסית ביותר של הסטטיסטיקה - דגימה מקרית.

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

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

בשורה התחתונה: האם באמת סביר שאנשים רבים כל כך שינו את דעתם בשבוע האחרון?

איך להגדיל את הטיפ?

שישי, 28 באפריל 2006

הנה כמה טיפים למלצרים / בארמנים שרוצים להגדיל את הטיפ (כולם מבוססים על סדרת מחקרים שנערכה ב-Center for Hospitality Research של אוניברסיטת Cornell בארה"ב):

  1. מראה חיצוני טוב יותר הגדיל את הטיפ, במיוחד אצל מלצריות וקצת פחות אצל מלצרים - אבל רק בשעות הערב!  [2000]
  2. לבישת פריט ייחודי בנוסף ללבוש האחיד (פרח בשיער, בניסוי) הגדילה את הטיפ ב-17% [1980]
  3. חיוך גדול (אבל לא מאולץ) ללקוחות שישבו לבד - הכפיל את הטיפ [1978]
  4. אמירת שמך הפרטי במפגש הראשון עם הלקוח הגדילה את הטיפ ביותר מ-50% [1990]
  5. ישיבה ליד השולחן (לצד הלקוח) בעת לקיחת ההזמנה הגדילה את הטיפ בכ-20% [1993]
  6. חזרה מדויקת על דברי הלקוח (במילים שלו!) מיד לאחר לקיחת ההזמנה ממנו, כמעט והכפילה את הטיפ [2005]
  7. נגיעה "אקראית" קצרה בכתף הלקוח הגדילה את הטיפ ב-28% [1998]
  8. נתינת ממתק "חינם" לכל סועד בסיום הארוחה הגדילה את הטיפ ב-18%, ונתינת שני ממתקים לכל סועד הגדילה את הטיפ אף יותר. התוצאה הטובה ביותר התקבלה כאשר לכל סועד ניתן ממתק אחד, ואז הוצע לו ממתק נוסף באופן "ספונטני" (במקרה זה הטיפ גדל ב-21%) [2002]

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

והנה פירוט מלא של כל הטכניקות שנמצאו, כולל השערות מדוע הן עובדות.

משחקי קואליציה

חמישי, 27 באפריל 2006

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

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

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

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

אתאר כעת אסטרטגיה מעניינת בה "קדימה" יכולה לעשות שימוש:

  1. פניה לכל אחת מהמפלגות הקטנות בשאלה "מה תרצו על מנת להצטרף לקואליציה?"
  2. דירוג עלות צירוף כל מפלגה לקואליציה מהנמוך לגבוה.
  3. פניה למפלגה שעלות צירופה היא הגבוהה ביותר: "הצעתכם הנוכחית משאירה אתכם מחוץ לקואליציה. אנא עדכנו הצעתכם, או שתשארו בחוץ" (כיוון שניתן להרכיב קואליציה עם כל המועמדות מלבד אחת, זהו איום תקף).
    במידה ומתקבלת הצעה מעודכנת, חזרה לשלב 2.

 בסוף התהליך, "קדימה" תרכיב את הקואליציה עם המפלגות שבראשית הרשימה.

נשים לב שבעזרת האסטרטגיה הנ"ל (שיטת "המכרז ההפוך"), "קדימה" זוכה לכוח מיקוח גדול משמעותית מ-29 המנדטים שקיבלה! זאת, כיוון שעבור המפלגות הקטנות התפשרות על כמעט כל דרישה עדיפה על השארות באופוזיציה וקבלת מאומה, ולכן לכל מפלגה כזו יש אינטרס אמיתי להקטין את דרישותיה למול האיום של סעיף 3 (בהנחה, כמובן, שהיא מאמינה שאכן מדובר באיום תקף). התהליך יפסק רק כאשר נגיע ל"קו אדום" אמיתי של אחת המפלגות, שכאמור צפוי להיות נמוך מאוד.

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

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

כיצד יוכלו המפלגות הקטנות להתמודד עם אסטרטגיה כנ"ל?

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

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

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

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

יש לשים לב לשתי נקודות חשובות:

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