ليلا-محمدي-الگوريتم
Download
Report
Transcript ليلا-محمدي-الگوريتم
الگوریتم ژنتیک
لیال محمدی
حمیدرضا کردلویی
فروردین 93
1
2
مقدمه
در چنددهه گذشته عناوین شبکه های عصبی،الگوریتم ژنتیک و منطق
فازی از موضوعاتی بوده اند که توجه بسیاری از دانشگاهیان را به خود
جلب کرده است این مباحث به عنوان ابزاری نیرومند در حل مسایلی که
دیگر با روش شناسی و شیو های سنتی قابل حل نبودند شناخته
شده و مورد استفاده قرار گرفته است.
هوش مصنوعی
•
•
3
ساخت تجهیزات و نرم افزارهای کاربردی است که بسیاری از رفتارهای
خاص انسان مانند استدالل،یادگیری،حل مساله و شناخت را تقلید می
کند.
از جمله مباحث هوش مصنوعی :شبکه ی عصبی،الگوریتم ژنتیک و منطق
فازی است...
کاربردهای هوش مصنوعی درحوزه حسابداری ومالی
)1ارائه خدمات بهتر به مشتری
)2تقلیل زمان انجام و تکمیل وظایف
)3افزایش میزان تولید
)4انجام تصمیم گیری و پیش بینی
مناسب
4
مقدمه الگوریتم ژنتیک:
ایده ی اصلی الگوریتم های ژنتیک بر پایه ی نظریه ی داروین می باشد .
بر اساس نظریه داروین نسل هایی که از ویژگی ها و خصوصیات برتری
نسبت به نسل های دیگر برخوردارند شانس بیشتری نیز برای بقا و تکثیر
خواهند داشت و ویژگی ها و خصوصیات برتر آنها به نسل های بعدی آنان
نیز منتقل خواهد شد.
همچنین بخش دوم نظریه داروین بیان می کند که هنگام تکثیر یک فرزند ،
به تصادف رویدادهایی اتفاق می افتد که موجب تغییر خصوصیات فرزند
می شود و در صورتی که این تغییر فایده ای برای فرزند داشته باشد
موجب افزایش احتمال بقای آن فرزند خواهد شد.
5
Charles darwin
الگوریتم ژنتیک
الگوریتم ژنتیک یک روش بهینه سازی غیر کالسیک و جستجوی مستقیم
است که فقط با خود تابع و نه مشتقات آن سرو کار دارد و بر اساس
مکانیزم بقای برتر و علم ژنتیک طبیعی الهام گرفته از نظریه داروین بنا
شده است.
الگوریتمهای ژنتیک توسط جان هالند دردهه ی 1960اختراع شد ودر دهه
های 1960و 1975توسط وی،دانشجویان و چند تن از همکارانش در
دانشگاه میشیگان توسعه داده شد.
این الگوریتم در مسائلی نطیر بهینه سازی،شناسایی و کنترل سیستم،
پردازش تصویر،و سیستم های مبتنی بر تصمیم وقاعده...به کار میرود.
بهبود ژنتیک با گذشت زمان
6
روش کارکرد الگوریتم ژنتیک :
الگوريتمهاي ژنتیكي براساس تئوري تكاملي داروين مي باشند و جواب مساله اي كه از
طريق الگوريتم ژنتیك حل مي شود مرتبًا بهبود مي يابد .الگوريتم ژنتیك با يك مجموعه از
جوابها كه از طريق كروموزوم ها نشان داده مي شوند شروع مي شود .در اين الگوريتم
جواب هاي حاصل از يك جمعیت) (Populationبراي تولید جمعیت بعدي استفاده مي شوند
که عمل تولید )احتماال( با ادغام ) (crossoverو جهش) (mutationهمراه خواهد بود.
در اين فرايند امید است كه جمعیت جديد نسبت به جمعیت قبلي بهتر باشد .انتخاب
بعضي از جوابها(كروموزوم ها) از میان كل جواب ها (والدين (Parentبه منظور ايجاد جواب
هاي جديد )فرزندان (Offspringبر اساس میزان مطلوبیت آنها مي باشد که این کار با
استفاده از تابع برازش ) (fitnessصورت می گیرد .طبیعي است كه جوابهاي مناسبتر
شانس بیشتري براي تولید مجدد داشته باشند .اين فرايند تا برقراري شرطي كه از پیش
تعیین شده است (مانند تعداد جمعیت ها يا میزان بهبود جواب) ادامه مي يابد.
7
تشریح کلی الگوریتم ژنتیک:
(1جمعیتی از رشته ها را به صورت تصادفی بسازید
(2هر رشته داخل جمعیت را ارزیابی کنید
(3انتخاب بهترین والد
(4رشته های جدید را با استفاده از عملگر های تبادل و جهش ایجاد
کنید
(5اعضایی از جمعیت را برای ایجاد فضایی از رشته های جدید حذف
کنید
(6رشته های جدید را ارزیابی کرده و آن ها را داخل جمعیت جدید قرار
دهید
(7اگر زمان اجرا تمام شده توقف کرده بهترین رشته ر باز گردانید در
غیر اینصورت به مرحله سه بازگردید
8
تشریح کلی الگوریتم ژنتیک:
)1موجودات زنده برای بقا با نیروهای طبیعی مبارزه میکنند و آن هایی که با این
نیروها تطابق بیشتری دارند(قوی تر،سریع تر و بزرگترند)احتمال زنده ماندن
بیشتری دارند.
)2آن های که سازگاری بیشتری دارند زنده مانده و تولید مثل می کنند.
)3فرزندان به والدین خود شباهت دارند اما با آنها یکسان نیستند(به خاطر ارث بردن
از ویژگی ای هر دو والد خود و همچنین جهش های ژنتیکی)لذا فرزندان ممکن
است نسبت به والدین خود مناسب تر باشند یا نباشند.
)4فرزندان همان راه والدین خود را ادامه می دهند وبعد از چندین نسل موجودات
زنده ایجاد شده نسبت به اجداد خود سازگاری و تناسب بیشتری دارند.
طرز کار الگوریتم ژنتیک نیز به همین صورت است با این تفاوت که برای اجرای آن
باید ابتدا موجودات مورد نظر،نحوه تولید مثل و درجه تناسب (سازگاری) آنها را
برای برنامه الگوریتم ژنتیک مورد نظر تعریف کرد.
9
مفاهیم پایه ای در الگوریتم ژنتیک :
كروموزوم
رشته يا دنباله اي از بیتها كه به عنوان شكل كد شده يك جواب ممكن (مناسب يا
نامناسب) از مساله مورد نظر مي باشد ،را كروموزوم مي گويند .در حقیقت بیتهاي يك
كروموزوم ،نقش ژنها را در طبیعت بازي مي كنند .هربیت ،متغیري گسسته است كه از
يك مجموعه Qعضوي انتخاب مي شود .چنانچه از كدگذاري باينري استفاده شود ،هر
بیت يكي از دو مقدار ٠يا ١را مي پذيرد بنابراين Q= ٢مي باشد .در شكل زیر یک
کروموزم nژنی (بیتی) نمايش داده شده است.
Bn
B n-1
…
b3
نمایش یک کروموزوم nبیتی
10
b2
b1
جمعیت ( )Population
مجموعه اي از كروموزوم ها را جمعیت گويند .يكي از ويژگي هاي ژنتیك اين است كه به
جاي تمركز بر روي يك نقطه از فضاي جستجو يا يك كروموزوم ،بر روي جمعیتي از
كروموزوم ها كار مي كند .بدين ترتیب در هر مرحله ،الگوريتم داراي جمعیتي از كروموزوم
ها بوده كه خواص مورد نظر را بیشتر از جمعیت مرحله قبل دارا مي باشد .اندازه جمعیت
معرف تعداد كروموزوم هاي موجود در Population Sizeاست .اگر تعداد كروموزوم ها
خیلي كم باشد ،امكان شكل گیري عملیات جابجايي توسط الگوريتم ژنتیك بسیار كم
خواهد بود و تنها قسمت كمي از فضاي جستجو مورد كاوش قرار خواهد گرفت .از طرف
ديگر ،اگر تعداد كروموزوم ها خیلي زياد باشد ،الگوريتم بسیار كند خواهد شد .بر اساس
تحقیقات ،جمعیت هاي با اندازه مناسب حدود ٢٠تا ٣٠كروموزوم دارند .البته گاهي
اوقات جمعیت با اندازه ٥٠تا ١٠٠بهترين جواب ها را داده اند .بعضي تحقیقات نیز نشان
مي دهد كه اندازه جمعیت بايد بر اساس نوع مساله و كدينگ آن تعريف شود و افزايش
بیشتر آن بي فايده خواهد بود و هرگز به حل سريعتر مساله كمك نمي كند.
11
مقدار برازندگي ( )Fitness Value
مناسب بودن يا نبودن جواب ،با معیاري كه از تابع هدف بدست مي آيد ،سنجیده مي
شود .هر چه كه يك جواب مناسب تر باشد ،مقدار برازندگي بزرگتري دارد .براي آنكه
شانس بقاي چنین جوابي بیشتر شود ،احتمال بقاي آن ،متناسب با مقدار برازندگي آن در
نظر گرفته مي شود .بنابراين كروموزومي كه برازنده ترين است با احتمال بیشتري در تولید
فرزندان شركت مي كند و دنباله هاي بیشتري از آن به وجود مي آيد .به عنوان مثال
چنانچه هدف بیشینه كردن يك تابع باشد ،مقدار برازندگي ،يك تابع صعودي از تابع هدف
در نظر گرفته مي شود و اگر هدف يافتن مقدار كمینه يك تابع باشد ،عدد برازندگي ،يك
تابع نزولي از آن قرار داده مي شود .معمو ال ً در مواردي كه امكان دارد ،تابع برازندگي را در
فاصله [ ٠و ]١نرمالیزه مي كنند.
12
نمودار مراحل الگوریتم ژنتیک :
13
فاز های الگوریتم ژنتیک :
.1کدینگ مسئله )(encoding
.2تعیین جمعیت اولیه
.3انتخاب کردن
.4ادغام )(crossover
.5جهش)(mutation
.6پذیرش جمعیت جدید و تست
.7جایگزینی
14
)1کدینگ مسئله:
کدینگ باینری
در این نحوه نمایش هر ژن از کروموزوم مقدار 1یا 0به خود می گیرد و موجب تشیکل یک
رشته باینری در کروموزوم می گردد .به عنوان مثال فرض کنید یک تابع 3پارامتری داریم و
می خواهیم مقدار این 3پارامتر را طوری انتخاب کنیم که مقدار تابع مینیمم گردد.
F ( x , y , z ) = xyz – x 2 + zy
فرض کنیم که اعداد ما در بازه 0تا
8هستند پس هر عدد 3بیت نیاز دارد در این
مثال ما کروموزم را ترکیب xyzدر نظر میگیریم .
0
0
z
15
1
1
0
0
1
y
نمونه ی یک کرموموزوم با ژن های باینری
0
x
1
كدينگ جهشي (کدینگ جایگشتی)
اين نوع كدينگ مي تواند در مسائل ترتیبي نظیر مساله فروشنده دوره گرد يا مساله
ترتیب كارها بكار رود .در كدينگ جهشي ،هر كروموزوم يك رشته از اعداد مي باشد.
شكل زير نمونه اي از اين نوع كدينگ را نشان مي دهد.
كدينگ جهشي تنها براي مسائل ترتیبي مفید است .حتي براي همین مسائل نیز
گاهي اوقات بايد تقاطع ها و جهش هاي اصالحي به منظور ايجاد كروموزوم هاي سازگار
و مناسب انجام شود.
16
كدينگ ارزشي (مقداری ):
اين نوع كدينگ در مسائلي كه در آنها مقادير پیچیده نظیر اعداد حقیقي بكار مي روند
استفاده مي شود .استفاده از كدينگ باينري براي چنین مسائلي بسیار سخت مي
باشد .در كدينگ ارزشي هر ژن ارزش خاصي دارد .اين پارامتر باارزش مي تواند عدد،
حرف يا كلمه باشد .دراين نوع كدينگ نیاز به توسعه عملگرهاي جابجايي و جهش
جديدي براي مسائل خاص مي باشد.
17
كدينگ درختي
كدينگ درختي در برنامه هاي تكاملي به منظور برنامه ريزي تكاملي بكار مي رود .در
كدينگ درختي هر كروموزوم يك درخت از اشیائي نظیر توابع يا دستورها در زبان برنامه
نويسي مي باشد .شكل زير دو نمونه از اين كروموزوم ها را نشان مي دهد .اين نوع
كدينگ براي برنامه هاي تكاملي بسیار عالي است .اغلب از اين نوع كدينگ استفاده
مي كند و اين بدين علت است كه برنامه LISPزبان برنامه نويسي هاي آن به اين فرم
نمايش داده مي شوند و مي توانند به راحتي مورد تجزيه قرار بگیرند .بنابراين عمل
تقاطع و جهش نیز به همان نسبت راحت انجام مي شوند.
18
)2تعیین جمعیت اولیه:
الگوریتم ژنتیک کارخود را با تولید جمعیت اولیه ای از کروموزوم ها آغاز می کند و سپس
در یک حلقه به طور مکرر تعدادی از کروموزوم های برتر نسل فعلی را انتخاب کرده و
سپس نسل جدیدی را از این کروموزوم ها تولید می کند .همانطور که دیدیم هر کروموزوم
نشان دهنده یک حالت از فضای حالت مسئله می باشد و بنابراین منظور از تولید جمعیت
اولیه ،تولید تعدادی جواب برای مسئله خواهد بود .تولید جواب های اولیه نیز به دو صورت
تصادفی و هیوریستیکی می تواند انجام پذیرد .به عنوان مثال در مسئله 8وزیر می توانیم
به شکل تصادفی وزیرها را در خانه های صفحه شطرنج قرار دهیم و یا در مسئله
فروشنده دوره گرد می توانیم ترتیب مالقات شهرها هم به شکل تصادفی و هم به شکل
هیوریستیکی انتخاب کنیم .نکته مهم هنگام تولید جمعیت اولیه آن است که هنگام تولید
جواب برای مسئله ( تصادفی یا هیوریستیکی ) جواب تولید شده باید به شکل
کروموزومی که در مرحله قبل تعیین کردیم کدگذاری شده و به مجموعه جمعیت اضافه
گردد .بنابراین از تولید جواب هایی که موجب نقض نحوه کدگذاری تعیین شده برای
کروموزوم گردد باید اجتناب کنیم.
19
)3انتخاب (: (selection
بر اساس نظریه حیات بهترین ها ،باید بهترین موارد انتخاب شود تا نسل بعدی بهتری
را تولید کند .این احتمال به صورت زیر محاسبه می شود:
) P(hi) = Fitness (hi) / Σj Fitness (hj
اين عملگر از بین كروموزومهاي موجود در يك جمعیت ,تعدادي كروموزوم را براي تولید
مثل انتخاب ميكند .كروموزومهاي برازندهتر شانس بیشتري دارند تا براي تولید مثل
انتخاب شوند.
مناسبترین عضو هر اجتماع انتخاب میشود .با توجه به مقدار شایستگی که از تابع
ارزیاب دریافت کرده است.
انواع روش های انتخاب:
•روش چرخ رولت ( ) Roulette Wheel
•روش رقابتی ()Tournament
20
) Roulette Wheel ( •روش چرخ رولت
21
•روش رقابتی ()Tournament
یک زیر مجموعه از صفات یک جامعه انتخاب میشوند و اعضای آن مجموعه با هم رقابت
میکنند و سرانجام فقط یک صفت از هر زیرگروه برای تولید انتخاب میشوند.
22
)4عملگر ادغام (:) mating
عملگر ادغام تك نقطه اي ،دو كروموزوم را به طور تصادفي از يك نقطه شكسته و
بخش هاي شكسته دو كروموزوم را جابجا مي كند .بدين ترتیب دو كروموزوم جديد
بدست مي آيد .به كروموزومهاي اولیه ،كروموزومهاي”والد “و به كروموزومهاي حاصل
شده از عمل جابجايي وعمل جهش ،كروموزوم”فرزند“مي گويند.
ادغام تک نقطه ای یا تک مکانی (:)Single – Sight Cross Over
(1دو رشته را به صورت تصادفی انتخاب می کند.
(2محلی را برای عمل ادغام به صورت تصادفی انتخاب می کند.
(3سرانجام مقدار دو رشته را با توجه به محل ادغام جا به جا می کند.
در شکل باال کروموزومهاي 1و 2در نقش والدين هستند .و حاصل تولید مثل آنها در رشته هائي
بنام Offspringذخیره شده است.دقت شود که عالمت "|" محل ادغام مي باشد.
23
)Two – Point Cross Over( ادغام دو نقطه ای
Parents
Children
1 1 1 00 01 0 00 0 1 0 0 0
1 1 01 00 01 0 00 10 1 0 0 0
0 0 01 00 01 0 00 01 0 1 0 1
0 0 1 00 01 0 00 00 0 1 0 1
در ترکیب کروموزوم هاtwo point روش
)Uniform Cross Over( ادغام یکنواخت
Parents
Children
1 1 1 0 1 0 0 1 0 0 0
1 0 0 0 1 0 0 0 1 0 0
0 0 0 0 1 0 1 0 1 0 1
0 1 1 0 1 0 1 1 0 0 1
در ترکیب کروموزوم هاuniform روش
24
)5جهش ( ) mutation
نظریه داروین بیان می کند که پس از تولید کروموزوم های فرزند ممکن است در برخی از
این کروموزوم ها جهش هایی به تصادف روی دهند که موجب بهینگی هرچه بیشتر
کروموزوم و یا بدتر شدن آن گردند.
اين عملگر روي هر يك از كروموزوم هاي حاصل از عملگر تقاطعي عمل مي كند .بدين
ترتیب كه به ازاي هر بیت از كروموزوم ،يك عدد تصادفي تولید مي گردد .اگر مقدار اين
عدد تصادفي از مقدار ”احتمال انجام جهش“ كمتر باشد ،در آن بیت عمل جهش انجام
مي شود و در غیر اينصورت ،در آن بیت عمل جهش انجام نمي گیرد .عمل جهش در هر
بیت با تولید تصادفي عدد ٠يا ١و جايگزيني آن بجاي بیت مورد جهش انجام مي گیرد.
جهش
1
1
1
0
کروموزوم بعد از جهش
25
1
0
1
0
کروموزوم قبل از جهش
)6پذیرش جمعیت جدید و تست
در این مرحله کروموزم ها مورد آزمایش و تست قرار می گیرند تا صحیح
بودن ساختارشان از نظر پیش فرض های مسئله تایید شود .و همچنین
عدد برازندگی آنها به وسیله ی تابع fitnessمشخص می شود .
شرایط خاتمه الگوریتم ژنتیک
به تعداد ثابتی نسل برسیم
بودجه اختصاص داده شده تمام شود(زمان محاسبه)
یک فرد(فرزند تولید شده)پیدا شده که کمترین مالک را برآورده کند
بیشترین درجه برازش برای فرزندان حاصل شود یا دیگر نتایج بهتری حاصل نشود
ترکیبهای باال
26
شبه کد الگوریتم ژنتیک
27
پارامترهای شبه کد :
:Fitness تابعی برای ارزیابی یک فرضیه که مقداری عددی به هر فرضیه نسبت
میدهد.
:Fitness_threshold مقدار آستانه که شرط پایان را معین میکند.
:p تعداد فرضیههائی که باید در جمعیت در نظر گرفته شوند.
:r درصدی از جمعیت که در هر مرحله توسط الگوریتم Crossoverجایگزین میشوند.
:m نرخ Mutation
:Initialize جمعیت را با تعداد pفرضیه به طور تصادفی مقداردهی اولیه کنید.
:Evaluate برای هر فرضیه hدر pمقدار تابع ) Fitness(hرا محاسبه نمائید.
تا زمانیکه [maxh Fitness(h)] < Fitness_thresholdیک جمعیت جدید ایجاد کنید.
فرضیهای که دارای بیشترین مقدار Fitnessاست را برگردانید.
28
مزایای الگوریتم ژنتیک
پردازش موازی یکی از مهمترین برتری های الگوریتم ژنتیک می باشد .به این معنی که در
این روش به جای یک متغیر ،در یک زمان یک جمعیت را به سوی نقطه بهینه رشد می
دهیم .بنابراین سرعت همگرایی روش بسیار باال می رود.
با استفاده از این روش می توان مسائلی را که نسبت به تغییر پارامترهای خود ،خوش
رفتار نیستند (مثال دارای تناوب های زیاد و در نتیجه مینیمم های نسبی زیاد هستند و یا
توابعی که به شدت غیر خطی عمل می کنند) با مقیاس خوبی بهینه کرد.
در این روش مشتق پذیر بودن تابع اهمیتی ندارد ،در حالی که در بسیاری از روش های
دیگر ،بهینه سازی بر اساس مشتقات مراتب مختلف تابع صورت می گیرد.
برای بهینهسازی مسائل گسسته ) (Discrete Optimizationو مسائل
پیوسته قابل استفاده است .
29
معایب الگوریتم ژنتیک
در صورتی که فضای جستجو به طور نسبی کوچک باشد ،الگوریتم ژنتیک نسبت به
برخی روش های دیگر کند عمل می کند.
اگر تابع هدف مساله ،تابع خوش رفتار و نسبتا یکنواختی باشد ،روش هایی مانند
)Conjugate Gradiant(CGگزینه بهتری می باشند.
در مواردی که رفتار تابع fitnessبه طور کلی مشخص است ،می توان روش های
مناسب تری برای بهینه کردن مساله طراحی کرد.
30
دالیل استفاده از الگوریتم ژنتیک
توسعه و پیشرفت زمینه های تحقیق و توسعه،تخصصی شدن،رقابت در سرعت و
هزینه انجام پروژه های تحقیقاتی،نیازمحققان را به بکار گیری روشهای متنوع و کار
آمد بهیه سازی نسبت به گذشته دو چندان کرده است.
از جمله روشهای کارآمد بهینه سازی،استفاده از مباحث علم ژنتیک و الگوریتم
ژنتیک است که شاخه ای از هوش مصنوعی است.
مسائلی وجود دارند که برای رسیدن به جواب بهینه ی آن راه و روش مشخصی
وجود ندارد گاه مسائلی هستند که بنظر می رسد صرفا از طریق جستجوی
تصادفی می توان به جواب نسبی برای آن دست یافت اما در بسیاری از مسائل راه
حل های موجود بسیار زیاد بوده و بررسی یک به یک آنها میسر نیست الگوریتم
ژنتیک یکی از تکنیک هایی است که از دانش غیر قطعی برای حل چنین مسائلی
استفاده می کند.
31
کاربردهای الگوریتم ژنتیک در حوزه حسابداری
32
(1
کشف تقلب در صورت های مالی
(2
استفاده از الگوریتم ژنتیک در سیستم های خبره
(3
پیش بینی ورشکستگی
(4
انتخاب پرتفوی
(5
سایر حوزه ها
انتخاب پرتفوی
پیچیدگی بازارها ،به ویژه طیف گسترده ابزارهای سرمایه گذاری و عوامل متعدد مؤثر بر
آنها ،تصمیمگیری درخصوص انتخاب نوع دارایی را برای سرمایه گذاران دشوار می کند؛ به
طوری که سرمایه گذاران همواره درتصمیم گیریهای خود با مسئله بهینه سازی مجموعه
دارایی روبه رو هستند .هدف از این بهینه سازی ،تعیین میزان تخصیص وجه به هر دارایی
به گونه ای است که بازده مجموعه دارایی ،حداکثر و ریسک آن ،حداقل گردد
با توجه به عدم اطمیناني كه بر بورس اوراق بهادار حاكم است و همچنین و با درنظر
داشتن تمايالت و ترجیحات مختلف سرمايه گذاران ،يافتن روشي براي انتخاب يك مجموعه
مناسب از اوراق بهادار كه از طريق آن بتوان بر عدم اطمینان و ترجیحات مختلف افراد غلبه
كرد ضروري به نظر مي رسد .از سوي ديگر با توجه به عملكرد موفق الگوريتم ژنتیك در
مسائل بهینه سازي ،اين الگوريتم مي تواند روشي مناسب در اختیار سرمايه گذاران قرار
دهد تا به انتخاب بهینه سبد سهام دست يابند .سرمايه گذار مي تواند با توجه به كارايي
الگوريتم ،با مشخص نمودن تعداد سهام موردنظر خود اقدام به تشكیل سبدهاي سهام كارا
در سطوح مختلف ريسك و بازده نمايد .بديهي است كه اين امر مي تواند هزينه هاي
سرمايه گذاري را با پايین آوردن هزينه معامالت به شكل چشمگیري كاهش دهد.
33
در خصوص بكارگیري الگوریتم ژنتیک در انتخاب سبد سهام مطالعات فراواني وجود دارد.
آرنون و همكارانش يك الگوريتم ژنتیك را براي مساله پرتفوي نامقید ارائه دادند اما معیار
ريسك مورد استفاده آن ها نیم واريانس بود .نتايج محاسبات براي 15دارايي محاسبه گرديد
(آرنون و همكاران )1993
در مورد تحقیقات انجام شده در اين زمینه در داخل كشور نیزمی توان به تحقیق سیمین
عبدالعلي زاده ( ،)1381كارشناس ارشد مهندسي صنايع از دانشگاه صنعتي شريف تحت
ارائه »روش كارا براي حل مسئله مجموعه دارايي بهینه « عنوان اشاره كرد پژوهشگر در اين
تحقیق با استفاده از الگوي خاصي از الگوريتم ژنتیك (استفاده از عملگر تقاطعي دو نقطه
برش و عملگر جهشي معاوضه ) به انتخاب مجموعه هايي از دارايي از بین سهم هاي
گوناگون پرداخته است .در اين تحقیق از اطالعات ساالنه بازده و ریسک شركتها به عنوان
ورودي هاي مدل استفاده شده است
34
کاربرد الگوریتم ژنتیک در انتخاب یک مجموعه دارایی از سهام
بورس اوراق بهادار
•هدف از این بهینه سازی،تعیین میزان تخصیص وجه به هر دارایی به گونه ای است که
بازده مجموعه دارایی،حداکثر و ریسک آن حداقل شود.
•مساله انتخاب مجموعه دارایی بهینه یکی ازنظریه های بازار سرمایه است که در نقطه
تالقی اقتصاد خرد و کالن قرار دارد.
•تصمیم سرمایه گذار در انتخاب مجموعه دارایی مرتبط با نوع دارایی و همچنین،میزان
تخصیص وجه به هر دارایی است.
•هدف از الگوریتم ژنتیک ارائه شده در این بخش ،انتخاب یک مجموعه از دارایی ها
است که عالوه بر اینکه دارای بیشترین بازده و کمترین ریسک هستند ،ضریب
همبستگی بین دارایی های موجود در این مجموعه نیز کمترین مقدار را دارا باشد.
35
در این بخش ،یک الگوریتم ژنتیک به منظور انتخاب یک مجموعه منتخب به تعداد
موردنظر از بین مجموعه داراییهای بالقوه ارائه می شود
هدف از الگوریتم ژنتیک ارائه شده در این بخش ،انتخاب یک مجموعه از دارایی ها
است که عالوه بر اینکه دارای بیشترین بازده و کمترین ریسک هستند ،ضریب
همبستگی بین دارایی های موجود در این مجموعه نیز کمترین مقدار را دارا
باشد .بدین ترتیب تابع ریاضی هدف مسئله به شکل زیر تعیین می شود :
که در آن:
P مجموعه دارایی
Ri بازده دارایی i
σi انحراف معیار و یا همان ریسک دارایی i
ρij ضریب همبستگی بین دارایی iو j
36
با فرض اینکه nتعداد دارایی های موجود در بازارباشد ،هر کروموزوم شامل
nژن است که در واقع هر ژن ،نشان دهنده یکی از دارایی های موجود در بازار
است .به عبارت دیگر ،ژن iنشان دهنده دارایی iام است .طی اجرای
الگوریتم ،هر ژن دارای یکی از دو مقدار صفر(عدم حضور در مجموعه دارایی) و
یا یک (حضور در مجموعه دارایی) بوده و در هر کروموزوم صرفاً (تعداد دارایی
موردنظر سرمایه گذار) ژن دارای مقدار یک خواهد بود.
به منظور تعیین یک الگوریتم مناسب برای این قسمت از دو عملگر تقاطعی
(روش یک نقطه برش و روش دو نقطه برش) ،و یک عملگر جهشی( معاوضه)
و نیز دو رویکرد برای انتخاب بهترین کروموزومها (چرخ رولت و)( ( λ+μ
استفاده شده است که در نهایت ،با استفاده از روشهای آماری بهترین حالت
انتخاب خواهد شد .
37
کاربرد الگوریتم ژنتیک در حل مساله انتخاب مجموعه دارایی
نام پژوهشگر
روش مورد استفاده
نوع مجموعه
دارایی
جان و سایرین
از الگوریتم زنتیک برای بهینه
سازی چند مرحله ای مجموعه
دارایی استفاده کرده اند
دلخواه
لراسچی و سایرین
از الگوریتم ژنتیک وکمینه سازی
ریسک قسمت پایین استفاده کرده اند
اوراق بهادار
پاچکو و سایرین
مدیریت دارایی و
از الگوریتم ژنتیک به منظور
برنامه ریزی جریان نقدینگی استفاده بهی
شده است
...
38
...
...
کاربرد الگوریتم ژنتیک در تعیین ساختار بهینه سرمایه شرکت های
پذیرفته شده در بورس اوراق بهادار تهران
هدف اصلی شرکت ،حداکثر رساندن ثروت سهامداران است و یکی از عوامل
موثر بر این امر،ساختار سرمایه می باشد.
تعیین ساختار بهینه سرمایه،یکی از مسائل اساسی تامین مالی شرکت ها
می باشد.تا سقف معینی هرچه میزان استفاده از بدهی برای تامین مالی
بیشتر باشد،هزینه سرمایه کل شرکت کمتر و سود آوری بیشتر می شود.با این
وجود با افزایش بدهی،ریسک مالی شرکت افزایش می یابد در نتیجه اعتبار
دهندگان نرخ بهره باالتری را مطالبه می کنند در این وضعیت هزینه سرمایه کل
افزایش می یابد.
معموال ساختار سرمایه از طریق نسبت هایی از قبیل نسبت بدهی به مجموع
دارایی ها،نسبت حقوق صاحبان سهام به مجموع دارایی ها،نسبت بدهی ها
به حقوق صاحبان سهام و نسبت حقوق صاحبان سهام به بدهی ها اندازه
گیری میشود.
39
مطالعه اسکات یکی از اولین مطالعات تجربی است که نشان دهنده ساختار بهینه
سرمایه نه تنها در تئوری بلکه در عمل نیز وجود دارد،اسکات با بررسی 77شرکت در
12صنعت مختلف،دیدگاه تئوری سنتی مبنی بر اینکه حداقل کردن هزینه سرمایه
منجربه بهینه شدن ساختار سرمایه می شود را تایید کرد.
باقر زاده به تبیین الگوی ساختار سرمایه شرکت های پذیرفته شده در بورس اوراق
بهادار پرداخت.یافته های بررسی 158شرکت تولیدی در قلمرو زمانی
1377الی1381حاکی از آنست که الگوی ساختار سرمایه شرکت های پذیرفته شده
در بورس اوراق بهادار تهران تابع متغیر هایی نظیر میزان دارایی های شرکت،اندازه
شرکت و سود آوری ان می باشد.
نمازی و شیرزاده به بررسی تاثیر ساختار سرمایه بر سودآوری شرکت های پذیرفته در
بورس اوراق بهادار تهران پرداختند .نتایج بررسی 108شرکت از صنایع مختلف در دوره
های زمانی1375-1379حاکی از ان است که بطور کلی رابطه مثبتی(اما از لحاظ آماری
در حد ضعیف)بین ساختار سرمایه و سودآوری شرکت ها وجود دارد بعالوه ساختار
بهینه سرمایه را می توان در برخی از صنایع تعیین کرد.
بلکویی ساختار سرمایه را ادعای کلی بر دارایی های شرکت معرفی می کند
40
جامعه آماری کلیه شرکت های پذیرفته شده در بورس اوراق
بهادار تهران طی دوره زمانی 1380الی 1386می باشد.
یافته ها حاکی از آنست که تاثیر ساختار سرمایه بر سود آوری شرکت های
پذیرفته شده در بورس اوراق بهادار تهران به تعریف سود آوری بستگی دارد.
نتایج نشان میدهد که رابطه ساختار سرمایه و نرخ بازده دارایی ها در سطح
کلیه شرکت ها و همچنین در صنایع مختلف(به استثنای گروه
ساختمانی)منفی و معنی دار است وجود رابطه منفی وبین سود اوری و
ساختار سرمایه با نظریه سلسله مراتبی و عدم تقارن اطالعاتی مطابقت
دارد(.عدم تطابق با نمازی و شیرزاده)
همچنین نتایج حاکی از ان است که رابطه معنی داری بین ساختار سرمایه و
نرخ بازده حقوق صاحبان سهام در گروه های خودرو سازی،دارویی،شیمیایی و
ساختمانی وجود دارد.
41
به دلیل وجود رابطه معنی دار بین ساختار سرمایه و نرخ بازده دارایی ها،از متغیر
نرخ بازده دارایی ها در سطح شرکت ها و همچنین صنایع مختلف به عنوان معیار
سود آوری و عامل تعیین کننده در ساختار بهینه سرمایه در الگوریتم ژنتیک استفاده
شده است.
نتایج الگوریتم ژنتیک همبستگی منفی بین ساختار بهینه سرمایه و نرخ بازده دارایی ها
را مورد تایید قرار می دهد به عبارت دیگر الگوریتم ژنتیک بیشترین سود را در ازای استفاده
کمتر از بدهی ها تعیین می کند.
نتایج الگوریتم ژنتیک حاکی از انست که بیشترین سود آوری در ازای استفاده کمتر از
اهرم مالی(بدهی)حاصل شده است.
42
سایر حوزه ها
(1
(2
(3
(4
(5
(6
(7
43
ارزیابی دارایی ها
مدل بندی رفتار حسابرس در برخورد با تقلب
پیش بینی تورم
رتبه بندی اوراق قرضه
موجودی کاال
پیش بینی ریسک اعتباری
قبول سفارش
نتیجه گیری
الگوريتم ژنتیك پديده ي جديدي در امر بهینه سازي است كه كاربردهای متنوع و بسیاری
دارد .از جمله مهمترين این كاربردهاي در حوزه حسابداري در كشف تقلب صورت هاي
مالي ،سیستم هاي خبره ،بانكداري ،پیش بیني ورشكستگي ،انتخاب پرتفوي مي
باشد كه در اينجا به انتخاب پرتفوي پرداخته شد .اين روش جستجوی تصادفی امروزه
می تواند بیش از پیش به عنوان ابزار تصمیم گیري مديران و سازمان هاي موفق مورد
استفاده قرار گیرد كه البته نتايج حاصل از كاربرد آنها (همچون تصمیمات صحیح ،صرفه
جويي هاي زماني ،انعطاف پذيري) بر محبوبیت آن افزوده است.
می توان در صورت ادغام مناسب اين فناوري با ساير روشهای هوشمند (مانند استدالل
مبتني بر موضوع،منطق فازی ،شبکه های عصبی مصنوعی) مي توان روز به روز بر
موارد استفاده آنها در حوزه هاي مختلف افزوده و از مزاياي آن ها بهره مند شد.
44
45