لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 44
کار برد های GA
برخی از مهم تر ین کار بردهای GA در علوم مختلف عبارتند از:
زمینه
کاربرد
کنترل:
خطوط انتقال گاز – پرتاب موشک – سیستم های تعادلی – رهگیری و ...
طراحی :
طراحی هواپیما – طراحی مدارات VLSI – شبکه های ارتباطی و ...
مدیریت و برنامه ریزی :
برنامه ریزی تولید – زمان بندی – تخصیص منابع و ...
روباتیک:
مسیر حرکت روبات ...
یادگیری ماشین :
طراحی شبکه های عصبی – الگوریتم های طبقه بندی و ...
پردازش سیگنال:
طراحی فیلتر و ...
سایر موارد:
هنر و موسیقی – حل مسئله فروشنده دوره گرد – مسیر یابی در شبکه ها و ...
طراحی آنتن
سیستم های ارتباط ماهواره ای از آنتنها برای دریافت سیگنال های ارسال شده از ماهواره استفاده می کنند . هر آنتن دارای یک Main Beam و تعدادی Sidelobe است .قسمت Main beam که در جهت ماهواره قرار می گیرد دارای بهره (gain) بالایی است تا بتواند سیگنال های ضعیف را تقویت کند . اما Sidelobe ها دارای بهر ه های پایینی هستند . بر خلاف Main beamدر جهت های مختلفی قرار می گیرند . شکل زیر یک آنتن را با Sidelobe و Main beam آن نشان می دهد .
مشکل این جا است که امکان ورود سیگنال ها ی ناخواسته قوی به داخل Sidelobe ها و یا ورود سیگنال های اصلی ضعیف به داخل Main beam وجود دارد . فرض کنیم که Main beam یک آنتن ماهواره ای در راستا و جهت ماهواره قرار گرفته باشد . سیگنال ها ی ماهواره بسیار ضعیف هستند زیرا از فاصله بسیار دور و با قدرت کمی ارسال می شوند اگر یک تلفن بی سیم نیز با همان فرکانس ماهواره در نزدیکی آن کار کند ممکن است سیگنال ها ی تلفن وارد Side lobe آنتن شده و باعث تداخل با سیگنال های اصلی گردد . بنا بر این مهندسان افزایش بهره Main beam و کاهش بهره Side lobe هستند .
یک نوع از آنتن ها (Antenna array) است . ویژگی این آنتن ها توانایی آنها را در کاهش بهرة Side lobeها است . در حقیقت این نوع آنتن یک گروه از آنتن های تکی هستند که سیگنال های آنها را با هم جمع کرده و یک خروجی را تولید می کند .
سیگنال های دریافتی در هر آنتن دارای یک دامنه و فاز است که یک تابعی از فرکانس، موقعیت آنتن و زاویه ارسال سیگنال ها است .
خروجی این آنتن یک تابعی از سیگنال های در یافتی در هر آنتن است . بنا بر این با توجه به مقدار دامنه های سیگنال برای آنتن ها ممکن است باعث کاهش یا حذف Side lobe شود. در این مثال نشان می دهیم که چگونه می توان با استفاده از GAبه طراحی شبکه آنتن با Side lobe کم پرداخت .
مدل این آرایه خطی در راستای محور X و به صورت زیر است :
فرمول ریاضی در این خصوص برای حالتی که Main beamبه صورت 90 درجه باشد برابر است با :
AF ( ) = ei(n-1) (8-1)
که در این معادله :
N :تعداد آنتن ها
an: دامنه وزن دهی شده برای am =an+ 1-m که m = 1,2 ,… , N/2
: طول موج
d: فاصله بین آنتن ها
: زوایه موج میدان الکترو مغناطیس
=Kdu = Kdcos
K= 2
هدف در این مسئله پیدا کردن an به گونه ای است که حداقل سطحSide lobe در الگوی آنتن وجود داشته باشد .
یک راه برای مسئله تولید Side lobeهایی برابر- و پایین پیک Main beam است به عبارت دیگر هیچگونهSide lobe ای وجود نداشته باشد .
روش حل این مسئله را شبکه دو جمله ای و وزن های دامنه سیگنال را ضرایب دو جمله ای می
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 30
الگوریتم یادگیری ماشین
چکیده
در مورد الگوریتم ماشین حساب ما استفاده از یک بافر برای گرفتن عبارت بطور کامل و سپس تجزیه کردن اجزای (Parse) آن از لحاظ فنی غیر ممکن نیست و تنها بدلیل صورت مسئله قادر به انجام آن نیستیم. اما تصور کنید که اگر قرار بود مرورگرهای وب (Web Browsers) ابتدا تمام محتوای یک صفحه را بخواندند و سپس آن را تجزیه کرده و نمایش دهند چه مقدار زمان کاربر و سرویس دهنده وب به هدر میرفت و ترافیک بیهودهای برروی خطوط ارتباطی حاصل میشد (در اکثر موارد ما با دیدن تنها چند خط از یک صفحه به صفحه دیگری میرویم(.
مقدمه
یک الگوریتم مجوعهی متناهی از دستورالعمل های خوش تعریف برای انجام یک عمل است که با داشتن یک حالت اولیه به حالت پایانی مشخص و متناظری خواهد رسید. (با استدلالی ( heuristic )مقایسه شود(
مفهوم یک الگوریتم معمولاً با مثال دستور اشپزی توضیح داده می شود. هر چند بعضی الگوریتم ها خیلی پیچیده تر هستند. الگوریتم ها معمولاً دارای مراحلی است که تکرار می شود تکرار و یا تا زمان پایان برنامه نیازمند decision هایی (مانند منطق بولی یا نابرابری است. اگر الگوریتم مناسب و نا معیوب نباشد حتی با اجرای درست آن هم مسئله حل نمی شود. برای مثال اجرای الگوریتم سالاد سیب زمینی در صورتی که سیب زمینی در کار نباشد حتی اگر تمام حرکات تهیه سالاد طوری انجام شود مثل اینکه سیب زمینی وجود دارد نا فرجام خواهد ماند.الگوریتم های مختلف ممکن است یک عمل را با دستورات مختلف در مدت زمان، جا، وبا تلاش کمتر یا بیشتری نسبت به بقیه انجام دهد. برای مثال با داشتن دو دستور تهیه ی سالاد سیب زمینی، یکی ممکن است قبل از جوشاندن اول سیب زمینی را پوست بکند در حالی که دیگری این دو مرحله را برعکس انجام دهد، و هر دو این مراحل را برای تمام سیب زمینی ها تکرار می کنند تا وقتی که سالاد سیب زمینی آماده طبخ شود.(مثال ضعیف... چه کسی سیب زمینی ها را جدا جدا می جوشاند؟ و معمولاً تهیه ی سالاد نیازی به پخت و پز ندارد...(
در بعضی کشورها، مثل امریکا، اگر تعبیه فیزیکی الگوریتم ها ممکن باشد ممکن است آن ها به شدت انحصاری شود (برای مثال، یک الگوریتم ضرب ممکن است در واحد محاسبه ی یک ریز پردازنده تعبیه شود (
الگوریتم های رسمی شده(formalized algorithms )
الگوریتم ها به خاطر روش پردازش اطلاعات توسط کامپیوتر اساسی و حیاتی هستند، چون یک برنامه کامپیوتری اساساً یک الگوریتم است که به کامپیوتر می گوید برای انجام یک عمل خاص مثل محاسبه حقوق کارمندان و یا چاپ ورقه گزارش دانش آموزان،چه مراحل خاصی را (با چه نظم خاصی) اجرا کند،.به این صورت، یک الگوریتم را می توان هر دنباله از دستوراتی که قابل اجرا توسط یک Turing complete باشد به حساب آورد.به طور نمونه ای هنگامی که الگوریتم کار پرازش اطلاعات را انجام می دهد، داده از طریق یک وسیله یا منبع ورودی گرفته، به یک وسیله خروجی یاsink نوشته و / یا برای استفاده در زمانی دیگر ذخیره می شود. داده ذخیره شده به عنوان بخشی از حالت درونی(internal state) نهاد مجری الگوریتم تلقی می گردد.برای اعمال محاسباتی از این قبیل، الگوریتم باید به دقت تعریف شود :یعنی طوری مشخص شود که برای حالت مختلف محتمل معتبر باشد. یعنی تمام مراحل شرطی باید به طور سیستماتیک بررسی شود ; حالت به حالت.ضابطه مربوط به هر حالت باید واضح (و محاسبه پذیر باشد(.چون الگوریتم ها لیست دقیقی از گام های دقیق است، نظم محاسبه تقریباً همیشه برای کار کرد الگوریتم اساسی می باشد. همواره فرض می شود دستور ها روشن هستند، و گفته می شود از" بالا آغاز" و"تا پایین کشیده می شوند"، اندیشه ای که به طور رسمی تر توسط جریان کنترل توصیف می شود.تا اینجا ی بحث، رسمی سازی قواعد و قوانین برنامه نویسی امری(imperative programming) را به خود گرفت. این عام ترین مفهوم است، و تلاش دارد با وسایل "مکانیکی" مجزا کاری را توصیف کند؛ عملیات تخصیص، تعیین مقدار یک متغیر، برای این مفهوم از الگوریتم رسمی شده یکتا می باشد .در زیر مثالی از این تخصیص آمده است.برای مفاهیم فرعی ) (alternative تشکیل دهنده یک الگوریتم برنامه نویسی تابعی و برنامه نویسی منطقی را ببینید.
ماشین حساب (آشنایی با Syntax Diagram(
الگوریتم ماشین حسابی با تعریف زیر را بنویسید:
انجام چهار عمل اصلی با اولویت محاسباتی عملگرها طبق آنچه در زیر مشخص شده است:
کد:
+ - عملگر یگانی (Unary)
* /
+ - عملگر دودویی (Binary)
عبارات داخل پرانتز از اولویت بالاتری برخوردارند.
اعداد میتوانند صحیح یا اعشاری باشند.
پایان هر عبارت با علامت سوال (=) مشخص میشود.
خروج از ماشین حساب با ورود حرف ایکس (X) مشخص میشود.
مثال:
کد:
2 * 3 + 4 * 5 =
26
2 * (3 + 4) * 5 =
لینک دانلود و خرید پایین توضیحات
فرمت فایل word و قابل ویرایش و پرینت
تعداد صفحات: 50
چکیده:
الگوریتم های ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیش بینی یا تطبیق الگو استفاده می کنند. الگوریتم های ژنتیک اغلب گزینه خوبی برای تکنیک های پیش بینی بر مبنای رگرسیون هستند. همچنین ساده خطی وپارامتریک نیزگفته می شود، به الگوریتم های ژنتیک می توان غیر پارامتریک نیز گفت.
مختصراً گفته می شود که الگوریتم ژنتیک (یا GA) یک تکنیک برنامه نویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسئله استفاده می کند. مسئله ای که باید حل شود ورودی است و راه حل ها طبق یک الگو کد گذاری می شود ومتریک که تابع fitness هم نام دارد هر راه حل کاندید را ارزیابی می کندکه اکثر آنها به صورت تصادفی انتخاب می شوند. یکی از مهمترین کاربردهای الگوریتم های ژنتیک حل مسئله فروشنده دوره گرد می باشد که در بخش دوم به طور کامل به آن می پردازیم.
کلاً این الگوریتم ها از بخش های زیر تشکیل می شوند :
انتخاب مجدد selection
ترکیب combination
جهش ژنی mutation
که در ادامه آنها را توضیح خواهیم داد.
مقدمه:
قانون انتخاب طبیعی بدین صورت است که تنها گونههایی از یک جمعیت ادامه نسل میدهند که بهترین خصوصیات را داشته باشند و آنهایی که این خصوصیات را نداشته باشند به تدریج و در طی زمان از بین میروند.
مثلا فرض کنید گونه خاصی از افراد هوش بسیار بیشتری از بقیه افراد یک جامعه یا کولونی دارند. در شرایط کاملا طبیعی این افراد پیشرفت بهتری خواهند کرد و رفاه نسبتا بالاتری خواهند داشت و این رفاه خود باعث طول عمر بیشتر و باروری بهتر خواهد بود(توجه کنید شرایط طبیعی است نه در یک جامعه سطح بالا با ملاحظات امروزی یعنی طول عمر بیشتر در این جامعه نمونه با زاد و ولد بیشتر همراه است). حال اگر این خصوصیت(هوش)ارثی باشد به طبع در نسل بعدی همان جامعه تعداد افراد باهوش به دلیل زاد و ولد بیشتر اینگونه افراد بیشتر خواهد بود. اگر همین روند را ادامه دهید خواهید دید که در طی نسلهای متوالی دائما جامعه نمونه ما باهوش و باهوشتر میشود. بدین ترتیب یک مکانیزم ساده طبیعی توانسته است در طی چند نسل عملا افراد کم هوش را از جامعه حذف کند علاوه بر اینکه میزان هوش متوسط جامعه نیز دائما در حال افزایش است.
بدین ترتیب میتوان دید که طبیعت با بهرهگیری از یک روش بسیار ساده(حذف تدریجی گونههای نامناسب و در عین حال تکثیر بالاتر گونههای بهینه) توانسته است دائما هر نسل را از لحاظ خصوصیات مختلف ارتقا بخشد.
در این میان آنچه شاید بتواند تا حدودی ما را در فهم این مساله یاری کند مفهومیست به نام :
تصادف یا جهش.
هدف اصلی روشهای هوشمند به کار گرفته شده در هوش مصنوعی یافتن پاسخ بهینه مسائل مهندسی است. به عنوان مثال اینکه چگونه یک موتور را طراحی کنیم تا بهترین بازدهی را داشته باشد یا چگونه بازوهای یک ربات را محرک کنیم تا کوتاهترین مسیر را تا مقصد طی کند(دقت کنید که در صورت وجود مانع یافتن کوتاهترین مسیر دیگر به سادگی کشیدن یک خط راست بین مبدا و مقصد نیست) همگی مسائل بهینهسازی هستند.
در مورد نکته دوم باید بگوییم که روشهای ریاضی بهینهسازی اغلب منجر به یک فرمول یا دستورالعمل خاص برای حل هر مسئله میشوند. در حالی که روشهای هوشمند دستورالعملهایی هستند که به صورت کلی میتوانند در حل هر مسئلهای به کار گرفته شوند. این نکته را پس از آشنایی با خود الگوریتم بیشتر و بهتر خواهید دید.
اما یک موجود چگونه قادر است که شکل و فرم موجودات بعد از خود را تعیین کند؟ برای اینکه جواب سوال را دریابیم، ابتدا باید فرآیند تولید مثل موجودات را بررسی کنیم.
در جریان تولید مثل یک موجود کروموزومهای والدین موجود با یکدیگر ترکیب میشوند و سلول تخم را تشکیل می دهند. تکثیر این سلول تخم منجر به تشکیل یک فرزند تقریباً مشابه والدینش میشود. این موجود ترکیبی از خصوصیات والدین خود را به همراه خواهد داشت. این روند باعث تکامل یک موجود میشود.
اما تا اینجای کار اتفاق خاصی که باعث ایجاد یک موجود جدید گردد به وقوع نپیوسته است. نکته کار اینجاست که در حین تشکیل سلول تخم تغییرات ناخواستهای درون کروموزوم(های) سلول بوجود میآید. این تغییرات اگر کوچک باشند، در حین تکثیر سلول تخم و تشکیل موجود اصلی اصلاح میشوند. اما تغییرات بزرگ اصلاح نمیشوند و منجر به تشکیل یک موجود جدید میشوند.
اگر موجود جدید (و بطور کلی فرزند) ایجاد شده نسبت به والدین در تقابل با محیط برتری داشته باشد، قطعاً در جریان زندگی موفقتر است و امکان تولید مثل پیدا میکند و در نتیجه میتواند خصوصیات خوبش را به فرزندانش منتقل نماید. با توجه به اینکه این فرزندان نیز در تقابل با محیط موفقتر هستند، امکان تولید مثل پیدا میکنند.
با توجه به مطالب فوق متوجه میشوید که سه فاکتور اصلی مبنای نظریه داروین را تشکیل میدهند، این سه فاکتور عبارتند از:
· تنوع: ترکیب شدن مشخصات والدین متفاوت باعث میشود که خصوصیات خوب آنها ترکیب شود و یک موجود بهتر بوجود آید.
· تصادف: عامل ایجاد تغییرات در موجودات فرزند
· انتخاب: که توسط محیط انجام میشود، به این معنی که موجودات با شایستگی پائین احتمال ادامه حیات و تولید مثل کمتری دارند. (بقای شایستهترین)
روند فوق و مخصوصاً سه فاکتور فوق مبنای کار دانشمندان رشته کامپیوتر قرار گرفت و در نتیجه الگوریتمهای ژنتیک بوجود آمدند. این روش در سال 1970 توسط John Holland معرفی گردید
این روشها با نام Evolutionary Algorithms نیز خوانده میشوند. پیشرفت این الگوریتمها باعث شد که کلاً مجموعه روشهای حل مساله با نام پردازش تکاملی بوجود بیاید.
پردازش تکاملی از شاخههای زیر تشکیل شده است:
1. الگوریتمهای ژنتیک (Genetic Algorithms)
2. برنامه نویسی ژنتیک (Genetic Programming)
3. استراتژیهای تکاملی (Evolutionary Strategies)
4. برنامه نویسی تکاملی (Evolutionary Programming)