در این بخش سورس کد الگوریتم جستجوی فراکتال تصادفی در متلب قرار داده شده است. الگوریتم فراکتال یکی از الگوریتم های فراابتکاری یا متاهیوریستیک (Metaheuristic Algorithm) است که با نام الگوریتم جستجوی فراکتال تصادفی (Stochastic Fractal Search) و مخفف الگوریتم SFS نیز شناخته می شود.
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
فراکتال چیست؟
خاصیت یک شیء یا کمیتی که تشابه خود را در تمام مقیاس ها، به معنایی فنی، توضیح می دهد، فراکتال نامیده می شود. اصطلاح “فراکتال” از کلمه لاتین fractus به معنای “شکسته” گرفته شده است و اولین بار توسط Benoit Mandelbrot در سال 1975 استفاده شد. نظریه های فراکتال برای توصیف الگوهای هندسی در طبیعت است. در شکل زیر نمونه ای از فراکتال را مشاهده می کنید.
نمونه ای از فراکتال ها شامل ساختارهایی از دانه های میکروسکوپی تا خوشه کهکشان ها وجود دارد. برخی از مثالها برای چنین فرآیندهایی عبارتند از انجماد دندریتی (dendritic solidification) در محیطی که سرد نشده، انگشتگذاری چسبناکی (viscous fingering) که هنگامی که یک سیال چسبناک به مایع چسبناکتر تزریق میشود یا رسوب الکتریکی یونها روی الکترود (electrodepositing of ions).
به طور معمول، برای تولید یک شکل فراکتال، از برخی روشهای رایج مانند: سیستمهای تابع تکراری (Iterated function systems)، جاذبههای عجیب (Strange attractors)، سیستمهای Lsystems، قوانین تقسیمبندی محدود (Finite subdivision rules) و فرکتالهای تصادفی (Random fractals) استفاده میشود. بر اساس ویژگیهای فراکتال، الگوریتم فرااکتالی الهامبخش فرکتالهای تصادفی است که با مفهوم روش تجمع محدود انتشار (DLA – Diffusion Limited Aggregation ) به عنوان یک الگوریتم جستجوی عمل می کند.
فراکتال های تصادفی
فرکتالهای تصادفی را میتوان با اصلاح فرآیند تکرار از طریق قوانین تصادفی مانند پرواز لوی (Levy flight)، پیادهرویهای گاوسی (Gaussian walks)، خوشههای نفوذی (percolation clusters)، پیادهرویهای خود اجتنابی (self-avoiding walks)، مناظر فراکتال (fractal landscapes)، مسیر حرکت براونی (trajectories of Brownian motion) و درخت براونی (Brownian tree) تولید کرد (دندریتی که با مدلسازی فراکتالهای دندریتی تولید میشود). برخی از فراکتالهای تصادفی، مانند خوشههایی که یک کلونی باکتریایی را توصیف میکنند، میتوانند توسط یک مدل فیزیکی “تجمع محدود انتشار” (DLA) تولید شوند.
برای سادگی، تشکیل چنین خوشه ای را در یک صفحه در نظر بگیرید که ذره اولیه (دانه) در مبدا قرار دارد. سپس ذرات دیگر به طور تصادفی در اطراف نقطه اصلی تولید می شوند و باعث انتشار می شوند. برای شبیه سازی فرآیند انتشار، از یک الگوریتم ریاضی مانند پیاده روی تصادفی استفاده شده است. ذره پخش کننده به ذره دانه ای که از آن ساخته شده است می چسبد. این روند تا زمانی که یک خوشه تشکیل شود تکرار می شود. در حین تشکیل خوشه، احتمال گیرکردن ذرات به انتها در مقایسه با ذرههایی که به داخل آن نفوذ میکنند، افزایش یافته است. بنابراین، این ویژگی یک خوشه را به ساختار شاخه مانند هدایت می کند.
سورس کد الگوریتم جستجوی فراکتال تصادفی در متلب
این سورس کد آماده شامل توابعی است که اسکریپت SFS.m در واقع کد اصلی برنامه می باشد و بقیه فراخوانی ها از آنجا انجام می شود. در این سورس کد از 23 تابع func2str برای ارزیابی الگوریتم استفاده شده است. این توابع هر کدام شامل مقادیری است که با اضافه کردن مقدار F1 تا F23 می توان الگوریتم را با یکی از توابع یاد شده اجرا نمود. برای اجرای برنامه با یکی از این توابع، بایستی مقدار F1 الی F23 را به برنامه مقدار دهی کنید.
چند مورد از توابعی که در این سورس کد استفاده شده اند:
switch func_name case 'F1' x=lb:2:ub; y=x; %[-100,100] case 'F2' x=lb:0.2:ub; y=x; %[-10,10] case 'F3' x=lb:2:ub; y=x; %[-100,100] case 'F4' x=lb:2:ub; y=x; %[-100,100] case 'F5' x=lb:1:ub; y=x; %[-30,30] case 'F6' x=lb:2:ub; y=x; %[-100,100] case 'F7' x=lb:0.05:ub; y=x; %[-1.28,1.28] case 'F8' x=lb:20:ub;y=x; %[-500,500]
از این توابع برای تست و اجرای الگوریتم جستجوی فراکتال تصادفی استفاده می شود. نحوه اجرای سورس کد و پیش نمایش آن در ویدیوی زیر آورده شده است. برای مشاهده روی پخش کلیک کنید.
ویدئوی معرفی
درباره محصول
سورس کد الگوریتم جستجوی فراکتال تصادفی در متلب در محیط Matlab 2017 نوشته و اجرا شده است و قابل اجرا با نسخه های بالاتر متلب نیز هست. این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور است. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
مباحث مرتبط با الگوریتم جستجوی فراکتال
اطلاعات تکمیلی محصول
نام محصول: | سورس کد الگوریتم جستجوی فراکتال تصادفی در متلب |
---|---|
نوع محصول: | سورس کد |
حجم فایل: | 7.3 مگابایت |
فرمت فایل: | m. |
قابل اجرا در: | متلب 2017 و بالاتر |
مباحث پیشنهادی دیگر
تاریخ انتشار: | 20 بهمن 1401 |
---|---|
حجم فایل: | 7.3 مگابایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
تاکنون 47 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.
نظرات و دیدگاه ها
قوانین ثبت دیدگاه
- لطفاً دیدگاه های خود را فارسی تایپ کنید.
- دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
- از درج دیدگاه های تکراری پرهیز نمایید.
- سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.
قیمت 49,000 تومان
تاریخ انتشار: | 20 بهمن 1401 |
---|---|
حجم فایل: | 7.3 مگابایت |
فرمت فایل | m. |
هماهنگی با: | متلب 2017 و بالاتر |
سفارش تدریس: | توضیحات تکمیلی |
1 بازخورد (مشاهده نظرات)
قیمت: 49,000 تومان
فاطمه اسماعیلی
نظرات و دیدگاه های خود را با ما درمیان بگذارید.