• אסף שפירא

הרחבות לפרק 22: מערכות לניתוח רשתות - המיטב

עודכן ב: 13 בינו׳

מה מתרחש (:

אני אסף שפירא וזה נטפריקס – הפודקאסט העברי הראשון למדע הרשתות.


הסלוגן "דאטה יש כמו חול, ואין עם מה לאכול" הוא הסיבה לסדרת הפרקים הזו, שבה התיימרנו ונמשיך להתיימר לסקור את כל התוכנות החינמיות לניתוח הדאטה שלנו כרשת, נכון לשנת 2022. ועכשיו, כבר נגמרו התירוצים למה לא ניתחנו את הנתונים שלנו כרשת. אבל אם כבר מדברים על דאטה ותירוצים, מה התירוץ למחסור החמור בפודקאסטים בנושא דאטה? אני יודע שזה לא יהיה קל, אבל עזבו שניה את מדע הרשתות ובואו נסתכל באופן רחב על כל עולם הנתונים. חוץ מנטפריקס, יש רק עוד 2-3 פודקאסטים בתחום הדאטה, בעיקר ללמידת מכונה, וזהו. זה נשמע סביר? אז נכון שיש ניוזלטרים, קבוצות בפייסבוק ומדי פעם אפילו פרק שבו מראיינים מישהי או מישהו מהתחום, אבל פה זה נגמר. הסבר אפשרי לתופעה הזו קיבלתי השבוע כשישבתי עם חבר שלי מהתחום ושיתפתי אותו בתובנה הבאה: זה לא נראה הגיוני שיש מאות פודקאסטים על מיינדפולנס ופיתוח אישי אבל על עולם הדאטה – יוק. אז הוא חייך ואמר שההסבר הוא פשוט: למה אין פודקאסטים על דאטה? כי אנשים בתחום הדאטה אשכרה עובדים. אין להם זמן לשטויות האלה. לא נעלבתי, הרי הוא כבר לא חבר שלי, אבל במקביל גם החלטתי לא לפתוח פודקאסט בנושא מיינדפולנס. אז הנה אני מנצל את הבמה לאתגר את הקהל: אם אתם מוכנות או מוכנים להשקיע מזמנכם ובסתר רוצים שהחברים שלכם יזלזלו בכם, אז יש פה הזדמנות פז שלא כדאי להחמיץ. מכין מראש, זה לא קל, אבל אשמח לסייע לכל מי שתבחר או יבחר להרים את הכפפה. ואפרופו סיוע, אז תודה רבה לכל המאזינות והמאזינים וכמובן לכל המדרגות והמדרגים של נטפריקס! בזכותכן.ם, נטפריקס הגיע לרשימת ה-Top10 בקטגוריית הטכנולוגיה תחרות הפודקאסטים של גיקטיים. עדיין ניתן להיכנס ללינק ולהעלות את נטפריקס בדירוג (עד ה-9/1/22). תרמתם.ן להפצת מדע הרשתות בארץ ואפילו בעולם ולרגל האירוע, merch צנוע נשלח לנרשמים.ות באתר הפודקאסט. אם עדיין לא נרשמתם.ן, מוזמנות.ים ל-www.SNApod.net.

ו... חפרתי מספיק.



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

חינמיות על-מלא, לא דורשות תכנות וניתן להזין אליהן אקסל, או שווה ערך.

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

כך או כך, Gephi תשמש אותנו כ-benchmark למערכות הבאות, ולא מעט מהן יכללו, כמו Gephi, את שלושת המרכיבים הבסיסיים של מערכת ניתוח רשתות:

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

על הדרך, נלמד על עוד מושגים מתקדמים מעולם הרשתות, למשל:

- מה הן רשתות מסומנות או מה שנקרא: Signed Networks וקצת על מהו שיווי משקל ברשת.

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

- ולקראת הסוף, נספר קצת על אלגוריתמיקה אקזוטית ברשתות שלא תפגשו בשום מקום אחר.

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


רק נזכיר שבכל מערכת נבדוק את הרשימה הבאה:

1. התקנה

2. ממשק הזנה

3. ממשקים חיצוניים

4. ממשק אינטואיטיבי

5. מדדים בסיסיים

6. חלוקה לקהילות

7. ניתוח איטרטיבי

8. ויזואליזציה טובה/נוחה

9. אלגוריתמיקה ופיצ'רים מתקדמים

10. התמודדות עם רשתות גדולות

11. מתעדכן

12. יתרון משמעותי

13. חיסרון משמעותי

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

המערכות שנסקור בפרק זה יהיו:

  • CytoScape

  • NodeXL

  • Pajek

  • KUMU


Cytoscape

אז למרות שהיא לא המערכת הכי נגישה שיש, בחרתי להתחיל את הפרק הזה עם CytoScape. למה? כי לאורך השנים האחרונות, זו התוכנה היחידה שנושפת בעורפה של Gephi, המערכת הפופולרית לניתוח רשת שכיסינו בפרק 21.

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

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

את התהליך המחקרי, CytoScape מתחילה ברגל ימין. היא מאפשרת לייבא ולייצא אקסלים באופן גמיש, כלומר, לא נדרש לדבוק בסטנדרט הזנה מסוים והיא גם מאפשרת drag&drop לקבצים שזה תמיד נחמד.

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


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

בהקשר של חלוקה לקהילות, אז כדי להנות מכל מה שיש ל-CytoScape להציע, נדרש להוריד את ה-plugins הרלוונטים ושם כבר יש הכול, כולל אפילו Leiden, וגם ניתן לייצר גרף קהילות.

5.בהקשר של איטרטיביות התהליכים ב-CytoScape - היא מעולה. אחד מהפיצ'רים הכי חכמים בה בהיבט זה הוא שמירת תהליך העבודה כעץ תיקיות. כך, בכל שלב ניתן לחזור אחורה בניתוח.

מבחינת הויזואליזציה, ל-CytoScape יש ממשק משובח ונוח וגם ה-layout המשמש כברירת מחדל במערכת הוא טוב מאד. קל לבחור ולהזיז את הגרף ומקש ימני על העכבר יפתח לכם מגוון של אופציות להתעלל בכל צומת או צמתים שתבחרו.

ועכשיו, לאלגוריתמיקה ופיצ'רים מתקדמים: נראה לי שבמקום לפרט מה יש ב-CytoScape, יהיה יותר קצר להגיד מה אין: אין. כלומר, בזכות ה-Plugins המרובים והמתעדכנים של CytoScape, יש בה כמעט כל פיצ'ר אפשרי שקיים בכל מערכת אחרת ועוד. למשל פיצ'ר שלא ראיתי בשום מערכת אחרת זה Link Prediction שזו יכולת שדיברנו עליה בפרק 9, שנותנת פרדיקציה על קשתות. את הפרדיקציה, CytoScape עושה על בסיס שכנים משותפים, כלומר, ככל שיש לשני צמתים יותר שכנים משותפים, סיכוי גדול יותר שצפויה להיות או כדאי שתהיה קשת ביניהם. בנוסף, חוקרים מתחום הביולוגיה יגלו פה כנראה כמה קיצורי דרך כמו למשל אלגוריתם ייעודי לקליסטור חלבונים, ניתוח רשת דינאמית ייעודי לתחום ועוד.

אבל אין ארוחות חינם ובסעיף הבא CytoScape מתחילה לדמם נקודות לטובת מערכות אחרות.

הזכרנו את זה קודם אבל הנה זה בא: היכולת או יותר נכון, היעדר היכולת של CytoScape להתמודד עם רשתות גדולות: רשת של 20 אלף צמתים המערכת כבר בקושי הצליחה לעכל. ברמה שביטלתי את התהליך באמצע. גם כל עושר הפיצ'רים המעולים של CytoScape פשוט לא עובדים, או לוקח להם נצח, על רשתות גדולות. וזה חבל, כי הושקעה הרבה מחשבה מאחורי חלקם. למשל, חלק מהאלגוריתמים הם בהגדרה איטיים מאד. אז מה שחלק מה-plugins איפשרו זה לתת לאותם אלגוריתמיים איטיים לרוץ על שרת חיצוני ומהיר יותר, וכך רק לייבא למערכת את התוצאות. זה חכם ומהיר אבל המערכת לא עומדת בהצגת התוצאות שהתקבלו, אז היכולת הזו קצת מבוזבזת. אני לא מומחה גדול לביולוגיה, ואולי הרף שלי קשוח יותר משל החוקר הממוצע, אבל נראה לי שיש רשתות גדולות גם בביולוגיה אז מה הקטע? כשבוחנים את הברושור, נראה ש-CytoScape מסוגלת לבצע מחקרים על רשתות גדולות. אולי הכוונה היא שבמחקר מדעי, לא יפריע לנו לתת למחשב לרוץ קצת על הדאטה ומקסימום נקבל את התשובות עוד חצי שעה. מה נורא כל כך? בלאו הכי הכול מכוסה בתקציב המחקר.


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


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

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


NODEXL

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

ה-Claim to fame של NodeXL זה שהם למעשה plugin בתוך אקסל מה שמפשט הרבה מתהליכים שדיברנו עליהם. העניין הוא של-NodeXL יש גם גרסת premium. מה שזה אומר, למרבה הצער, זה שגרסת ה-freemium היא מאד מוגבלת וזה יבוא לידי ביטוי בהמשך.

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

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

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

החדשות הטובות והרעות הן שבגרסת ה-freemium אין הרבה איפה לשוטט. וזה מביא אותנו לסעיף הבא: אלגוריתמיקה.

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

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


קישור לסרטון של 60 שניות שמסביר על מודולאריות


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


עוד פיצ'ר מפתיע זה האפשרות למצוא מוטיפים ברשת.

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



ולמרות שמדובר ברשתות זעירות, מסתבר שתחום המחקר הזה לא מיצה את עצמו ונראה לי שבשנים האחרונות הוא זוכה אפילו לעדנה, בהקשר של מוטיפים ברשתות מורכבות ודינאמיות, כנראה הרבה בזכות אליס שוורץ שמעבר להיותה חוקרת רשתות ומתראיינת סדרתית, היא גם הנשיאה של עמותת WINS שזה Women In Network Science.

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

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


אז למעט התכונות הללו, אין עושר של אופציות לניתוח בגרסה החינמית של NodeXL, וגם אין הרבה מקום לתהליך איטרטיבי. What you see is pretty much what you get.

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



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

החיסרון המשמעותי שלה זה כמובן יכולות הניתוח המוגבלות שהיא מציעה. אולי כדאי לחובבי מחקר של טוויטר לייצא את הדאטה מ-NodeXL להמשך מחקר במערכת אחרת. מישהו אמר Gephi?

הגרסה החינמית (1.0.1.418) עודכנה לאחרונה ב-2014. סביבת ה-premium מתוחזקת היטב ומציעה קורסים (בתשלום).


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

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

היא באה ב-3 גרסאות וכולן חינמיות: Pajek הקלאסית, כמו סלובניה הקלאסית, שמיועדת לרשתות גדולות. אחריה באה גם גרסת Pajek XXL שמיועדת לרשתות ענק (שיצאה ב-2011), וב-2017 יצאה גרסה נוספת הנקראת Pajek XL3 שלפי הברושור, יכולה לנתח רשתות של עד 10 מיליארד צמתים. אמרתי חיה והתכוונתי לזה.

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


אז עכשיו תשאלו איפה ה-catch? ברור שיש catch. וזה מזכיר לי מערכון נוסף מהתקליט (כן, תקליט!) שכבר אוזכר פה בעבר בשם: You don't have to be jewish. במערכון אישה ניגשת לאישה מכובדת ומתפעלת מטבעת היהלום שלה:

- "וואו, איזה טבעת יהלום!"

- "כן, זה טבעת הנישואים שלי", עונה האישה המכובדת באדישות.

- " הוא כל כך ענקי! " אומרת השנייה בהתפעלות, " איזה יהלום זה?"

- "כמו לכל היהלומים הגדולים גם לזה יש שם. כמו שיש למשל יהלום "הכוכב של הודו". ליהלום הזה קוראים יהלום 'Pajek''. ".

- "איזה יהלום יפה! מה לא הייתי עושה בשביל יהלום כזה!"

- "אה, תאמיני לי, עדיף לך בלי. כי כמו כל היהלומים הגדולים גם יהלום Pajek נושא איתו קללה ארוכת שנים."

- "באמת? זה נשמע כל כך רומנטי, מה הקללה מאחורי יהלום Pajek?"

- "מר Pajek!"

אז זהו, Pajek היא מערכת שיש לה הכול, אבל לעבוד איתה נראה נוראי.

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

ההתקנה של המערכת היא החלק הקל פה. רק צריך לבחור איזה מ-3 הגרסאות של Pajek רוצים. לצורך העניין נקרא להן הגרסה הרגילה, הגדולה והענקית. שתי הגרסאות האחרונות נראה שנועדו בעיקר כדי לנתח גרפים, לא רשתות, ולכן הן לא מאפשרות שימוש בתיאורים לצמתים, והן באות ללא ויזואליזציה בכלל, ולכן לא נתייחס אליהן בהמשך. והנה, כבר משלב הזנת הדאטה מתחילות הבעיות. Pajek לא מקבלת אקסל. במקרה הטוב, היא מקבלת קבצי TXT בפורמט ייחודי לה ומאד לא נוח. הוא עד כדי כך לא נוח שיש תוכנות ייעודיות להמרת אקסל או קבצי TXT לפורמט של קבצי Pajek. אז מבחינת אינטואיטיביות, היא כבר התחילה ברגל שמאל ובואו ננסח את זה ככה: הייתי צריך לראות סרטון של 10 דקות רק בשביל להבין איך לעשות ניתוח בסיסי, וגם אותו לא קל לשחזר... הסיבה היא שהמערכת עובדת לפי היגיון משלה שלא דומה לאף מערכת אחרת וזו כנראה ירושה שלה מהניינטיז. ממשק העבודה עם Pajek מאפשר עבודה רק דרך התפריטים. ואם אתם חושבים שהתפריטים אינטואיטיביים, אז זה סימן שממש לא הקשבתם לי בכמה דקות האחרונות. מצד שני, בני אדם הם סתגלנים, אז אני מניח שברגע שמתרגלים, זה אולי פחות נורא. בכל מקרה, זה לא פלא שלמערכת יש ויקי מפואר עם הרבה מדריכים. מבחינת איטרטיביות, Pajek על הנייר אמורה להיות מאד איטרטיבית. כמו ב-CytoScape, גם Pajek מאפשרת עץ של התהליכים המחקריים שנעשו על הרשת כך שתמיד אפשר לחזור בנו ולהפעיל עליו כלים וניתוחים שונים. אבל האיטרציה בין הגרפיקה לניתוח היא מאד איטית כי הממשק של המערכת מאפשר עבודה רק דרך התפריטים. מזכיר שהויזואליזציה בכלל לא קיימת בגרסאות מסויימות של Pajek וכשכבר יש כזו, היא מתאפיינת בוייב של סרט מדע בדיוני משנות השמונים.

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

המערכת מורכבת ממספר חלונות ויש לה וייב של האקר בוותיקן

אז בכל זאת, קצת על הצד החיובי.

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

רגע, אמרתי צד חיובי, לא? אז בואו נדבר על האלגוריתמיקה:

ב-Pajek יש כל אלגוריתם אפשרי למדידת צמתים/קשתות/רשתות וגם לצרכי חלוקה לקהילות. בנוסף, Pajek מאפשרת לראות את גרף הקהילות, לתת לייבל לכל קהילה, ולשחק בויזואליזציה בין גרף צמתים לגרף קהילות, כלומר, ניתן לפתוח מתוך גרף הקהילות את אחת מהקהילות ולראות את הצמתים הפרטניים בה. רמה כזו של איטרטיביות בקהילות אין באף מערכת אחרת, בטח לא בקנה מידה כזה. ומכיוון שב-Pajek יש כל מה שיש במערכות אחרות ויותר, אז נתמקד בתוספים שיש בה ושאין בשום מקום אחר. למשל, Pajek היא היחידה שמאפשרת הצגה של רשתות מסומנות או מה שנקרא: Signed Networks. למה הכוונה? זהו סוג של רשתות בהן הקשתות יכולות לקבל גם משקל שלילי. איך דבר כזה קורה? בדרך כלל כשאנחנו מדמיינים רשת חברתית, אז אנחנו חושבים על רשת חברויות, אבל חלק מהקשרים ברשת יכולים להיות של יריבויות ואז המשקל שלהם יהיה שלילי. דוגמא ליישום כזה בתחום מדעי המדינה הוא של מידול קשרים בין מדינות. קשרים בעלי משקל חיובי בין מדינות בנות ברית, שיסומנו בסימן של פלוס וקשרים שליליים בין מדינות שנמצאות בעימות שיסומנו בסימן מינוס. כאן נפתח פתח לתחום שלם ב-SNA שנקרא שיווי משקל רשתי או Network Balance שמנסה למדל את הדינאמיקה של רשתות בנוכחות קשרים שליליים. דוגמא קלאסית לזה היא למשל המשפט: האויב של האויב שלי הוא חבר שלי. קשר שלילי עם גורם אחד יכול ליצור קשר חיובי עם גורם אחר. רשת יציבה בהקשר זה תהיה רשת שבה כל טריאדה, או משולש קשרים, תהיה בעלת קשתות חיוביות בלבד. מכאן, ההקשר למדעי המדינה הוא ברור – יש כאן ניסיון למדל ולחזות התפתחויות של קשרים ובריתות.

בפרק 13 דיברנו על הבעיה בניתוח רשתי כדי למצוא קיטוב בר