PDA

View Full Version : رنگ آمیزی گراف ؟؟؟



Morteza_68
شنبه 06 تیر 1388, 14:13 عصر
میخواستم بدونم تو C# چطوری میشه یه نقشه رو با حداقل و حداکثر وجه رنگ آمیزی کرد ؟؟؟:ناراحت:
ممنون

alirezavafi
یک شنبه 07 تیر 1388, 00:03 صبح
این شاید به دردت بخوره
http://www.codeproject.com/KB/recipes/Art_Gallery_Problem.aspx

Morteza_68
یک شنبه 07 تیر 1388, 08:42 صبح
ممنون علیرضا جان
آموزش فارسی رنگ آمیزی گراف رو کسی نداره ؟؟؟

bahman_akbarzadeh
یک شنبه 07 تیر 1388, 10:56 صبح
من براي درس كارگاهم اين پروژه رو داشتم.
سورسشو ميزارم كه استفاده كنين.

اگه الگوريتمشو نفهميدين، بگين كه توضيح بدم.

طرز كارشم اينطوريه كه اول نود هارو بوسيله درگ كردن RadioButton روي پنل، ايجاد ميكنين و با كليك كردن بر روي نود مبدا و كليك بعدي روي نود مقصد، يال هارو رسم ميكنين.
بعدش دكمه Proccess رو ميزنين و نتيجه رو ميبينين.

Morteza_68
یک شنبه 07 تیر 1388, 13:20 عصر
خیلی ممنون
میشه یه کم توضیح بدین ؟

bahman_akbarzadeh
یک شنبه 07 تیر 1388, 14:59 عصر
الگوريتم به اين صورته :
اول تمامي نود ها در آرايه اي از كلاس نود كه پايين كلاس فرم تعريف شده، ايجاد ميشن. بعد اطلاعات يال هاي هتمام نود ها در ماتريس مجاورت تعريف شده قرار ميگيرن.
تا اينجا داده هاي خام رو بدست مياريم.
وقتي كاربر روي دكمه Process كليك ميكنه، برنامه از اولين نود شروع ميكنه و اونو با رنگ اول در آرايه رنگ ها، رنگ آميزي ميكنه.
بعد تمامي نود هاي باقي مانده رو چك ميكنه. اگر نود هنوز رنگ نشده باشه و به نود فعلي يالي نداشته باشه، با رنگ فعلي رنگ ميشه. البته به شرطي كه با نود هاي قبلي كه در همين مرحله رنگ شدن، اتصال نداشته باشه.
به اين ترتيب، تمامي نود هايي كه بايد مثلا قرمز بشن، رنگ ميشن و برنامه ميره سراغ نود هاي رنگ نشده بعدي و همين حلقه رو در مورد اونها هم اجرا ميكنه تا زماني كه ديگه نود رنگ نشده اي باقي نمونده باشه.

در مورد درگ و دراپ هم كه مسئله مبهمي وجود نداره و كلاس نود هم فقط چند خطه.

mrmmnb
سه شنبه 09 تیر 1388, 20:56 عصر
منم خودم مشکل داشتم راجه به این سوال چون پروژه درسیم هست
تو پروژه گفته نقشه ای به مثلا X وجه منظورش از وجه همون نواحی هست یا یالها؟یه چیز دیگه ای؟
سوال دوم اینه که برای رنگ امیزی روس گراف میشه تقریبا یه الگوریتم نوشت ولی برا رنگ امیزی نواحی توی نقیه چطور برنامه با گرفتن رئوس ویالها تشخیص بده گراف اولا مسطح هست و دوما نواحی چیا هستن و چطوری واقع شدن؟من هرچی برای مشخص کردن نواحی فکر کردم به نتیجه نرسیدکم اگه کسی میتونه کمک کنه
با تشکر

saman_itc
یک شنبه 30 خرداد 1389, 02:02 صبح
الگوريتم به اين صورته :
اول تمامي نود ها در آرايه اي از كلاس نود كه پايين كلاس فرم تعريف شده، ايجاد ميشن. بعد اطلاعات يال هاي هتمام نود ها در ماتريس مجاورت تعريف شده قرار ميگيرن.
تا اينجا داده هاي خام رو بدست مياريم.
وقتي كاربر روي دكمه Process كليك ميكنه، برنامه از اولين نود شروع ميكنه و اونو با رنگ اول در آرايه رنگ ها، رنگ آميزي ميكنه.
بعد تمامي نود هاي باقي مانده رو چك ميكنه. اگر نود هنوز رنگ نشده باشه و به نود فعلي يالي نداشته باشه، با رنگ فعلي رنگ ميشه. البته به شرطي كه با نود هاي قبلي كه در همين مرحله رنگ شدن، اتصال نداشته باشه.
به اين ترتيب، تمامي نود هايي كه بايد مثلا قرمز بشن، رنگ ميشن و برنامه ميره سراغ نود هاي رنگ نشده بعدي و همين حلقه رو در مورد اونها هم اجرا ميكنه تا زماني كه ديگه نود رنگ نشده اي باقي نمونده باشه.

در مورد درگ و دراپ هم كه مسئله مبهمي وجود نداره و كلاس نود هم فقط چند خطه.
نوع الگوریتمش چیه؟
آیا پویا هست؟
چطور میشه با الگوریتم پویا تبدیل شه؟

انیشتین
یک شنبه 30 خرداد 1389, 08:53 صبح
الگوریتم اصلی رنگ آمیزی گراف استفاده از روش عقبگرد هست.
تو خیلی لز کتاب های مربوط به طراحی الگوریتم اومده و اتفاقا راحت هم هست.
اگر یک بار بخونی خیلی راحت میفهمی.

saman_itc
یک شنبه 30 خرداد 1389, 13:43 عصر
بله.
برای تبدیلش به روش پویا باید چه کرد؟
کسی از دوستان این روش رنگ آمیزی با کمترین رنگ برای یال به روش پویا داره؟
خیلی حیاطی

av7268
جمعه 11 بهمن 1392, 21:28 عصر
من براي درس كارگاهم اين پروژه رو داشتم.
سورسشو ميزارم كه استفاده كنين.

اگه الگوريتمشو نفهميدين، بگين كه توضيح بدم.

طرز كارشم اينطوريه كه اول نود هارو بوسيله درگ كردن RadioButton روي پنل، ايجاد ميكنين و با كليك كردن بر روي نود مبدا و كليك بعدي روي نود مقصد، يال هارو رسم ميكنين.
بعدش دكمه Proccess رو ميزنين و نتيجه رو ميبينين.

سلام نحوه درگ کردن که مشخصه اما موقع اجرا باید رو نودها کلیک کنیم هرکار میکنم نمیشه که میشه زودتر راهنمایی کنید؟؟

av7268
جمعه 11 بهمن 1392, 21:31 عصر
نحوه درگ و اجراشو مییگن من که هرچی کلیک میکنم و processرو میزنم صفر نشون میده هیچی اجرا نمیگیره .عکس مرحله ب مرحله شو میشه بذارین ؟؟ خیلی فوریه