كي مياد امتحان سي پلاس پلاسم رو بده؟
كي مياد امتحان سي پلاس پلاسم رو بده؟
سلام دوست عزیز
خیلی ساده بنویسم :
دستور سیستم به عنوان ورودی یک رشته می گیره و زمان اجرا دقیقا مثل اینه که اون رشته ورودی رو در خط فرمان سیستم عامل بنویسی و Enter کنی . حتی سوییچ های برنامه هم می تونه توی این دستور نوشته بشه مثلا : system("cls") دستور cls رو در محیط داس اجرا می کنه . می تونستی به جای این دستور از clrscr خود کامپایلر هم استفاده کنی . می تونی توی لینوکس هم دستورهای سیستم عامل لینوکس رو بنویسی .
سلام
ببخشید من خیلی وقته اینجا نیومدم برای همین دیر جواب دادم . من این برنامه رو از یکی از دوستان گرفتم ولی چون خودم ننوشتم نمی تونم اینجا بنویسمش ولی الگوریتم رو برای دوستان می نویسم .
الگوریتم ژنتیک برای مسئله 8 وزیر :
مي دانيم اگر دو وزير در يک ستون قرار گيرند قطعا به جواب نخواهيم رسيد . بنابراين قرار دادن دو وزير در يک ستون باعث غيراميدبخش شدن جواب مسئله مي شود . براي نمايش مسئله در کروموزوم ها از اين ويژگي استفاده کرده و به صورت زير عمل مي کنيم :
يک آرايه تک بعدي ايجاد مي کنيم که به تعداد ستون هاي صفحه شطرنج عنصر دارد . هر عنصر از اين آرايه نشان مي دهد که وزير در کدام سطر از آن ستون قرار دارد . به عنوان مثال اگر مسئله 8 وزير را در نظر بگيريم ، آرايه تک بعدي بايد داراي 8 عنصر باشد . فرض کنيد آرايه داراي مقادير زير باشد :
8 , 7 , 6 , 5 , 4 , 3 , 2 , 1
مقدار 8 در اولين عنصر آرايه گوياي اين مطلب است که در ستون اول صفحه شطرنج وزيري در سطر هشتم قرار داده ايم.
همانطور که مي دانيم الگوريتم هاي ژنتيک ابتدا جمعيت اوليه اي توليد کرده و سپس سعي در بهبود بخشيدن اين جمعيت دارند . براي مسئله n وزير توليد جمعيت به صورت تصادفي خواهد بود . بدين صورت که وزير ها به طور تصادفي روي صفحه شطرنج قرار مي دهيم .
براي محاسبه ميزان بهينگي جواب تعداد جفت وزيرهايي را که به هم گارد مي دهند ، محاسبه مي کنيم .
عملگر انتخاب از نوع رقابتي انتخاب شده است . بدين منظور که از ميان جمعيت تعدادي از کرموموزوم ها به تصادف انتخاب شده و از ميان آنها کرموزمومي که احتمال موفقيت بيشتري دارد ( Fitness آن بهتر است ) انتخاب مي شود . کرموزوم هاي انتخابي جمعيت مياني را تشکيل مي دهند .
در ادغام تک نقطه اي در دو کروموزوم متوالي يک نقطه محوري را به تصادف انتخاب مي کنيم . سپس ژن هاي بعد از اين نقطه را در دو کروموزوم تعويض مي کنيم .
موفق باشید
سلام
ببخشید من خیلی وقته اینجا نیومدم برای همین دیر جواب دادم . من این برنامه رو از یکی از دوستان گرفتم ولی چون خودم ننوشتم نمی تونم اینجا بنویسمش ولی الگوریتم رو برای دوستان می نویسم .
الگوریتم ژنتیک برای مسئله 8 وزیر :
مي دانيم اگر دو وزير در يک ستون قرار گيرند قطعا به جواب نخواهيم رسيد . بنابراين قرار دادن دو وزير در يک ستون باعث غيراميدبخش شدن جواب مسئله مي شود . براي نمايش مسئله در کروموزوم ها از اين ويژگي استفاده کرده و به صورت زير عمل مي کنيم :
يک آرايه تک بعدي ايجاد مي کنيم که به تعداد ستون هاي صفحه شطرنج عنصر دارد . هر عنصر از اين آرايه نشان مي دهد که وزير در کدام سطر از آن ستون قرار دارد . به عنوان مثال اگر مسئله 8 وزير را در نظر بگيريم ، آرايه تک بعدي بايد داراي 8 عنصر باشد . فرض کنيد آرايه داراي مقادير زير باشد :
8 , 7 , 6 , 5 , 4 , 3 , 2 , 1
مقدار 8 در اولين عنصر آرايه گوياي اين مطلب است که در ستون اول صفحه شطرنج وزيري در سطر هشتم قرار داده ايم.
همانطور که مي دانيم الگوريتم هاي ژنتيک ابتدا جمعيت اوليه اي توليد کرده و سپس سعي در بهبود بخشيدن اين جمعيت دارند . براي مسئله n وزير توليد جمعيت به صورت تصادفي خواهد بود . بدين صورت که وزير ها به طور تصادفي روي صفحه شطرنج قرار مي دهيم .
براي محاسبه ميزان بهينگي جواب تعداد جفت وزيرهايي را که به هم گارد مي دهند ، محاسبه مي کنيم .
عملگر انتخاب از نوع رقابتي انتخاب شده است . بدين منظور که از ميان جمعيت تعدادي از کرموموزوم ها به تصادف انتخاب شده و از ميان آنها کرموزمومي که احتمال موفقيت بيشتري دارد ( Fitness آن بهتر است ) انتخاب مي شود . کرموزوم هاي انتخابي جمعيت مياني را تشکيل مي دهند .
در ادغام تک نقطه اي در دو کروموزوم متوالي يک نقطه محوري را به تصادف انتخاب مي کنيم . سپس ژن هاي بعد از اين نقطه را در دو کروموزوم تعويض مي کنيم .
موفق باشید
سلام
در مورد پياده سازي جعبه ي لايتنر ميتوني به من كمك كني البته در c++
وهمچنين پياده سازي گراف به وسيله ي ليست هاي پيوندي فوري
sora بابت جعبه شرمندم اما گراف ها رو اگه توضیح بدی میشه یه کاریش کرد..........![]()
سلام
در يك برنامه هم جستجو هم درج وحذف وهم مرتب سازي و كوتاهتري مسير باشد
و براي هر كدام از اين ها هم ماتريس مجاورتي ليست مجاورتي مي خواهيم و نميدانم چه طور مي شود همه اين ها را دريك برنامه گنجاند ضمن اينكه گراف ما بايد به صورت ليست پيوندي دو طرفه پياده سازي شده باشد
لطفا راهنمايي كنيد
راستي خيلي فوري
مرسي
Last edited by sora; 09-02-2008 at 17:41.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)