
ما الذي يجب عليك فعله إذا كنت بحاجة إلى رسم رسم بياني ، ولكن الأدوات الموجودة تحت ذراعك ترسم نوعًا من الشعر أو حتى تلتهم كل ذاكرة الوصول العشوائي وتوقف النظام؟ على مدار العامين الماضيين من العمل باستخدام الرسوم البيانية الكبيرة (مئات الملايين من الرؤوس والحواف) ، جربت العديد من الأدوات والأساليب ، ولم أجد تقريبًا مراجعات مناسبة. لذلك ، أنا الآن أكتب مثل هذا الاستعراض بنفسي.
لماذا تصور الرسوم البيانية على الإطلاق؟
العثور على ما تبحث عنه
عند الإدخال ، عادة ما يكون لدينا مجموعة من القمم والحواف ، وهو رسم بياني أساسي. يمكننا حساب بعض الخصائص الإحصائية ومقاييس الرسم البياني منه ، لكن هذا لن يمنحك صورة واضحة عن ماهية ما هي عليه. يمكن أن يُظهر التصور الجيد ما إذا كان للكتلة جسور أو جسور ، أم أنها متجانسة ، أو ربما تندمج في كتلة واحدة إلى مركز جذب رئيسي.
تفخر عنه
تصور البيانات ، بحكم التعريف ، يحل مشكلة التمثيل. إذا تم إنجاز بعض الأعمال بالفعل ، فيمكنك عرض الاستنتاجات في صورة مذهلة. على سبيل المثال ، إذا قمت بعمل تجميع للرسم البياني ، فيمكنك تلوين الرسم البياني في مجموعات وإظهار مدى ارتباط التسميات المختلفة ببعضها البعض.
الحصول على علامات
على الرغم من حقيقة أنه تم تطوير خوارزميات التصور البياني بشكل أساسي فقط كأدوات للحصول على الصور ، إلا أنه يمكن استخدامها كوسيلة لتقليل البعد. الرسم البياني نفسه ، إذا تم تمثيله في المصفوفة المجاورة ، هو بيانات في مساحة عالية الأبعاد ، وعند العرض ، نحصل على إحداثيتين لكل قمة (في بعض الأحيان ثلاثة أو أكثر ، ولكن هذا استثناء). غالباً ما يعبر القرب من القمم في التصور عن التشابه في الخواص.
ما هي مشكلة الرسوم البيانية الكبيرة؟
أعني الرسوم البيانية الكبيرة الأبعاد ، على سبيل المثال ، بدءًا من 10 آلاف رأس أو حواف. بالنسبة للأحجام الصغيرة ، عادة لا توجد مشاكل ، لأن جميع الأدوات التي يمكن العثور عليها عن طريق البحث السريع على الإنترنت تقريبًا تحل مشكلاتها بشكل جيد في مثل هذه المجلدات. ما هو الخطأ في الرسوم البيانية الكبيرة؟ مشكلتان: هذه هي القراءة والسرعة. من المتوقع أنه كلما زاد عدد الكائنات ، زاد صعوبة التنقل فيها. بالنسبة إلى الرسوم البيانية الكبيرة ، غالبًا ما يتم الحصول على الصور التي يتعذر فهمها. بالإضافة إلى ذلك ، تكون خوارزميات الرسم البياني بطيئة جدًا عمومًا ، والعديد منها له تعقيد حسابي يتناسب مع مربع (في بعض الأحيان مكعب) من عدد الرؤوس و / أو الحواف. حتى إذا كنت تنتظر العرض ، فلا يزال لا يمكنك تحمل العديد من الخيارات للحصول على نتيجة مرضية.
ماذا يكتب الناس الأذكياء حول هذا الموضوع؟
هناك بعض الأعمال التي أود لفت الانتباه إليها:
[1] هيلين جيبسون ، جو فيث وبول فيكرز: "مسح لتقنيات تخطيط الرسم البياني ثنائي الأبعاد لتصور المعلومات"يقوم الرجال أولاً بفرز الأساليب التي يتم اتباعها لرسم الرسوم البيانية ، وشرح مبادئ العمل ، ثم محاولة تجربتها جميعًا. هناك جدول مفصل للغاية يحتوي على معلومات حول الخوارزميات المختلفة ، بما في ذلك تعقيد الخوارزمية.
[2] أوه هيون كوون ، طارق كرنوفرسانين ، وكوان ليو ما "كيف سيكون شكل الرسم البياني في هذا المخطط؟ نهج التعلم الآلي لتصور الرسم البياني الكبير "هنا ، أصبح رفاقنا في حيرة من أمرهم وحصلوا على جميع تطبيقات خوارزميات التصور البياني التي يمكنهم القيام بها. ثم تصوروا العديد من الرسوم البيانية وأعطوا علامات للعلامات. وفقًا للنتائج ، قمنا بتدريس النموذج لتقييم الشكل الذي سيبدو عليه الرسم البياني في خيارات التصميم المختلفة. أخذت بعض الصور من هذا المقال.
نظرية
التراص هو وسيلة لتعيين إحداثيات لكل قمة من الرسم البياني. عادةً ما نتحدث عن الإحداثيات على متن طائرة ، على الرغم من أننا عمومًا لا يجب أن نكون طائرة. إن مجرد استخدام أكثر من بعدين ليس ضروريًا تقريبًا.
ما هو التصميم الجيد؟

من السهل جدًا القول أن شيئًا ما يبدو جيدًا أو سيئًا ، لكن من الصعب أن توضح للآلية كيفية تقديم مثل هذا التقييم. لصنع تصميم "جيد" ، عادة ما يتم تحسين المقاييس "الجمالية" المزعومة ، والتي يتم وضعها بشكل أكثر موضوعية. هؤلاء بعض منهم:
الحد الأدنى من عبور الضلعالأمر بسيط: عندما يكون هناك العديد من التقاطعات ، فإنه يتحول إلى "عصيدة" ، وعندما لا يكون ذلك كافياً ، فإن الصورة تبدو "أنظف"
قمم مجاورة قريبة من بعضها البعض ، غير المجاورة لها بعيدة.الرسم البياني بحكم التعريف هو مجموعة من الوصلات بين القمم ومجموعة من القمم. إن جعل الرؤوس المتصلة أقرب إلى بعضها البعض هو طريقة مباشرة ومنطقية للتعبير عن الخصائص الأساسية لبيانات الرسم البياني.
تتجمع المجتمعاتهذا يتبع من الفقرة السابقة. إذا كان هناك العديد من العقد التي ترتبط مع بعضها البعض أكثر من بقية الرسم البياني ، فإنها تشكل "مجتمعًا" ويجب أن تبدو في الصورة ككتلة كثيفة
تراكبات الحد الأدنى من القمم والحوافواضح جدا. إذا لم نتمكن من صنع كائن واحد أو عدة هنا ، فإن القراءة تكون سيئة.
قم بتوزيع الرؤوس و / أو الحواف بالتساوييعد هذا الشرط مفيدًا إذا كانت خصائص الرسم البياني لا تسمح بإجراء بعض البنية على الأقل خلاف ذلك. على سبيل المثال ، إذا كان لدينا الرسم البياني بأكمله - إنه كتلة كثيفة واحدة ، فمن الأفضل تلطخها في الصورة لترى على الأقل تفاوت الاتصالات بدلاً من السماح لها بالاندماج في بقعة واحدة صلبة.

ما هي التصميم
أنا أعتبر أنه من المهم مراعاة هذه الأنواع الثلاثة من التصميم ، على الرغم من وجود الكثير من التصنيفات والأنواع. ومع ذلك ، فإن معرفة هذه الأنواع كافية للتنقل في الموضوع.
- القوة الموجهة والقائمة على الطاقة
- الحد من البعد
- ميزات العقدة
القوة الموجهة والقائمة على الطاقة

هذه الأساليب تستخدم محاكاة القوة البدنية. يتم تمثيل القمم كجزيئات مشحونة تقوم بصد بعضها البعض ، والحواف - كخيوط مرنة تجمع القمم المجاورة معًا. ثم ، يتم محاكاة حركة القمم في مثل هذا النظام حتى يتم تأسيس حالة ثابتة. تحاول الأساليب الأخرى وصف الطاقة المحتملة لهذا النظام والعثور على موضع القمم التي تتوافق مع الحد الأدنى.
مزايا هذه المجموعة من الخوارزميات كصورة. عادة ما يتم الحصول على تصميم جيد حقًا يعكس طوبولوجيا الرسم البياني. سلبيات بين المعلمات التي تحتاج إلى تكوين. حسنا ، وبالطبع التعقيد الحسابي. لكل قمة ، تحتاج إلى حساب القوى المؤثرة من كل الرؤوس الأخرى.
الخوارزميات العائلية المهمة هي Force Atlas و Fruchterman-Reingold و Kamada Kawaii و OpenOrd. تستخدم الخوارزمية الأخيرة تحسينات صعبة ، على سبيل المثال ، تقطع الحواف الطويلة لتسريع العمليات الحسابية ، وكتأثير جانبي ، يتم الحصول على مجموعات كثيفة من القمم القريبة.
الحد من البعد

يمكن تعريف الرسم البياني بواسطة المصفوفة المجاورة ، أي المصفوفة المربعة NxN ، حيث N هو عدد الرؤوس. يمكن تفسير ذلك على أنه كائنات N في مساحة البعد N. يسمح هذا التمثيل باستخدام طرق عالمية لتقليل البعد ، مثل tSNE و UMAP و PCA وما إلى ذلك. يعتمد أسلوب آخر على حساب المسافات النظرية بين القمم ، استنادًا إلى أوزان الحواف ومعرفة الطوبولوجيا المحلية ، ثم محاولة الحفاظ على العلاقة بين هذه المسافات عند الانتقال إلى مسافات ذات أبعاد أصغر.
ميزة تستند إلى تخطيط

عادةً ما تأتي البيانات من العالم الحقيقي ، حيث ليس لدينا معلومات فقط عن قرب القمم. قمم هي بعض الأشياء الحقيقية مع خصائصها الخاصة. تذكر هذا ، يمكننا استخدام خصائص القمم لعرضها على الطائرة. للقيام بذلك ، يمكنك استخدام أي أساليب شائعة الاستخدام للبيانات الجدولية. هذه هي طرق تقليل أبعاد PCA و UMAP و tSNE و Autoencoders التي سبق ذكرها أعلاه. أو يمكنك رسم مخطط مبعثر بسيط (مخطط مبعثر) لأزواج المعالم ورسم الحواف الموجودة بالفعل أعلى العرض الناتج. بشكل منفصل ، يمكن أن نذكر Hive Plot - طريقة مثيرة للاهتمام عندما تتوافق قيم السمة مع محاور مختلفة موجهة من المركز ، حيث توجد الرؤوس ، ويتم رسم الحواف بواسطة أقواس بينهما.
أدوات رسم بياني كبير

على الرغم من أن مهمة التصور قديمة وشعبية نسبيًا ، إلا أن هناك مشاكل كبيرة في أدوات الرسوم البيانية الكبيرة. معظمهم غير مدعوم. لدى الجميع تقريبًا بعض أوجه القصور الخطيرة التي يجب معالجتها. سأتحدث فقط عن تلك التي تستحق الذكر ويمكن استخدامها في الرسوم البيانية الكبيرة. بالنسبة إلى الرسوم البيانية الصغيرة ، لا توجد مشاكل - فالأدوات سهلة في العثور عليها وتعمل بشكل جيد بشكل أساسي.
GraphViz

المعاملات وعناوين كتلة البيتكوين حتى عام 2011

يمكن أن تكون إعدادات التكوين صعبة
أداة CLI للمدرسة القديمة مع لغة وصف الرسم البياني الخاصة بها - نقطة. في الواقع ، هذه حزمة ذات تصميم مختلف لأي مناسبة. بالنسبة إلى الرسوم البيانية الكبيرة ، توجد أداة sfdp - وهي تنتمي إلى فئة مكدس Force Directed. مزايا وعيوب هذه الأداة في الإطلاق من سطر الأوامر. يعد هذا ملائمًا جدًا للتكرار والأتمتة ، ومع ذلك ، وبدون المتزلجون وعرض النتائج الوسيطة ، يصبح إعداد المعلمات مؤلمًا للغاية. نضع المعلمات ، نبدأ ، ننتظر بدون شريط تقدم ، نرى النتيجة ، نغير المعلمات ، نعيد التشغيل. قادرة على الكتابة في SVG ، بابوا نيو غينيا وغيرها من تنسيقات الصور.
Gephi


توصيات 173 الف فيلم مع iMDB

عدة ملايين من قمم بالفعل مهمة صعبة للغاية
ربما أقوى أداة في مجملها. هذا هو تطبيق واجهة المستخدم الرسومية الذي يحتوي على مجموعة من التصميم الأساسي ، وكذلك العديد من أدوات تحليل الرسم البياني الأخرى. كتب مجتمع gephi العديد من الإضافات ، مثل My Multigravity Force-Atlas 2 المفضلة أو مكون إضافي لتصدير التصميم إلى صفحة ويب تفاعلية. أيضاً ، تطبيق OpenOrd الأصلي موجود في Gephi. لدى Gephi أدوات لطلاء الرؤوس والحواف وفقًا لخصائصها ، وإعداد التسميات التوضيحية ، والأحجام ، وخيارات التجسيد الأخرى. هناك تصدير إلى تنسيقات الصور الرئيسية ، بما في ذلك المتجهات.
هناك حقيقة مزعجة للغاية وهي أن جيبى قد تم التخلي عنه لعدة سنوات. وقال المطورين الرئيسيين ، لا تملك الموارد اللازمة لنقل معارفهم اللازمة لمزيد من التطوير لشخص آخر ، أنهم لم يعد بإمكانهم دعم بنشاط Gephi. هناك عيوب أخرى تتضمن "رخوة" معينة للواجهة ، وعدم وجود أي ميزات واضحة ، ولكن لا شيء "أفضل" ، كما كتب أحد. من آخر الأخبار ، ظهر بيان على مدونة المشروع بأن قوة WebGL الحديثة تتفوق بالفعل على Gephi القديمة وهناك فرصة لرؤيته تولد من جديد كتطبيق ويب.
igraph

توصية الموسيقى الرسم البياني في lastfm. المصدر
هنا .
لا يسع المرء إلا أن يشيد بهذه الحزمة للأغراض العامة لتحليل الرسم البياني. تم تقديم واحدة من أكثر تصورات الرسم البياني إثارة في عصره من قبل أحد مؤلفي igraph. وقد طور تصميمه الخاص بـ DRL لهذا الغرض. وكان الرسم البياني للتوصيات من عصابات lastfm. النتيجة أعلى.
العيوب تشمل وثائق مثيرة للاشمئزاز. على الأقل لثعبان api. من الأسهل قراءة المصدر على الفور.
LargeViz

عدة عشرات الملايين من القمم (المعاملات والعناوين) في واحدة من أكبر مجموعات Bitcoin blockchain
الخلاص الحقيقي عندما تحتاج إلى رسم رسم بياني عملاق. يشير LargeViz إلى خوارزميات تقليل الأبعاد ويمكن استخدامه ليس فقط للرسوم البيانية ، ولكن أيضًا للبيانات المجدولة التعسفية. إنه يعمل من سطر الأوامر ولديه أداء ممتاز. اقتصادية للغاية في الذاكرة وسريعة.
Graphistry

عناوين هاكابل في أسبوع ، ومعاملاتها

واضحة ، ولكن محدودة للغاية واجهة ، الإعدادات الافتراضية معقولة
الأداة التجارية الوحيدة في هذه القائمة. دراسة الخط هي خدمة تأخذ بياناتك وتقوم بحسابات ثقيلة من جانبها. ينظر العميل فقط إلى الصورة الجميلة في المتصفح. في الواقع ، gephi ليس أفضل من الخيارات الافتراضية المعقولة والتفاعلية. ينفذ تصميمًا واحدًا فقط: شيء مشابه لـ ForceAtlas. يوجد حد 800 ألف للحد الأقصى لعدد الرؤوس أو الحواف.
حفلات الزفاف الرسم البياني
لأحجام مجنون ، هناك أيضا نهج. تبدأ بالفعل بمليون رأس ، عند الرسم ، من المنطقي أن ننظر فقط إلى كثافة القمم عند نقاط مختلفة في الفضاء ، وذلك ببساطة لأنه لا يمكن رؤية أي شيء آخر. تعمل معظم الخوارزميات التي تم اختراعها خصيصًا لتقديم الرسوم البيانية لعشرات الملايين من الرؤوس أو الحواف لساعات عديدة ، إن لم يكن الأيام. يمكنك الخروج من هذا الموقف عن طريق حل مشكلة مختلفة قليلاً. هناك العديد من الطرق للحصول على تمثيلات متجهة ذات بعد معين ، والتي تعكس خصائص رؤوس الرسم البياني. بعد تلقي مثل هذه العروض ، يبقى فقط تقليل البعد إلى 2 من أجل الحصول على الصورة بالفعل.
Node2Vec

Node2Vec + UMAP
تكييف word2vec العادية للرسوم البيانية. بدلاً من تسلسل الكلمات ، يتم أخذ تسلسل القمم من أجل اجتياز عشوائي للرسم البياني وإرسالها إلى word2vec بدلاً من الكلمات. تأخذ الطريقة في الاعتبار فقط المعلومات حول حي القمم. هذا عادة ما يكون كافيا.
الآية

النسخة + UMAP
خوارزمية متقدمة للحصول على زخرفة الرسم البياني ، والتي تسعى للحصول على تمثيل متعدد الاستخدامات للرؤوس ، أي تأخذ في الاعتبار جميع الأدوار التي يأخذها الرأس في الرسم البياني. يتم أخذ حي القمم والطوبولوجيا المحلية للرسم البياني في الاعتبار.
تلوين الرسم البياني

الرسم البياني تلافيف + وحدة التشفير التلقائي
هناك العديد من الطرق لتحديد عملية الالتفاف على الرسوم البيانية ، ولكنها في جوهرها "تلطيخ" للمعلومات على الرسم البياني ، بحيث تتلقى القمم معلومات حول علامات جيرانهم. يمكنك إضافة معلومات الهيكل المحلي إلى هذه السمات.
المكافأة: أكثر قليلا عن الإلتواء الرسم البياني
تستند جميع الأساليب الموضحة إلى بعض الأدوات الجاهزة. الحالة الأخيرة هي استثناء. لتنفيذ الإلتواء على الرسم البياني ، عليك التفكير قليلاً والكتابة قليلاً من التعليمات البرمجية.
تحليل مفصل للالتفافات على الرسوم البيانية وغيرها من البيانات غير الإقليدية هو موضوع يستحق مقال منفصل. سوف أصف هنا أبسط النهج الأساسية ، والتي لا تتطلب أطر عمل بيانية خاصة وقابلة للتوسع بسهولة. لذلك ، نريد أن تحتوي علامات كل قمة من الرسم البياني على معلومات حول علامات الجيران.
كيف نفعل هذا؟
الطريقة الأكثر وضوحا هي ببساطة أخذ متوسط الجيران. إذا كنت تفكر أكثر قليلاً فيما يحدث وما هي المعلومات التي يفقدها المتوسط ، يمكنك إضافة إحصائيات أخرى هناك ، مثل الانحراف المعياري ، والحد الأدنى ، والحد الأقصى ، وما إلى ذلك.
كيفية تنظيمها الآن؟ بادئ ذي بدء ، الرسم البياني هو في الأساس الكثير من القمم والكثير من الحواف. نحن مهتمون فقط بالقطع المتصلة من أكثر من قمة واحدة ، وبالتالي فإن قائمة الحواف في حالتنا تحدد الرسم البياني تمامًا. هذا مكتوب بشكل مريح في شكل جدول: في العمود الأول ، الرؤوس التي تخرج منها الحافة ، في الثاني ، حيث تدخل هذه الحواف. بعد ذلك نحتاج إلى قراءة الإحصاءات. هذه مهمة شائعة جدًا ، وبالتالي يمكنك استخدام الأطر التي يتم فيها تحسين كل شيء لنا.
قوة أطر الجدول في تحليل الرسم البياني
لقد توصلنا إلى استنتاج مفاده أن لدينا لوحة تحدد رسمًا بيانيًا ونحتاج إلى قراءة إحصائيات لبعض الكميات. الجداول والإحصاءات - كل هذا في الباندا ، وبالتالي فإن ما يلي سيكون مثالا للتنفيذ في ذلك.
للبدء ، دعونا نضع الرسم البياني:
ara = np.arange(101).reshape(-1, 1) sample = np.vstack((np.hstack((ara[:-1], ara[1:])),
هذه مجرد سلسلة من 101 قمة متصلة واحدة تلو الأخرى ، كما في الشكل.

ثم وضعنا علامات القمم بشكل عشوائي:
feats = np.random.normal(size=(101, 10))
ونحن سوف نبذل dataframes الباندا من كل هذا:
edges = pd.DataFrame(sample, columns=['source', 'target']) cols = ['col{}'.format(i) for i in range(10)] feats = pd.DataFrame(feats, columns=cols) feats['target'] = ara
الآن قمنا بتعيين وظيفة الالتواء نفسها:
def make_conv(edges, feats, cols, by, on, size=1000000, agg_f='mean', prefix='mean_'): """ edges -- edgelist: pandas dataframe with two columns (arguments by and on) feats -- features dataframe with key column (argument on) and features columns (argument cols) by -- column in edges to be used as source nodes on -- column in edges to be used as neighbor nodes size -- number of unique source nodes to be used in one chunk agg_f -- can be interpreted as pooling function. Pandas has several optimised functions for basic statistics, that can be passed as string arg (see pandas docs), but you also can provide any function you like prefix -- prefix for new column names """ res_feats = []
ما يجري هنا
أولاً ، نختار قطعة من الرؤوس التي سنقوم بتحويلها ، ونأخذ جميع حوافها ، ونسلسلها بإشارات الجيران ونكتبها في إطار بيانات temp. بعد ذلك نقوم بتجميع حسب رؤوس المصادر ، ونجمعها باستخدام الدالة agg_f ، والتي هي ببساطة متوسط افتراضيًا. أضف النتيجة للقطعة الحالية إلى القائمة ، وفي النهاية قم بتسلسل النتائج.

بالنسبة لهذا الرسم البياني ، سيبدو هكذا
نحن نطبق الوظيفة ونرسم النتيجة:
conv1 = make_conv(edges, feats, cols, 'source', 'target') plt.figure(figsize=(3, 8)) plt.imshow(np.hstack((feats[cols].values, conv1.values[:, 1:])), cmap='jet');

العلامات الأولية ، ثم الأصل والنتيجة الأولى من الالتواء ، ثم الأصل والنتيجة من مجموعتين.
على سبيل المثال ، تم اختيار هذه الحالة البسيطة خصيصًا بحيث كان من السهل رؤيتها بصريًا كيف يتم "تشويه" العلامات في الجيران إذا قمت برسم مصفوفة من العلامات مباشرةً. في حالة أكثر عمومية ، تبدو العملية مثل هذا:

إذا كنت تريد المزيد من الرياضيات قليلا
إذا كنت قد سمعت عن تلوينات الرسومات البيانية من قبل ، فمن المرجح أنها كانت في سياق شبكات تلاعب الرسومات البيانية (Graph Convolutional Networks - GCN). بالنسبة للبعض ، قد تبدو الحيل التي تحتوي على الأجهزة اللوحية الموضحة هنا "ليست صعبة". في الواقع ، هناك مقال مثير للاهتمام للغاية مكرس لاستخدام تلافيقات الرسومات دون تعلم عميق: "تبسيط شبكات تلافيق الرسم البياني". انه يعطي مثل هذا التعريف للالتواء
H(k) leftarrowSH(k−1) حيث
H هي مصفوفة من الميزات ، و
S هو تطبيع Laplacian من الرسم البياني ، والذي يعرف مثل هذا:
S= tildeD− frac12 tildeA tildeD frac12 هنا
tildeA هو المصفوفة المجاورة للرسم البياني لخص مصفوفة الهوية ، و
tildeD - المصفوفة في القطر الذي تسجل فيه درجات رؤوس الرسم البياني. وكل هذا مكتوب في سطرين في الثعبان باستخدام scipy و numpy:
S = sparse.csgraph.laplacian(adj, normed=True) feats_conv = S @ feats
هنا متناثر هو الوحدة داخل scipy للعمل مع المصفوفات متفرق ، adj هي المصفوفة المجاورة ، والمفاتيح و feats_conv هي علامات قبل وبعد الالتواء. هذا النهج هو أكثر صرامة ، ولكن سيئة للغاية. بالإضافة إلى ذلك ، إذا كنت تفكر قليلاً في معنى ما يحدث ، فإن هذا يعادل الفرق بين قيمة الميزة في الرأس والمتوسط في جيران القمة ، أي أنه يتم حلها تمامًا بواسطة المخطط السابق مع الجداول ، إذا أضفت عملية واحدة.
مراجع
الرسم البياني التصور الاستعراضاتleonidzhukov.net/hse/2018/sna/papers/gibson2013arxiv.org/pdf/1710.04328.pdfتبسيط شبكات تلوين الرسم البيانيarxiv.org/pdf/1902.07153.pdfGraphVizgraphviz.orgGephigephi.orgigraphigraph.orgLargeVizarxiv.org/abs/1602.00370github.com/lferry007/LargeVisGraphistrywww.graphistry.comNode2Vecsnap.stanford.edu/node2vecgithub.com/xgfs/node2vec-cالآيةtsitsul.in/publications/versegithub.com/xgfs/verseمفكرة مع رمز حزمة الباندا الكاملgithub.com/iggisv9t/graph-stuff/blob/master/Universal٪20Convolver٪20Example.ipynbتلوين الرسم البيانيفي ما يلي بعض الأعمال التي تم جمعها على شبكات تحويل
الرسومات :
github.com/thunlp/GNNPapersجوهر المقال بأكمله في جدول واحد