magicfile icon فایل سحرآمیر

نمونه سورس و کد vb.net در موضوع الگوريتم هسته اي

نمونه-سورس-و-کد-vb.net-در-موضوع-الگوريتم هسته-اي
توضیحات کوتاه و لینک دانلود
امروز در این پست برای شما کاربران عزیز وبسایت فایل سحرآمیز یک نمونه سورس و کد vb.net در موضوع الگوريتم هسته اي آماده دانلود قرار داده ایم. 

دانلود - Download

لیست فایل های مشابه

لینک کوتاه : https://magicfile.ir/?p=2264

توضیحات کامل در مورد فایل

دانلود نمونه سورس و کد vb.net در موضوع الگوريتم هسته اي

امروز در این پست برای شما کاربران عزیز وبسایت فایل سحرآمیز یک نمونه سورس و کد vb.net در موضوع الگوريتم هسته اي آماده دانلود قرار داده ایم. 

نمونه تصویر در زمان اجرا نرم افزار

نمونه سورس و کد vb.net در موضوع الگوريتم هسته اي

در مورد الگوريتم هسته اي بیشتر بدانید

مقدمه: اين اولين نسل از الگوريتم هاي بسيار جديد است. ما يک پديده معروف در فيزيک هسته اي به نام شکافت هسته اي را روي مسئله بهينه سازي طرح مي کنيم. تعاريف اصلي: شکافت هسته اي: هنگامي که يک نوترون به هسته اتم ايزوتوپ هاي اورانيوم 235 برخورد مي کند، باعث مي شود آن هسته به دو قطعه تقسيم شود که هر يک از آنها هسته اي با حدود نيمي از پروتون ها و نوترون هاي هسته اصلي است. در فرآيند شکافتن، مقدار زيادي انرژي گرمايي و همچنين پرتوهاي گاما و دو يا چند نوترون آزاد مي شود. تحت شرايط خاص، نوترون‌هاي فراري به هسته‌هاي اورانيوم اطراف برخورد مي‌کنند و در نتيجه شکافت بيشتري به هسته‌هاي اورانيوم اطراف مي‌دهند، که سپس نوترون‌هاي بيشتري منتشر مي‌کنند که هسته‌هاي بيشتري را مي‌شکافند. اين سري از شکافت هاي به سرعت در حال افزايش در يک واکنش زنجيره اي به اوج خود مي رسد که در آن تقريباً تمام مواد شکافت پذير مصرف مي شود. شکافت نوترون و پروتون: نوترون: ذره بنيادي در هسته اتم که بار الکتريکي ندارد، آن را به صورت {نام، مقدار} نشان خواهيم داد، در مثال پيشنهادي ما: نام يک حرف الفبايي خواهد بود و مقدار به زير اشاره دارد. وزن بين نوترون فعلي و نوترون بعدي. پروتون: ذره بنيادي با بار الکتريکي مثبت، در مثال پيشنهادي خود، آن را به صورت يک {name, value} نشان مي‌دهيم: نام هميشه [PROTON] خواهد بود و مقدار حذف مي‌شود زيرا در اينجا اثر الکتريکي را ناديده مي‌گيريم. دليل استفاده از پروتون ها بعدا ذکر خواهد شد. هسته: گروه سازمان يافته اي از نوترون ها و پروتون ها (زيرا در مثال ما نظم مهم است). فشردگي: ساختار دروني هسته را توصيف مي کند، در اينجا به عنوان تعداد کل نوترون هاي درون هسته تعريف مي شود. افزونگي: ساختار دروني هسته را نيز توصيف مي کند و به عنوان بزرگترين فرکانس در بين تمام نوترون هاي درون هسته تعريف مي شود. البته کمتر از يک نميتونه باشه پتانسيل: قدرت نهفته هسته، توانايي آن را در بهترين راه حل (در صورت حداکثر يا حداقل شدن) توصيف مي کند. براي هر هسته با مجموع وزن تمام نوترون ها در هسته اجرا مي شود. ما به دنبال هسته بهينه با کمترين پتانسيل (براي مثال مشکل کمينه سازي) خواهيم بود که شرايط فشردگي و افزونگي را برآورده کند. بحراني بودن: حالت بحراني (کل واکنش) با احتمال اينکه يک نوترون آزاد شده در شکافت باعث شکافت بعدي شود تعيين مي شود. اگر به طور متوسط ??کمتر از يک نوترون باعث شکافت ديگري شود، سرعت شکافت با گذشت زمان کاهش مي يابد و در نهايت به کاهش مي يابد. صفر به اين وضعيت زير بحراني مي گويند. هنگامي که بيش از يک نوترون باعث شکافت بعدي شود، سرعت شکافت و توان افزايش مي يابد و وضعيت فوق بحراني ناميده مي شود. عامل گرما هسته اي: هرچه انفجار قوي تر باشد، انرژي حرارتي بيشتري توليد مي شود، هنگامي که نوترون هاي بيشتري پس از هر شکافت واحد آزاد مي شود، گرماي بيشتري (انفجار بزرگتر) ايجاد مي شود (اين امر بحراني بودن واکنش را افزايش مي دهد)، در اينجا با ميانگين تعداد آزاد شده مشخص مي شود. نوترون ها عامل فروپاشي اتمي: پس از تقسيم هسته اتمي ناپايدار به هسته اي پايدارتر تجزيه مي شود که ذرات بتا و پرتوهاي گاما ساطع مي کند. در واپاشي بتاي منفي (با نماد ?--واپاشي) يک هسته ناپايدار يک الکترون پرانرژي و يک پادنوترينو ساطع مي کند و يک نوترون در هسته به پروتون تبديل مي شود که در هسته محصول باقي مي ماند. در اينجا ما از اثرات الکترون و ضد نوترينو غفلت کرديم تا همه چيز را ساده نگه داريم. ما بدترين نوترون هسته را براي آن واپاشي انتخاب خواهيم کرد. مباني اين الگوريتم کمک خواهد کرد: نمودار ساختار داده ها و پياده سازي: ما سعي خواهيم کرد ساده ترين راه را براي پياده سازي مفاهيم خود در نظر بگيريم. در غير اين صورت محاسبات بسيار پيچيده خواهد شد. ??کلاس Simulation_Problem: مشکل توسط يک آرايه دوبعدي شبيه سازي شده است که هزينه هاي سفر از حالت X1 به حالت X2 را نشان مي دهد. ايالات به صورت حروف الفباي {A نامگذاري مي شوند. . Z} اين کلاس هر بار که برنامه را براي ايجاد يک ماتريس تصادفي جديد از اعداد واقعي بارگذاري مي کنيد، ايجاد مي شود. براي بدست آوردن هزينه [X1 - X2] به رديف X1 و ستون X2 در ماتريس نگاه خواهيم کرد. ??کلاس نوترون: (نام به عنوان رشته، مقدار به عنوان دو برابر) اين براي نوترون ها و پروتون ها استفاده مي شود، اما زماني که براي پروتون ها استفاده مي شود، نام آن "PROTON" خواهد بود، زماني که براي نوترون ها استفاده مي شود، نام يک نام خواهد بود. حرف الفبايي ??رده هسته: -Sub Random_Fill_Nucleus(): براي پر کردن آن با نوترون ها و پروتون هاي تصادفي پس از هر واکنش. -Function Potentiality(): براي بدست آوردن مجموع وزن هاي هسته مي خواهيم آن را به حداقل برسانيم تا به کمترين هزينه ممکن برسيم و اين همان کاري است که واکنش انجام خواهد داد. -Function Redundancy(): حداکثر تکرار را در هسته جستجو مي کند، اين يک اصطلاح خشن است که بسياري از حل ها به دليل آن حذف مي شوند، همانطور که بعدا خواهيم ديد، نمي تواند کمتر از يک باشد. -Function Compactness(): تعداد نوترون هايي که در هسته به دست آورده ايم، اين يک شرط مهم در حل بهينه خواهد بود، جايي که ما با حداقل مقدار آن متعهد هستيم، هيچ پاسخ مشخصي براي اين مسئله وجود ندارد، بنابراين ما حل خواهيم کرد. aboآستانه خاصي از فشردگي دارد و تعيين بهترين پاسخ خود را به کاربر نهايي واگذار مي کند. -Sub Emit_Beta(): به دنبال نوترون با بدترين مقدار در هسته مي گردد و آن را به پروتون تبديل مي کند. Class Serial_Reaction: -Sub initialize(): براي تمام مقدار مواد: يک هسته تصادفي بدون افزونگي ايجاد کنيد (اضافه = 1) و وزن تمام هسته هاي تصادفي را محاسبه کنيد. ما همچنين مجموعه‌اي از نوترون‌هاي فعال داريم و آن را با يک نوترون آزاد شده اوليه که توسط کاربر تعيين مي‌شود (که تعدادي نوترون تصادفي است) پر مي‌کنيم، مطمئن باشيد که اين بر تشديد واکنش هسته‌اي تأثير خواهد گذاشت. اگر قبلاً هيچ مقداري را براي بهترين حل تعيين نکرده بوديم، هر هسته اي را به آن اختصاص دهيد. (اين فقط قبل از اولين واکنش اتفاق مي افتد). -Sub Release(): مجموعه‌اي از واکنش‌ها را به ماده اعمال مي‌کند و با اين مراحل نشان داده مي‌شود: ضريب توقف را بررسي کنيد تا ببينيد آيا بايد به طور اجباري براي هر هسته در ماده توقف کنيم: -يک نوترون تصادفي از مجموعه نوترون‌هاي فعال را دريافت کنيد. . -توليد يک عدد صحيح تصادفي مناسب براي تعيين محل ضربه - قرار دادن نوترون فعال در داخل هسته براي اجراي ضربه - اگر هسته ضربه آستانه افزونگي و فشردگي را برآورده کند، قرباني نخواهد شد. اما براي ادامه واکنش به عنوان "آماده نيست" علامت گذاري مي شود و به ليست نامزدها اضافه مي شود. -اگر هسته ضربه‌اي آستانه‌ها را برآورده نکند، دچار شکافت هسته‌اي مي‌شود: + هسته را به دو قسمت مساوي تقسيم کنيد. + در هر قسمت به دنبال نوترون با بهترين مقدار (کمترين مقدار) باشيد. + بهترين نوترون هاي يافت شده را با توجه به عامل گرما هسته اي به ليست نوترون هاي فعال اضافه کنيد + سپس هر دو بخش با توجه به عامل واپاشي اتمي دچار واپاشي اتمي مي شوند. + هسته‌هاي راديواکتيو را پس از فروپاشي اتمي پردازش کنيد (زيادگي نامعتبر را حذف کنيد و مقادير هر دو بخش را مجدداً محاسبه کنيد زيرا ساختار هسته تغيير کرده است) و بعد از آن به ليست نامزدها نيز اضافه کنيد. ليست نامزدهاي جديد را بررسي کنيد: اگر هسته اي با هزينه کلي بهتر (پتانسيل کمتر) پيدا کنيم، اين بهترين راه حل جديد ما است. براي آماده شدن براي واکنش جديد، Sub initialize() را فراخواني کنيد. استفاده از برنامه: [لطفاً قبل از اجراي برنامه، کل مقاله را بخوانيد] در واقع برنامه بيشتر کار را براي شما انجام مي دهد، در هر شروع يک مشکل جديد ايجاد مي کند، فقط مي خواهيد پارامترهاي مناسب را براي الگوريتم تنظيم کنيد. از مقدار انبوه مواد يا فاکتور تجزيه اتمي بزرگ استفاده نکنيد (ما به آن خواهيم رسيد) مقدار زياد مواد يا اندازه هسته عظيم باعث از کار افتادن رايانه شما مي شود. (من از core2dou با رايانه رم 4 گيگابايتي براي پارامترهاي پيش‌فرض استفاده مي‌کنم) ضريب توقف تعداد واکنش‌ها را تعيين مي‌کند، و چون از حروف A..Z به عنوان حالت‌هاي ممکن استفاده کرديم، فشردگي نمي‌تواند از 26 تجاوز کند (رابط از بيشتر پارامترهاي حساس محافظت مي‌کند). براي شروع، Start را فشار دهيد، اگر زمان زيادي طول کشيد، توقف را فشار دهيد و پارامترها را تغيير دهيد تا تأثير آنها را مطالعه کنيد. (شايد لازم باشد مشکل جديدي را در کد پياده سازي کنيد تا جلوه را به خوبي مطالعه کنيد) در عنوان بالاي فرم تعداد حل هاي منحصر به فرد را مشاهده خواهيد کرد (حل هاي تکراري از اين حذف مي شوند) و حل هاي بهينه در کادر متن چاپ مي شوند. در وسط فرم نقاط مورد علاقه: ما دريافتيم که اندازه هسته بهينه براي بسياري از نمونه ها را مي توان با اين معادله تخمين زد: اندازه هسته = ضريب فشردگي * 2 + ضريب افزونگي بنابراين به طور خودکار توسط برنامه تنظيم مي شود. اگر کد را عميق مطالعه کنيد متوجه خواهيد شد که وضعيت هر واکنش در شروع فوق بحراني خواهد بود. و بعد از زمان تبديل به زير بحراني مي شود. اين خوب است زيرا ما از ارزش کامل فشردگي مطمئن نيستيم و اين روش به دليل شکافتن، محدوده خوبي از فشردگي به ما مي دهد. گاهي اوقات اگر پارامترها را تغيير دهيد مي بينيد که بعد از مدتي حالت واکنش زير بحراني مي شود و سپس تمام مواد شکافت پذير مصرف مي شود بنابراين واکنش سريال ادامه پيدا نمي کند، بايد سعي کنيد از گذر از اين حالت خودداري کنيد. در اينجا ما sub To-String() را براي نمايش فقط نوترون ها پياده سازي کرديم، در واقع اگر کل هسته را نمايش دهيد (گاهي اوقات) پروتون ها را در آن خواهيد ديد، در پياده سازي ما اين پروتون ها را دور زديم زيرا فرض کرديم که وقوع يا ترتيب آنها تأثيري ندارد. محاسبه وزن در دنياي واقعي، نوترون هاي آزاد شده پس از تقسيم دو يا بيشتر خواهد بود، بنابراين براي حفظ حالت فوق بحراني و اجتناب از قرار گرفتن در وضعيت "مواد شکافت پذير مصرف مي شود" يک عدد مناسب (البته بزرگتر از يک) را به عنوان يک عامل گرما هسته اي انتخاب کنيد. به دليل ماهيت مکانيسم فروپاشي اتمي، فشردگي عميقاً تحت تأثير عامل فروپاشي اتمي قرار مي گيرد، بنابراين بايد عدد نسبتاً کمي (اما بزرگتر از صفر) را انتخاب کنيد. هسته ها در ابتدا پتانسيل بزرگي خواهند داشت که در آن واکنش فوق بحراني خواهد بود و به دليل شکافتن (که فشردگي و در نتيجه هزينه کل نوترون ها را کاهش مي دهد) هسته ها پتانسيل کمي خواهند داشت که در آن واکنش به زير بحراني تبديل مي شود و اين همان چيزي است که ما مي خواهيم زيرا فعال است. نوترون ها به هسته هاي با پتانسيل کوچک برخورد مي کنند تا حل هاي بهينه بيشتري توليد کنند. افunction Redundancy_Killer() براي کاهش افزونگي به حداقل سطح (1) بسيار مهم است تا بتوانيم هسته هاي تصادفي قابل مقايسه جديدي توليد کنيم. در اين مثال هسته ها با 10 درصد پروتون اوليه سازي شدند. کاربرد دنياي واقعي (مثال): يک شرکت هواپيمايي مي خواهد يک برنامه کاري براي سازماندهي پروازهاي خود در بسياري از کشورها، بازديد از حداقل X فرودگاه با کمترين ميزان سوخت، و با شرايطي مانند: نبايد از همان فرودگاه بيش از (N) بازديد کند. بار) 3 يا 4 برابر ..چون مسافر زياد نخواهد بود و بنابراين درآمد اقتصادي بهينه نخواهد بود. اين يک الگوريتم هسته اي است که در آن: نوترون: هسته فرودگاه: برنامه کاري فشردگي است: X افزونگي: N پتانسيل: هزينه کل سفر در فرودگاه ها (در هر هسته) عوامل ديگر تجربي هستند و توسط کاربر براي رسيدن به بهترين پاسخ تنظيم مي شوند. الگوريتم‌هاي هسته‌اي در مقابل ژنتيک (چرا هسته‌اي بهتر است؟): الگوريتم‌هاي ژنتيک (برخلاف اينجا) مستقيماً يک ژن بد را از حل نامزد حذف نمي‌کنند. به جاي آن به نسل هاي زيادي (جهش و متقاطع) نياز دارد. در الگوريتم‌هاي ژنتيک، طول ژنوم بر خلاف الگوريتم‌هاي هسته‌اي ثابت است که مي‌توان از آن براي حل مسائلي که طول حل ناشناخته است استفاده کرد. الگوريتم هاي ژنتيک حل فرعي «ناشناخته» يا «بن بست» را شناسايي نمي کنند در حالي که در اينجا (پروتون) شناسايي شده است. الگوريتم هاي هسته اي به دليل واپاشي اتمي بسيار سريعتر از الگوريتم هاي ژنتيک همگرا مي شوند. الگوريتم ژنتيک با شرايط سختي مانند حداکثر تکرار مجاز ژن هاي خاص در کروموزوم سر و کار ندارد، و اگر سعي کنيد اين را پياده سازي کنيد، بعداً متوجه خواهيد شد که اين شرايط باعث همگرايي الگوريتم ژنتيک مي شود (بسيار کندتر). الگوريتم‌هاي ژنتيک بسيار تحت‌تأثير نسل گذشته هستند که مي‌تواند بد باشد، اما الگوريتم‌هاي هسته‌اي به‌طور تصادفي پس از هر واکنش شروع مي‌شوند، بنابراين شانس بيشتري براي يافتن راه‌حل بهتر کشف‌نشده جديد (به عنوان يک نژاد کاملاً جديد در GA) پس از واکنش گذشته وجود دارد. الگوريتم‌هاي ژنتيک در مورد جهش‌هاي کور (مطالعه‌نشده) صحبت مي‌کنند و از هيچ تابعي براي يافتن «بهترين جهش» استفاده نمي‌کنند، برخلاف الگوريتم‌هاي هسته‌اي که از «نوترون‌هاي بهترين وزن» براي انجام شکافت هسته‌اي استفاده مي‌کنند. 

ویژگی های اصلی :

  • سرعت و کارای بالا در زمان اجرا
  • قابلیت تنظیم (عامل فروپاشی اتم - عامل گرا هسته ای - مقدار مواد - اندازه هسته ای - عامل متوقف - آستانه فشردگی - افزونگی ترشولد - نوترون های آزاد شده اولیه)
  • نمایش جدول اطلاعات
  •  و ...

برای شما کاربران عزیز پیشنهاد دانلود داده می شود.  

برای دریافت نمونه سورس و کد vb.net در موضوع الگوريتم هسته اي بر روی لینک زیر کلیک فرمایید

برای دریافت اینجا کلیک کن

فایل های که ممکن است نیاز داشته باشید

نظرات کاربران

کد امنیتی

لیست فایل های ویژه وبسایت

دانلود-نرم-افزار-تغییر-زبان-سورس-و-کد-ویژوال-استودیو-(عناصر-دیزاین-طراحی-فرم-ها)
دانلود نرم افزار تغییر زبان سورس و کد ویژوال استودیو (عناصر دیزاین طراحی فرم ها)

بهترین-سرویس-پوش-نوتیفیکیشن-اسکريپت-مديريت-اعلان-و-ساخت-پوش-نوتیفیکیشن-سایت
بهترین سرویس پوش نوتیفیکیشن اسکريپت مديريت اعلان و ساخت پوش نوتیفیکیشن سایت

استخراج-فالوور-های-اینستاگرام-نرم-افزار-ربات-اينستاگرامي-براي-دريافت-ليست-کامل-فالو-شده-ها-و-فالو-کننده-ها
استخراج فالوور های اینستاگرام نرم افزار ربات اينستاگرامي براي دريافت ليست کامل فالو شده ها و فالو کننده ها

دانلود-نرم-افزار-ترجمه-خودکار-فایل-های-po-,-pot-بصورت-کامل-برای-تمامی-زبان-ها-از-جمله-فارسی
دانلود نرم افزار ترجمه خودکار فایل های po , pot بصورت کامل برای تمامی زبان ها از جمله فارسی

دانلود-نرم-افزار-تبدیل-فایل-متنی-به-vcf-(مخاطب-موبایل)
دانلود نرم افزار تبدیل فایل متنی به vcf (مخاطب موبایل)