نرم افزار پاژک چیست؟
نرم افزار پاژک Pajek یک نرم افزار علم سنجی برای ویندوز (۳۲ و ۶۴ بیتی) است که امکان تجزیه و تحلیل شبکه های بزرگ با ده یا صدها هزار رأس را فراهم می کند. در زبان اسلوونیایی پاژک به معنای عنکبوت است. یک معنای استعاری از تنیدن تارهای عنکبوت و شبکه ارتباطات اجتماعی در خلق و توسعه این نرم افزار به کار رفته است.
تاریخچه نرم افزار پاژک
توسعه پاژک از نوامبر سال ۱۹۹۶ شروع شد. پاژک در دلفی (پاسکال) اجرا می شود. اولین نسخه پاژک در ۲۹ ژانویه ۱۹۹۷ در سمیناری در دانشکده ریاضی و فیزیک دانشگاه لیوبلیانا Ljubljana و در کنفرانس XVII Sunbelt در سن دیگو، ایالات متحده آمریکا، ۱۳ تا ۱۶ فوریه ۱۹۹۷ توسط آندریج مروار Andrej Mrvar و ولادیمیر باتاگل Vladimir Batagelj ارائه شد. انگیزه اصلی توسعه پاژک مشاهده این بود که چندین منبع از شبکه های بزرگ وجود دارد که در حال حاضر به شکل ماشین قابل خواندن هستند. پاژک باید ابزارهایی را برای تجزیه و تحلیل و تجسم چنین شبکه هایی فراهم کند: شبکه های همکاری، مولکول آلی در شیمی، شبکه های تعامل گیرنده پروتئین، شجره نامه ها، شبکه های اینترنتی، شبکه های استنادی، شبکه های انتشار (ایدز، اخبار، نوآوری ها)، داده کاوی (شبکه های دو حالته) و غیره.
ویژگی ها و کاربردهای نرم افزار پاژک
- شناسایی گروهها (خوشهها): این قابلیت به ما اجازه میدهد تا گروههای مختلفی را درون یک شبکه پیدا کنیم. این گروهها میتوانند شامل اجزای تشکیل دهنده شبکه، همسایگی گرههای مهم، هسته و … باشند.
- استخراج و نمایش جداگانه گرههای همگروه: پس از شناسایی گروهها، میتوانیم گرههای متعلق به یک گروه خاص را استخراج کرده و آنها را به همراه بخشی از زمینه مرتبطشان (نمایش جزئیات محلی) به طور جداگانه نمایش دهیم.
- نمایش سلسله مراتبی شبکه: میتوانیم اندازه گرههای درون هر گروه را کوچک کرده و روابط بین گروههای مختلف را نمایش دهیم (نمایش کلی شبکه).
- پشتیبانی از انواع شبکهها: علاوه بر شبکههای معمولی (جهتدار، بدون جهت، مختلط)، پاژک از شبکههای چند رابطهای، شبکههای دومرحلهای (گرافهای دوگانه با ارزش – شبکههایی بین دو مجموعه مجزای گره) و شبکههای زمانی (گرافهای پویا – شبکههایی که با گذشت زمان تغییر میکنند) نیز پشتیبانی میکند.
پاژک با هدف دستیابی به موارد زیر طراحی شده است:
- تجزیه (بازگشتی) شبکههای بزرگ به اجزای کوچکتر: این قابلیت به کاربران کمک میکند تا شبکههای پیچیده را به بخشهای قابلکنترلتر تفکیک کرده و با استفاده از روشهای تخصصیتر، آنها را تجزیه و تحلیل نمایند.
- ارائه ابزارهای قدرتمند برای نمایش بصری دادهها: پاژک مجموعهای از ابزارهای گرافیکی را در اختیار کاربران قرار میدهد تا بتوانند به طور موثر، ساختار و روابط موجود در شبکه را به تصویر بکشند.
- پیادهسازی الگوریتمهای کارآمد برای تحلیل شبکههای بزرگ: این الگوریتمها به طور خاص برای تجزیه و تحلیل شبکههای حجیم بهینهسازی شدهاند و میتوانند به سرعت و با دقت بالا، اطلاعات مورد نیاز را از شبکه استخراج کنند.
برخی نکات قابل توجه در نرم افزار پاژک
شبکهها اشیاء اصلی در نرمافزار پاژک هستند و از دو عنصر اصلی تشکیل میشوند:
- گرهها (Vertices): گرهها (رئوس) نشاندهنده اجزای تشکیلدهنده شبکه هستند. (معادل Node در برخی نرمافزارهای دیگر)
- خطوط (Lines): خطوط نشاندهنده روابط و اتصالات بین گرهها هستند. (معادل Edge در برخی نرمافزارهای دیگر)
فایل ورودی شبکه میتواند به روشهای مختلفی اطلاعات را ارائه دهد:
- استفاده از یالها/لبهها (Arcs/Edges): در این روش، هر خط نشاندهنده ارتباط بین دو گره است. به عنوان مثال، عبارت
۱ ۲
نشاندهنده لبهای از گره ۱ به گره ۲ است. - استفاده از لیست یالها/لبهها (Arcslists/Edgeslists): در این روش، هر خط لیستی از گرههایی است که به هم متصل هستند. به عنوان مثال، عبارت
۱ ۲ ۳
نشاندهنده لبههایی از گره ۱ به گره ۲ و از گره ۱ به گره ۳ است. - فرمت ماتریس: در این روش، روابط بین گرهها به صورت ماتریسی نمایش داده میشود.
- فرمتهای UCINET، GEDCOM و فرمتهای شیمیایی: نرمافزار پاژک همچنین قادر به خواندن و نوشتن شبکهها با فرمتهای استاندارد دیگری مانند UCINET ، GEDCOM و فرمتهای خاص حوزه شیمی است.
توجه داشته باشید که پسوند پیشفرض برای فایلهای شبکه در پاژک .net
است.
علاوه بر اطلاعات اصلی شبکه (گرهها و خطوط)، میتوان اطلاعات اضافی دیگری را نیز برای رسم شبکه در فایل ورودی گنجاند. این اطلاعات اضافی در بخش خروجی به فرمتهای EPS/SVG/VRML توضیح داده شدهاند.
داده ها باید در یک فایل ورودی (ASCII) آماده شوند. برنامه نت پد NotePad می تواند برای ویرایش استفاده شود. یک ویرایشگر اشتراکافزار تکست پد TextPad، بسیار بهتر است.
فایل (ASCII) چیست؟
ASCII (کد استاندارد آمریکایی برای تبادل اطلاعات) ASCII رایج ترین فرمت برای فایل های متنی در رایانه و اینترنت است. در یک فایل ASCII، هر کاراکتر الفبایی، عددی یا خاص با یک عدد ۷ نمایش داده می شود (رشته ای از هفت ۰ یا ۱).
با استفاده از Vertices 5* شبکه ای با ۵ راس تعریف می کنیم. این باید همیشه اولین عبارت در تعریف شبکه باشد.
Pajek-XXL و Pajek-3XL نسخه های ویژه برنامه پاژک هستند.
مصرف حافظه آنها بسیار کمتر است. برای همان شبکه حداقل ۲-۳ برابر کمتر از پاژک به حافظه فیزیکی نیاز دارند. عملیاتهایی که حافظه فشرده دارند (مانند تولید شبکههای تصادفی، استخراج، کوچکشدن و…) در این نسخه ها سریعتر هستند.
در واقع، پاژک به عنوان ابزاری قدرتمند برای بررسی و تحلیل ساختار و عملکرد شبکههای پیچیده، به کاربران کمک میکند تا الگوها و روابط پنهان در دادهها را کشف کنند.
دانلود و نصب نرم افزار پاژک
نرم افزار پاژک رایگان است. برای دسترسی به این نرم افزار به آدرس زیر بروید:
در صفحه بالا کافی است نسخه مطابق ویندوز خود را دانلود کنید.
بعد فایل فشرده دانلود شده را باز کنید.
سه نسخه از نرم افزار پاژک در فایل فشرده وجود دارد:
علاوه بر نسخه اصلی پاژک، Pajek-XXL و Pajek-3XL نیز در فایل های دانلود شده وجود دارند. Pajek-XXL یک نسخه ویژه از برنامه پاژک است. مصرف حافظه آن بسیار کمتر است. برای همان شبکه حداقل ۲-۳ برابر کمتر از پاژک به حافظه فیزیکی نیاز دارد. عملیاتهایی که حافظه فشرده دارند (مانند تولید شبکههای تصادفی، استخراج، کوچکشدن،…) نیز سریعتر هستند. جدول زیر مقایسه فضای مورد نیاز برای ذخیره سازی و زمان مورد نیاز برای تولید شبکه تصادفی با ۱۰٫۰۰۰٫۰۰۰ راس و ۴۰٫۰۰۰٫۰۰۰ خط (پردازنده ۱٫۷۳ گیگاهرتز) در Pajek و Pajek-XXL را نشان می دهد.
ساختار داده داخلی در Pajek-XXL برای استفاده بسیار کارآمد از تمام حافظه های موجود بهینه شده است. بنابراین فضای مورد نیاز برای ذخیره یک شبکه در Pajek-XXL را می توان دقیقاً محاسبه کرد.
فرض کنید n تعداد رئوس و m تعداد خطوط یک شبکه باشد. سپس (محاسبات بر حسب بایت):
۴n + ۴۰m < (4.000.000.000، رم موجود) برای Pajek32-XXL
8n + ۶۴m < رم موجود (به عنوان مثال ۱۶٫۰۰۰٫۰۰۰٫۰۰۰) برای Pajek64-XXL
توجه: با Pajek32-XXL (مانند هر برنامه ۳۲ بیتی دیگری) حداکثر می توانیم از رم ۴G استفاده کنیم.
البته ما باید مقداری حافظه را نیز برای نتایج عملیات Pajek-XXL آزاد بگذاریم (مثلاً برای ذخیره پارتیشن ها و/یا بردارهایی که به عنوان نتایج به دست می آیند).
تخمین تقریبی:
شبکههای پراکنده با دهها میلیون رأس را میتوان بر روی رایانههایی که دارای حافظه رم ۴G هستند، تجزیه و تحلیل کرد. برای شبکه های پراکنده که تعداد رئوس آنها حدود صد میلیون است، رم ۱۶G یا بیشتر مورد نیاز است. برای شبکه هایی که تعداد رئوس آنها نزدیک به یک میلیارد رم ۱۲۸G یا بیشتر مورد نیاز است.
اهمیت تعداد خطوط در Pajek-XXL
همانطور که قبلاً ذکر شد، در Pajek-XXL تعداد خطوط (m) نقش بسیار مهمتری در مصرف حافظه نسبت به تعداد رئوس (n) ایفا میکند.
- فرمولها: همانطور که در فرمولهای مربوط به استفاده از حافظه مشاهده میشود، وزن بیشتری به تعداد خطوط (m) نسبت به تعداد رئوس (n) اختصاص داده میشود. در Pajek32-XXL، یک خط به فضای ۱۰ برابر بیشتر از یک راس نیاز دارد و در Pajek64-XXL این فضا ۸ برابر بیشتر است.
- مزیت شبکههای پراکنده: این تأکید بر خطوط، Pajek-XXL را برای تجزیه و تحلیل شبکههای بسیار بزرگ با اتصالات کم (شبکههای پراکنده) ایدهآل میکند. با خطوط (لبهها) کمتر، نیاز کلی به حافظه حتی برای شبکههایی با میلیونها راس قابل مدیریت باقی میماند.
جدولی زیر این نکته را به طور کامل نشان میدهد. شبکهای با دو برابر تعداد لبهها (۲۰۰ میلیون) در مقایسه با شبکهای دیگر با تعداد رئوس مشابه (۱۰۰ میلیون) تقریباً دو برابر فضای بیشتری اشغال میکند. در واقع، Pajek-XXL زمانی که با شبکههای پراکنده عظیم سروکار دارد که تعداد اتصالات به طور قابل توجهی کمتر از تعداد عناصر است، به طور چشمگیری کارآمد عمل میکند.
محدودیت تعداد گره در Pajek-XXL و Pajek-3XL:
Pajek-XXL از اعداد صحیح ۳۲ بیتی (۴ بایتی) برای اعداد رئوس استفاده می کند. به همین دلیل است که بیشترین تعداد رئوسی که Pajek-XXL می تواند از عهده آن برآید، دو میلیارد است (۲^۳۱ یا تقریباً ۲۱۰^۹). اگر شبکه بیش از دو میلیارد رأس داشته باشد باید از Pajek-3XL استفاده شود. Pajek-3XL از اعداد صحیح ۶۴ بیتی (۸ بایتی) برای اعداد رئوس استفاده می کند. بیشترین تعداد رئوس قابل تحمل Pajek-3XL در حال حاضر روی ۱۰ میلیارد (۱۰۱۰^۹) تنظیم شده است، اما به راحتی می توان آن را بیشتر کرد.
محاسبه فضای مورد نیاز برای ذخیرهسازی شبکه:
- فرمول محاسبه فضای مورد نیاز برای ذخیرهسازی یک شبکه بزرگ در Pajek-3XL دقیقاً مشابه فرمول Pajek-XXL است (۸n + ۶۴m بایت در سیستمعامل ۶۴ بیتی). به این معنی که فضای مورد نیاز برای ذخیره یک شبکه در این دو نرمافزار کاملاً یکسان است.با این حال، یک تفاوت مهم وجود دارد:
- هر پارتیشنی (Partition) روی n راس در Pajek-3XL فضاییدر حدود ۸n بایت اشغال می کند، در حالی که در Pajek-XXL تنها ۴n بایت فضا می گیرد. برای مثال: فرض کنید شبکه ای با یک میلیارد راس و یک میلیارد خط داشته باشیم. فضای اشغال شده توسط این شبکه در هر دو نسخه Pajek-XXL و Pajek-3XL برابر با ۷۲ گیگابایت رم خواهد بود. اما هر پارتیشنی روی این تعداد راس در Pajek-3XL، ۸ گیگابایت رم و در Pajek-XXL تنها ۴ گیگابایت رم اشغال می کند. بنابراین، کل شبکه به همراه ۱۰ پارتیشن در Pajek-3XL، ۱۵۲ گیگابایت رم و در Pajek-XXL تنها ۱۱۲ گیگابایت رم اشغال می کند. بنابراین، اگر کامپیوتر شما دارای ۱۲۸ گیگابایت رم باشد، ممکن است بتوانید با استفاده از Pajek-XXL و ایجاد ۱۰ پارتیشن اضافی، شبکه را بارگذاری و تحلیل کنید، در حالی که این کار با Pajek-3XL امکان پذیر نیست. توصیه برای استفاده از Pajek-3XL به جای Pajek-XXL ساده است: فقط برای شبکه هایی که نمی توانند در Pajek-XXL بارگذاری شوند (شبکه هایی با بیش از ۲ میلیارد راس) از Pajek-3XL استفاده کنید.
منوهای نرم افزار پاژک
منوهای نرم فزار پاژک به شرح زیر هستند:
File, network, networks,operations,partition, vector, vectors, permutation, cluster, Hierarchy, options, Draw, Macro, Info, Tools
همانطور که در تصویر می بینید برخی از منوها که در کادر سبز هستند در کادر زرد رنگ و همراه با چهار گزینه پرکاربرد در زیرشان به صورت جداگانه مجددا قرار گرفته اند. این شش منو پرکاربردترین ابزارهای پاژک هستند. در زیر به طور مختصر به کاربرد آنها اشاره می شود:
- شبکه(Networks )
- از آرک ها(یالها)و اِج ها (لبه ها)تشکیل می شود.
- پارتیشنبندی (Partitions):
- فایل با پسوند
.clu
حاوی اطلاعاتی در مورد طبقهبندی گرهها است. این فایل مشخص میکند که هر گره به کدام گروه یا دسته تعلق دارد.
- فایل با پسوند
- بازآرایی (Permutations):
- فایل با پسوند
.per
حاوی اطلاعاتی در مورد ترتیب دلخواه نمایش گرهها است. این فایل به نرمافزار میگوید که گرهها را به چه ترتیبی در خروجی نهایی (مثلاً هنگام رسم شبکه) نمایش دهد.
- فایل با پسوند
- خوشهها (Clusters):
- فایل با پسوند
.cls
حاوی زیرمجموعهای از گرهها است. این فایل میتواند برای نمایش گروه خاصی از گرهها در خروجی نهایی استفاده شود.
- فایل با پسوند
- سلسلهمراتب (Hierarchies):
- فایل با پسوند خاصی (هنوز در متن ذکر نشده) حاوی اطلاعات مربوط به سلسلهمراتب گرهها است. این فایل مشخص میکند که گرهها چگونه به صورت سلسلهمراتبی (از بالا به پایین یا از پایین به بالا) سازماندهی شدهاند.
- بردارها (Vectors):
- فایل با پسوند
.vec
حاوی اطلاعات عددی مربوط به هر گره است. این اطلاعات میتوانند نشاندهنده ویژگیهای کمی گرهها باشند.
- فایل با پسوند
با دوبار کلیک کردن روی یک شیء انتخاب شده (شبکه، پارتیشن، و غیره)، میتوانید آن شیء را روی صفحه نمایش دهید. بقیه منوهای نرم افزار نیز ابزارهایی جهت تسهیل ترسیم شبکه ها مختلفارائه می دهند که توضیح تمام آنها در این مطلب نمی گنجد. پیشنهاد می گردد نرم افزار را نصب کنید و به تدریج و با پروژههای مختلف کاربرد تمام ابزارها و منوها را یاد بگیرید.
منابع آموزشی نرم افزار پاژک
نرم افزارهای مشابه
در جدول زیر یک مقایسه بین نرم افزار پاژک و دیگر نرم افزارهای علم سنجی انجام شده است.
منبع