CCOMPS(1) General Commands Manual CCOMPS(1)

ccomps - فیلتر مؤلفه‌های همبند برای گراف‌ها

ccomps [ -sxvenzC? ] [ -X[#%]s[-f] ] [ -ooutfile ] [ files ]

دستور ccomps گراف‌ها را به مؤلفه‌های همبندشان تجزیه کرده و آن‌ها را در خروجی استاندارد چاپ می‌کند.

گزینه‌های زیر پشتیبانی می‌شوند:

یال‌ها را در مؤلفه‌های همبند القا نمی‌کند.
هیچ گراف خروجی چاپ نمی‌شود. از مقدار بازگشتی می‌توان برای بررسی همبند بودن یا نبودن گراف استفاده کرد.
تنها مؤلفه‌های همبند، به صورت گراف‌هایی مجزا چاپ می‌شوند.
تعداد گره‌ها، یال‌ها و مؤلفه‌های همبند چاپ می‌شود.
مؤلفه‌ها را بر اساس اندازه، از بزرگ‌ترین به کوچک‌ترین، مرتب می‌کند. این گزینه تنها در صورتی مؤثر است که -x یا -X# مشخص شده باشد. بنابراین، -zX#0 باعث چاپ بزرگ‌ترین مؤلفه خواهد شد.
علاوه بر همبندی معمول یال‌ها، از خوشه‌ها (clusters) نیز در محاسبهٔ مؤلفه‌ها استفاده می‌کند. در اصل، این گزینه مؤلفه‌های همبند گراف مشتق‌شده‌ای را به دست می‌دهد که گره‌های آن، خوشه‌های سطح بالا و گره‌های موجود در گراف اصلی هستند. این کار تمام ساختار زیرگراف را در یک مؤلفه حفظ می‌کند، حتی اگر یک زیرگراف فاقد هرگونه گره باشد.
ساختار زیرگراف را تصویر نمی‌کند. به‌طور معمول، اگر ccomps مؤلفه‌ها را به صورت گراف‌هایی مجزا از گراف ورودی تولید کند، زیرگراف‌هایی را تعریف خواهد کرد که تصویر زیرگراف‌های گراف ورودی روی آن مؤلفه هستند (اگر تصویر تهی باشد، هیچ زیرگرافی تولید نمی‌شود). در صورت تنظیم این پرچم، مؤلفه تنها شامل گره‌ها و یال‌های مرتبط خواهد بود.
تنها مؤلفه‌ای را چاپ می‌کند که حاوی گره node_name باشد (در صورت وجود).
تنها مؤلفه‌ها را در محدودهٔ شاخص‌های ارائه‌شده چاپ می‌کند. در حالت اول، تنها مؤلفه‌ای که شاخص آن start باشد (در صورت وجود) چاپ می‌شود. در حالت دوم، هر مؤلفه‌ای که شاخص آن حداقل start باشد چاپ می‌شود. در حالت آخر، تنها مؤلفه‌هایی چاپ می‌شوند که شاخص آن‌ها در محدودهٔ [start,last] قرار دارد. بنابراین، پرچم -x معادل -X#0- است.
تنها مؤلفه‌ها را در محدودهٔ اندازه‌های ارائه‌شده چاپ می‌کند. در حالت اول، تنها مؤلفه‌ای چاپ می‌شود که اندازهٔ آن min باشد (در صورت وجود). در حالت دوم، هر مؤلفه‌ای که اندازهٔ آن حداقل min باشد چاپ می‌شود. در حالت آخر، تنها مؤلفه‌هایی چاپ می‌شوند که اندازهٔ آن‌ها در محدودهٔ [min,max] باشد.
در صورت تعیین، هر گراف در فایلی مجزا با نام‌هایی مشتق‌شده از outfile نوشته خواهد شد. به‌ویژه، اگر هر دو پرچم -o و -x استفاده شوند، هر مؤلفهٔ همبند در یک فایل جداگانه ذخیره می‌شود. اگر outfile فاقد پسوند باشد، اولین فایل نام outfile را خواهد داشت؛ سپس بعدی outfile_1، بعدی outfile_2 و به همین ترتیب. اگر outfile دارای پسوند باشد، یعنی به شکل base.sfx باشد، فایل‌ها به صورت base.sfx، base_1.sfx، base_2.sfx و غیره نام‌گذاری می‌شوند.

به‌طور پیش‌فرض، هر گراف ورودی چاپ می‌شود و هر مؤلفهٔ همبند به عنوان یک زیرگراف در نظر گرفته می‌شود که نام آن حاصل الحاق نام گراف ورودی، رشتهٔ "_cc_" و شمارهٔ مؤلفه است.

عملوند زیر پشتیبانی می‌شود:

نام فایل‌های حاوی ۱ یا چند گراف در قالب dot. اگر هیچ عملوند files مشخص نشود، ورودی استاندارد استفاده خواهد شد.

مگر در حالتی که برای استخراج یک مؤلفهٔ همبند منفرد استفاده شود، ccomps اگر تمامی گراف‌های ورودی همبند باشند مقدار 0 و در صورتی که هر گرافی دارای چندین مؤلفه باشد، یا خطایی رخ دهد، مقداری غیرصفر بازمی‌گرداند. در صورت استخراج تنها یک مؤلفه، ccomps در صورت موفقیت مقدار 0 و در صورت بروز خطا مقداری غیرصفر را بازمی‌گرداند.

این احتمال هرچند اندک وجود دارد که نام‌های استفاده‌شده برای مؤلفه‌های همبند و زیرگراف‌های آن‌ها با نام‌های موجود زیرگراف‌ها تداخل پیدا کند.

Stephen C. North <north@research.att.com>
Emden R. Gansner <erg@research.att.com>

gc(1), dot(1), gvpr(1), gvcolor(1), acyclic(1), sccmap(1), tred(1), libgraph(3)

30 April 2011