مطالبی راجع به هوش مصنوعی

عوامل هوشمند:

ماهيت عوامل، كامل يا غير از آن، تنوع محيطي و جانوران نمايشي حاصل از انواع عوامل مورد بحث و بررسي قرار مي گيرند.

در فصل1، مفهوم عوامل منطقي به عنوان اساس شيوه ها در هوش مصنوعي شناسايي گرديد. در اين فصل اين مفهوم راملموس تر مي سازيم. خواهيم ديد كه مفهوم عقلانيت رامي توان در بسياري از عوامل فعال در هر محيط قابل تصوي به كار گرفت. در اين كتاب، هدف ما، بهره گيري از اين مفهوم جهت توسعه مجموعه كوچكي از اصول طراحي براي ساختن عوامل موفق مي باشد سيستمهايي كه مي توان به طور معقول، هوش ناميد.

مبحث خود را با بررسي عوامل، محيطها و جفت نمودن اين دو آغاز خواهيم نمود. مشاهده اين نكته كه برخي از عوامل بهتر از بقيه عمل مي كنند، به طور طبيعي ما را به ا؟عامل منطقي رهنمون مي كند عاملي كه تا حد امكان خيلي خوب رفتار مي كند. اينك يك عامل تا چه حد به خوبي رفتار مي كند به ماهيت محيط بستگي دارد. برخي از محيطهاي دشوار تر از سايرين هستند.

ما طبقه بندي خام ونا پروده اي از محيطها را ارائه نموده ومشخص كرده ايم كه چگونه ويژگي هاي يك محيط بر طراحي عوامل مناسب براي آن محيط، تاثير مي گذارند، همچنين برخي از طرحهاي اصلي عامل (كالبدي) (ابتدايي) را كه در باقيمانده كتاب بدان تجسم مي بخشيم، توضيح خواهيم داد.

1-2 عوامل و محيطها

عامل هر چيزي است كه بتوان از عنوان درك محيط از طريق حسگرها و تاثير بر محيط از طريق محركها، آن در نظر گرفت. اين ايده ساده در شكل 1-2 به تصوير كشيده شده است يك عامل انساني داراي چشم، گوش و ديگر اندامها براي حسگرها و نيز دستها، پاها دهان و ديگر اعضاي بدن به عنوان محرك مي باشد. يك عامل روبوتيك نيز ممكن است براي حسگرها از دوربين و يابنده هاي طيف مادون قرمز و براي محركها از موتورهاي مختلف، بهره گيرد.

يك عامل نرم افزاري نيز، فشار بر كليدها، محتويات فايل و بسته هاي شبكه را به عنوان وروديهاي حسگر دريافت نموده و با نمايش روي صفحه، نوشتن فايلها و ارسال بسته هاي شبكه، بر محيط تاثير گذارد. اين فرض كلي در نظر گرفته خواهد شد كه هر عامل مي تواند اعمال خود را درك نمايد.

ما از اصطلاح آموزه يا ادارك براي اشاره به وروديهاي اداراكي در هر زمان ارائه شده، استفاده مي نماييم. توالي ادراك عامل، تاريخچه كامل هر چيزي است كه عامل دريافت نموده است. به طور كلي، انتخاب عمل عامل در هر زماني به توالي اداركي بستگي دارد كه تا آن زمان مشاهده شده است. در صورتيكه بتوانيم انتخاب عمل هرعاملي را بدان هرتوالي ادراك، مشخص نماييم، مي توانيم بگوييم كه چيزي براي گفتن در مورد عامل داريم. به لحاظ رياضي، گفته مي شودكه رفتار يك مل از طريق تابع عامل توضيح داده مي شود.

مي توانيم جدول بندي تابع عاملي را در نظر بگيريم كه هر عامل ارائه شد را توضيح مي دهد. در مورد اغلب عوامل، اين جدول بسيار بزرگ- بي نهايت، مگر اينكه مرزي را براي طول توالي ادارك مورد نظر مشخص نماييم. در اصل، با توجه به بررسي عامل، مي توانيم اين جدول را با آزمون كليه توالي هاي احتمالي و ثبت عملكرد عامل در پاسخ، ايجاد نماييم. البته اين جدول مشخص ساختن ويژگي خارجي عامل مي باشد. به لحاظ دروني، تابع عامل براي يك عامل مصنوعي از طريق برنامه عامل تحقق مي يابد. متمايز نمودن اين دو اين از اهميت زيادي برخوردار مي باشند. تابع عامل، توضيح رياضي انتزاعي است. برنامه عامل يك برنامه ملموس است كه در چهار چوب است كه در چهارچوب معماري عامل اجرا مي شود.

براي روشن نمودن اين پديده ها، از يك مثال بسيار ساده استفاده مي كنيم- دنياي جارو برقي در نمودار 2-2 نشان داده شده است. اين دنيا بسيار ساده است طوريكه هر چييز كه روي هوا مي توان توضيح داد- اين دنيا يك دنياي ساختگي است طوريكه مي توان تغييرات زيادي را ايجاد نمود. اين دنياي خاص تنها داراي دو مكان است مرجع A و مربع B عامل خلاء مشخص مي نمايد كه در كدام مربع بوده و آيا هيچ كثيفي در اين مربع وجود دارد يا خير. اين عامل مي تواند بين حركت به چپ، حركت به راست،مكش كثيفي را انجام هيچ كاري، يكي را انتخاب كند. يك تابع عامل بسيار ساده به صورت ذيل است. در صورتي كه مربع فعلي كثيف باشد، عامل شروع به مكش آن مي كند، در غير اينصورت به مربع ديگر مي رود. جدول بندي جزئي اين تابع عامل در تصوير 3-2 ارائه گرديده است در قسمتهاي بعدي، يك برنامه ساده براي اين تابع عامل داده خواهد شد.

با بررسي جدول 3-2، متوجه مي شويم كه عوامل مختلف جهان خلاء را مي توان از طريق پر كردن ستون سمت راست به هر شيوه اي، تعريف نمود. سوال اين است: راه درست پر كردن جدول چيست؟ به عبارت ديگر، چه چيزي عامل را به مورد خوب يابد، هوشمند يا كند ذهن، تبديل مي نمايد. پاسخ اين پرسش را در قسمت بعدي ارائه نموده ايم.

قبل از خاتمه اين قسمت، مشخص مي نماييم كه مفهوم يك عامل به معناي ابزاري براي آناليز سيستمهاست نه يك ويژگي مطلق كه جهان را به دو دسته يا غير عامل تقسيم مي نمايد. مي توان يك ماشين حساب دستي را به عنوان عاملي در نظر گرفت كه زماني كه به آن توالي ادراك =2+2 داده مي شود، عمل نمايش (4) را انتخاب مي نمايد، اما چنين تحليلي سختي به درك ما از ماشين حساب كمك مي كند.

2-2 رفتار خوب: مفهوم عقلانيت

عامل معقول، عاملي است كه كار درست را انجام مي دهد گفته مي شود كه هر قلمي در جدول تابع عامل به طور صحيح پر شده است. واضح است كه انجام كار صحيح بهتر از انجام كار غلط است، اما انجام كار درست به چه معناست؟ گفته مي شود كه عمل درست، عملي است كه باعث خواهد شد تا عامل موفق باشد. بنابراين، براي سنجش موفقيت به چند روش نياز خواهيم داشت. عامل همراه با توضيح محيط، حسگرها و محركهاي عامل امكان تخصيص كمل كاري كه در پيش روي عامل قرار دارد را فراهم مي آورد. باتوجه به اين نكته، مي توان به طور دقيق تر منظور از منطقي بودن را تعريف نمود.

مقياسهاي عملكرد

مقياس عملكرد، معياري را براي موفقيت رفتاريك عامل مجسم مي نمايد. زمانيكه عاملي به محيطي وارد مي شود، طبق دركي كه دريافت مي نمايد، توالي از اعمال را ايجاد مي نمايد. اين توالي اعمال باعث مي شود كه محيط وارد توالي از حالتها شود در صورتيكه اين توالي مطلوب باشد، عامل كار را به خوبي انجام داده است. مي توان از عامل درمورد ايده ذهني مبني بر اينكه تا چه حد از عملكرد خود رضايت داشته، سوال نمود، اما برخي از عوامل قادر به پاسخگويي نبوده و سايرين نيز خود را غفال مي نمايند. بنابراين، بر يك معيار عملكرد عيني كه از سوي طراح ايجاد كننده وعامل مطرح شده اصرار كرد

عامل جارو برقي از فصل قبلي را در نظر بگيريد. با توجه به مقدار كثيفي تميز شده دريك شيفت هشت ساعتي مي توان معيار عملكردي را پيشنهاد نمود.البته در مورد يك عامل منطقي آنچه شما مي پرسيد، چيزي است كه به دست مي آوريد عامل منطقي مي توان با پاك كردن كثافت و سپس خالي كردن آن روي زمين و دوباره جمع كردن و .... اين معيار عملكرد را به حداكثر برساند. يك معيار عملكردي مناسب به خاطر داشتن زميني پاكيزه به عامل پاداش مي دهد. به عنوان مثال مي توان براي هر مربع پاكيزه در هر مرحله زماني يك امتياز پاداش دارد (مي توان به خاطر برق مصرفي و نويز ايجاد شده، جريمه نمودم. به عنوان يك قانون كلي، بهتر است معيارهاي عملكردي را طبق آنچه كه واقعا از محيط خواسته مي شود طراحي نمود تا طبقي اينكه عامل بايد چگونه رفتار نمايد.

انتخاب معيار عملكرد همواره ساده نيست. به عنوان مثال، مفهوم (كف اتاق پاكيزه) در پاراگراف قبلي بر متوسط پاكيزيگي در طول زمان مبتي است. در حاليكه با دو عامل مختلف مي توان متوسط پاكيزيگي مشابهي را به دست آورد يكي از آنها در همه اوقات كار پيش پا افتاده اي را انجام مي دهد و ديگري، جايي را پاكيزه مي كند اما زمان زيادي را مي برد، كه يك نقطه خوب علم سرايداري بودن، ظاهرا از اولويت بوده، اما در واقع پرسشي فلسفي با معناي دور از دسترس است. كداميك بهتر است يك زندگي بي ملاحظه باپستي ها و بلندي يا يك زندگي ايمني با وجودي ملال آور؟ كداميك بهتر است

-     اقتصادي كه در آن همه در فقر نسبي زندگي مي كنند يا اقتصادي كه در آن برخي از وفور و بر خي در فقر بسيار گذران عمر مي كنند؟ اين پرسشها را به عنوان تمريني به خواننده ساعي مي سپاريم.

عقلانيت

اينكه چيزي درزمان داده شده منطقي باشد به چهار مورد بستگي دارد:

-            معيار عملكردي، مقياسي را براي موفقيت تعريف نمايد.

-            دانش قبلي عامل از محيط

-            اعمالي كه عامل مي تواند به انجام آنها مبادرت نمايد.

-            توالي ادراك عامل تا امروز.

اين موارد ما را به سوي تعريف عامل منطقي رهنمون مي سازد.

در مورد هر توالي اداركي احتمالي، عامل منطقي بايد عملي را انتخاب نمايد كه انتظار مي رود معيار عملكردي آن را به حداكثرمي رساند كه اين كارايي نيز با توجه به توالي ادارك و دانش و دروني عامل مشخص مي گردد.

به مثال ساده اي كه در آن عامل جارو برقي مربع را در صورت كثيف بودن تميز نموده ودر غير اينصورت به مربع ديگري مي رود، توجه نمايد. اين همان تابع عاملي است كه در تصوير 3-2 به صورت جدول بيان گرديده است. آيا اين يك عامل منطقبي به بستگي دارد! نخست اينكه، لازم است تا بازده عملكردي، ميزان آگاهي از محيط، حسگرها و محركهاي عامل، توضيح داده شود. اجازه دهيد موارد ذيل را در نظر داشته باشيم.

معيار عملكردي براي هر مربع پاكييزه در هر مرحله زماني، امتياز مي دهد كه (دوره زندگي) 1000 مرحله زماني دارد.

جغرافياي محيط به عنوان يك قياس شناخته مي شود، اما در مورد توزيع كثيفي و مكان اوليه عامل، اينگونه نيست. مربعهاي پاكيزه، تمبر باقي مي ماند اعمال راست و چپ، عامل را به راست و چپ حركت مي دهد به استثناي زمانيكه عامل را به خارج از محيط هدايت مي نمايد كه در اين مورد هر جايي كه هست، باقي مي ماند.

تنها اعمال قابل دسترسي، چپ، راست، مكش و NoOp (هيچ كار) مي باشند.

عامل به طور صحيح مكان خود و اينكه آيا مكان كثيف هست يا خير را درك مي نمايد.

ما بر اين ادعا هستيم كه تحت اين شرايط، عامل منطقي است، حداقل، عملكرد مورد انتظار آن به اندازه ديگر عوامل بالاست تمرين 4-2 از شما مي خواهد تا اين مورد را اثبات نماييد.

به راحتي مي توان ديد كه همين عامل در شرايط متفاوت، غير منطقي خواهد بود به عنوان مثال، زمانيكه همه آلودگيهاي پاك شدند، عامل بي جهت به عقب و جلو نوسان مي نمايد. درصورتيكه معيار عملكرد، جريمه يك امتيازي را براي هر حركت چپ يا راست در نظر بگيريد، عامل عملكرد ضعيفي را خواهد داشت. در اين مورد، عامل بهتر زمانيكه مطمئن است همه مربعها پاكيزه هستند، كاري انجام نمي دهد. در صورتيكه مربعهاي پاكيزه دوباره كثيف شوند، عامل مي تواند در صورت نياز اوضاع را كنترل نمود و دوباره آنها را پاك نمايد. در صورتيكه جغرافياي محيط ناشناخته باشد، عامل به جاي جسبيدن به مربعهاي A و B، به بررسي آن نيازمند خواهد بود. تمرين 4-2 از شما خواسته تا در اين موارد، عواملي را طراحي نماييد.

علم مطلق، يا يادگيري و خود مختاري

لازم است تا در مورد تمايز ميان عقلانيت و علم كل، دقيق باشيد يك عامل داناي كل، نتيجه واقعي عملكرد را مي داند و مي تواند بر اساس آن عمل كند، اما علم كل در واقعيت غير ممكن است. به مثال ذيل توجه نماييد. من در طول خيابان شانزه ليزه قدم مي زنم. و در سوي ديگر خيابان يك دوست قديمي را مي بينيم. هيچ ترافيكي در آن نزديكي نيست و من به كار ديگري مشغول نيستم، بنابراين منطق آن است تا از خيابان عبور نمايم. در همين حين، درهواپيماي باري كه در ارتفاع 3000 پايي حركت مي كند، مي افتد و قبل از اينكه من به طرف ديگر خيابان برسم، مرا وسط خياران پهن زمين مي كند آيا من در عبور از خيابان غير منطقي بودم؟ غير ممكن است كه روي اعلان فوقت من در تلاشي عبث براي عبور از خيابان نوشته شود.

اين مثال نشان مي دهد كه عقلانيت به همان مقدار كامل نيست. عقلانيت، بازده مورد انتظار را به حداكثر مي رساند، در حاليكه كمال، بازده واقعي را به حداكثر مي رساند. برخورد از نطقه نظر كمال، موردي منصفانه براي عوامل نيست. نكته آن است، اگر انتظار داريم كه عاملي آنچه كه بهترين است، انجام دهد، طراحي عاملي براي رعايت اين تخصص غير ممكن مي باشد.

-            مگر اينكه عملكرد گوي بلورين يا ماشين زمان را بهبود بخشيم.

تعريف ما از عقلانيت نيازي به علم مطلق ندارد، چرا كه انتخاب تنها به توالي اداراكي تا اين زمان وابسته است ما بايد مطمئن شويم كه به طور غير عمد امكان مبادرت عامل به فعاليتهاي لزوما غير هوشمند را فراهم نماورده ايم به عنوان مثال، در صورتيكه، عامل قبل از عبور از يك خيابان شلوغ، هر دو مسير را نگاه نكند، توالي اداركي آن به او نخواهد گرفت كه كاميون بزرگي در حال نزديك شدن است. آيا تعريف ما از عقلانيت، به ما خواهد گفت كه عبور از خيابان خوب است؟ دور از آن است! نخست اينكه، عبور از خيابان با توجه به اين توالي نا آگاهانه، منطقي نخواهد بود. ريسك تصادف بدون نگاه كردن به هنگام عبور بسيار بالاست. دوم اينكه عامل منطقي بايد قبل ازقدم نهادن به خيابان عمل (نگاه كردن) را انتخاب نمايد چرا كه نگاهكردن بازده مورد انتظار را به حداكثر مي رساند. مبادرت به اعمالي به منظور اصلاح آموزه هاي آتي كه گاهي جمع آوري اطلاعات ناميده مي شود – بخش مهمي از منطق بوده ودر فصل 16 كاملا مورد بررسي قرار خواهد گرفت. نمونه دوم جمع ؟آوري اطلاعات، از طريق بررسي فراهم مي آيد كه بايد يك عامل تميز كردن دريك محيط ناشناخته بر عهده مي گيرد.

تعريف ما، عامل منطقي را ملزم مي نمايد كه نه تنها اطلاعايت را جمع ‌آوري مي نمايد، بلكه تا حدامكان از آنچه كه ادارك نموده چيزي بياموزد. پيكر بندي اوليه عامل مي تواند دانش قبلي از محيط را منعكس نمايد ؟ هنگاميكه عامل تجربه كافي به دست آورد، ممكن است پيكر بندي اصلاح شود يا بزرگتر شود. موارد نهايي وجود دارند كه درآنها محيط كاملا به طور قياسي شناخته مي شود. در چنين مواردي، لازم نيست تا عامل چيزي را درك نموده يا بياموزد، بلكه كافي است به طور صحيح عمل نمايد. البته اين عوامل بسيار شكننده اند. يك سوسك سرگين را در نظر بگيريد اين سوسك پس از كندن لانه خود و تخم ريزي درآن، سرگيتي را از توده نزديك مي آورد تا ورودي حفره را پر كند. در صورتيكه گوي سر گين از چنگ او بيرون بيايد، او به مسر خود ادامه داده و به صورت خيالي لانه را با گوي سرگيتي كه وجود ندارد، پر مي كند به نبود آن توجهي ندارد. تكامل فرضي را درمورد اين رفتار سوسك در نظر مي گيرد و زمانيكه اين فرضيه نقص گردد، نتايج رفتاري ناموفقي حاصل مي گردد. هوشمندي زنبوي sphex كمي بيشتر از اين سوسك است. sphox مادهف نقبي را حفاري نموده و كرم حشره اي را نيش مي زند و آن را به حفره مي كشاند و وارد نقب مي شود تا همه چيز را كنترل نمايد، سپس كرم حشره را به داخل نقب كشيده و تخم مي گذارد. كرم حشره به عنوان منبع غذايي تخمها عمل مي نمايد. اما در صورتيكه حشره شناسي به هنگام ورود زنبور ماده به داخل حفره جهت كنترل آن كرم حشره را چند اينچ جابه جا نمايد زنبور دوباره كرم را به داخل مي كشاند و بدون تغييري كار خود را دنبال مي نمايد حتي اگر كرم حشره، دوازده بار حركت داده شود زنبور shpox نمي تواند عدم موفقيت اين نقشه را بياموزد و در نتيجه تغييري در آن به وجود نمي آورد.

عوامل موفق كه به منظور محاسبه تايع عامل آن را به سه دوره مختلف تقسيم مي نمايد زمانيكه عامل طراحي مي شود برخي از محاسبات توسط طراحان آن انجام مي شود زمانيكه روي عمل بعدي برنامه ريزي مي نمايد، عامل محاسبات بيشتري انجام مي دهد و وقتي تجربه اي به دست آورد، براي تصيم گيري در مورد تغيير رفتار، محاسبات بيشتري نيز انجام مي دهد.

با توجه به مقدار تكيه به دانش قبلي طراحي، مي توان گفت كه عامل فاقد خود مختاري است. عامل منطقي بايد خود مختار باشد- يعني بايد بياموزد كه براي ؟ دانش قبلي نادرست يا جزئي، چه كاري انجام دهد به عنوان مثال عامل جارو برقي مي آموزدكه زمان و مكان وجود اشغال را پيش يني مي نمايد. به عنوان يك موضوع عملي به ندرت از ابتدا نياز به استقلال كامل خواهيم داشت. زمانيكه عامل تجربه اندكي داشته يا تجربه اي نداشته باشد، ناچار خواهد بود تا به طور تصادفي عمل نمايد مگر اينكه طراح به وي كمك كند. بنابراين، همانطور كه تكامل، رفلكسها يا واكنشهاي دروني كافي را براي حيوانات فراهمي مي نمايد طورريكه بتوانند بقاي بيشتري داشته باشند، فراهم آوردن عوامل هوش مصنوعي با مقداري دانش اوليه و نيز توانايي يادگيريف امري معقول خواهد بود پس از كسب تجربه كافي از محيط، رفتار عامل منطقي مستقل از دانش قبلي خواهد بود. بنابراين تلفيق يادگيري به فرد امكان ميدهد تا عامل را طراحي نمايد كه در محيطهاي مختلف، موفق خواهد بود.

3-2 ماهيت محيطها

اكنون كه تعريفي از عقلانيت داريم، تقريبا آماده ايم تا درمورد ايجاد عوامل منطقي فكر كنيم با اين حال، ابتدا بايد در مورد محيط هاي كاري كه لزوما مشكي هستند كه عامل، آن را حل مي كند به فكر كنيم كار خود را با نشان داده نحوه تعيين محيط كاري و توضيح فرآيند با چند مثال، آغاز مي نماييم سپس مشخص مي سازيم كه محيط هاي كاري، ويژگي ها متنوعي دارند ويژگي محيط كاري به طور مستقيم بر طراحي مناسب برنامه عامل اثر مي گذارد.

تعيين محيط كاري

در محبط عقلانيت عامل ساده جارو برقي، ناچار شديم تا معيار عملكردي، محيط، محركها و حسگرهاي عامل راتعيين نماييم كليه اين موارد با عنوان محيط كاري طبقه بندي مي گردد. براي اينكه اين موارد را به طور خلاصه به ذهن بسپاريم از توضيح سر واژه PEAS بهره مي گيريم. در طراحي يك عامل، اولين گام مشخص، نمودن كامل محيط كاري تا حد امكان است دنياي خلاء بسيار ساده اي است، اجازه بدهيد تا از مثال پيچيده تري استفاده كنيم يك راننده تاكسي خود كار در ادامه اين فصل، اين مثال را به كار مي گيريم. قبل از هوشياري خواننده بايد اشاره كنيم كه يك تاكس كاملا خود كار در حال حاضر ماوراي توانايي ها تكنولوژي موجود است كار رانندگي، بي نهايت مشخص است هيچ محدوديتي براي تركيب شرايط ؟ آمده وجود ندارد دليل ديگري بر اينكه ما اين مثال را به عنوان كانون مبحث خود انتخاب نموده ايم نمودار 4-2 توضيح PEAS را براي محيط كاري تاكسي خلاصه مي كند. در بندهاي ذيل هر عنصر را با جزئيات كامل مورد بحث قرار مي دهيم.

نخست اينكه معيار عملكرد كه ما مي خواهيم راننده تاكسي خود كار شبيه آن باشد، چيست؟ كيفيتهاي مطلوب شامل رسيدن به مقصد صحيح به حداقل رساندن مصرف سوخت و استهلاك، به حداقل رساندن زمان طي مسافت و يا هزينه به حداقل رساندن نقض قوانين ترافيكي و آسيب به ديگر راننده ها به حداكثر رساندن ايمني و راحتي مسافر، به حداكثر سود مي باشند.

بعد اينكه، محيط رانندگي كه تاكسي با آن مواجه خواهد شد، چيست؟ هر راننده تاكسي بايد جاده هاي مختلف را مسيرهاي روستايي و كوچه هاي شهري گرفته تا آزاد راههاي 12 باندي را بشناسد هر جاده خود شامل ترافيك پياده رو ها، حيوانات سرگردان، كاريها روي جاده، اتومبيلهاي پليس،چال و چوله ها و چالاسبها مي شود تاكسي نيز بايد با مسافران احتمالي و واقعي تقابل عمل داشته باشد. همچنين انتخابهاي احتمالي نيز وجود دارد ممكن است لازم باشد تاكسي در كاليفرنياي جنوبي حركت نمايد، جايي كه حداقل مشكلات وجود دارد، يا در آلاسكا يعني حائيكه به ندرت ممكن است مشكلي پيش نيايد تاكسي همواره مي تواند در سمت راست حركت كند، يا ممكن است بخواهيم زمانيكه در ژاپن يا بريتانياست، در سمت چپ حركت نمايد واضح است كه هر چه محيط محدودتر باشد، مسئله طراحي ساده تر خواهد بود.

محركهاي موجود در تاكسي خود كار كم و بيش مشابه محركهاي موجود براي يك تاكسي معمولي است، كنترل موتور از شتاب دهنده و كنترل فرمان و ترمز به علاوه، اين تاكسي براي نمايش صفحه يك تركيب كنند و صدا براي گفتگو به مسافران و احتمالا ارتباط با ديگر وسايل نقليه نيازمند خروجي خواهد بود.

براي دستيابي به اهداف محيط رانندگي، لازم است تاكسي بداندكه در كجاست، چه چيزهاي ديگري در جاده است و با چه سرعتي حركت مي كند. بنابراين، مسگرهاي اصلي آن بايد يك يا چند دروبين تلويزيوني قابل كنترل، سرعت منبع و كيلومتر شما را در بر گيرد به منظور كنترل صحيح وسيله به خصوص در پيچها تاكسي بايد يك شتاب سنج داشته باشد. همچنين بايد از وضعيت مكانيك خودرو نيز مطلع باشد بنابراين به رديف بندي معمول موتور و حسگرهاي سيستم الكتريكي نياز خواهد داشت ممكن است تاكسي خود كار، ابزارهايي را داشته باشد كه در دسترسي يك راننده معمولي انساني قرار نداشته باشد سيستم موقعيت يابي ماهواره اي جهاني براي ارائه اطلاعات موقيت با توجه به نقشه الكتريكي، و حسگرها سونا يا مادون قرمز براي كشف فاصله براي ديگر اتومبيلها و موانع رد نهايت اين تاكسي بايد يك ميكروفن يا صفحه كليد براي درخواست مسير در اختيار داشته باشد.

در تصوير 5-2، عناصر اصلي PEAS براي تعدادي از انوع عوامل را به تصوير كشيده ايم. مثالهاي بيشتر در تمرين 5-2 ازائه گرديده است. ممكن است براي برخي خوانندگان عجيب باشد كه بدانند ما برخي از برنامه هايي را كه در محيط هاي كاملا مصنوعي عمل مي كنند را در فهرست انواع عوامل خود لحاظ نموده ايم. به طور تعيين اين پرسش مطرح مي شود كه اين محيط واقعي نيست؟ در حقيقت، تفاوت ميان محيط هاي واقعي و مصنوعي مهم نيست بلكه پيچيدگي رابطه ميان رفتار عامل، توالي ادراكي ايجاد شده از طريق محيط و معيار عملكرد، موضوع قابل توجهي مي باشد. برخي محيط هاي (واقعي) در واقع كاملا ساده هستند به عنوان مثال، روبوت طراحي شده جهت بررسي قسمتهاي ارائه شده به وسيله تسمه انتقال دهنده ممكن است از چند فرضيه ساده بهره گيرند اينكه چراغها همواره، همينطور عمل مي كنند، تنها چيز در تسمه انتقال قسمتهايي خودهد بود كه بايد شناسايي گردند و اينكه تنها امكان دو عمل وجود دارد (پذيرش يا عدم پذيرش).


درارائه این فصل ما پیرامون 4 نوع برنامه واسطه اساسی که شامل مراحل اساسیکه درهمه سیستمهای هوشمند وجود دارد درزیراشاره میکنیم :

1-              نتیجه ساده واسطه

2-              نتیجه مدل اساسی واسطه

3-              هدف اصلی واسطه

4-               مزیت واسطه مرکزی (اساسی)

سپس ما شرح دادیم چگونگی تبدیل ومعکوس کردن آنها را درفهم واسطه دریک دوره عمومی

نتیجه ساده واولیه واسطه

ساده ترین نوع واسطه نتیجه وانعکاس ساده واسطه است این واسطه ها کارها واقدامات برگزیده راروی روش تصویری وادراکی انجام میدهند.

نادیده گرفتن ازادامه گزارش تصویری .برای مثال ، یک واسطه خالی همان واسطه تابع است

که درشکل 203 فهرست بندی شده ویک نتیجه ساده واسطه است زیرا این تصمیم فقط درمحل وموقعیت روشهای اصلی که شامل چیزهای بی ارزش دیگراست یک برنامه واسطه برای این نوع واسطه درشکل 208 نشان داده شده است . نکته مهم اینکه برنامه واسطه خالی خیلی کوچک است درواقع ودرمقایسه با جدول مشابه این تبدیل وکاهش واضع بیشترناشی ازنادیده

گرفتن تاریخ گزارش تصویر است ، همان که اعداد امکان پذیراز4 به توان T تا 4 کم می کند به علاوه کم تبدیل شدن اوواقعیت که زمانیکه روش مربعی زشت است ، این اقدامات مربوط به موقعیت نیست تصورکنید شما راننده یک تاکسی خودکارهستید اگرماشین جلویی ترمزبگیرد وچراغهای ترمزروشن شود

سپس شما باید به این نکته توجه کنید وشروع به ترمز گرفتن کنید به عبارت دیگربعضی ازمراحل ورودی visual  رابرای برقراری وجداکردن ما آنهارا فراخوانی می کنیم ماشین جلویی درحال ترمزگرفتن است سپس پاشنه این ارتباط را برقرار می کند دربرنامه واسطه برای گرفتن اولین ترمز ما چنینارتباطی را ، چگونگی عمل به قوانین می نامیم که نوشته می شود : اگرماشین جلویی درحال ترمزگرفتن است سپس شروع کن به ترمزگرفتن انسان همچنینارتباطات زیادی برقرارمیکند بعضی ازآنها درمقابل عکس العملی یاد گرفته می شوند (برای مثال رانندگی) وبعضی ازآنها ذاتی ونتیجه غریزی دارند (مثلابه هم زدن چشم زمانیکه چیزی وارد چشم میشود ) درضمن این کتاب ما چندین راه مختلف راکه برای ارتباط برقرارکردن می توان آ موخت وانجام داد می بینیم

 

برنامه موجود درشکل 208 یک نوع خاص ازمحیط خلا به طورمخصوصاست راه ووسیله عمومی تروقابل تغییراست درابتدا ساخت یک مفسرمفهوم عمومی برای چگونگی عمل به قوانین وایجاد یک سری قوانین مخصوص به محیط کار.شکل 209 ساختاری ازیک برنامه عمومی وخلاصه شده را نشان میدهد (فکرنکنید اگراین جزیی است ،آن کمترجالب توجه است)

ما ازمربع مستطیل برای معنی کردن حالت معمولی ورایج درونی یک پردازش یک تصمیم واسطه استفاده می کنیم وازبیضی برای نمایش دادن اطلاعات زمینه استفاده می کنیم درپردازش یک برنامه واسطه همان طور که درشکل 201 نشان داده می شود خیلی ساده است تفسیرایجاد توابع ورودی به طورخلاصه شرح داده شده به مراحل روشها ازتصویر وتابع قوانین جفتی را برمی گرداند دراولین قاعده ازسری قواعدی که مراحل را شرح مید هند.

مهم اینکه توصیف وشرح برحسب قوانین وزوجیت آنها کاملا ادراکی وتصویری است درواقع این لوازم می توانند مجموعه ساده ای ازراههای منطقی برای انجام دادن جریان boolean   باشند نتیجه ساده واسطه خاصیت قابل تحسین برای ساده بودن دارد اما این نتیجه اثبات کرده که هوش خیلی محدود است واسطه در شکل 2010 فقط اگرتصمیم درستی باشد کارمی کند و می تواند فقط براساس وروش تصوری وادراکی ساخته شود که این فقط اگر محیط کاملا معلوم وواضح باشد صورت می گیرد حتی یک ذره کوچک پیدا ومعلوم می تواند باعث زحمت وسختی شود برای مثال موضوع ترمزگرفتن یک فرضیه اولیه می دهد که شرایط " ماشین جلویی درحال ترمز گرفتن "می تواند ازقاعده جاری " تصاویرویدیوئی موجود" تعیین شود اگرماشین جلویی چراغهای خطرداشته باشد .متاسفانه مدلهای قدیمی ساختاروپیکربندی متفاوتی

ازچراغهای عقب اتومبیل (چراغهای خطر) وسیگنال های روشنایی داشتند.

واین همیشه امکان پذیرنمی باشد که ازروی یک تصویرصحبت کنیم هنگامیکه ماشین درحال ترمزکردن است یکی ازعوامل ساده عکس العمل دررانندگی پشت بعضی ازماشینها ترمزهای طولانی وغیرلازم یا اشتباه ترمزگرفتن ویا بطورکلی اصلا ترمزنگرفتن است می توانیم مشکلات را ببینیم که دردنیای خلا ایجاد می شود فرض کنید که یک عکس العمل ساده درفضای خلا حسگرمکانی محروم است وفقط یک حسگرخاک است مثل یک عامل که فقط دو قاعده امکان دارد :

تمییزوکثیف .این عامل می تواند کمبود پاسخگویی به خاک اما پاسخگویی به این عامل به فضای تمییزچیست ؟ حرکت کردن به سمت چپ درست نخواهد بود اگر این موضوع درمربع A اتفاق بیافتد وحرکت کردن به سمت راست درست نخواهد بود

 

اگر این موضوع درمربع B  اتفاق بیافتد چرخه های بی نهایت برای یک عکس العمل ساده درفضای قابل مشاهده اغلبا غیرقابل اجتناب است خارج شدن ازچرخه پایان ناپذیرامکان پذیراست اگرعامل بتواند عملکرد خود را به صورت اتفاقی تبدیل کند برای مثال اگر عامل خلا حس شود (تمییز) ممکن است ضربه زدن به یک سکه برای انتخاب به چپ وراست باشد این بسیارساده است که بخواهیم نشان دهیم که عامل دریک عملیات دومرحله ای به یک مربع دیگرمی رسد .

سپس اگر مربع کثیف باشد تمییزخواهد شد وعمل تمییزسازی کامل خواهد شد بنابراین یک عکس العمل ساده ممکن است خارج ازاجرای قطعی باشد ما در بخش 3/2 که درمورد عکس العملها به صورت تصادفی به یک محیط چند عاملی است صحبت خواهیم کرد دریک محیط یک عاملی تصادفی بودن عقلی ومنطقی نیست این مفید است که به یک عکس العمل ساده دربعضی شرایط کمک می کند .ما می توانیم با عوامل پیچیده قطعی بهترازاین عمل کنیم

واکنش عوامل براساس مدل

موثرترین روش برای پشتیبانی کردن قسمتی عوامل قابل مشاهده نگهداری تعقیب بخشی ازجهان که قابل دیدن نمی باشد یک عامل می تواند بعضی ازوضعیت های داخلی که به درک تاریخ ودرنتیجه منجربه تفکر به صورت حداقل در مورد ابعادغیرقابل مشاهده وضعیت موجود می گردد.برای مشکل ترمزوضعیت یا شرح داخل زیاد پهناور نیست فقط قالب قبلی دوربین ها اجازه دادن به عوامل برای شناسایی هنگامیکه دونور قرمزرنگ درلبه یک وسیله روشن وخاموش می شود به صورت همزمان براین سایروظایف رانندگی مانند عوض کردن لنزنیازاست که مامورنگهدداری وتعقیب جایی هستند که سایرماشین ها به روزرسانی وظایف داخلی اطلاعات نیازبه دونوع اطلاعات دارد دربرنامه مامورابتداما بعضی ازاطلاعات درمورد چگونگی بیرون دادن با استنتاج کرد ن جهان به صورت مستقل است برای مثال سبقت گرفتن ماشین نزدیک ازان خواهد بود ازازیک لحظه پیشتردوما ما نیازبه بعضی ازاطلاعات درمورد تاییدات ماموربرجهان داریم برای مثال هنگامیکه فرمان ماشین را درجهت عقربه های ساعت می چرخانیم ماشین به سمت راست می پیچد این درمورداییکه جهان چگونه کار می کندجاییکه ازیک مدارساده بولین دریک نظریه کامل علمی این مدل جهان نامیده میشودو agent که به عنوان مدل استفاده می شود مرسوم به agent هایی درپایه مدلمی باشند نمودار11/2 ساختارمامورعکس العمل می باشد که نشان می دهد چگونه قاعده محلی با نمونه های وضعیت داخلی قدیمی ترکیب می شود برای ساختن توصیف ووضعیت جاری می باشد بخش جالب عملکرد به روزرسانی وضعیت برای توصیف وضعیت های داخلی جدید می باشد .

 

یک عامل یادگیری به چهارمفهومی قطعات چنانچه نشان داده شده درشکل 2015تقسیم مشود مهمترین تمایزمابین عناصریادگیری است که مسئول برای بهبودهای ساختن است وعنصر کارایی که مسئول انچه که ما داریم به طورقبلی رسیدگی کردن به عامل کامل : بودن ان درpercepts وتصمیم می گیرد (روی ) درعملها می گیردعنصر یادگیری پس خورد ازانتقاد کننده استفاده می شود چطورعامل ویقینها انجام می دهد چطورعنصرکارایی اصلاح خواهد شد که بهتردراینده انجام بدهد .

طراحی عنصریادگیری خیلی زیاد روی طراحی عنصرکارایی وابسته می باشد.

اول سوال نیست چطور من قصد دارم ان را بگیرم که این یاد بگیرد اما چه نوعی عنصرکارایی عاملم لازم است خواهد که انجام بدهد این یکی ان یاد گیردچطور؟ با توجه یک سازوکارهای یادگیری طراحی عامل ساخته میشوند که هرقسمت ازعامل بهتربشوند انتقادکننده عنصریادگیری را می گوید چقدرخوب عامل دارد با احترام به یک استاندارد کارایی ثابت انجام می دهد . انتقاد کننده ها لازم است برایاینکه percepts خودشان فرام نمودن هیچ نشان ازعامل موفقیت نیست .

برای مثال یک برنامه شطرنج می توانست یک percepts نشان دادن دریافت بکند کهآن checkmate حریفش دارد اما ان یک استاندارد کارایی نیازدارد که بداند که این یک چیز خوب است . percept  خودش همچنین نمی گوید.ان است استاندارد کارایی که مهم تثبیت می کند .با به طورمفهومی یک فکرازان وقتیکه بیرون عامل رویهم رفته برای اینکه عامل نباید ان را اصلاح بکند که رفتارخودش را مناسب باشد . اخرین جزعامل یادگیری مولد مساله است . ان مسئول برای پیشنهاد کردن عملها است که به تجربه های جدید واموزنده هدایت خواهد نمود.

نقطه ان است اگرعنصرکارایی راهش را ان انجام دادن عملها داشت که بهترین معین چه ان knews  هست .

اما اگرعامل راغب است که مقدارکمی کاوش بکند ومقداری شاید عملهای بهینه سازی تقریبی درکوتاه مدت ان ممکن بود خیلی بهترعملها برای اجرا کردن بلند کشف بکند . مساله مولد است کاراست که اینها عمل اکتشافی را پیشنهادبکند.این است انچه که دانشمندها انجام می دهند موقعیکه انها ازمایش انجام می دهند Galileio فکرنکرد که کاهش تکان می خورد ازاوج یک برجی درpisa ارزنده درخودبود. او noy سعی کردن بود که سنگها نه قطع بکند که مغزگذرنده های بدبخت اصلاح بکند که مغزخودش بوسیله مشخص نمودن یک بهترنظریه ازحرکت هدف بوسیله هدفش ها اصلاح بکند.برای ساختن روپوش desing  واقعی زیادتری به ما برگشت به مثال تاکسی خودکارشده اجازه داد.

 

تشکیل شده ازعنصرکارایی هرچه جمع اوری دانش وروشها تاکسی برای انتخابکردن عملها راندنش دارند. تاکسی gose خارج روی جاده وکاربرد گرداننده ها این عنصرکارایی . انتقاد کننده هاکلمه را واطلاعات مرحله ها درطول به عنصریادگیری مشاده می کند .برای مثال بعد ازتاکسی یک گردش به چپ سریع درعرصه راه ترافیک می سازد. انتقاد کننده ها مشاهده میکند زبان تکان دهنده بوسیله راه اندازهای دیگراستفاده می کنند . عنصریادگیری قادراست که تدوین بکند یک گفتن قاعدهاین یک عمل بد بود وعنصرکارایی توسط نصب کردن قاعده جدید اصلاح شده است .مولد مساله ممکن است مشخص بنماید حوزه های مطمئن رفتاردراز بهبود نیازدارند وازمایش ها مثل (عبارتند از) امتحان کردن ترمزها را روی سطحهای جاده متفاوت زیرشرایط متفاوت پیشنهاد کنید .عنصریادگیری می تواند تغییرات به هرکدام ازقطعاتدانش نشان داده شده درنمودارهای عامل (2013،2011،209و2014) بسازد.ساده ترین موردها یادگیری مستقیما ازpercept رشته شامل می شوند .مشاهده ایالات پی درپی ازمحیط می تواند عامل را اجازه بدهد که یادبگیرد انچه که عملهایم انجام بدهند.

برای مثال اگرتاکسی یک متوقف کردن فشاربرخی چه موقع راند ن دریک جاده خیس به کاربندد درانوقت ان بزودی کشف خواهد کرد چه مقدارکاهش سرعت واقعابه نتیجه رسیده شده است . به وضوح این دوکاریادگیری مشکل ترهستند اگرمحیط تنها به طور جزئی قابل مشاهده است .

شکل ها یادگیری پاراگراف پیش لازم نیست که دسترسی بیابد استاندارد کارایی خارجیدریک sense استاندارد جهانی یک پیش بینی های ساختن است .این دوره دارد دارای کامپیوترwhirlwind (نوعی کامپیوتررقمی که ازلامپ خلا استفاده می کند) بازدیدی ازهوش مصنوعی است .

1 یک برنامه یا نماینده هست چیزی که دریافت می کند انجام میدهد دریک محیط وتابع برنامه برای یک برنامه خاص یا ویژه که انجام وظایف به وسیله برنامه پاسخ جواب دررشته محسوس شده اند.حد اجرا :سنجیدن وارزیابی رفتاریک برنامه درداخل یک محیط وبرنامه منطقی انجام می دهد خیلی ارزش ها انتظارداشتن درحد اجرا یک ارایش مرتب محسوس شدان را که به نظرامکان ندارد

·        محیط برنامه: دارای ویژگی های که شامل حد اجرا ، محیط بیرونی  به کارانداختن محرک یا راه انداز وحس گر. این طراحی کردن یک برنامه درمرحله اول بایدهمیشه مخصوص درمحیط برنامه به طور کامل ممکن شدنی باشد.

 

·        محیط برنامه خیلی طولانی دارای چندین بعد یا اندازه معنی دارهستند ان می تواند به طورکامل یه به طور جزئی قابل مشاهده باشد جبرگرایانه یه اتفاقی جزیه جز یا متوالی وتک برنامه به چندگانه عملکرد برنامه وسایل تابع برنامه است ان جا وجود دارد برنامه های پایه ای متنوعی طراحی شده اند برگرداندن نوعی ازاطلاعات ساخته شده صریح وروشن واستفاده می

شود درپردازش وتصمیم گیری. طراحی ها خیلی کارایی کم حجم وانعطاف پذیرند

همه این برنامه ها ونماینده ها می تواند بهبود بخشد تااجرای ان را یاد گرفت نقش اصلی ازفعالیت دربهره هوشی تصورازاستدلال عملی – برمیگرددبه کمترین دوره دلایل ذره ای بود هم چنین موضوع mccarthy درسال 1958 شامل عنوان برنامه های با حواس پنج گانه معمولی ان رشته ای ازرباتیک وتئوری کنترل است که به وسیله انها خیلی طبیعی ، رابط اصلی ازفضا وساختمان ازفیزیک برنامه برقرارمیکنیم تصورمی شود که کنترلردرتئوری کنترل عینا دربرنامه درهوش مصنوعی هستند شایدبه طورشگفت انگیز هوش مصنوعی تمرکزمی کند برای بسیاری ازشرح حال روی گزینه های تنها روی چرخه برنامه هستند این بحث برنامه امتحان شده توسط geneser

 & nilsson (1987) بود به استثنای پذیرفته شد ه وچرخه برنامه دیدگاه است که اکنون به طور وسیع پذیرفته شده دررشته ها وهست یک موضوع یا ارم کنترل شده درامتحانات تقسیمات اساسی یک اثریا مثال ریشه یک فکروعقیده عقلانی درفلسفه وسیاست است بحث درمورد فن واقعی تاسیس وایجاد یک رشته درهوش مصنوعی فکروعقیده بود ازعلاقه بیرونی تااینکه دراواسط سال 1980 زمانی که ان شروع کرد به بحث های سرشماری وتعداد زیادی یک مقاله به وسیله جان دویل پیشگویی کرد که طراحی برنامه عقل به نظرمیاید که قسمت اصلی ماموریت درهوش مصنوعی است یک نماینده بازتاب ساده با یک کارنماینده اتفاقی یک نماینده ساده می تواند چنین نماینده واندازه گیری اجرایش روی درچندین طراحی کنید؟

می توانید یک environment طراحی کنید که نماینده اتفاقیتان خیلی ناخوش ؟ انجام خواهد داد نتایجتان را نشان بدهید.

یک نماینده بازتابی با ایالت یک نماینده بازتاب ساده ؟ می توانید چنین نماینده واندازه گیری اجرایش درمحیطهای چندین طراحی کنید می توانید یک نماینده عقلیاین نوع طراحی کنید

تمرین 2010 برای مورد تکراربشوید که اندام حسی محل با یک اندام حسی ضربه سرجای خود گذاشته شده است که پیدا میکند که نماینده است که به یک مانع یا به تقاطع مرزها محیط حرکت بکند چطورنماینده بایستی رفتارکند برنامه های نماینده ممکن  برای هریک ازدنباله را نگارش ها بحث کنید یک مورفی قانون است :

 

درصد       - fivetwenty -five

 

اززمان چنان عمل به تمیزکف رااگرکثافت سپرده ها کثیف وروی کف رد می کند اگر کف تمیزاست برنامه نماینده تان چطورتاثیرگزاشته است اگراندام حسی کثافت پاسخ نادرست را %10 اززمان بدهد

Lng ازمایش کردن هدف مات درشطرنج یک جستجو بخش پشت لازم است بایستی که داشت ازمایش شده اند علیه ایالات بوسیله جستجو جلویی تولید بکند انجا راه عمومی نیست که این بهترانجام بدهد با مقایسه کردن شکل راه کارهای جستجو بی اطلاع 3017 مقایسه کردن راه کاردرضوابط ازچهارenaluation معیارمجموعه جلودربخش  304 جستجو می کند با اجتناب کردن ایالات مکرر بالا به این اشاره بکند ماتمام اما نادیده گرفته یکی ازمهمترین پیچیدگی های به فرایند جستجو :داریم امکان زمان تلف کردن بوسیله بسط دادن ایالات ان قبلا مواجه شده است ومنبسط شده است هرگزبرای  تعدادی مساله این امکان پیش نمی اید فاصله وضعیت یک درخت است وانجا تنها یک  مسیربه هروضعیت است تدوین کارامد مساله ملکه ها 

برای اینکه این وضعیت تنها توسط یکی مسیررسیده می شود اگرما 8 مساله را تدوین بکنیم تا اینکه یک ملکه قرارگرفته شده درستونی می تواند بود درانوقت هروضعیت  با ملکه ها توسط مسیرهای متفاوت رسیده میشود برای تعدادی مساله تکرارشدندایالات غیرقابل اجتناب هستند این تمام مساله ها شامل میشود کجا عملها قابل تغییرمثل Route-finjding مساله ها هستند وslidin-blocks گیج میکند درخت جستجوها برای این مساله بی پایان اما اگرما الو مقداری ازایالات مکررهستند ما می توانیم درخت جستجو را به اندازه محدود مولد تنها قسمت درخت خرد بکنیم که state-space نموداررا توسعه بدهد هم اکنون با توجه درخت جستجو بالا به یک عمق ثابت ان اسان است

که موردها پیدا بکند جائیکه با حذف کردن وضعیت مکرر یک کاهش توانی درهزینه جستجو را یه بدهد درمورد نهایی یک فاصله وضعیت اندازه d  شکل 3018 (یک درخت یک برگ) b  شکل 3018 مثال شبکه ای مستطیلی است بطوریکه درشکل C 3018 روشن ساخت دریک شبکه ای هروضعیت چهاربعدی دارد بنابراین شامل درخت جستجوی تکرارشدند.

یک گره دریک درخت جانشین نیست .درشکل 306 ریشه هردرخت شامل این ندها است با طرح مشخص.نمایش ریشه گروه گره ها ساده خواهد بود راهبرد جستجو سپس اطلاعات انتخاب .گره بعدی فاصله دارازاین گروه خواهد بود همچنین درک این ساده قابل فهم است وممکن محاسباتی هزینه برزیرااطلاعات راهبردی ممکن به نظرمیرسدخیلی ازالمنت هایی که انتخاب شده اند بهترازان هستند قبل ازاین ما فرض خواهیم کردکه مجموعه ای ازگره ها عضو تشکیل دهنده یک صف هستند عمل های یک صف پیرومیکند از:درست کردن صف بادادن المنت به صفهاخالی؟ درست برمیگرداند فقط اگرالمنت ها ی بیشتری درصف وجودنداشتهاولین صف اولین المنت راازصف برمیگرداند اولین حذف صف اولین برمیگرداند وان را ازصف حذف می کند درج یک المنت به صف اضافه می شود ونتیجه را به صف برمیگرداند (مانوع مختلف ازصف هاراخواهیم دید المنت ها ازدستورهای مختلف اضافه میشود)درج همه المنت ها را به صف اضافه کردن وبرگرداندن نتیجه به صف با این ویژگی ها ما ورژن های اساسی بیشتری می توانیم بنویسیم ازالگوریتم عمومی جستجوی درخت نشان داده شده است درشکل 309

اندازه گرفتن عملکرد مشکل حل شده محصول مشکل حل شده الگوریتم هریک ازکوتاهی یا یک جواب است (تعدادی ازالگوریتم ها ممکن است درحلقه نامحدود گیرکنند وهرگزیک محصول برنگردانند)ما اجرای الگوریتم ها را در4 روش ارزیابی خواهیم کرد:تکمیل: آیا الگوریتم تضمین می کند پیداکند جواب را وقتی درمکان یک است ؟

·      ایا راهبرد پیدا میکند جواب توضیح داده شد ه درصفحه 62زمان پیچیدگی :چه مدت زمان طول می کشد تا جواب پیدا شود ؟فضای پیچیدگی : چه میزان حافظه نیازاست برای انجام جستجو؟

زمان وفضای پیچیدگی همیشه مورد توجه هستند با رعایت میزان مشکلات مختلفدرعلم نظری کامپیوتراندازه نوعی ازسایزوضعیت فضای گراف هست.زیراگراف نظریه هست ساختارداده اشکارنیست به برنامه جستجو(نقشه رومانیا مانند این است ) درAL مکانی که گراف نشان داده شده ضمنابا وضعیت اصلی واطلاعات دراغازقراردادن ونامحدود بی شماراست .پیچیدگی شرح داده شده در3 کمیت : B  درجه رشته (شاخه ) یا ماکزیمم شماره هایی که دراغاز هرگره قراردادن d  عمق کمترین هدف گره و m زمان که اغلباندازه گیری شده دردوره شماره های گره های تولید شده درطول جستجو و فضا دردوره ماکزیمم شماره ای گره های ذخیره شده درحافظهتشخیص دادن موثرالگوریتم جستجو ما میتوانیم فرض کنیم ارزش جستجو نوعیاست که مربوط بودن به زمان پیچیدگی اما همچنین می توانیم شامل یک دوره برایکاربرد حافظه یا ما می توانیم ازارزش جمع استفاده کنیم وبه طوریکه ترکیب میشودبا ارزش جستجو وبا ارزش مسیرجواب پیدا شده برای مشکل ازخط مسیرپیدا شوداز

 arad  به Bucharest

زیردرخت سمت چپ دارای ارزش یکسان بوده عمق نامحدود بوده ولی شامل هیچ جوابی نیست وجستجوی عمق نخست برای ان هیچگاه پایان نمی پذیرد از اینجا نتیجه میشود که ان کامل نیست دربدترین حالت جستجوی عمق نخست تمامی گره های

احترام به یک استاندارد کارایی ثابت انجام می دهد . انتقاد کننده ها لازم است برایاینکه percepts خودشان فرام نمودن هیچ نشان ازعامل موفقیت نیست .برای مثال یک برنامه شطرنج می توانست یک percepts نشان دادن دریافت بکند کهآن checkmate حریفش دارد اما ان یک استاندارد کارایی نیازدارد که بداند که این یک چیز خوب است . percept  خودش همچنین نمی گوید.ان است استاندارد کارایی که مهم تثبیت می کند .با به طورمفهومی یک فکرازان وقتیکه بیرون عامل رویهم رفته برای اینکه عامل نباید ان را اصلاح بکند که رفتارخودش را مناسب باشد . اخرین جزعامل یادگیری مولد مساله است . ان مسئول برای پیشنهاد کردن عملها است که به تجربه های جدید واموزنده هدایت خواهد نمود.نقطه ان است اگرعنصرکارایی راهش را ان انجام دادن عملها داشت که بهترین معین چه ان knews  هست .اما اگرعامل راغب است که مقدارکمی کاوش بکند ومقداری شاید عملهای بهینه سازی تقریبی درکوتاه مدت ان ممکن بود خیلی بهترعملها برای اجرا کردن بلند کشف بکند . مساله مولد است کاراست که اینها عمل اکتشافی را پیشنهادبکند.این است انچه که دانشمندها انجام می دهند موقعیکه انها ازمایش انجام می دهند  فکرنکرد که کاهش تکان می خورد ازاوج یک برجی درpisa ارزنده درخودبود. او noy سعی کردن بود که سنگها نه قطع بکند که مغزگذرنده های بدبخت اصلاح بکند که مغزخودش بوسیله مشخص نمودن یک بهترنظریه ازحرکت هدف بوسیله هدفشها اصلاح بکند.برای ساختن روپوش desing  واقعی زیادتری به ما برگشت به مثال تاکسی خودکارشده اجازه داد.تشکیل شده ازعنصرکارایی هرچه جمع اوری دانش وروشها تاکسی برای انتخاب کردن عملها راندنش دارند. تاکسی gose خارج روی جاده وکاربرد گرداننده ها این عنصرکارایی . انتقاد کننده هاکلمه را واطلاعات مرحله ها درطول به عنصریادگیری مشاده می کند .برای مثال بعد ازتاکسی یک گردش به چپ سریع درعرصه راه ترافیک می سازد. انتقاد کننده ها مشاهده می کند زبان تکان دهنده بوسیله راه اندازهای دیگراستفاده می کنند . عنصریادگیری قادراست که تدوین بکند یک گفتن قاعده این یک عمل بد بود وعنصرکارایی توسط نصب کردن قاعده جدید اصلاح شده است .مولد مساله ممکن است مشخص بنماید حوزه های مطمئن رفتاردراز بهبود نیازدارند وازمایش ها مثل (عبارتند از) امتحان کردن ترمزها را روی سطحهای جاده متفاوت زیرشرایط متفاوت پیشنهاد کنید .عنصریادگیری می تواند تغییرات به هرکدام ازقطعات دانش نشان داده شده درنمودارهای عامل (2013،2011،209و2014) بسازد.ساده ترین موردها یادگیری مستقیما ازpercept رشته شامل می شوند .مشاهده ایالات پی درپی ازمحیط می تواند عامل را اجازه بدهد که یادبگیرد انچه که عملهایم انجام بدهند.برای مثال اگرتاکسی یک متوقف کردن فشاربرخی چه موقع راند ن دریک جاده خیس به کاربندد درانوقت ان بزودی کشف خواهد کرد چه مقدارکاهش سرعت واقعا به نتیجه رسیده شده است . به وضوح این دوکاریادگیری مشکل ترهستند اگرمحیط تنها به طور جزئی قابل مشاهده است .شکل ها یادگیری پاراگراف پیش لازم نیست که دسترسی بیابد استاندارد کارایی خارجی دریک sense استاندارد جهانی یک پیش بینی های ساختن است .این دوره دارد دارای کامپیوترwhirlwind (نوعی کامپیوتررقمی که ازلامپ خلا استفاده می کند) بازدیدی ازهوش مصنوعی است .

1 یک برنامه یا نماینده هست چیزی که دریافت می کند انجام میدهد دریک محیط وتابع برنامه برای یک برنامه خاص یا ویژه که انجام وظایف به وسیله برنامه پاسخ جواب دررشته محسوس شده اند.

·        حد اجرا :سنجیدن وارزیابی رفتاریک برنامه درداخل یک محیط وبرنامه منطقی انجام می دهد خیلی ارزش ها انتظارداشتن درحد اجرا یک ارایش مرتب محسوس شدان را که به نظرامکان ندارد

·        محیط برنامه: دارای ویژگی های که شامل حد اجرا ، محیط بیرونی  به کارانداختن محرک یا راه انداز وحس گر. این طراحی کردن یک برنامه درمرحله اول بایدهمیشه مخصوص درمحیط برنامه به طور کامل ممکن شدنی باشد.

·        محیط برنامه خیلی طولانی دارای چندین بعد یا اندازه معنی دارهستند ان می تواند به طورکامل یه به طور جزئی قابل مشاهده باشد جبرگرایانه یه اتفاقی جزیه جز یا متوالی وتک برنامه به چندگانه عملکرد برنامه وسایل تابع برنامه است ان جا وجود دارد برنامه های پایه ای متنوعی طراحی شده اند برگرداندن نوعی ازاطلاعات ساخته شده صریح وروشن واستفاده میشود درپردازش وتصمیم گیری. طراحی ها خیلی کارایی کم حجم وانعطاف پذیرند همه این برنامه ها ونماینده ها می تواند بهبود بخشد تااجرای ان را یاد گرفت نقش اصلی ازفعالیت دربهره هوشی تصورازاستدلال عملی – برمیگرددبه کمترین دوره دلایل ذره ای بود هم چنین موضوع mccarthy درسال 1958 شامل عنوان برنامه های با حواس پنج گانه معمولی ان رشته ای ازرباتیک وتئوری کنترل است که به وسیله انها خیلی طبیعی ، رابط اصلی ازفضا وساختمان ازفیزیک برنامه برقرارمیکنیم تصورمی شود که کنترلردرتئوری کنترل عینا دربرنامه درهوش مصنوعی هستند شایدبه طورشگفت انگیز هوش مصنوعی تمرکزمی کند برای بسیاری ازشرح حال روی گزینه های تنها روی چرخه برنامه هستند این بحث برنامه امتحان شده توسط geneser & nilsson (1987) بود به استثنای پذیرفته شد ه وچرخه برنامه دیدگاه است که اکنون به طور وسیع پذیرفته شده دررشته ها وهست یک موضوع یا ارم کنترل شده درامتحانات تقسیمات اساسی یک اثریا مثال ریشه یک فکروعقیده عقلانی درفلسفه وسیاست است بحث درمورد فن واقعی تاسیس وایجاد یک رشته درهوش مصنوعی فکروعقیده بود ازعلاقه بیرونی تااینکه دراواسط سال 1980 زمانی که ان شروع کرد به بحث های سرشماری وتعداد زیادی یک مقاله به وسیله جان دویل پیشگویی کرد که طراحی برنامه عقل به نظرمیاید که قسمت اصلی ماموریت درهوش مصنوعی استیک نماینده بازتاب ساده با یک کارنماینده اتفاقی یک نماینده ساده می تواند چنین نماینده واندازه گیری اجرایش روی درچندین طراحی کنید می توانید یک environment طراحی کنید که نماینده اتفاقیتان خیلی ناخوش ؟ انجام خواهد داد نتایجتان را نشان بدهید.یک نماینده بازتابی با ایالت یک نماینده بازتاب ساده ؟ می توانید چنین نماینده واندازه گیری اجرایش درمحیطهای چندین طراحی کنید می توانید یک نماینده عقلیاین نوع طراحی کنید .

تمرین 2010 برای مورد تکراربشوید که اندام حسی محل با یک اندام حسی ضربه سرجای خود گذاشته شده است که پیدا میکند که نماینده است که به یک مانع یا به تقاطع مرزها محیط حرکت بکند چطورنماینده بایستی رفتارکند برنامه های نماینده ممکن  برای هریک ازدنباله را نگارش ها بحث کنید یک مورفی قانون است درصد       - fivetwenty -fiveاززمان چنان عمل به تمیزکف رااگرکثافت سپرده ها کثیف وروی کف رد می کند اگر کف تمیزاست برنامه نماینده تان چطورتاثیرگزاشته است اگراندام حسی کثافتپاسخ نادرست را %10 اززمان بدهد lng ازمایش کردن هدف مات درشطرنج یک جستجو بخش پشت لازم است بایستی کهداشت ازمایش شده اند علیه ایالات بوسیله جستجو جلویی تولید بکند انجا راه عمومی نیست که این بهترانجام بدهد با مقایسه کردن شکل راه کارهای جستجو بی اطلاع مقایسه کردن راه کاردرضوابط ازچهارenaluation معیارمجموعه جلودربخش  جستجو می کند با اجتناب کردن ایالات مکرر بالا به این اشاره بکند ماتمام اما نادیده گرفته یکی ازمهمترین پیچیدگی های به فرایند جستجو :داریم امکان زمان تلف کردن بوسیله بسط دادن ایالات ان قبلا مواجه شده است ومنبسط شده است هرگزبرای تعدادی مساله این امکان پیش نمی اید فاصله وضعیت یک درخت است وانجا تنها یک مسیربه هروضعیت است تدوین کارامد مساله ملکه ها  برای اینکه این وضعیت تنها توسط یکی مسیررسیده می شود اگرما 8 مساله را تدوین بکنیم تا اینکه یک ملکه قرارگرفته شده درستونی می تواند بود درانوقت هروضعیت با ملکه ها توسط مسیرهای متفاوت رسیده میشود برای تعدادی مساله تکرارشدندایالات غیرقابل اجتناب هستند این تمام مساله ها شامل میشود کجا عملها قابل تغییرمثلRoute-finjding مساله ها هستند وslidin-blocks گیج میکند درخت جستجوها برای این مساله بی پایان اما اگرما الو مقداری ازایالات مکررهستند ما می توانیم درخت جستجو را به اندازه محدود مولد تنها قسمت درخت خرد بکنیم که state-space نموداررا توسعه بدهد هم اکنون با توجه درخت جستجو بالا به یک عمق ثابت ان اسان است که موردها پیدا بکند جائیکه با حذف کردن وضعیت مکرر یک کاهش توانی درهزینه جستجو را یه بدهد درمورد نهایی یک فاصله وضعیت اندازه d  شکل 3018 (یک درخت یک برگ) b  شکل 3018 مثال شبکه ای مستطیلی است بطوریکه درشکل  3018 روشن ساخت دریک شبکه ای هروضعیت چهاربعدی دارد بنابراین شامل درخت جستجوی تکرارشدند.یک گره دریک درخت جانشین نیست .درشکل 306 ریشه هردرخت شامل این ندها است با طرح مشخص.نمایش ریشه گروه گره ها ساده خواهد بود راهبرد جستجو سپس اطلاعات انتخاب .گره بعدی فاصله دارازاین گروه خواهد بود همچنین درک این ساده قابل فهم است وممکن محاسباتی هزینه برزیرااطلاعات راهبردی ممکن به نظرمیرسدخیلی ازالمنت هایی که انتخاب شده اند بهترازان هستند قبل ازاین ما فرض خواهیم کردکه مجموعه ای ازگره ها عضو تشکیل دهنده یک صف هستند عمل های یک صف پیرومیکند از:درست کردن صف بادادن المنت به صفهاخالی؟ درست برمیگرداند فقط اگرالمنت ها ی بیشتری درصف وجودنداشته اولین صف اولین المنت راازصف برمیگرداند

·                   اولین حذف صف اولین برمیگرداند وان را ازصف حذف می کند

·        درج یک المنت به صف اضافه می شود ونتیجه را به صف برمیگرداند (مانوع مختلف ازصف هاراخواهیم دید المنت ها ازدستورهای مختلف اضافه میشود)درج همه المنت ها را به صف اضافه کردن وبرگرداندن نتیجه به صف با این ویژگی ها ما ورژن های اساسی بیشتری می توانیم بنویسیم ازالگوریتم عمومی جستجوی درخت نشان داده شده است درشکل 309اندازه گرفتن عملکرد مشکل حل شده محصول مشکل حل شده الگوریتم هریک ازکوتاهی یا یک جواب است (تعدادی ازالگوریتم ها ممکن است درحلقه نامحدود گیرکنند وهرگزیک محصول برنگردانند)ما اجرای الگوریتم ها را در4 روش ارزیابی خواهیم کرد:

·              تکمیل: آیا الگوریتم تضمین می کند پیداکند جواب را وقتی درمکان یک است ؟

·              ایا راهبرد پیدا میکند جواب توضیح داده شد ه درصفحه 62

·              زمان پیچیدگی :چه مدت زمان طول می کشد تا جواب پیدا شود ؟

·              فضای پیچیدگی : چه میزان حافظه نیازاست برای انجام جستجو؟

زمان وفضای پیچیدگی همیشه مورد توجه هستند با رعایت میزان مشکلات مختلف درعلم نظری کامپیوتراندازه نوعی ازسایزوضعیت فضای گراف هست.زیراگراف نظریه هست ساختارداده اشکارنیست به برنامه جستجو(نقشه رومانیا مانند این است ) درAL مکانی که گراف نشان داده شده ضمنا با وضعیت اصلی واطلاعات دراغازقراردادن ونامحدود بی شماراست .پیچیدگی شرح داده شده در3 کمیت : B  درجه رشته (شاخه ) یا ماکزیمم شماره هایی که دراغاز هرگره قراردادن d  عمق کمترین هدف گره و m زمان که اغلب اندازه گیری شده دردوره شماره های گره های تولید شده درطول جستجو و فضا دردوره ماکزیمم شماره ای گره های ذخیره شده درحافظه تشخیص دادن موثرالگوریتم جستجو ما میتوانیم فرض کنیم ارزش جستجو نوعیاست که مربوط بودن به زمان پیچیدگی اما همچنین می توانیم شامل یک دوره برایکاربرد حافظه یا ما می توانیم ازارزش جمع استفاده کنیم وبه طوریکه ترکیب میشودبا ارزش جستجو وبا ارزش مسیرجواب پیدا شده برای مشکل ازخط مسیرپیدا شوداز arad  به Bucharest زیردرخت سمت چپ دارای ارزش یکسان بوده عمق نامحدود بوده ولی شامل هیچ جوابی نیست وجستجوی عمق نخست برای ان هیچگاه پایان نمی پذیرد از اینجا نتیجه میشود که ان کامل نیست دربدترین حالت جستجوی عمق نخست تمامی گره های   o(b^m) ها دردرخت جستجو را تولید می کند m  عمق بیشینه هرگره است توجه میشود که m  می تواند خیلی بزرگتراز d باشد (عمق کم عمق ترین جواب ) ونامحدود است اگر درخت نامحدود باشد

جستجوی عمق محدود

مساله درختهای نامحدود می تواند با اعمال جستجوی عمق نخست با یک محدودیت عمق پیش فرض ما ساده تر گردد بدین معنی که با گره های واقع درعمق l بگونه ای برخورد می شود که گویی هیچ جایگزینی  ندارند این رویکرد جستجوی عمق محدود نامیده میشود عمق محدود مساله مسیر نامحدود را حل میکند متاسفانه چنانچه ما l

جستجوی عمق نخست با عمیق سازی بازگشتی جستجوی عمیق سازی بازگشتی این روش یک استراتژی عمومی است که اغلب به همراه روش جستجوی عمق نخست بکار میرود وتوسط ان می توان بهترین عمق نخست را یافت اینکار با افزایش تدریجی محدویدیت از0،1،2،000 مادام که هدف پیدامی شود صورت می گیرد این مساله وقتی رخ می دهد که محدودیت عمق به ممقدار d برسد (عمق کم ترین گره) الگوریتم ان درشکل 3014 نشان داده شده است عمیق سازی بازگشتی شامل مزایای دوروش جستجوی عمق نخست وچستجوی پهنای نخست است مانند روش عمق نخست مقدارحافظه مورد نیاز ان خیلی کم است مانند روش جستجوی پهنای نخست موقتی فاکتور شاخه گزینی محدود باشد جستجو کامل است ووقتی تابع هزینه مسیر یک تابع غیرنزولی از عمق گره باشد روش بهینه محسوب می شود شکل 3015 چهارتکرار از اعمال روش جستجوی عمیق سازی بازگشتی برای یک درخت چستجوی دودویی را نشان می دهد که در ان جواب درتکرار چهارم پیدا میشود روش عمیق سازی بازگشتی ممکن است روش وقت گیری بنظر برسد زیرا حالات چندین بار تکرار می شوند .این است که دریک درخت جستجو با فاکتور شاخه گزینی یکسان یا تقریبا یکسان درهر مرحله اکثر گره ها درمرحله پایینی هستند بنابراین اینکه مراحل بالایی چندین با ر تکرار شوند مساله ای نیست دریک جستچوی عمیق سازی بازگشتی گره هایی واقع درمراحل پایینی تنها یک بار تولید می شوند و گره های نزدیک گره های پایینی دوبار تولید می شوند به همین ترتیب الی اخرتارسیدن به بچه های ریشه درخت بنا براین مجموع تعداد گره های تولید شده به قرار زیرخواهد بود:

 

N(ids)=(d)b+(d-1)b^2+…+(1)b^4

که رتبه زمانی ان o(b^d ) می شود میتوانیم این تعداد را با تعداد گره های تولید شده در روش پهنای (عرض) نخست مقایسه کنیم پس داریم :

 

N(bfs )=b+b^2+…+b^d+(b^d-1-b)

 

توجه شود که روش جستجوی عرض نخست برخی گزه هارا درعمق d+1 تولید میکند درحالیکه درروش جستجوی عمیق گری بازگشتی این چنین نیست نتیجه می وشد که روش جستجوی عمیق سازی بازگشتی سریع ترازجستجوی عرض نخست است علیرغم اینه حالات دراین روش بصورت تکراری تولید میشوند برای مثال اگر b=10, d=5 باشد تعداد تکرارها دراین درروش بصورت زیراست :

N(ids)=50+400+3000+20000+100000=123450

N(bfs)=10+1000+1000+10000+100000+999990=101110100

جستچوی زیاد تکراری تشبیه وسعت جستجوی اولیه است که این جستجو کردن دریک لایه کامل یک گره جدید درهربارتکرار قبل ازرفتن به لایه بعدی است به نظرمی رسد که شباهت برابر ویکسانی بین تکراراهای رخ داده وتکرارهای مشابه ویکسان درجستجو است الگوریتم دومی(اخری) به ارث می برد ضمانت تا موقعی که دور ازنیاز حافظه است این یک عقیده است که برای افزایش ارزش وقیمت نهایی مسسیروراه به جای افزایش مدت طولانی استفاده میشود نتیجه الگورینم جستجوی مدارم یا چستجوی تکراری وطولانی نامیده می شود که درتمرین 3011نمایان شده است درمجموع متاسفانه این تکرارطولانی با مقایسه وسنجش عمومی وروی هم رفته محکم واساسی مواجه می شود میزان جستجوی یکسان دستور،عنوان جستجونظریه عنوان جستجوی قبلی منتشرشده است دردو جستجوی همزمان حالت اول یکی به طوف جلو ودیگری از انتهای برنامه وهدف متوقف شدن زمانیکه در جستجو در

مرکز تلاقی میکنند متوقف میشوند (شکل 3016) انگیزش تحریک است که

b^d/2+b^d/2 که خیلی کمترازb^d  یا انچه درشکل است می باشد ناحیه دو دایره کوچک خیلی کمترازناحیه یکی ازدایره بزرگ مرکزی درشروع ووسعت دادن به هدف است دستورجستججو ابزاری است که به وسیله ان یکی یا هردومانع جستجو درهر گره قبل ازتوسعه برای دیدن است که اگر این ریشه دردرختهای جستجوی دیگری باشد وهمچنین اگریک راه حل پیدا شود .

برای مثال اگر یک مساله راه حلی به عمق d=6 داشته باشد وهرچرخش دستوروسعت اولین جستجو گره دریک زمان سپس درحالت بی ارزش وبه کد دو برخورد میکنند موقعی که همه توسعه یافتند اما یکی ازگره ها درعمق 3 است برای B=10 درمجموع 2202 گره تولید کند درمقایسه با 1101110100از اولیه وسیع واستاندارد بررسی گره ازعضویت  دردرختان جستجو می تواند زمان ثابتی را درجدول ترکیبی ایجاد وبه وجود اورد همچنین پیچیدگی زمانی دردستور جستجوd/2) است سرانجام یکی ازدرختان جستجو باید درحافظه نگهداری شود همچنین این عضویت می تواند چک وبررسی شود ازاین رو پیچیدگی ها ی خالی می شود این

نیازفضای خالی خیلی مهم وقابل توجه درضعف وسستی دستور جستجو است الگوریتم

کامل وتمام است op+imal برای متوقف کردن وثابت ماندن ارزش  هردو جستجو ابتدایی وطولانی هستند ترکیبات دیگر ممکن است کاملا متوقف شوند جداگانه یاهردو با هم کاهش درپیچیدگی زمانی دستورات جستجو جذاب را ایجاد می کند اما چگونه ما جستجو عقبی کنیم انجام دهیم این به اسانی صورت نیست اجازه دهید اجداد وریشه های یک گره (n)pred همه این گره ها که n دارند یک جانشین هستند دستور جستجو نیازدارد که pred به طورموثروکافی حساب کند اسانترین حالت زمانی است که همه فعالیتهای دریک مرحله متوقف شود که قابل نقض است همچنین pred(n)=succدرحالتهای دیگرممکن است که مهارت  اساسی ومهمی نیازباشد .فرض کنید سئوالاتی که ما معنی می کنیم به وسیله هدف وبرنامه درجستجوی قبلی

وپشت زمینه ازهدف وبرنامه برای 8 جدول وبرای پیداکردن مسیردرromaniaفقط یکه هدف وحالت برنامه وجود دارد بنابراین جستجوی قبلی خیلی شبیه چستجوی بعدی است اگر چندین حالت لیست برنامه واضح وجو د داشته باشد دراین مثال 2 حالت برنامه ازاد وشلوغ درشکل 303 سپس ما می توانیم یک حالت برنامه ساختگی بسازیم که بلافاصله پردازش کند که همه حالتهای برنامه کنونی را شامل است وپردازش می کند به طوریک درمیان بعضی وتعدادی گره زاید تولید میشود که می توان ازانها دوری کرد به وسیله دیدن ومشاهد یک سری حالتهای ومراحل برنامه درکی مرحله جداومفرد .

هرکی ازپردازشها همچنین  یک سری مرحله به طورخاص وویژه دارد که سری مراحل شبیه ومطابق جانشین درسری مراحل برنامه است به فصل 306 نیزنگاه کنید بیشترین تفاوت واختلاف حالت ومرحله برای دستور جستجو زمانی است که برنامه فقط یک اشاره توصیفی دربعضی ازسری های بزرگ مراحل برنامه ممکن باشد برای مثال همه مراحل مورد نیاز.

 

 

 

 

ارزش يكسان جستجو :

وسعت اولين جستجو ،زمانيكه همه مراحل هزينه ارزش يكساني دارند ، بهينه مي باشد. زيرا هميشه بسط مي دهد با يك ساده ما مي توانيم الگوريتم را پس با هر مرحله عملگرد ارزشي بهينه است پيدا كنيم . به جاي بسط دادن ارزش يكسان جستجو گسترش مي دهد . n را با پائين ترين هزينه راه توجه داشته باشيد كه اگر همه هزينه مراحل مساوي هستند اين براي وسعت اولين جستجو .

ارزش يكسان جستجو توجهي در مورد تعداد مراحل در  راه ندارد . اما فقط در مورد هزينه كلي توجه مي كند . بنابراين آن متوقف خواهد شد در يك لوپ بي اندازه . اگر آن بسط دهد ند را كه عملكرد هزينه صفر دارد براي هدايت به عكس براي مرحله مشابه .( به عنوان مثال يك عملكرد NOOP )  ما مي تونيم تضمين كنيم كامل  كننده اي پس فراهم مي كند هزينه هر مرحله را كه بزرگتر است از و يا اينكه مساوي است با برخي ثبات هاي مثبت كوچك . اين شرايط همچنين براي انتشار بهينگي كافي مي باشد . اين بدان معني مي باشد كه هزينه يك راه هميشه افزايش مي يابد به طوري كه ما در راه پيش مي رويم . از اين دارائي آسان است ديدن اينكه الگوريتم ند ها را گسترش مي دهد در صورت افزايش هزينه راه . بنابراين اولين هدف ند انتخاب شد براي گسترش يك راه حل بهينه است . ( به خاطر داشته باشيد كه جستجو سه گانه درخواست مي كند قسمت نهائي را فقط براي ندي كه براي گسترش انتخاب شده اند.) ما پيشنهاد مي كنيم براي سعي كردن الگوريتم براي يافتن كوتاه ترين مسير به " پو كارست  "

ارزش يكسان جستجو بيشتر با هزينه راه هدايت مي شود تا عمق ها . بنابراين تكامل پيچيدگي آن نمي تواند به آساني توصيف اختصاصي كند در سطوح   A وB  در عوض اجازه دهيد كه C هزينه راه حل بهينه باشد  و فرض شود كه هر عمل حداقل شامل هزينه E ‌ مي شود . سپس زمان مورد بر الگوريتم و فضاي پيچيدگي O مي باشد    [b [c^x/e]]كه مي تواند خيلي بزرگتر از b^d باشد . اين بخاطر اين است كه ارزش و هزينه يكسان جستجو مي تواند و اغلب انجام مي دهد . كشف درخت هاي بزرگ از هر مرحله كوچك را بنابراين كشف راه ها شامل بزرگ مي باشد و شايد مرحله هاي مورد استفاده و مفيد .زمانيكه هزينه همه مرحله ها مساوي است البته b[c^x/e]  فقط b^d مي باشد .

عمق و عرض اولين جستجو :

عمق و عرض اولين جستجو هميشه گسترش مي دهد همينقدر ندها را در ريشه جاري اولين درخت جستجو . پيشرفت جستجو در شكل 3.12 به تصوير كشيده شده است . جستجو اقدام مي كند  فوراً عميقترين سطوح درخت جستجو جائيكه ند ها هيچ جانشيني ندارند . همانطور كه آن ند ها در حال گسترش مي باشند آنها از ريشه گذاري  جا مي مانند . بنابراين سپس جستجو برگشت مي كند و پشتيباني مي كند به ند بعدي كه هنوز جانشين كشف نشده اي دارد .

اين استراژدي مي تواند انجام شود توسط درخت جستجو با  يك نمايش آخر- در- اول –خارج(LIFO) همچنين به عنوان يك استك خمانطور كه يك پيشنهاد به درخت جستجو كامل نمي كند ،‌آن رايج است به انجام دادن عمق  اولين  جستجو با يك بازگشتي عملكرد كه خودش ناميده مي شود روي هر يك از بچه ها به نوبت .

عمق اولين جستجو يك حافظه خيلي فروتني دارد . احتياج به ذخيره فقط يك راه ساده از ريشه يك ند برگي . همراه با ند هاي هم نشود باقيمانده براي جستجوي ند در راه – زمانيكه يك ند كشف شده است ،  آن مي تواند از ميان بر داشته شود از حافظه به محض اينكه نسل ها بطور كامل گسترش يافته باشند – ( شكل 3.12  ) براي يك فضاي واحد با عامل شاخه اي B  و حداكثر عمق M  عمق اولين جستجو نياز به ذخيره سازي ند BM+1 دارد . استفاده كردن از همان فرضيه در شكل 3.11 و فرض اينكه ند ها در عمق يكساني قرار دارند بعنوان اينكه ند نهائي هيچ جانشيني ندارد و ما متوجه مي شويم كه عمق اولين جستجو مورد نياز واقع مي شده 118 كيلو بايت بجاي 10 پتا بايت در عمق D=12 يك عامل از 10 بيليون دفعه فضاي كمتر .

شكل 3.12 : عمق اولين جستجو روي يك درخت باينري ند هائي كه گسترش يافته اند و هيچ نسلي ندارند در ريشه گذاري مي تواند از حافظه حذف شود . اينها با ند هاي سياه نشان داده شده اند . ند هاي در عمق 3 فرض مي شوند به نداشتن هيچ جانشيني و AF‌ فقط ند نهائي است .

يك تنوع و گوناگوني عمق اولين جستجو جستجوي " بك تركينگ " ناميده مي شود كه هنوز حافظه كمي استفاده مي كند . در اين سيستم فقط يك جانشين عموميت داده مي شود در يك زمان از همه جانشين ها هر چند ند گسترش يافته است كه  جانشين عمومي بعدي مي باشد . در اين روش فقط حافظه O(M) مورد نياز است در عوض O( BM ) . جستجو بك تركينگ آسان مي كند يك حافظه ديگري را .

درا بك عمق اولين جستجو آنست كه مي تواند يك انتخاب اشتباه كند و يك مسير طولاني را در پيش بگيرد زمانيكه انتخاب متفاوت وجود دارد براي حل . ريشه درخت جستجو اگر ند J ‌ يك ند نهائي بود ،‌ سپس عمق جستجوي اولين بر مي گرداند آن را بعنوان اولين راه حل . از اين جهت كه عمق اولين جستجو بهينه نيست .

پازل شماره 8 ، مربوط به پازل هاي بلوكي متحرك مي شود . پس اغلب به خاطر مشكلات تستي براي جستجوي جديد الگوريتم در A1 ، استفاده مي شوند . اين كلاس عمومي به كامل بودن NP  ، مشهور است . بنابراين براي يافتن روشهاي قابل توجهي بهتر در بدترين نمونه از جستجوي الگوريتم هاي توصيف شده در اين بخش و متن انتظار نمي رود .

پازل شماره 8  ،   440،181=!9  ، به بخشها دسترسي دارد و به آساني حل مي شود . پازل شماره 15 ( در يك صفحه 4×4 ) حدود 103 تريليون بخش دارد و موارد اتفاقي ميتواند حل شود به صورت بهتر در صدم هاي ثانيه بوسيله بهترين جستجوي الگوريتمي . پازل شماره 24 ( روي صفحه 5×5 ) حدود 1025 بخش دارد و موارد اتفاقي  هنوز خيلي مشكل است  براي بهتر حل كردن ماشين ها و الگوريتم هاي اخير و در جريان .

هدف مشكل 8 ملكه ، جاي دادن 8 ملكه روي يك صفحه شطرنج مي باشد . به طوري كه هيچ ملكه اي به ديگري حمله نكند . ( يك ملكه به هر بخش در هر رديف . بخش و شماره مشابه حمله مي كند ) شكل 5-3 يك راه حل سع شده نشان مي دهد ، كه مردود شد . ملكه در راست ترين بخش توسط ملكه اي كه در بالاترين قسمت چپ قرار دارد ، مورد حمله قرار مي گيرد .

اگر چه بخصوص كافي الگوريتم باقي مي ماند براي اين مشكل و همه ي خانواده ملكه ها ،‌ بعنوان يك مشكل تستي جالب براي جستجوي الگوريتم . 2 نوع اصلي فرمول وجد دارد . يك فرمول افزايشي پس عمل كننده ها در مي گيريد و هر حركت و عمل اضافي مي كند يك ملكه به بخش . دوم فرمول بخش كامل . با 8 ملكه شروع مي شود روي صفحه و آنها را به اطراف حركت مي دهد . در همان مورد ، هزينه ي راه جالب نيست . چونكه بخش پاياني به حساب مي آيد . اولين فرمول افزايشي پس يكي بايد امتحان و اجرا كند . شامل موارد زير مي شود :

1-              بخش ها : هر ترتيب و تركيب ملكه ها  از 0 تا 8 عدد روي صفحه را يك بخش است .

2-              بخش ها ابتدائي : هيچ ملكه اي روي صفحه نيست .

3-              عملكردهاي جانشيني : به هر خانه يك ملكه  اضافه مي كنيم .

4-              تست نهائي : 8 ملكه  روي صفحه  قرار دارد و هيچ حمله اي در كار نيست .

عملكردهاي نهائي : اين به بخش هاي مجاز عموميت مي بخشد .پس نتيجه اي است از انجام 4  عملكرد ( حركتهاي خالي به چپ و راست ، بالا و پائين )

تست نهائي : اين بخش چك مي كند پس آيا بخش مطابقت مي كند با وضعيت نشان داده شده در شكل شماره 3.4 ( هدف هاي ديگر ممكن مي باشد  )

هزينه راه : هر بخش يك هزينه دارد ، بنابراين هزينه راه ، تعداد بخش ها در راه مي باشد .

چه مواردي ما در اينجا در بر داشته ايم ؟ عملكرد خلاصه شده ، به شروع آنها و بخش نهائي . ناديده شدن مكان هاي مياني ، جائي كه بلوك متحرك است . ما  خلاصه كرده ايم عملكردهائي را مثل لرزش صفحه ،‌ زمانيكه تكه ها نصب شده اند يا بيرون كشيدن تكه ها را با چاقو و آنها را دوباره برگرداندند . ما با يك توصيف از قانون هاي پازلي باقي مانده ايم . با اجتناب كردن از انجام هاي مهارتي فيزيكي .

 

 

 

ایجاد شبکه های عصبی در نرم افزار متلب

به طور كلي در نرم‌افزار MATLAB به سه روش مي‌توان شبكه‌هاي عصبي را ايجاد كرد:

1.       كدنويسي

2.       استفاده از سيستم‌هاي بلوكي(Simulink)

3.       استفاده از محيط گرافيكي(GUI)

در اين نوشتار قصد دارم نحوه‌ي استفاده از GUI در جعبه‌ابزار شبكه عصبي را به دوستان معرفي كنم البته به دوستان توصيه مي‌كنم كه ابتدا با كدنويسي آشنا شوند زيرا ممكن است درجايي مجبور به نوشتن كد باشند مگر كساني كه شبكه عصبي، درس تخصصي آنها نبوده و فقط براي انجام قسمتي از پروژه‌شان مي‌خواهند از شبكه‌هاي عصبي استفاده كنند كه استفاده از GUI در اين مورد بسيار ساده و سريع است.

براي شروع nntool را در خط فرمان تايپ و اينتر كنيد و يا از مسير Start >> Toolboxes >> Neural Network >> Neural Network Tool استفاده كنيد پنجره‌اي مانند شكل زير مشاهده مي‌كنيد:

 

 

براي ايجاد يك شبكه جديد، روي دگمه New كليك كنيد همان‌طور كه مشاهده مي‌شود، ‌پنجره‌اي باز مي‌شود كه مي‌توانيد در آن پارامترهاي شبكه‌ي مورد نظرتان را وارد كنيد:

 

در تب Network شما مي‌توانيد تنظيمات مربوط به شبكه عصبي مورد نظرتان را وارد كنيد و در زبانه دوم يعني Data شما داده‌هاي خود را وارد مي‌كنيد. حالا براي مثال اول مي‌خواهيم با يك تك پرسپترون، گيت NAND دو ورودي را پياده‌سازي كنيم ابتدا نام شبكه مورد نظر را در قسمت Name وارد كنيد من نام NAND را وارد مي‌كنم سپس در قسمت Network Type نوع شبكه را Perceptron انتخاب كنيد پس از آن به تب Data رفته و در قسمت Name نام p و در قسمت Value مقدار [1 0 1 0;1 1 0 0] و در Data Type حالت Inputs را انتخاب كرده و به روي Create كليك كنيد ديالوگي مبني بر ذخيره ديتا مشاهده مي‌‌كنيد آن را Ok كنيد سپس براي ذخيره‌ي داده‌هاي تارگت مشابه حالت قبل عمل كنيد يعني در قسمت Name نام t و در قسمت Value مقدار [0 1 1 1] و در Data Type حالت Targets را انتخاب كرده و به روي Create كليك كنيد ديالوگ مشاهده شده را Ok كنيد. به تب Network بازگشته و داده‌هاي ورودي و تارگت را از منوي مقابلشان انتخاب كنيد براي ديدن ساختار شبكه، بر دگمه View كليك كنيد بصورت زير:

 

همان‌طور كه مي‌بينيد از تابع محدود كننده سخت نامتقارن استفاده كرده‌ايم تا خروجي‌هاي ما صفر يا يك شوند حالا براي ايجاد شبكه، Create را كليك، و ديالوگ پس از آن را Ok كنيد به پنجره اصلي بازگشته و در قسمت Networks به روي NAND كليك كرده و Open را بزنيد در پنجره باز شده به تب Train رفته و مقادير ورودي و تارگت را وارد كرده و براي شروع آموزش Train Network را بفشاريد همان‌طور كه مشاهده مي‌كنيد به پرفورمانس صفر رسيده‌ايم(اتفاقي كه در هيچكدام از مسائل واقعي كه ما با آن سروكار داريم، هرگز رخ نخواهد داد!) كه دليلش را هم احتمالا مي‌دانيد حال به پنجره اصلي بازگشته و مقادير خروجي و خطا را به ازاي داده‌هاي آموزشي مشاهده كنيد كه البته از پرفورمانس صفر مي‌توان حدس زد كه چه مقاديري به دست آمده است.

اكنون اگر بوسيله‌ي همين روش تابع XOR را پياده‌سازي كنيد نتايج وحشتناكي خواهيد گرفت.

براي مثال دوم مي‌خواهيم تابع سينوس را بوسيله‌ي يك شبكه عصبي MLP ، تقريب بزنيم براي اين منظور در پنجره مديريت شبكه و ديتا، New را كليك  كرده و مانند شكل زير عمل  كنيد:

 

شبكه را دو لايه قرار داده‌ايم كه در لايه اول ده نرون با تابع تبديل تانژانت سيگموئيد و لايه دوم كه همان لايه خروجي است را تابع تبديل خطي داده‌ايم(نرون‌هاي لايه خروجي برابر تعداد خروجي‌هاي شبكه مي‌باشد كه در اين مثال برابر يك است.)

البته من يادم رفت كه نحوه‌ي ايجاد داده‌ها را به شما بگم در اينجا ديگر نمي‌توانيد از روش قبل براي ايجاد داده‌هاي خود استفاده كنيد و بايد ديتا را يا از يك فايل mat بگيريد و يا از فضاي كاري متلب. دستورات زير را در خط فرمان تايپ و اينتر كنيد:

;p=0:0.1:4*pi

;(t=sin(p

به پنجره‌ي اصلي بازگشته و Import را كليك كنيد سپس داده‌هاي p و t را به ترتيب عنوان داده‌هاي ورودي و تارگت، Import كرده و سپس Close كنيد.

حال به پنجره‌ي تنظيمات بازگشته و داده‌هاي ورودي و تارگت را وارد كرده و شبكه را ايجاد كنيد. شبكه‌اي را كه با نام Sin ذخيره كرده‌ايد، باز كنيد و به تب Train برويد و پس از وارد كردن داده‌هاي ورودي و تارگت، به تب Training Parameters برويد همانطور كه ملاحظه مي‌كنيد در اينجا مي‌توانيد پارامترهاي زيادي را تغيير دهيد مثلا ممكن است در مساله‌اي خاص، پرفورمانسي برابر 0.001 كافي باشد كه مي‌توانيد در قسمت goal آن عدد را وارد كنيد و نيز تنظيمات ديگري از جمله زمان، تعداد مراحل آموزش و ...

 

 

 

مقادير را پيش‌فرض قرار داده و شبكه را آموزش دهيد:

 

 

اگر به مقاديري غير از آنچه در بالا آمده، رسيده‌ايد، تعجب نكنيد.

در تب View/Edit Weights مي‌توانيد تمام وزن‌ها و باياس‌ها را مشاهده كنيد به پنجره‌ي اصلي بازگرديد و Export را كليك كرده و شبكه و نيز داده‌هاي خروجي و خطا را به فضاي كاري متلب انتقال دهيد و كدهاي زير را اجرا كنيد:

(subplot(2,1,1

;(y1=sim(Sin,p

('plot(p,t,p,y1,'m

;([xlim([0 4*pi]);ylim([-1 1

;('(title('Network Output (Training Data

(subplot(2,1,2

;x=0:0.001:4*pi

;(y2=sim(Sin,x

('plot(x,sin(x),x,y2,'m

;([xlim([0 4*pi]);ylim([-1 1

;('(title('Network Output (Test Data

همان‌طوري كه مشاهده مي‌شود شبكه با ده نرون به خوبي آموزش ديده و براي داده‌هاي تست نيز خروجي مناسبي داريم.

(توجه كنيد كه در شكل، منحني‌هاي خروجي و تارگت روي هم افتاده‌اند)

 نكته: توجه كنيد كه تابع سينوس يكي از ساده‌ترين توابع است و آن را مي‌توانيد با تعداد نرون‌هاي كمتري(حتي دو سه نرون) با تقريب نسبتا خوبي پياده‌سازي كنيد. درواقع بسته به خودتان است كه چه ميزان دقت مورد نياز شماست. يكي از توابع سخت براي پياده‌سازي، تابع مربعي مي‌باشد كه دليل آن تغييرات شديد در لبه‌هاي بالارونده و پائين‌رونده‌ي آن است به عبارتي ديگر اگر شما مي‌خواهيد دو تابع سينوسي و مربعي را با دقت يكساني تقريب بزنيد، شما مجبور هستيد تا شبكه‌ي بزرگتري را براي تابع مربعي درنظر بگيريد اين تابع را خودتان پياده‌سازي كنيد تا درك بهتري از شبكه عصبي داشته باشيد.

برنامه نویسی منطقی در Prolog




در دهه 1970 يك الگوي ديگر براي محاسبات نمادين در برنامه‌نويسي هوش مصنوعی از موفقيت در زمينه اثبات قضيه خودكار ارئه شد. حل رويه اثبات بطور قابل توجهي توسط رابينسون (1965) توسعه يافته كه كه با منطق رسمي نشان داده شده است، در محاسبات گزاره‌اي خاص مي‌‌توان بعنوان نمادي براي تعيين الگوريتم‌ها و بنابراين براي انجام محاسبات نمادين استفاده شود. در اوايل (دهه 1970)
Prolog ، مخفف(برنامه‌نويسي در منطق) اولين زبان‌‌ برنامه‌‌نويسي بر مبناي منطق پديدار شد. آن توسط آلن كالمرار، رابرت كووا لسكي و فيليپ راسل توسعه يافته است. اساس Prolog شامل يك روش براي مشخص كردن گزاره‌هاي محاسبات گزاره‌اي و تصميات محدود است. برنامه‌‌نوسي در Prolog شامل مشخصات حقيقي در مورد اشياء و ارتباط آنها و قوانيني كه ارتباطات را مشخص مي‌كند، است. برنامه‌هاي Prolog مجموعه‌اي از جملات اعلاني در مورد يك مسئله هستند زيرا آنها نحوه محاسبه نتيجه را مشخص نمي‌‌‌كند.بلكه ساختار منطقي نتيجه را مشخص مي‌‌كنند Prolog با برنامه‌نويسي دستوري و حتي برنامه‌‌نويسي تابعي در تعريف نحوه محاسبه نتيجه كاملاً متفاوت است. با استفاده از Prolog برنامه‌نويسي مي‌تواند در يك سطح خيلي خلاصه و كاملاً نزديك به مشخصات رسمي يك مسئله انجام مي‌‌گيرد. Prolog هنوز هم مهمترين زبان برنامه‌نوسي منطقي است. تعدادي از سيستمهاي برنامه‌نوسي تجاري در بازار موجود است كه شامل ماجولهاي مدرن برنامه‌‌‌نويسي هستند، يعني كامپايلر، Debugger و ابزارهاي تجسم. Prolog در تعدادي از زمينه‌هاي هوش مصنوعی مانند سيستم‌هاي خبره و پردازش زبان طبيعي بطور موفقيت‌آميزي استفاده شده است. اما در زمينه‌هاي ديگري مانند سيستم‌ هاي مديريت پايگاه داده رابطه‌اي يا در آموزش نيز استفاده مي‌شود. يك برنامه Prolog بسيار ساده برنامه‌اي است كه شامل دو حقيقت و يك قاعده است.

الگوي تهيه مقالات براي هجدهمین كنفرانس ملی سالانه انجمن كامپيوتر ايران

نام و نام‌خانوادگي نويسنده اول1، نام و نام‌خانوادگي نويسنده دوم2، نام و نام‌خانوادگي نويسنده سوم3

 

1 رتبه علمی نويسنده در صورت تمايل، گروه آموزشی يا واحد سازمانی مربوطه، نام سازمان، شهر،

آدرس پست الکترونيکی

 

2 رتبه علمی نويسنده در صورت تمايل، گروه آموزشی يا واحد سازمانی مربوطه، نام سازمان، شهر

آدرس پست الکترونيکی

 

3 رتبه علمی نويسنده در صورت تمايل، گروه آموزشی يا واحد سازمانی مربوطه، نام سازمان، شهر

آدرس پست الکترونيکی

 

چكيده

در اين مقاله، شيوه تهيه يك مقاله براي هفدهمين كنفرانس ملي سالانه انجمن كامپيوتر ايران تشريح مي‌شود. روش قالب‌بندي مقاله، بخش‌هاي مختلف آن، انواع قلم‌ها و اندازه آنها، به طور كامل مشخص شده است. كلية سبك (Style)هاي مورد نياز براي بخش‌هاي مختلف مقاله، از جمله عنوان‌ها، نويسندگان، چكيده، متن، و ... از پيش تعريف شده‌اند و تنها كافي است سبك مورد نظر را براي بخشي از مقاله انتخاب كنيد. نويسندگان محترم مقالات بايد توجه داشته باشند، كنفرانس از پذيرش مقالاتي كه خارج از اين چارچوب تهيه شده باشند، معذور است.

چكيده مقاله بايد در يك يا دو بند (پاراگراف) تهيه شود و حداكثر شامل 200 كلمه باشد. چكيده بايد بطور صريح و شفاف موضوع پژوهش و نتايج آن را مطرح كند؛ يعني بيان كند چه كاري، چگونه، و براي چه هدفي انجام و چه نتايجي حاصل شده است. در چكيده از ذكر جزييات كار، شكل‌ها، جدول­ها، فرمول‌ها، و مراجع‌ پرهيز كنيد.

كلمات كليدي

حداكثر 7 كلمه بعنوان كلمات كليدي انتخاب شود. اين كلمات بايد موضوعات اصلي و فرعي مقاله را نشان دهند.

 


1- مقدمه

اين نوشتار روش آماده كردن مقالات هفدهمين كنفرانس ملي سالانه انجمن كامپيوتر ايران را نشان مي‌دهد. براي نگارش مقاله از نرم‌افزار Microsoft Office Word 2007 يا نگارش‌هاي بعدي آن استفاده كنيد. نكته مهمي كه بايد مورد توجه قرار گيرد اين است كه تمام سبك (Style)هاي مورد نياز براي كليه قسمت‌هاي مقاله در اين سند تعريف شده‌اند و تنها لازم است سبك مناسب را براي هر بخش انتخاب كنيد. براي تهيه مقاله به موارد زير توجه كنيد:

·         اندازه صفحات A4 و حاشيه‌هاي بالا، پايين، چپ، و راست هر صفحه به ترتيب برابر با 5/2، 5/2، 2، و 2 سانتي‌متر انتخاب شود.

·         تعداد صفحات مقاله مي‌تواند حداكثر 6 صفحه باشد.

·         مقالات بايد به صورت دو ستوني تهيه شود. عرض هر ستون برابر 2/8 سانتي‌متر و فاصله بين دو ستون 6/0 سانتي‌متر است.

·     اندازه و نوع قلم‌هاي پارسي مورد استفاده براي هر يك از بخش‌هاي مقاله در جدول (1) آورده شده است. براي قلم لاتين همواره از Times New Roman استفاده كنيد. اندازه قلم لاتين يك واحد كمتر از اندازه قلم پارسي در هر موقعيت است. براي اسامي متغيرها مي‌توان از قلم كج (Italic) استفاده كرد.

·     صفحه اول مقاله بايد كاملاً مشابه صفحه اول اين مقاله باشد. در صفحه اول از نوشتن ساير موارد خودداري كنيد. همچنين تمام موارد صفحه اول بايد در همان صفحه آماده و نوشته شوند.

·         جز در صفحه اول مقاله، هيچ زيرنويسي[1] وجود ندارد. بجاي آن بايد از آخرنويس[2] استفاده كنيد.

·         از شماره‌گذاري صفحات و بكاربردن سرصفحه[3] و پاصفحه[4] خودداري كنيد.

·         فراموش نكنيد كه اطلاعات بخش مالكيت (Property) سند را بطور كامل پر كنيد.

جدول (1 ) : اندازه و نوع قلم‌ها

اندازه قلم

نام قلم

موقعيت استفاده

18

بی نازنين پررنگ

عنوان مقاله

12

بی نازنين

نام نويسندگان

14

بی نازنين پررنگ

عناوين بخش‌هاي سطح 1

13

بی نازنين پررنگ

عناوين بخش‌هاي سطح 2

12

بی نازنين پررنگ

عناوين بخش‌هاي سطح 3

11

بی نازنين پررنگ

متن چكيده و كلمات كليدي

10

بی نازنين

زيرنويس و آخرنويس

10

بی نازنين پررنگ

عناوين شكل‌ها و جدول­ها

9

بی نازنين

متن شكل‌ها و جدول­ها

11

بی نازنين

فرمول­ها

10

بی نازنين

مراجع

11

بی نازنين

متن مقاله

2- تقسيمات مقاله

هر مقاله بايد شامل اين بخش‌هاي اصلي باشد: چكيده، كلمات كليدي، مقدمه، مطالب اصلي، نتيجه، و مراجع. ساير بخش‌ها مثل سپاسگزاري، ضمايم، و زيرنويس‌ها اختياري است. اين بخش‌ها بايد در آخر مقاله و قبل از مراجع قرار گيرند، بجز بخش زير‌نويس‌ها كه پس از مراجع آورده مي‌شود.

شماره‌گذاري بخش‌ها از مقدمه شروع مي‌شود. مقدمه داراي شماره 1 است. آخرين شماره نيز مربوط به بخش نتيجه است. ساير بخش‌هاي قبل از مقدمه و پس از نتيجه، داراي شماره نيستند. هر بخش مي‌تواند شامل چند زيربخش باشد. زيربخش‌ها نيز داراي شماره هستند كه از 1 شروع مي‌شود. هنگام شماره‌گذاري زيربخش‌ها دقت كنيد كه شماره بخش در سمت راست قرار گيرد. مثلاً براي شماره‌گذاري زيربخش 3 از بخش 2 بنويسيد: 2-3. براي نوشتن عنوانِ يك بخش از سبك Heading 1، و اگر بخش داراي شماره نيست از سبك Heading 0 استفاده كنيد. عنوان زيربخش‌ها (سطح 2) با سبك Heading 2 نوشته شوند. براي سطح 3 نيز از سبك Heading 3 استفاده كنيد. معمولاً نيازي به زيربخش‌هاي سطوح بعدي وجود ندارد، با اين حال اگر وجود داشت، آن زيربخش‌ها را بدون شماره و تنها بصورت متن پررنگ بنويسيد.

در هر بخش يا زيربخش يك يا چند بند (پاراگراف) وجود دارد. دقت شود كه جملات هر بند زنجيروار به هم مربوط باشند و يك موضوع را دنبال كنند. اولين بند هر بخش يا زيربخش بدون تورفتگي (Intend) است. براي نوشتن اولين بند، از سبك Text1 استفاده كنيد. ساير بندها داراي تورفتگي به اندازه 5/0 سانتي‌متر است كه براي نوشتن آنها بايد سبك Text را انتخاب كنيد. سعي كنيد از نوشتن بندهاي طولاني پرهيز كنيد. يك بند حداكثر مي‌تواند 10 تا 15 سطر را از يك ستون، به خود اختصاص دهد.

2-1- ويژگي­هاي عنوان و نويسندگان مقاله

عنوان مقاله در عين كوتاهي بايد تمام ويژگي‌هاي كار پژوهشي را نشان دهد. عنوان مقاله را در يك يا دو سطر و با سبك Title بنويسيد. در صورتي كه عنوان مقاله شما دو سطري است، دقت كنيد كه طول سطر دوم نبايد بيشتر از طول سطر اول باشد.

پس از عنوان مقاله بايد نام نويسندگان مقاله نوشته شوند. در هنگام نوشتن نام نويسندگان از ذكر عناويني مثل استاد، دكتر، مهندس، و ... خودداري كنيد. براي نوشتن نام نويسندگان از سبك Author استفاده كنيد. در صورت تمايل مي‌توانيد سِمت يا مرتبه علمي هر نويسنده را به شكل زيرنويس تهيه كنيد. همچنين نام دانشگاه يا محل اشتغال نويسنده به همراه نشاني، تلفن تماس، و آدرس پست الكترونيكي مي‌توانند ذكر شوند.

2-2- ويژگي­هاي چكيده و كلمات كليدي

چكيده مقاله بايد بطور صريح موضوع و نتايج كار پژوهشي انجام شده را بيان كند. در چكيده تنها بايد به اصل موضوع مقاله توجه شود و در آن از ذكر جزييات كار، شكل‌ها، جدول­ها، فرمول­ها، و مراجع خودداري شود. چكيده را حداكثر در 200 كلمه و در يك يا دو بند (پاراگراف) تهيه كنيد. عنوان چكيده بايد با سبك Heading 0 نوشته شود. براي نوشتن متن چكيده از سبك Abstract استفاده كنيد. در صورتي كه چكيده داراي بند دوم است، آن را با سبك Abstract2 بنويسيد.

براي هر مقاله حداكثر 10 كلمه كليدي انتخاب كنيد، و آنها را با ويرگول از هم جدا كنيد. اين كلمات بايد موضوعات اصلي و فرعي مقاله را دسته‌بندي كنند. كلمات كليدي را به ترتيب وابستگي مقاله به آنها بنويسيد؛ يعني كلماتي كه مرتبط‌تر هستند، اول نوشته شوند. اگر از مختصر‌نويسي در چكيده يا كلمات كليدي استفاده شده است، بايد شكل كامل آن در داخل يك جفت هلالين (پرانتز) آورده شود.

2-3- ويژگي­هاي مقدمه

در بخش مقدمه ابتدا بايد كليات موضوع پژوهش عنوان شود. سپس تاريخچه‌اي از كارهاي مشابه انجام شده به همراه ويژگي‌هاي هر يك بيان شود. در ادامه مقدمه‌اي از تلاش انجام گرفته در مقاله براي حل كاستي‌هاي موجود ذكر شود.

مقدمه داراي شماره 1 است و از ابتداي صفحه دوم شروع مي‌شود. براي نوشتن عنوانِ بخش مقدمه از سبك Heading 1 استفاده كنيد.

2-4- ويژگي­هاي مطالب اصلي

پس از بخش مقدمه بايد مطالب اصلي مقاله طي چند بخش نوشته شود. اين بخش‌ها بايد شامل تعريف مفاهيم اوليه مورد نياز، طرح مسأله، و راه‌حل پيشنهادي باشند. در نوشتن مطالب اصلي مقاله دقت شود كه تنها به موضوع اصلي مقاله پرداخته شود تا ذهن خواننده از انحراف به سمت مطالب جانبي مصون بماند. همچنين سعي شود مطالب اصلي مقاله بصورت سلسله مراتبي و زنجيروار به هم مربوط باشند.

بخش‌هاي مطالب اصلي مقاله از شماره 2 شروع مي‌شوند. بخش‌هاي بعدي نيز به ترتيب شماره­گذاري مي‌شوند. براي نوشتن عنوان بخش‌هاي اصلي از سبك Heading 1 استفاده كنيد.

2-5- ويژگي­هاي نتيجه

در بخش نتيجه، نكات مهم انجام شده در كار بصورت خلاصه مرور و نتايج به دست آمده توضيح داده شوند. همچنين در اين بخش بايد سهم علمي مقاله (Contribution) بصورت واضح بيان شود. هرگز عين مطالب چكيده را در اين بخش تكرار نكنيد. نتيجه می‏‌تواند به کاربردهای پژوهش انجام شده اشاره کند؛ نکات مبهم و قابل پژوهش جديد را مطرح کند؛ ويا گسترش موضوع بحث را به زمينه‏‌های ديگر پيشنهاد دهد. براي نوشتن عنوانِ بخش چكيده از سبك Heading 1 استفاده كنيد.

2-6- ويژگي­هاي مراجع

بخش مراجع در انتهاي مقاله قرار مي‌گيرد و عنوان آن داراي شماره نيست. در نوشتن مراجع ابتدا مراجع پارسي و بعد مراجع انگليسي را ذكر كنيد. ترتيب نوشتن مراجع نيز بر اين اساس باشد: (1) كتاب‌ها، (2) پايان‌نامه‌ها و طرح‌هاي پژوهشي، (3) مقالات مندرج در مجلات و كنفرانس‌هاي علمي معتبر، و (4) ساير مقالات و منابع اينترنتي. تمام مراجع حتماً بايد در متن مقاله مورد ارجاع واقع شده باشند.

عنوان بخشِ مراجع را با سبك Heading 0 بنويسيد. براي نوشتن مراجع به زبان پارسي از سبك REF و براي مراجع به زبان انگليسي از سبك EN_REF استفاده كنيد. عنوان كتاب، پايان‌نامه، يا مقاله به زبان پارسي را بصورت پررنگ بنويسيد. براي عناوين مراجع انگليسي نيز از قلم كج (Italic) استفاده كنيد. نحوه نوشتن مراجع در بخش مراجع اين مقاله عنوان شده است.

براي ارجاع به يك مرجع تنها از شماره آن در داخل يك جفت قلاب استفاده كنيد ]1[. مراجع انگليسي را با شماره انگليسي ارجاع دهيد [6]. نيازي به ذكر كلمه «مرجع» نيست، مگر آن كه جمله با اين عبارت شروع شود: «مرجع ]1[ ...». براي ارجاع به چند مرجع از ويرگول استفاده كنيد ]2,1[. اگر تعداد مراجع زياد است از خط تيره استفاده كنيد ]5-1[. مراجعي كه در انتهاي جمله مي‌آيند قبل از نقطه قرار مي‌گيرند.

3- قواعد نوشتاري

شيوايي و رسايي نوشتار در گرو ساده­نويسي است. تلاش شود در متن مقاله از جملات رسا، گويا، و كوتاه استفاده شود و از نوشتن جملات تودرتو پرهيز شود. به اين جمله دقت كنيد: «آهنگي كه شما از فروشگاه iTune دريافت مي‌كنيد توسط قالب DRM اپل كه يك قالب فايل AAC انحصاري و محافظت شده است كه اپل مجوز استفاده از آن را به هيچ كس نمي‌دهد، محافظت مي‌شود». اين جمله در واقع از سبك نگارش زبان انگليسي پيروي مي‌كند و به هيچ وجه براي جملات پارسي مناسب نيست. به راحتي مي‌توان اين جمله را به اين صورت بازنويسي كرد: «آهنگي كه شما از فروشگاه iTune دريافت مي‌كنيد توسط قالب DRM اپل محافظت مي‌شود. اين قالب يك قالب فايل AAC انحصاري و محافظت شده است، و اپل مجوز استفاده از آن را به هيچ كس نمي‌دهد».

جداسازي اجزاي مختلف يك جمله نيز نقش زيادي در فهم آسان آن دارد. ويرگول مي­تواند اجزای يک جمله را در جايی که نياز به مکث هست، ازهم جدا کند؛ حال آن که نقطه ويرگول برای جداسازی دوجمله که با هم ارتباط معنايی دارند، بکار مي­رود. نقطه نيز براي جدا كردن جملات مورد استفاده قرار مي­گيرد. درکاربرد هلالين (پرانتز) بايد توجه شود که عبارت داخل آن براي توضيحي است که از اجزای جمله محسوب نشده و درصورت حذف خللي به آن وارد نمي­شود. در مقابل، گيومه برای برجسته کردن جزيي از جمله بکار مي­رود.

تا جاي ممكن از بكار بردن كلماتي مثل «مي­باشد»، «گرديد»، و «بوده باشد» پرهيز شود. به جاي آنها اغلب مي‌توان از كلمات ساده و روان مثل «است» و «شد» استفاده كرد. بكارگيري كلمات دشوار و غيرمعمول تنها باعث پيچيده شدن جمله و دشوار شدن فهم آن مي‌شود.

نشانه مفعول (حرف «را») بايد بلافاصله پس از مفعول قرار گيرد. به اين جمله دقت كنيد: «اين شكل تنظيمات لازم براي صفحه‌بندي را نشان مي‌دهد». بهتر است اين جمله را بصورت زير بازنويسي كنيم: «اين شكل تنظيمات لازم را براي صفحه‌بندي نشان مي‌دهد».

براي كلمات فني تا حد امكان از معادل‌هاي پارسي استفاده شود. بدون ترديد كلمه «پردازش» زيباتر از «پروسس» است، و يا كلمه «ريزپردازنده» از «ميكروپروسسور» مناسب‌تر است. در چنين مواقعي اگر احتمال مي‌دهيد خواننده با معادل پارسي آشنا نيست، از آخرنويس براي نوشتن معادل انگليسي استفاده كنيد. اين كار را در اولين كاربرد معادل‌هاي پارسي انجام دهيد.

تا حد امكان از كلمات انگليسي در جملات استفاده نكنيد. مثلاٌ بجاي نوشتن Microsoft مي­توانيد بنويسيد: «ميكروسافت». اگر ناچار شديد در يك جمله از كلمات انگليسي استفاده كنيد، حتماً فاصله كافي بين آنها و كلمات پارسي را رعايت كنيد.

3-1- علامت‌گذاري

براي خوانايي بهتر مقاله بايد سعي شود تا حد امكان علامت­گذاري متن مقاله بدرستي انجام شود. دقت كنيد تمام علامت‌هايي مثل نقطه، ويرگول، نقطه ويرگول، دونقطه، و علامت سوال بايد به كلمه قبل از خود چسبيده باشند، و از كلمه بعدي تنها به اندازه يك فضاي خالي فاصله داشته باشند. علامت خط تيره بايد به اندازه يك فضاي خالي از كلمه قبل و بعد از خود فاصله داشته باشد؛ مگر اين كه كلمه قبلي يا بعدي يك عدد باشد، كه در اين صورت بايد به آن بچسبد. بين كلماتي كه جدا هستند بايد يك فضاي خالي فاصله باشد.

3-2- املا

درستي نوشتار بر پاية املاي زبان پارسي ضروري است. در اين بخش برخي از موارد اشتباه متداول را يادآوري مي‌كنيم. مي‌توانيد اطلاعات دقيق‌تر را با مراجعه به كتاب­هاي نوشته شده در اين زمينه پيدا كنيد.

در افعال حال و گذشته استمراري بايد دقت شود كه «مي» از جزء بعدي فعل جدا نماند. براي اين منظور از «فاصله متصل» استفاده كنيد. براي نوشتن فاصله متصل از «كليد Ctrl» به همراه «كليد -» استفاده كنيد. همچنين دقت كنيد كه جزء «مي» و جزء بعدي فعل را بصورت يكپارچه ننويسيد. بنابراين «مي شود» و «ميشود» اشتباه، و درست آن «مي­شود» است.

در مورد «ها»ي جمع نيز دقت كنيد كه از كلمه جمع بسته شده جدا نوشته شود؛ مگر در كلمات تك هجايي مثل «آنها». براي جدانويسي نيز از فاصله متصل استفاده كنيد. مثلاٌ «پردازنده ها» را بصورت «پردازنده‌­ها» بنويسيد.

جمع بستن كلمات پارسي يا لاتين با قواعد زبان عربي اشتباه است. بنابراين «پيشنهادات» و «اساتيد» اشتباه و درست آنها «پيشنهادها» و «استادان» است.

بهتر است همواره حرف اضافه «به» از کلمه بعدی خود جدا نوشته شود، مگر آن که اين حرف جزء يک فعل يا صفت يا قيد باشد؛ مانند: «بکار بستن»، «بجا» و «بندرت».

در مورد کلمات حاوی همزه قواعدی وجود دارد که پرداختن به آنها دراين مقاله نمي­گنجد، اما برای نمونه به املای کلمات «مسأله»، «منشأ»، «رئيس»، و «مسؤول» دقت كنيد. همچنين، همزه در انتهای کلماتی که به الف ختم مي­شوند، نوشته نمي­شود و درصورت اضافه شدن به کلمه بعدی، از «ی» استفاده مي­شود: «اجرا شده»، و «اجراي برنامه».

4- شكل‌ها و جدول­ها

شكل‌ها و جدول­ها بايد داراي عنوان باشند. عنوان شكل‌ها در زير شكل و عنوان جدول­ها در بالاي جدول قرار مي‌گيرند. در صورتي كه از شكل‌ها يا جدول­هاي ساير منابع استفاده مي‌كنيد، بايد حتماً شماره آن مرجع را در عنوان شكل يا جدول ذكر كنيد.

براي نوشتن عنوان شكل يا جدول از سبك Figure Caption استفاده كنيد. براي نوشتن متن داخل شكل‌ها و يا جدول­ها نيز از سبك Figure Text استفاده كنيد. هر شكل يا جدول بايد داراي يك شماره باشد كه براي هر كدام از 1 شروع مي‌شود. شماره شكل يا جدول را در داخل يك جفت هلالين بنويسيد. در هنگام ارجاع به شكل يا جدول از شماره آن استفاده كنيد و از بكار بردن عباراتي همچون «شكل زير» پرهيز كنيد. تمام جدول­ها و شكل‌ها بايد در متن مورد ارجاع قرار گيرند. يك جدول يا شكل نبايد قبل از ارجاع در متن ظاهر شود.

شكل­ها و جدول­ها بايد در وسط ستون‌ها قرار گيرند. بهتر است شكل‌ها در يك خط جداگانه با حالت وسط‌چين درج شوند و ويژگي طرح‌بندي (Layout) آنها بصورت In line with text انتخاب شود. شكل (1) نمونه‌اي از چنين تنظيمي است. چنانچه شكل يا جدولي در يك ستون جا نشد، مي‌توان آن را بصورت تك ستوني رسم كرد، مشروط بر اين كه شكل يا جدول در ابتدا يا انتهاي صفحه و يا در انتهاي مقاله درست قبل از بخش مراجع قرار گيرد. مي­توان همه شكل­ها را در يك جا و قبل از مراجع نيز درج كرد.

 CIM

 PIM

 PSM

 

Code

CIM to PIM mapping

PIM to PSM mapping

PSM to code mapping

شكل (1) : فرايند توسعه در MDA [6]

5- فرمول‌ها و عبارات رياضي

براي نوشتن فرمول‌ها و عبارات رياضي بهتر است از ابزار Equation Editor استفاده شود. براي هر فرمول بايد يك شماره در نظر گرفته شود. اين شماره را در داخل يك جفت هلالين و بصورت راست‌چين قرار دهيد. تمام متغيرها، پارامترها، و نمادهاي يك عبارت رياضي بايد توضيح داده شوند. اگر قبل از نوشتن فرمول اين كار انجام نشده است، بايد بلافاصله پس از فرمول اين توضيحات بيان شوند. مانند:

(1)

كه درآن  چگالي تخميني و X P تابع توزيع امکان است. اگر تعداد متغيرها و پارامترها برای تعريف در ادامة متن زياد است، از فهرست علايم در بخش ضمايم استفاده و يا بصورت فهرست در زير رابطه تعريف شود.

براي نوشتن روابط رياضی مي­توان بدون بكارگيري ابزار Equation Editor، از بالانويسی[5]، زير نويسی[6]، و نمادهاي يونانی بهره گرفت. اين روش بيشتر براي ارجاع به متغيرها در متن مناسب است. مثلاٌ ما تابع توزيع امكان را در متن توضيحي فرمول (1) با اين شيوه نوشتيم. اين روش موجب مي­شود که فاصله سطرها به دليل استفاده از ابزار فرمول‌نويسي زياد نشود و تنظيمات صفحه بهم نريزد.

درصورتی که يک رابطه رياضی طولانی بود و دريک سطر جا نشد، مي­توان آن را در دو يا چند سطر نوشت. در اين حالت بايد سطرهاي دوم به بعد با تورفتگي شروع شوند. همچنين مي‌توان شماره آن را نيز در يك سطر مستقل نوشت. فرمول (2) را ببينيد.

(2)

يك فرمول يا عبارت رياضي حتماٌ بايد بعد از ارجاع آن در متن ظاهر شود. الگوريتم‌هاي مقاله را نيز همانند عبارات رياضي شماره‌گذاري كنيد و به آنها ارجاع دهيد.

6- نتيجه

در اين مقاله، مشخصات يك مقاله قابل چاپ در هجدهمین كنفرانس ملی سالانه انجمن كامپيوتر ايران بيان شد. مهمترين مشخصات عبارتند از: ابعاد و حاشيه‌هاي صفحه، نحوه آماده كردن صفحه اول، بخش‌هاي اصلي مقاله، نحوه شماره‌گذاري‌ها، شكل‌ها، جدول­ها، فرمول‌ها، منابع، و بالاخره چگونگي نگارش متن مقاله.

نويسندگان محترم مقالات سعي كنند تمام موارد ذكر شده را دقيقاٌ رعايت كنند، و از همين سند بعنوان الگوي نگارش مقاله خود استفاده كنند.

سپاسگزاري

بخش سپاسگزاري در صورت نياز بصورت كوتاه و در يك بند آماده شود. بخش سپاسگزاري داراي شماره نيست بنابراين عنوان اين بخش را با سبك Heading 0 بنويسيد. نويسندگان اين مقاله از هم‌فكري تمام اعضاي كميته علمي هجدهمین كنفرانس ملی سالانه انجمن كامپيوتر ايران كمال سپاسگزاري را دارند.

ضمايم

بخش ضمايم يك بخش اختياري است و داراي شماره نيست. عنوان آن را با سبك Heading 0 بنويسيد. موضوعات مرتبط با مقاله كه در يكي از گروه‌هاي زير قرار گيرند، مي‌توانند در بخش ضمايم آورده شوند.

·         اثبات رياضي فرمول‌ها يا الگوريتم‌ها

·         داده‌ها و اطلاعات مربوط به مطالعه موردي

·         نتايج كار ديگر محققان و داده‌هاي مربوط به مقايسه آنها

·         ساير موضوعات مرتبط كه جزء بخش‌هاي اصلي مقاله نباشند.

مراجع

[1]      نام خانوادگي، نام نويسندگان يا نام موسسه‌اي كه نقش نويسنده را دارد، عنوان كامل كتاب، نام خانوادگي، نام مترجمان با قيد كلمه ترجمة، نام خانوادگي، نام ويراستار با قيد كلمه ويراستة، شماره جلد، شماره ويرايش، محل نشر، نام ناشر، تاريخ انتشار.

[2]      استالينگ، ويليام، اصول طراحي و ويژگيهاي داخلي سيستمهاي عامل، ترجمة صديقي مشكناني، محسن، پدرام، حسين، ويراستة برنجكوب، محمود، ويرايش سوم، اصفهان، نشر شيخ بهايي، بهار 1380.

[3]      نام خانوادگي، نام نويسندگان، عنوان پايان‌نامه، درجه‌اي كه پايان‌نامه براي دريافت آن نوشته شده است، نام دانشگاه، محل دانشگاه، شماره صفحه‌ها، تاريخ انتشار.

[4]      نام خانوادگي، نام مجري، عنوان طرح پژوهشي، شماره ثبت، نام كامل سفارش دهنده، محل انجام طرح، تاريخ انجام طرح.

[5]      نام خانوادگي، نام نويسندگان، "عنوان مقاله"، نام مجله يا كنفرانس، شماره دوره يا مجله، شماره صفحه‌ها، محل چاپ مجله يا برگزاري كنفرانس، تاريخ انتشار.

   [6]      Frankel, David S., Model Driven Architecture: Applying MDA to Enterprise Computing, OMG Press, Wiley Publishing, 2003.

   [7]      Sannella, M. J., Constraint Satisfaction and Debugging for Interactive User Interfaces, Ph.D. Thesis, University of Washington, Seattle, WA, 1994.

   [8]      Zachman, John A., "A Framework for Information Systems Architecture", IBM Systems Journal, Vol. 26, No. 3, 1987.

   [9]      Plamondon, R., Lorette, G., "Automatic Signature Verification and Writer Identification - The State of the Art", Pattern Recognition, Vol. 22, pp. 107-131, 1989.

[10]      Object Management Group. Unified Modeling Language: Superstructure, Version 2.0, ptc/03-07-06, July 2003, http://www.omg.org/cgi-bin/doc?ptc/2003-08-02.

زير‌نويس‌ها



[1] Footnote

[2] Endnote

[3] Header

[4] Footer

[5] Superscript

[6] Subscript

الگوریتم کلونی زنبور عسل (ABC)

چندین الگوریتم اکتشافی جدید برای حل مسایل  بهینه سازی عددی و توابع ترکیبی توسعه یافته اند. این الگوریتم ها می توانند به گروههای مختلف طبقه بندی شوند با توجه به ضوابطی  که در نظر گرفته شده: مانند بر اساس جمعیت ، مبتنی بر تکرار شونده ، تصادفی ، قطعی ، و غیره. در حالی که الگوریتم با یک مجموعه راه حل هاکار میکند و در جهت بهبود آنها تلاش می کنند  که  مبتنی بر جمعیت نامیده می شوند ، یکی از کاربرد تکرار های چندگانه برای پیداکردن راه حل مطلوب که به عنوان الگوریتم تکرار شونده نام گذاری شده است. اگر یک الگوریتم یک قانون احتمالی را برای بهبود راه حل بکار بگیرد سپس آن را احتمال  یا اتفاقی نامیده میشود. یکی دیگر از طبقه بندی را می توان بسته به ماهیت پدیده توسط الگوریتم شبیه سازی کرد.این نوع طبقه بندی ، عمدتا دارای دو گروه مهم از الگوریتم جمعیت هستند که براساس : الگوریتم های تکاملی (EA) و الگوریتم های مبتنی بر هوش جمعی. از محبوب ترین الگوریتم های تکاملی الگوریتم ژنتیک(GA) است. درGA تلاش شده است تکامل طبیعی یک پدیده شبیه سازی شود. در تکامل طبیعی ، هر گونه جستجو برای سازگاری سودمند در یک محیط در حال تغییر است. به عنوان یک گونه تکامل یافته ، ویژگی های جدیدی در کروموزوم های فردی کد گذاری می شوند.  این اطلاعات توسط جهش تصادفی تغییرمی یابد ، اما بطورواقعی نیروی محرکه باعث توسعه تکاملی درترکیب و جایگزینی مواد کروموزومی در طول تولید مثل میشود. اگر چه تلاش های متعددی برای گنجاندن این اصول در روال بهینه سازی دراوایل دهه 1960انجام شده ، الگوریتم های ژنتیک برای اولین بار بر یک مبنای نظری صوتی  ایجاد شده بودند. این اصطلاح جمعی در حالت کلی برای اشاره به هر مجموعه دار از تعامل افراد مورد استفاده قرار می گیرد. به عنوان یک مثال کلاسیک از ازدحام زنبورهایی که در اطراف کندوی خود تجمع کردند ، اما در استعاره به راحتی می توان به سیستم هایی معماری مشابهی دارند توسعه داد. در کلونی مورچه ها،مورچه ها می توانند به عنوان گروهی ازعوامل تصور شوند ، همچنین ازدحام پرندگان گروهی از پرندگان است. یک سیستم ایمنی ، گروهی از سلول ها ومولکول ها است در حالی که یک جمعیت شامل گروهی از مردم است. الگوریتم بهینه سازی ازدحام ذرات (PSO) شبیه سازی می کند رفتار اجتماعی پرندگان یا ماهی ها توسط ابرهارت و کندی در سال 1995 معرفی شده است. روش های گوناگونی به مدل رفتار هوشمند خاص ازدحام زنبور عسل پیشنهاد شده است و برای حل مسایل از نوع ترکیبی استفاده شده است.آنها یک ایده روبات بر رفتار جستجوی غذا از زنبورها را ایجاد کرده اند . معمولا ، همه این ربات از لحاظ فیزیکی و عملکرد یکسان هستند ، به طوری که هر ربات را می توان به طور تصادفی جایگزین دیگری کرد. ازدحام دارای تحمل قابل توجهی است ؛ شکست در یک عامل عملکرد کل سیستم را متوقف نمی کند. روبات های فردی ، مانند حشرات ، دارای قابلیت های محدود و دانش محدود از محیط زیست است. از سوی دیگر ، توسعه ازدحام هوش جمعی است. آزمایشات نشان داد که رباتها مانند حشرات مانند در انجام وظایف واقعی رباتیک موفق هستند.

 آنها همچنین یک مدل انتخاب علوفه را توسعه داده اند که منجر به ظهور هوش جمعی می شود که متشکل از سه اجزای ضروری است: منابع غذایی ، کارگرهایی که پی علوفه می گردند و ، کارگرهایی که پی علوفه نمی گردند. این مدل دو رفتار برجسته را تعریف می کند: استفاده به یک منبع شهد و رها کردن یک منبع.

 تئودور واس به استفاده از هوش جمعی زنبوردر توسعه سیستم های مصنوعی با هدف در حل مسایل پیچیده در ترافیک و حمل ونقل پیشنهاد داده است. تئودور واس همچنین پیشنهاد کرد بهینه سازی متا اکتشافی کلونی زنبور عسل (BCO) که قادر به حل قطعی مسائل ترکیبی ، و همچنین مسائل ترکیبی با مشخصه عدم قطعیت است[11]. درایز  و همکاران. معرفی یک رویکرد جدید هوشمند یا متا اکتشافی به نام ازدحام بهینه سازی زنبورها (BSO) است ، که از رفتار زنبور عسل واقعی الهام گرفته است . متا - اکتشافی برای حل مشکل 3 - بعدی پایه ریزی شده روی روند تولید مثل زنبور عسل معرفی شده است. یک الگوریتم مسیر یابی جدید به نام کندوی عسل که از روش های ارزیابی ارتباطی و مشخص الهام گرفته شده زنبورهای عسل است. در الگوریتم کندوی عسل ، زنبورهای پیشکار از میان مناطق مشخص که مناطق غذایی نامیده می شوند پرواز می کنند. از سوی دیگر، اطلاعاتشان روی مناطق مشخص شده برای به روز رسانی مسیر یابی مناطق محلی تحویل می دهند. آثار ارائه شده در پاراگراف قبلی شامل مسایلی از نوع ترکیبی است.تنها یک الگوریتم بهینه سازی عددی بر اساس رفتار هوش جمعی زنبور عسل وجود دارد.یانگ یک الگوریتم زنبور عسل مجازی (VBA) برای حل توابع بهینه سازی عملکرد توابع عددی توسعه داده است. برای توابع با دو پارامتر، گروهی از زنبورهای مجازی تولید شده و جمعیت به طور تصادفی در فضای مشخص شده به حرکت شروع می کنند . این زنبورها زمانی که مقداری شهد مورد نظر متناظر با ارزش های کد گذاری شده تابع پیدا کردند به تعامل با یکدیگر شروع می کنند. راه حل برای بهینه سازی مسایل می تواند از شدت تعامل زنبور عسل ها  به دست آمده باشد. برای بهینه سازی توابع چند متغیره ، کارابوگا الگوریتم کلونی زنبور عسل مصنوعی (ABC) را بیان کرده است که از الگوریتم زنبور مجازی متفاوت است.

در الگوریتم کلونی های زنبورعسل (ABC) زنبورها شامل سه گروه می شوند :

زنبورها ی کارگر، تماشاچیان و پیشرو(طلایه دار). زنبور عسلی که در منطقه رقص برای ایجاد تصمیم به انتخاب یک منبع غذایی باقی می ماند زنبور عسل جستجوگر نامیده می شود ، و زنبور عسلی کهبه طرف منابع غذایی از پیش مشخص شده می رود زنبور عسل کارگر نام دارد. زنبور عسلی که جستجوی تصادفی انجام می دهد زنبور عسل پیشرو یا طلایه دار نام دارد.


در الگوریتم ABC ، برای اولین بار ​​نیمی از جمعیت زنبورها زنبور کارگر و نیمی دیگر زنبور جستجوگر هستند. برای هرمنبع غذایی ، فقط یک زنبورعسل کارگر وجود دارد. به عبارت دیگر، تعداد زنبورهای کارگر با تعداد منابع غذایی اطراف کندو با هم برابراند.زنبورعسل کارگر که در کار در منابع غذایی خسته شده اند زنبورهای جستجو گر پیشرو می شوند.

گام های اصلی از الگوریتم ها در زیر آورده شده است :
• مقداردهی اولیه.
• تکرار.
(الف) محل زنبورهای کارگردرمنابع غذایی در حافظه ؛
(ب) محل زنبورهای جستجو گردرمنابع غذایی در حافظه ؛
(ج) ارسال زنبورهای پیشرو برای جستجوی برای منابع غذایی جدید؛
• تا (وضعیت مورد دلخواه بدست آید).
در الگوریتم ABC ، ​​هر چرخه از جستجو از سه مرحله تشکیل شده است :

ارسال زنبورهای کارگر به روی منابع غذایی و سپس اندازه گیری مقدار شهد آنها ؛ انتخاب منابع غذایی توسط زنبورهای جستجوگر پس از به اشتراک گذاری اطلاعات  توسط زنبورهای  کارگر و تعیین مقدار شهد از غذاها ، تعیین زنبورهای پیشرو و سپس ارسال آنها بر روی منابع غذایی. در مرحله مقداردهی اولیه، مجموعه ای ازمواضع  منبع غذایی به طور تصادفی توسط زنبورها انتخاب شده و مقدار شهد آنها تعیین می شود. سپس ، این زنبورها به کندو می آیند و اطلاعات شهد هرمنابع به زنبورها ی منتظر در منطقه رقص درداخل کندو به اشتراک گذاشته میشود.

در مرحله دوم، پس از به اشتراک گذاری اطلاعات، هر زنبور عسل کارگر به محدوده  منبع غذایی می رود که  خودش در چرخه قبلی بازدید کرده که اون منبع غذایی در حافظه اش وجود دارد، وسپس یک منبع غذایی جدید انتخاب میشود با استفاده از اطلاعات بصری که  در همسایگی ازهمان یکی است. در مرحله سوم، یک زنبورتماشاچی(ناظر) بر میگزیند حوزه منبع غذایی رابسته به نوع اطلاعات شهد توزیع شده توسط زنبورها ی کارگر در منطقه رقص برمی گزیند.به نوعی مقدار شهد منبع غذایی افزایش می یابد ،همچنین به این احتمال که آن منبع غذایی انتخاب شده توسط زنبور تماشاچی نیزافزایش می یابد . از این رو ، زنبورهای کارگررقصنده که  حامل شهد بالاتری هستند زنبورهای تماشاچی را به محدوده منبع غذایی با میزان شهد بالاتر ترغیب می کنند. پس از ورود به حوزه انتخاب شده ، او یک منبع غذایی جدید درهمسایگی اش بسته به اطلاعات بصری انتخاب میکند. اطلاعات بصری بر اساس مقایسه جهت های منبع غذایی است. وقتی شهد یک منبع غذایی توسط زنبورها رها می شود، یک منبع غذایی جدید به صورت تصادفی توسط زنبور طلایه دار تعیین شده و جایگزین آن منبع رهاشده ،میشود. در این مدل ، در هر چرخه در اکثر یک طلایه دار برای جستجوی یک منبع غذایی جدید و تعدادی از زنبورهای کارگر و زنبورهای تماشاچی که برابرند،خارج می رود.

درالگوریتم ABC ، ​​موقعیت یک منبع غذایی یک راه حل مسئله بهینه سازی را نشان می دهند و مقدار شهد از منبع غذا مربوط به شایستگی راه حل همراه میشود. تعداد زنبورهای کارگر یا زنبورهای تماشاچی برابر با  تعداد راه حل ها در جامعه است. دراولین قدم ، ABC جمعیت اولیه را به صورت تصادفی توزیع میکند P (G = 0) راه حل های SN (مواضع منبع غذایی) ، که در آن SN نشان دهنده اندازه جمعیت است.


هر راه حل (منبع غذایی) ( i = 1, 2, . . . , SN ) xi  بردار D -  بعدی است. در اینجا ،D تعداد پارامترهای بهینه سازی است. پس از مقداردهی اولیه ، جمعیت موقعیت ها (راه حل ها) در معرض تکرار چرخه است ، C = 1, 2, . . . ,Cmax؛ که C  فرایندهای جستجوی زنبورهای کارگر و جستجوگر و طلایه دار است.

یک زنبور کارگر یا تماشاچی مصنوعی بطوراحتمالی تولید یک تغییر در موقعیت (راه حل) در حافظه خود برای پیدا کردن یک منبع غذایی جدید و تست میزان شهد (مقدار شایستگی) از منبع جدید (راه حل جدید) میکند. در مورد زنبور عسل واقعی ، تولید منابع غذایی جدید مبتنی بر مقایسه فرآیند منابع غذایی در منطقه وابسته به اطلاعات جمع آوری ، بصری ، توسط زنبور عسل است. دراین مدل ، تولید‍ موقعیت منبع جدید غذا نیز بر اساس یک فرآیند مقایسه  موقعیت منبع غذایی است. با این حال ، در این مدل ، زنبورهای  مصنوعی هر گونه اطلاعات در مقایسه استفاده نمی کنند. آنها به طور تصادفی یک موقعیت منبع غذایی را انتخاب میکنند و تغییراتی را بر روی یکی از منابع موجود در حافظه خود که در  (2.2)  شرح داده شده تولید می کند . به شرطی که مقدار شهد منبع جدید بیشتر از منبع قبلی حفظ شده در حافظه زنبور عسل باشد  موقعیت جدید را حفظ کرده و موقعیت قبلی را فراموش میکند. درغیراین صورت او موضع قبلی را نگه می دارد. پس از اینکه فرایند جستجوی تمام زنبورهای کارگر تکمیل گردید، آنها اطلاعات شهد ازمنابع غذایی(راه حل) و اطلاعات مربوط به موقعیت خود را با زنبورهای تماشاچی در محدوده رقص به اشتراک میگذارند.یک زنبور تماشاچی اطلاعات شهد گرفته شده از همه زنبورهای کارگررا ارزیابی میکند و یک منبع غذایی با احتمال مربوط به مقدار شهد آن انتخاب میشود. همینطور در مورد زنبورکارگر، تولید تغییراتی در موقعیت (راه حل) موجود در حافظه خود و مقدار شهد از منبع انتخابی (راه حل) را چک میکند . آن شهدی که بیشتر از قبلی باشد را ارائه می دهد ، زنبورعسل موقعیت جدید را حفظ میکند و قبلی را فراموش میکند . زنبور تماشاچی یک منبع غذایی را با توجه به مقدار احتمال مرتبط با آن منبع غذایی انتخاب  میکند، pi ، که با عبارت زیر محاسبه میشود :


که در آن   fit iمیزان شایستگی از راه حل i توسط زنبور کارگر آن ارزیابی شده است که ارزیابی متناسب با مقدار شهد منبع غذایی در موقعیت  i است و SN تعدادی از منابع غذایی که برابر با تعداد زنبورهای کارگر (BN) است. در این روش، زنبورهای کارگر اطلاعات خود را با زنبورهای  تماشاچی تبادل میکنند . به منظور تولید یک موقعیت غذایی انتخاب شده از قبلی ، ABC عبارت زیررا استفاده میکند :

که در آن k ∈ {1, 2, . . . , BN}  و  j ∈ {1, 2, . . . ,D} شاخص شان به صورت تصادفی انتخاب شده است . هر چندK به صورت تصادفی تعیین شده است ، آن متفاوت از i  می باشد . φi,j یک عدد تصادفی بین -1,1]] است. آن تولید موقعیت منبع غذایی همسایه در اطراف xi,j را کنترل میکند ، وتغییرات مقایسه ای موقعیت های غذایی همسایه توسط زنبور عسل به صورت بصری را ارائه می شود . معادله 2.2 پارامترهای مختلفی بین xi,j و xk,j   نشان می دهد ، همچنین تغییرات در موقعیت xi,j ، کاهش می یابد. بنابراین ، به نوعی جستجو به راه حل بهینه در فضای جستجو نزدیک می شود ، گام مرحله طور تتاوقی کاهش می یابد . اگر پارامتر های تولید شده توسط این عملیات بیشتر ازحداز پیش تعیین شده خودش باشد ،پارامتر را می توان به عنوان  مقدار قابل قبول انتخاب کرد. منبع غذایی که شهد آن توسط زنبورها رها شده با یک منبع ماده غذایی جدید توسط زنبورهای طلایه دار جایگزین میشود. در الگوریتم ABC این با تولید موقعیت  به صورت تصادفی شبیه سازی شده و جایگزین آن منبع رها شده میشود. در الگوریتم ABC ، ​​اگر یک موقعیت بیشتر ازیک عدد از پیش تعیین شده چرخه به نام حد بهبود نیابد پس آن منبع غذایی فرض شده ترک خواهد شد.پس از انتخاب هر منبع ، موقعیت vi,j تولید شده و سپس توسط زنبور مصنوعی ارزیابی شد ، عملکرد آن با xi,j مقایسه میشود، اگر مواد غذایی جدید برابریا شهد بهتری از منبع قبلی داشت، آن را با قبلی در حافظه جایگزین میکند. در غیر این صورت ، آن قبلی را نگه میدارد. به عبارت دیگر ، یک مکانیسم انتخاب حریص عمل انتخاب بین منابع غذایی قبلی و فعلی را انجام میدهد.الگوریتم ABC در حقیقت چهار فرآیند مختلف انتخاب را به کار میگیرد :

(1) فرآیند انتخاب جهانی توسط زنبورهای تماشاچی مصنوعی برای کشف مناطق امیدبخش که در(2.1) شرح داده شده است ،

(2) یک فرآیند انتخاب محلی در منطقه توسط زنبورهای کارگرمصنوعی انجام شده و تماشاچیان با توجه به اطلاعات محلی (در مورد زنبور عسل واقعی ،این اطلاعات شامل رنگ ، شکل و عطر گل) (زنبورها قادربه شناسایی نوع منبع شهد نمیشوند تا زمانی که به محل مناسب می رسند و بین منابع در حال رشد بر اساس عطر و بوی آنها تبعیض وجود دارد) برای تعیینیک همسایه منبع غذا در اطراف منبع موجود در حافظه که در (2.2) تعریف شده است ،

 (3) روند انتخاب محلی به نام فرآیند انتخاب حریص توسط تمام زنبورها انجام میشود در آن اگر مقدار شهد منبع کاندید بهتر از فعلی باشد ، زنبورفعلی را فراموش میکند و منبع کاندید را حفظ میکند. در غیر این صورت ، زنبور فعلی را در حافظه نگه می دارد.

(4) یک فرایند انتخاب تصادفی توسط زنبور طلایه دار انجام میشود.

ازتوضیحات فوق روشن است که سه پارامتر کنترل وجود دارد که در ABC اصلی استفاده می شود :

- تعداد منابع غذایی که با تعداد زنبورهای کارگر یا زنبورهای تماشاچی برابر است (SN) ،

- مقدار حد (the value of limit

 -حداکثر تعداد چرخه (MCN).

درمورد زنبورهای عسل ، میزان بکار گیری نماینده هایی برای اندازه گیری  اینکه چگونه به سرعت کلونی زنبورعسل را می یابد و بهره برداری ازمنبع غذایی کشف شده جدید است. استخدام مصنوعی بطور مشابه می تواند اندازه گیری سرعتی که با آن راه حل امکان پذیر است را نشان بدهد یا راه حل های با کیفیت خوب مسائل بهینه سازی پیچیده را توانسته کشف کند. بقا و پیشرفت کلونی زنبور عسل وابسته کشف سریع و استفاده کارآمد از بهترین منابع غذایی می باشد. به طور مشابه ،راه حل درست مسائل مهندسی دشوار مربوط به کشف سریع راه حل های خوب خاص برای مسائلی  است که باید در زمان واقعی حل شود. در یک فرایند جستجو قوی ، فرآیندهای اکتشاف و بهره برداری باید با هم انجام پذیرد. در الگوریتم ABC ، ​​در حالی که زنبورهای کارگرو زنبورهای تماشاچی فرآیند بهره برداری در فضای جستجو را انجام میدهند، زنبورهای طلایه دار فرآیند اکتشاف را کنترل میکنند .

 

توابع عددی  

تابع مرکب است اگر آن دو یا چند بهینه محلی داشته باشد. تابع از متغیرهای جدا از هم است در صورتی که آن به عنوان یک مجموع توابع یک متغیر بازنویسی شود. مسئله سخت تر است اگر تابع مرکب باشد. فرایند جستجو باید  قادر به دوری کردن ازمناطق اطراف مینیمم محلی به منظور تقریب زدن ، تا آنجا که ممکن ، برای مطلوب جهانی است. پیچیده ترین مورد زمانی به نظر می رسد که بهینه های های محلی به صورت تصادفی در فضای جستجو توزیع شده است.ابعاد فضای جستجو یکی از عوامل مهم دیگر در پیچیدگی مسئله است.  مطالعه مسئله ابعاد و ویژگی های آن توسط فریدمن انجام شد .  با استفاده از پنج تابع معیار کلاسیک تابع اول تابع  Griewank که درمینیمم جهانی خود مقدار 0 است  . محدوده دهی اولیه برای تابع  (2و2-) است. تابع Griewank اصطلاحی است که وابستگی متقابل بین متغیرها را تولید میکند . هدف غلبه بر شکست تکنیک هایی که هر متغیر را بطور مستقل بهینه سازی میکند . بهینه ی تابع Griewank به طور منظم توزیع شده است. از آنجا که تعداد بهینه ی محلی بوسیله ابعادافزایش می یابد .

تابع دوم تابع Rastrigin که مقدار 0 است در مینیمم جهانی خود است . محدوده دهی اولیه برای تابع   (2و2-) . این تابع مبتنی بر تابع Sphere به علاوه مدولاسیون کسینوس ،مینیمم محلی بسیاری را تولید میکند . بنابراین ،تابع مرکب است . نقاط مینیمم به طور منظم توزیع شده است. قسمت دشوار در پیدا کردن راه حل های بهینه در این تابع این است که یک الگوریتم بهینه سازی به راحتی می تواند به سمت بهینه جهانی شدن در بهینه محلی به دام بیفتد.

 
تابع سوم، تابع Rosenbrock که مقدار در مینیمم جهانی خود 0 است. محدوده دهی اولیه برای تابع (2و2-)است. بهینه جهانی در داخل دره ژرف ، باریک ، به شکل سهمی وار مسطح می باشد. از آنجا که همگراشدن بهینه جهانی مشکل است ، متغیرها به شدت وابسته هستند وسطح شیب دار به طور کلی به سمت نقطه مطلوب نیست ، این مسئله ای است که بارها و بارها برای آزمایش کردن عملکرد الگوریتم های بهینه سازی مورد استفاده قرار گیرد.


تابع چهارم تابع Ackley است که درمینیمم جهانی مقدارش 0 است. محدوده دهی اولیه برای تابع (2و2-) است. Ackleyیک  اصطلاح نمایی  که سطح خود را با مینیمم محلی متعدد پوشش می دهد. الگوریتمی که استفاده میشود در یک بهینه محلی به دام خواهد افتاده ، اما هر راهبرد جستجو که منطقه گسترده تر را تجزیه و تحلیل خواهد شد قادر به عبور از میان دره بهینه و دستیابی به نتایج بهتر است . به منظور به دست آوردن نتایج خوب برای این تابع ، استراتژی جستجو باید ترکیبی از اجزای های اکتشافی و استثمار کارآمد باشد .


تابع پنجم تابع Schwefel است که در بهینه جهانی خود مقدار 0 است (3.5). محدوده دهی اولیه برای تابع  (2و2-) است. سطح تابع Schwefel از تعداد زیادی قله و دره متشکل است. تابع بهترین مینیمم ثانویه به دور از مینیمم جهانی دارد که در آن بسیاری از الگوریتم های جستجو دام افتاده است. علاوه بر این ، مینیمم جهانی نزدیک مرزهای  دامنه است.


3.2 – پیکر بندی برای الگوریتم ABC

پارامترهای کنترل الگوریتم ABC  شامل :حداکثر تعداد چرخه (MCN) که با حداکثر تعداد نسل برابر است و سایز کلونی با اندازه جمعیت برابر است . درصد اززنبورهای ناظر 50 ٪ از زنبورهای کارگرهستند وتعدادی از زنبور های طلایه دار  به عنوان یک انتخاب بود. افزایش تعداد طلایه داران اکتشاف را ترغیب  میکند همچنانکه که افزایش تماشاچیان بر روی منبع غذایی ،اکتشاف را افزایش می دهد . به طور متوسط مقادیر توابع ​​از بهترین راه حلها پیدا شده توسط الگوریتم  برای ابعاد مختلف ثبت شده است.

 منابع:

 


1. Pham, D.T., Karaboga, D.: Intelligent Optimisation Techniques. Springer, London (2000)

2. Holland, J.H.: Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann

Arbor, MI (1975(

. Benatchba, K., Admane, L., Koudil, M.: Using bees to solve a data-mining problem expressed 3

as a max-sat one, artificial intelligence and knowledge engineering applications: a bioinspired

approach. In: Proceedings of the First International Work-Conference on the Interplay Between

Natural and Artificial Computation, IWINAC 2005, Las Palmas, Canary Islands, Spain, 15–18

June 2005

فشرده سازی تصاویر با استفاده از شبکه های عصبی

 Image Compression with Back-Propagation Neural Network using Cumulative Distribution Function

Abstract—Image Compression using Artificial Neural Networks is a topic where research is being carried out in various directions towards achieving a generalized and economical network. Feedforward Networks using Back propagation Algorithm adopting the method of steepest descent for error minimization is popular and widely adopted and is directly applied to image compression. Various research works are directed towards achieving quick convergence of the network without loss of quality of the restored image. In general the images used for compression are of different types like dark image, high intensity image etc.  When these images are compressed using Back-propagation Network, it takes longer time to converge. The reason for this is, the given image may contain a number of distinct gray levels with narrow difference with their neighborhood pixels.  If the gray levels of the pixels in an image and their neighbors are mapped in such a way that the difference in the gray levels of the neighbors with the pixel is minimum, then compression ratio as well as the convergence of the network can be improved. To achieve this, a Cumulative distribution function is estimated for the image and it is used to map the image pixels. When the mapped image pixels are used, the Back-propagation Neural Network yields high compression ratio as well as it converges quickly.

KeywordsBack-propagation Neural Network, Cumulative Distribution Function, Correlation, Convergence.

I. INTRODUCTION

MAGE compression research aims at reducing the number of bits needed to represent an image.Image compression algorithms take into account the psycho visual features both in space and frequency domain and exploit the spatial correlation along with the statistical redundancy. However, usages of the algorithms are dependent mostly on the information contained in images.  A practical compression algorithm for image data should preserve most of the characteristics of the data while working in a lossy manner and maximize the gain and be of lesser algorithmic complexity. In general almost all the traditional approaches adopt a two-stage process, first, the data is transformed into some other domain and or represented

by the indices of the codebook, followed by an encoding of the transformed coefficients or the codebook indices. The first stage is to minimize the spatial correlation or to make use of the correlation so as to reduce the data. Most commonly adopted approaches rely on the transformed techniques and or the use of vector Quantization. Most of the algorithms exploit spatial correlations. Discrete cosine transform is used practically in almost all image compression techniques. Wavelet Transform has been proven to be very effective and has achieved popularity over discrete cosine transform. However, inter-pixel relationship is highly non-linear and un­predictive in the absence of a prior knowledge of the image itself. So, predictive approaches would not work well with natural images. Transform based approaches have been used by most of the researchers in some combination or the other. Among the non-transformed approaches Vector Quantization based techniques encodes a sequence of samples rather than encoding a sample and automatically exploits both linear and non-linear dependencies. It is shown that Vector Quantization is optimal among block coding techniques, and that all transform coding techniques can be taken as a special case of Vector Quantization with some constraints. In Vector Quantization, approximating a sequence to be coded by a vector belonging to a codebook performs encoding. Creation of a straight and unconstrained codebook is a computationally intensive and the complexity grows exponentially with the block.

Artificial Neural Networks have been applied to image compression problems, [1] due to their superiority over traditional methods when dealing with noisy or incomplete data. Artificial Neural networks seem to be well suited to image compression, as they have the ability to preprocess input patterns to produce simpler patterns with fewer components. This compressed information preserves the full information obtained from the external environment. Not only can Artificial Neural Networks based techniques provide sufficient compression rates of the data in question, but also security is easily maintained. This occurs because the compressed data that is sent along a communication line is encoded and does not resemble its original form. Many different training algorithms and architectures have been used. Different types of Artificial Neural Networks have been trained to perform Image Compression. Feed-Forward Neural Networks, Self-Organizing Feature Maps, Learning Vector Quantizer Network, have been applied to Image Compression. These networks contain at least one hidden layer, with fewer units than the input and output layers. The Neural Network is then trained to recreate the input data. Its bottleneck architecture forces the network to project the original data onto a lower dimensional manifold from which the original data should be predicted. The Back Propagation Neural Network Algorithm performs a gradient-descent in the parameter space minimizing an appropriate error function. The weight update equations minimize this error. The general parameters deciding the performance of Back Propagation Neural Network Algorithm includes the mode of learning, information content, activation function, target values, input normalization, initialization, learning rate and momentum factors. [2], [3], [4], [5], [6]. The Back-propagation Neural Network while used for compression of various types of images namely standard test images, natural images, medical images, satellite images etc, takes longer time to converge. The compression ratio achieved is also not high. To overcome these drawbacks a new approach using Cumulative Distribution Function is proposed in this paper.

This paper is divided into four sections. The theory of Back-propagation Neural Networks for compression of images is discussed in Section II.  Mapping of image pixels by estimating the Cumulative Distribution Function of the image to improve the compression ratio and convergence time of the Neural Network is explained in Section III. The experimental results are discussed in section IV followed by Conclusion in section V.

II. BACK-PROPAGATION ALGORITHM Back-propagation algorithm [7] is a widely used learning algorithm in Artificial Neural Networks. The Feed-Forward Neural Network architecture (Fig. 1) is capable of approximating most problems with high accuracy and generalization ability.  This algorithm is based on the error-correction learning rule. Error propagation consists of two passes through the different layers of the network, a forward pass and a backward pass. In the forward pass the input vector is applied to the sensory nodes of the network and its effect propagates through the network layer by layer.  Finally a set of outputs is produced as the actual response of the network. During the forward pass the synaptic weight of the networks are all fixed.  During the back pass the synaptic weights are all adjusted in accordance with an error-correction rule. The actual response of the network is subtracted from the desired response to produce an error signal. This error signal is then propagated backward through the network against the direction of synaptic conditions.  The synaptic weights are

adjusted to make the actual response of the network move closer to the desired response.

A. Algorithm

Step 1: Normalize the inputs and outputs with respect to their maximum values. It is proved that the neural networks work better if input and outputs lie between 0-1. For each training pair, assume there are ‘I’ inputs given by

{I} I and ‘n’ out puts   {o} o in a normalized form. l x 1 n x 1 Step2: Assume the number of neurons in the hidden layer to lie between l

 [v]o = [random weights] [w]o = [random weights] [∆v]o = [∆w]o =[o] Step4: For the training data, present one set of inputs and outputs.  Present the pattern to the input layer   as inputs to the input layer. By using linear activation function, the output of the input layer may be evaluated as

{o}r = {r}r (1)

l x 1   l x 1 Step 5: Compute the inputs to the hidden layer by multiplying corresponding weights of synapses as

[V]T

{I}H = {O}r (2)

mx 1 m x l   l x 1 Step6: Let the hidden layer units evaluate the output using the sigmodial function as

(3) Step7: Compute the inputs to the output layer by multiplying corresponding weights of synapses as {I}o = [W] T{o}H (4)

n x 1 n x m m x 1 Step8: Let the output layer units evaluate the output using sigmoidal function as

 

(5) The above is the network output. Step9: Calculate the error and the difference between the network output and the desired output as for the ith training set as

 [Y] = {o}H  (8) m x n   m x 1  1 x n Step 12: Find [∆w]t+1 = α [∆w]t + η[Y] (9) m x n       m x n  m x n

Step 13: Find {e} = [w]       {d} (10) m x 1  m x n  n x 116 x 16 pixels.  The normalized pixel value of the sub-image will be the input to the nodes. The three-layered back propagation-learning network will train each sub-image.  The number of neurons in the hidden layer will be designed for the desired compression.  The number of neurons in the output layer will be the same as that in the input layer.  The input layer and output layer are fully connected to the hidden layer. The Weights of synapses connecting input neurons and hidden neurons and weight of synapses connecting hidden neurons and weight of synapses connecting hidden neurons and output neurons are initialized to small random values from say –1 to +1.The output of the input layer is evaluated using linear activation function.  The input to the hidden layer is computed by multiplying the corresponding weights of synapses.  The hidden layer units evaluate the output using the sigmoidal function.  The input to the output layer is computed by multiplying the corresponding weights of synapses. The output layer neuron evaluates the output using sigmoidal function. The Mean Square error of the difference between the network output and the desired output is calculated. This error is back propagated and the weight synapses of output and input neurons are adjusted.  With the updated weights error is calculated again.  Iterations are carried out till the error is less than the tolerance.  The compression performance is assessed in terms of Compression ratio, PSNR and execution time [8].

III. MAPPING OF PIXELS BY ESTIMATING THE CUMULATIVE DISTRIBUTION FUNCTION OF THE IMAGE

{d*} =

ei (OHi) (1-OHi)

Computational complexity is involved in compression of raw pixels of an image in spatial domain or the mathematically transformed coefficients in frequency domain

using Artificial Neural Networks.  The efficiency of such Artificial Neural Networks is pattern dependent.  An image may contain a number of distinct gray levels with narrow difference with their neighborhood pixels. If the gray levels of the pixels in an image and their neighbors are mapped in such a way that the difference in the gray levels of the neighbor with the pixel is minimum, then compression ratio as well as the convergence of the network can be improved.  To achieve this, the Cumulative Distribution Function [9] is estimated for the image and it is used to map the image pixels. When the mapped image pixels are used, the Back-propagation Neural Network yields high compression ratio as well as it converges quickly.   

Consider an image as a collection of random variables, each with cumulative distribution and density of Fx (x) = Prob {X ≤ x} (17)

d

px (x) = dx Fx (x) (18) Now consider forming the following random variable.

Y = Fx (x) (19) Here Y is the result of mapping the random variable x through its own Cumulative Distribution Function. The cumulative distribution of Y can be easily computed. Fy (y)= Prob {Fx (x) ≤ y} m x 1 m x 1

(11) Find [X] matrix as

[X] = {O} I   = {I}I (12)  1 x m 1 x 1 1 x m   1 x 1 1 x m Step 14:  Find [∆v]t+1 = α [∆v]t + η[X] (13)

1

B. Procedure for Image Compression

The image is split into non-overlapping sub-images. Say for example 256 x 256 bit image will be split into 4 x 4 or 8 x 8 or

 


 = Prob {X≤ Fx-1 (y)}     = Fx (Fx-1 (y))     0 for y < 0 = y for 0 ≤ y ≤ 1      1 for y > 1    (20)

This shows that y has a uniform distribution on the interval (0,1) Therefore the histogram of an image can be equalized by mapping the pixels through their cumulative distribution function Fx (x). In order to implement histogram equalization, the cumulative distribution function for the image is estimated. It is done using the image histogram.  Let h(i) be the histogram of the image formed by computing the number of pixels at gray level i.  Typically, the pixels take on the values i=0, …,L-1 where L = 256 is the number of discrete levels that a pixel can take on.  The cumulative distribution function can then be approximated by 

1 j=1 Fx(i) = ∑ h (j) (21)

h(L-1) j=0 Here the normalization term assures that Fx(L-1)=1. By applying the concept of equation (17), a pixel of Xs is equalized at the position s Є S where S is the set of position in the image.

Ys= Fx (Xs) (22) However, Ys has a range from 0 to 1 and may not extend over the maximum number of gray levels.  To correct these

problems,

we

first

 compute

 the

 minimum and

maximum

values of Ys.

 

 

 

 

Ymax  = max Ys sЄЅ

 

 

 

(23)

Ymin = min s Є SYs

 

 

 

(24)

And then we use these values to from Zs, a renormalized version of Ys Fx(Xs) - Ymin Zs = (L-1) Ymax - Ymin (25)

The transformation form Xs to Zs. is Histogram Equalization. 

Histogram equalization does not introduce new intensities in the image. Existing values will be mapped to new values resulting image with less number of the original number of intensities. Mapping of the pixels by estimating the cumulative Distribution function of the image results in correlation of the pixels and the presence of similar pixel values within the small blocks of image augments the convergence of the network. Further the frequency of occurrence of gray levels in the image will be more are less equal or rather uniform by the mapping .Due to this most of the image blocks will be similar and hence the learning time gets reduced. Since the convergence is quick, it is possible to reduce the number of neurons in the hidden layer to the minimum possible thus achieving high compression ratios without loss in quality of the decompressed image. The quality of the decompressed image and the convergence time has been experimentally proved to be better than achieved by conventional methods and by the same algorithm without mapping the image by Cumulative Distribution function. The correlation of pixel values plays a vital role in augmenting the convergence of the neural network for image compression and this is a simple mechanism compared to other existing transformation methods, which are computationally complex and lengthy process.

IV. EXPERIMENTAL RESULTS The performance of the Back-Propagation Neural Network for image compression with the concept of mapping the image by Cumulative Distribution function has been tested in various types of images. Experiments were conducted by varying the sub-image size namely 4x4, 8x8, 16x16 and 32x32 pixels. The Network was also tested by varying the number of Neurons in the Hidden Layer, resulting in Compression Ratios

ranging from 4 to 64. The PSNR values for various combinations of the above for Error Tolerance ranging from

0.01 to 0.0001 were obtained. The Quality of restored image and the Speed of Convergence of the Back propagation Neural Network were compared for both the conditions; image without mapping by Cumulative Distribution Function and for the same image mapped by its Cumulative Distribution Function and thereafter input the same in the Network for compression. The comparative results using sub images of size 4x4 pixels and error tolerance of 0.01 for Compression Ratio of 4:1 tested in various types of images are illustrated in Tables I and II. The PSNR value obtained in the Standard Image without mapping is 26.11 dB and the time taken for convergence is 365seconds. By adopting the proposed approach the PSNR achieved is 28.91 dB (Fig.2) and the time taken for convergence is 182 seconds. The time taken for simulation has been reduced to 50%. The PSNR value obtained in the Medical Image without mapping is 26.05 dB and the time taken for convergence is 290seconds. By adopting the proposed approach the PSNR achieved is 29.42dB (Fig.3) and the time taken for convergence is 140 seconds.  For the Satellite Image the PSNR value without mapping is 26.32dB and the convergence time is 315 seconds. After mapping the pixels by Cumulative Distribution Function the PSNR value obtained is 29.11(Fig. 4) and the convergence time has been reduced to 160 seconds. Previous Research Works in Image Compression using Back Propagation Neural Networks have obtained Compression Ratios up to 256:1, but against PSNR values in the range of 15 dB. Since convergence of the network is assured in the proposed approach, the desired quality of the restored image and the required compression ratios can  be achieved by fixing the error tolerance to any level, considering the time of simulation. The performance of the Back Propagation Neural Network has been substantially improved by the proposed approach. Mapping the image by Cummulative Distribution Function has helped the Back- Propagation Neural Network to converge easily compared to previous Techniques. 


V. CONCLUSION The Back Propagation Neural Network has the simplest architecture of the various Artificial Neural Networks that have been developed for Image Compression. The direct pixel based manipulation, which is available in the field of Image Compression, is still simpler. But the drawbacks are very slow convergence and pattern dependency. Many research works have been carried out to improve the speed of convergence. All these methods are computationally complex in nature, which could be applied only to limited patterns. The proposed approach of mapping the pixels by estimating the Cumulative Distribution Function is a simple method of pre-processing any type of image. Due to the uniform frequency of occurrence of gray levels by this optimal contrast stretching, the convergence of the Back-Propagation Neural Network is augmented. There will not be any loss in data in the pre­processing and hence the finer details in the image are preserved in the reconstructed image. However since the original intensities will be mapped to new values, re-

transformation of the Decompressed image is suggested in case of Medical Images. 

1

Cameraman

4.1

29.78

148

 

2

Lena

4:1

28.91

182

 

3

Pepper

4:1

29.04

188

 

4

Fruits

4:1

29.79

185

 

5

Boat

4:1

29.12

178

 

6

Mandrill

4:1

29.68

161

 

7

Abdomen(Mri)

4:1

29.42

140

 

8

Thorax(Mri)

4:1

29.61

132

 

9

Satellite

4:1

29.11

160

 

TABLE II EXPERIMENTAL RESULTS WITHOUT MAPPING

Image

CR

PSNR

TIME

S.No

 

 

(dB)

(Sec)

1

Cameraman

4:1

26.89

320

2

Lena

4:1

26.11

365

3

Pepper

4:1

26.52

368

4

Fruits

4:1

26.96

361

5

Boat

4:1

26.75

342

6

Mandrill

4:1

27.89

318

7

Abdomen(Mri)

4:1

26.05

290

8

Thorax(Mri)

4:1

26.08

265

9

Satellite

4:1

26.32

315

REFERENCES 

[1] M.Egmont-Petersen, D.de.Ridder, Handels, “Image Processing with Neural Networks – a review”,  Pattern Recognition  35(2002) 2279­2301, www.elsevier.com/locate/patcog

[2] Bogdan M.Wilamowski, Serdar Iplikci, Okyay Kaynak, M. Onder Efe “An Algorithm for Fast Convergence in Training Neural Networks”.

[3] Fethi Belkhouche, Ibrahim Gokcen, U.Qidwai, “Chaotic gray-level image transformation, Journal of Electronic Imaging -- October -December 2005 -- Volume 14, Issue 4, 043001 (Received 18 February 2004; accepted 9 May 2005; published online 8 November 2005.

[4] Hahn-Ming Lee, Chih-Ming Cheb, Tzong-Ching Huang, “Learning improvement of back propagation algorithm by error saturation prevention method”, Neurocomputing, November 2001.

[5] Mohammed A.Otair, Walid A. Salameh, “Speeding up Back-propagation Neural Networks” Proceedings of the 2005 Informing Science and IT Education Joint Conference.

[6] M.A.Otair, W.A.Salameh (Jordan), “An Improved Back-Propagation Neural Networks using a Modified Non-linear function”, The IASTED Conference on Artificial Intelligence and Applictions, Innsbruck, Austria, February 2006.

[7] Simon Haykin, “Neural Networks – A Comprehensive foundation”, 2nd Ed., Pearson Education, 2004.

[8] B.Verma, B.Blumenstin and S. Kulkarni, Griggith University, Australia, “A new Compression technique using an artificial   neural network”.

[9] Rafael C. Gonazalez, Richard E.Woods, “Digital Image Processing”, 2nd Ed., PHI, 2005.

عناصرواجزای سیستم روبات PUMA 560

-1) عناصرواجزای سیستم روبات PUMA 560

   روبات­­PUMA 560 [48]دارای 6 اتصال[1] و بازو[2] و دارای یک بازوی انتهایی[3] است. شکل(2-1) عناصر و اجزای روبات را نشان می­­دهد.

 

    

 2-2 ) مدل ریاضی روبات PUMA 560      

   درشکل (2-2) و (2-3) مدل ریاضی از پیکر بندی روبات PUMA 560   و محور مختصات منبطق شده بر هر بازو و میزان تغییرات و چرخش و دوران آنها را حول محور­­ها نشان می­­دهند.

   

 

2-3) انواع حرکت بازوی روبات PUMA 560   

حرکت بازوی روبات­­ها به دو صورت مستقیم و معکوس[49] انجام می­­گیرد. ارتباط بین فضای کارتزین و فضای اتصالات بصورت شکل(2-4) نمایش داده می­شود.

  

2-3-1) حرکت مستقیم

در این نوع حرکت با معلوم بودن زوایای هر بازو مختصات بازوی انتهایی روبات را تعیین می­­کنیم

    

ختصات هدف با استفاده از روابط جبری ماتریس­­های انتقال[4] و چرخش[5] (2-2) محاسبه می­­شود.

   

    ماتریس­­های انتقال و چرخش[1-5] هر بازو درحرکت مستقیم بصورت روابط (2-3) تعریف می­­شوند. ازحاصلضرب آنها یک ماتریس انتقال و چرخش برای کل بازوهای روبات تعریف می­شود.  زوایای بازوهای 1و2و...و6 می باشد. اندیس بالایی نشان دهنده شماره تکرار و اندیس پایینی نشان دهنده شماره بازوها است.  ماتریس انتقال بازوی i ام است.

  ماتریسی است که انتقال و چرخش هر شش بازوی روبات را فراهم می­­سازد. نتیجه معادله (2-2) ماتریس انتقال به صورت ماتریس تعریف شده (2-3) خواهد­بود که طبق روابط ریاضی (2-4) محاسبه می­­شود. محاسبه ماتریس (2-4) با استفاده از زوایای بازوی روبات­­ها و جدول D-H (2-1) خواهد­بود.

    

عناصر و پارامترهای ماتریس(2-3) بصورت فرمول­­های ریاضی بر حسب سینوسها و کسینوسهای رابطه(2-5) محاسبه می­­شوند. (C نشان دهنده کسینوس وS نشان دهنده سینوس است و C23 نشان دهنده کسینوس  ضربدر کسینوس  می باشد )

r11=c1[c23(c4c5c6-s4s6)-s23s5c6]+s1(s4c5c6+c4s6),

r21=s1[c23(c4c5c6-s4s6)-s23s5c6]-c1(s4c5c6+c4s6),

r31=-s23(c4c5c6-s4s6)-c23s5c6,

r12=c1[c23(-c4c5s6-s4c6)+s23s5s6]+s1(c4c6-s4c5s6),

r22=s1[c23(-c4c5s6-s4c6)+s23s5s6]-c1(c4c6-s4c5s6),

r32=-s23(-c4c5s6-s4c6)+c23s5s6,                                                              (2-5)

r13=-c1(c23c4s5+s23c5)- s1s4s5,

r23=-s1(c23c4s5+s23c5)+ c1s4s5 ,

r33=s23c4s5-c23c5,

px=c1[a2c2+a3c23-d4s23]-d3s1,

py=s1[a2c2+a3c23-d4s23]+d3c1,

pz=-a3s23-a2s2-d4c23

 

2-3-2) حرکت معکوس  

(2-6)

در حرکت معکوس بازوی روبات­ها مختصات بازوی انتهایی معلوم بوده و هدف تعیین زوایای هر بازو است به طوری که میزان خطای هدف­­یابی وزمان حل تعیین زوایای بازوها هرکدام کمترین میزان را داشته باشد که به صورت رابطه (2-6) تعریف می­شود.

2-4) جدول D-H

     جدول (2-1)که بنام جدول دناویت هارتنبرگ[6](D-H)  [48]شناخته می­شود نشان دهنده مقادیر پارامترهای روبات PUMA 560 بوده و میزان حرکت یا چرخش بازو­ها را در جهت وحول محورها نشان می­­دهد که مبنای کار ما در این تحقیق خواهد بود. ستون اول جدول شماره بازوهای روبات، ستون دوم آن جابجایی بازو در جهت محور x ها (طولی)، ستون سوم تغییر حرکت بازوها در جهت محورz  ها (ارتفاع) و ستون چهارم جدول دامنه تغییرات زوایای چرخش بازوها است. جزییات روش تشکیل جدول D-H با دوشکل (2-5) و(2-6) مشخص می­شود.  در شروع الگوریتم مقادیر اولیه پارامترهای روبات بر طبق جدول D-H  مقدار دهی اولیه می­شود

     

 

    درحرکت معکوس یافتن زوایای هر بازوی روبات با توجه به اینکه زوایای بیشماری را می­توان در نظر گرفت، با استفاده از الگوریتم­های هیوریستیک علوم­زیستی وتکاملی انجام می­شود. برای این کار ما از روش رقابت استعماری بدلیل مناسب بودن سرعت رسیدن به جواب و همچنین توانایی بهینه­سازی بالاتر[47] نسبت به سایر الگوریتم ها، استفاده می­کنیم.



[1] Joint

[2] Arm

[3] Endeffctor

[4] Transform

[5] Rotatetion

[6] Denavit - Hartenberg

الگوریتم رقابت استعماری

-5)الگوریتم رقابت استعماری

الگوریتم رقابت استعماری[1] (ICA)  [47-52]الگوریتم­های بهینه­سازی تکاملی [33] است. این الگوریتم همانگونه که از نام آن بر می­آید، بر مبنای مدلسازی فرایند اجتماعی سیاسی پدیده استعمار[47] بنا نهاده شده است. از این جهت در نوع خود یک الگوریتم جدید و قابل رقابت با سایر الگوریتم­­های تکاملی از جمله الگوریتم­­های ژنتیک[32]، الگوریتم پرندگان و کلونی مورچگان و کلونی زنبور عسل و غیره می­­باشد. از جهت کارایی نیز تاکنون در حل مسائل زیادی در زمینه بهینه­­سازی در مهندسی برق، کامپیوتر، صنایع، مکانیک، اقتصاد، مدیریت و دیگر حوزه­های علم استفاده شده­است. دلیل استقبال بالا از این الگوریتم در کنار کارایی بالای آن، بیشتر به جنبه نوآوری و جدید و جذاب بودن آن برای متخصصین حوزه بهینه­سازی می­باشد.

شکل (2-7) شمای کلی از فرایند الگوریتم رقابت استعماری را نشان می­­دهد. با در نظر گرفتن الگوريتم‌هاي بهينه‌سازي مطرح شده، آن‌ چه که قابل توجه است اين است که اغلب روش‌هاي بهينه‌سازي عام مطرح شده، شبيه‌سازي کامپيوتري فرايند‌هاي طبيعي هستند. شايد يک دليل براي اين کار، ملموس بودن و سادگي فرموله کردن و درک تکامل اين فرايند‌ها است. در نقطه مقابل، در ارائه‌ي الگويتم‌هاي بهينه‌سازي، علي‌رغم توجه به تکامل زيستي انسان و ساير موجودات (الگوريتم‌هاي ژنتيک و ...)، به تکامل اجتماعي وتاريخي آن به عنوان پيچيده‌ترين و موفق‌ترين حالت تکامل، توجه چنداني نشده‌ است. در اين طرح، يک الگوريتم الهام گرفته از تکامل اجتماعي انسان، براي بهينه‌سازي، توسعه داده شده است. الگوريتم جديد معرفي شده [47] با الهام‌گيري از يک فرايند اجتماعي سياسي، نسبت به روش‌هاي مطرح شده داراي توانايي بالايي بوده و تا حد بسيار زيادي نيز، سريع مي‌باشد. شکل(2-7) شماي کلي الگوريتم توسعه داده شده موسوم به الگوريتم رقابت استعماري (ICA) را نشان مي‌دهد.

الگوريتم توسعه داده شده، همانند ساير روش‌هاي بهينه‌سازي تکاملي، با تعدادي جمعيت اوليه شروع مي‌شود. در اين الگوريتم، هر عنصر جمعيت، يک کشور ناميده مي‌شود. کشور‌ها به دو دسته مستعمره و استعمار‌گر تقسيم مي‌شوند. هر استعمارگر، بسته به قدرت خود، تعدادي از کشور‌هاي مستعمره را به سلطه خود درآورده و آن‌ها را کنترل مي‌کند. سياست جذب و رقابت استعماري، هسته اصلي اين الگوريتم را تشکيل مي‌دهند. مطابق سياست جذب که به صورت تاريخي، توسط کشور‌هاي استعمارگري همچون فرانسه و انگليس، در مستعمراتشان اعمال مي‌شد، کشورهاي استعمارگر با استفاده از روش‌هايي همچون احداث مدارس به زبان خود، سعي در از خود بي خود کردن کشور مستعمره، با از ميان بردن زبان کشور مستعمره و فرهنگ و رسوم آن داشتند. در ارائه اين الگوريتم، اين سياست با حرکت دادن مستعمرات يک امپراطوري، مطابق يک رابطه خاص صورت مي‌پذيرد. شکل (2-8) اين حرکت را نشان مي‌دهد.

اگر در حين حرکت، يک مستعمره، نسبت به استمارگر، به موقعيت بهتري برسد، جاي آن دو با هم عوض مي‌شوند. در ضمن، قدرت کل يک امپراطوري به صورت مجموع قدرت کشور استعمارگر به اضافه درصدي از قدرت ميانگين مستعمرات آن تعريف مي‌شود.

در طي رقابت استعماري، امپراطوري‌هاي ضعيف، به تدريج قدرت خود را از دست داده و به مرور زمان با تضعيف شدن از بين مي‌روند. رقابت استعماري باعث مي‌شود که به مرور زمان، به حالتي برسيم که در آن تنها يک امپراطوري در دنيا وجود دارد که آن را اداره مي‌کند. اين حالت زماني است که الگوريتم رقابت استعماري با رسيدن به نقطه بهينه تابع هدف، متوقف مي‌شود. شکل (2-8)  شماي کلي رقابت استعماري را نشان مي‌دهد.

مزاياي الگوريتم توسعه داده شده:

الگوريتم توسعه داده شده،[47] در وهله اول با داشتن يک ديدگاه کاملاً نو به مبحث بهينه‌سازي، پيوندي جديد ميان علوم انساني و اجتماعي از يک سو و علوم فني و رياضي از سوي ديگر، برقرار مي‌کند. ارتباط ميان اين دو شاخه از علم به گونه‌اي مي‌باشد که غالباً رياضيات به عنوان ابزاري قوي و دقيق در خدمت علوم انساني کلي نگر قرار گرفته و به درک و تحليل نتايج آن کمک مي‌کند. اما الگوريتم توسعه داده شده بر خلاف معمول، نقطه‌ي قوت علوم انساني و اجتماعي، يعني کلي‌نگري و وسعت ديد آن را به خدمت رياضيات درآورده و از آن به عنوان ابزاري براي درک بهتر رياضيات و حل بهتر مسائل رياضي استفاده مي‌کند. بنابراين حتي بدون در نظر گرفتن قابليت‌هاي رياضي و عملي روش توسعه داده شده، پيوند ايجاد شده ميان اين دو شاخه به ظاهر جدا از هم، به عنوان يک پژوهش ميان رشته‌اي، در نوع خود داراي ارزش بسياري مي‌باشد.

مزاياي الگوريتم اجتماعي پيشنهادي را مي‌توان به صورت زير خلاصه کرد.

-           نو بودن ايده‌ي پايه‌اي الگوريتم، به عنوان اولين الگوريتم بهينه‌سازي مبتني بر يک فرايند اجتماعي‌ـ‌سياسي

-         توانايي بهينه‌سازي و میزان همگرایی هم‌تراز و حتي بالاتر در مقايسه با الگوريتم‌هاي مختلف بهينه‌سازي، در مواجهه با انواع مسائل بهينه‌سازي

-         سرعت مناسب يافتن جواب بهينه(کمینه)

 

2-7) فلوچارت الگوریتم

شکل (2-9) فلوچارت الگوريتم رقابت استعماري را نشان مي‌دهد. همانند ديگر الگوريتم‌هاي تکاملي، اين الگوريتم، نيز با تعدادي جمعيت اوليه تصادفي که هر کدام از آنها يک "کشور" ناميده مي‌شوند؛ شروع مي‌شود. تعدادي از بهترين عناصر جمعيت (معادل نخبه‌ها در الگوريتم ژنتيک) به عنوان امپرياليست[2] انتخاب مي‌شوند. باقيمانده جمعيت نيز به عنوان مستعمره[3]، در نظر گرفته مي‌شوند. استعمارگران بسته به قدرتشان، اين مستعمرات را با يک روند خاص که در ادامه مي‌آيد؛ به سمت خود مي‌کشند. قدرت کل هر امپراطوري، به هر دو بخش تشکيل دهنده آن يعني کشور امپرياليست (به عنوان هسته مرکزي) و مستعمرات آن، بستگي دارد. در حالت رياضي، اين وابستگي با تعريف قدرت امپراطوري به صورت مجموع قدرت کشور امپرياليست، به اضافه در صدي از ميانگين قدرت مستعمرات آن، مدل شده است.

با شکل‌گيري امپراطوري‌هاي اوليه، رقابت امپرياليستي ميان آنها شروع مي‌شود. هر امپراطوري‌اي که نتواند در رقابت استعماري، موفق عمل کرده و بر قدرت خود بيفزايد (و يا حداقل از کاهش نفوذش جلوگيري کند)، از صحنه رقابت استعماري، حذف خواهد شد. بنابراين بقاي يک امپراطوري، وابسته به قدرت آن در جذب مستعمرات امپراطوري‌هاي رقيب، و به سيطره در آوردن آنها خواهد بود. در نتيجه، در جريان رقابت‌هاي امپرياليستي، به تدريج بر قدرت امپراطوري‌هاي بزرگتر افزوده شده و امپراطوري‌هاي ضعيف‌تر، حذف خواهند شد. امپراطوري‌ها براي افزايش قدرت خود، مجبور خواهند شد تا مستعمرات خود را نيز پيشرفت دهند.

با گذشت زمان، مستعمرات، از لحاظ قدرت به امپراطوري‌ها نزديک‌تر خواهند شد و شاهد يک نوع همگرايي خواهيم بود. حد نهايي رقابت استعماري، زماني است که يک امپراطوري واحد در دنيا داشته باشيم، با مستمراتي که از لحاظ موقعيت، به خود کشور امپرياليست، خيلي نزديک هستند.در ادامه مباحث اين فصل، بخش‌هاي مختلف الگوريتم، مورد بررسي قرار مي‌گيرند.

2-8) شکل دهي امپراطوري‌هاي اوليه

در بهينه‌سازي، هدف يافتن يک جواب بهينه بر حسب متغير‌هاي مسئله، است. يک آرايه از متغير‌هاي مسئله را که بايد بهينه‌ شوند، ايجاد مي‌کنيم. در الگوريتم ژنتيک اين آرايه، کروموزوم[4] ناميده مي‌شود. در اينجا نيز آن را يک کشور مي‌ناميم. در يک مسئله‌ي بهينه‌سازي، يک کشور، يک آرايه‌ي  است و p پارامترهای مربوط به کشورها است. اين آرايه به صورت رابطه(2-7) تعريف مي‌شود.

مقادير متغير‌ها در يک کشور، به صورت اعداد اعشاري نمايش داده مي‌شوند. از ديدگاه تاريخي‌ـ‌فرهنگي، اجزاي تشکيل دهنده يک کشور را مي‌توان ويژگي­هاي اجتماعي– سياسي آن کشور، همچون فرهنگ، زبان، ساختار اقتصادي و ساير ويژگي‌ها در نظر گرفت. شکل (2-10) اين مسئله را به خوبي نشان مي‌دهد. مطابق اين شکل متغيرهاي مجهول تابع هزينه که ما در طي فرايند بهينه‌سازي به دنبال آنها مي‌گرديم، در نگاه اجتماعي‌ـ‌سياسي ويژگي‌هاي تاريخي و فرهنگي‌اي هستند که يک کشور را به نقطه مينيمم تابع هزينه رهنمون مي‌سازند. در حقيقت در حل يک مسئله بهينه‌سازي توسط الگوريتم معرفي شده، ما به دنبال بهترين کشور (کشوري با بهترين ويژگي هاي اجتماعي‌ـ‌سياسي) هستيم. يافتن اين کشور در حقيقت معادل يافتن بهترين پارامترهاي مسئله است که کمترين مقدار تابع هزينه را توليد مي‌کنند.

   

 

     
     
    

 

هزينه‌ي يک کشور با ارزيابي تابع هزینه  در متغير‌هاي  يافته مي‌شود. بنابراين

الگوريتم معرفي شده در اين تحقیق، با توليد يک دسته اوليه از اين ضرايب و دسته بندي آنها در قالب امپراطوري‌ها و اعمال سياست جذب از طرف استعمارگران به روي مستعمرات و همچنين با ايجاد رقابت استعماري ميان امپراطوريها به جستجوي بهترين کشور مي‌پردازد. تابع هزینه تعریف شده برای این تحقیق یعنی تعیین زوایای بازوی روباتها در حرکت معکوس در جدول (4-1) تعریف شده است.

براي شروع الگوريتم، تعداد  کشور اوليه (برای حرکت معکوس زوایای بازوها را در محدوده جدول (2-1)) ايجاد مي‌کنيم. تا، از بهترين اعضاي اين جمعيت (کشورهاي داراي کمترين مقدار تابع هزينه) را به عنوان امپرياليست انتخاب مي‌کنيم. باقيمانده آنها  تا از کشورها، مستعمراتي را تشکيل مي‌دهند که هرکدام به يک امپراطوري تعلق دارند. درحل مسئله حرکت معکوس روبات­ها زوایای تولید شده در محدوده جدول (2-1) وماتریس (2-9) بین کران پایین و بالا، کشورهای ما برای بهینه­سازی خواهند بود. تعداد کشورها (N) در این مسئله برابر با 100 درنظرگرفته شده­است. هزینه هر زاویه بوسیله تابع هزینه تعریف شده درجدول (4-1) یا می تواند بصورت تصادفی برای هر زاویه محاسبه می­شود. براي شروع الگوريتم بايد تعدادي از اين کشورها (به تعداد کشورهاي اوليه الگوريتم) ايجاد شوند.  بنابراين ماتريس اوليه کل کشورها در محدوده جدول(2-1) بصورت تشکيل مي‌شود.

 

   

 

 

 


براي تقسيم مستعمرات اوليه بين امپريالست‌ها، به هر امپرياليست، تعدادي از مستعمرات را که اين تعداد، متناسب با قدرت آن است، تخصیص مي‌دهيم. براي انجام اين کار، با داشتن هزينه همه امپرياليست‌ها، هزينه نرماليزه آن‌ها را به صورت رابطه(2-10) در نظر مي‌گيريم.

که در آن ، هزينه امپريالست nام،  بيشترين هزينه ميان امپرياليست‌ها و ، هزينه نرماليزه شده اين امپرياليست، مي‌باشد. هر امپرياليستي که داراي هزينه بيشتري باشد (امپرياليست ضعيف­تري باشد)، داراي هزينه نرماليزه کمتري خواهد بود. با داشتن هزينه نرماليزه، قدرت نسبي نرماليزه‌ي هر امپرياليست، به صورت رابطه(2-11) محاسبه شده و بر مبناي آن، کشورهاي مستعمره، بين امپريالسيت‌ها تقسيم مي‌شوند.

از يک ديد ديگر، قدرت نرماليزه شده يک امپرياليست، نسبت مستعمراتي است که توسط آن امپرياليست اداره مي‌شود. بنابراين تعداد اوليه‌ي مستعمرات يک امپرياليست برابر رابطه (2-12)خواهد بود.

که در آن ، تعداد اوليه مستعمرات يک امپراطوري و  نيز تعداد کل کشورهاي مستعمره موجود در جمعيت کشورهاي اوليه است.  نيز تابعي است که نزديک‌ترين عدد صحيح به يک عدد اعشاري را مي‌دهد. با در نظر گرفتن  براي هر امپراطوري، به اين تعداد از کشورهاي مستعمره اوليه را به صورت تصادفي انتخاب کرده و به امپرياليست nام تخصیص مي‌دهيم. با داشتن حالت اوليه تمام امپراطوري‌ها، الگوريتم رقابت استعماري شروع مي‌شود. روند تکامل در يک حلقه قرار دارد که تا برآورده شدن يک شرط توقف، ادامه مي‌يابد.

شکل(2-11) چگونگي شکل‌گيري امپراطوري‌هاي اوليه را نشان مي‌دهد. همانگونه که در اين شکل نشان داده شده است. امپراطوري‌هاي بزرگتر، تعداد بيشتري مستعمره دارند. در اين شکل، امپريالست شماره 1 قوي‌ترين امپراطوري را ايجاد کرده است و بيشترين تعداد مستعمرات را دارد.

2-9) مدل‌سازي سياست جذب: حرکت مستعمره‌ها به سمت امپرياليست

سياست همگون‌سازي[5] (جذب) با هدف تحليل فرهنگ و ساختار اجتماعي مستعمرات در فرهنگ حکومت مرکزي انجام مي‌گرفت. با در نظر گرفتن شيوه نمايش يک کشور در حل مسئله بهينه‌سازي، در حقيقت اين حکومت مرکزي با اعمال سياست جذب سعي داشت تا کشور مستعمره را در راستاي ابعاد مختلف اجتماعي سياسي به خود نزديک کند. اين بخش از فرايند استعمار در الگوريتم بهينه‌سازي، به صورت حرکت مستعمرات به سمت کشور امپرياليست، مدل شده است. شکل (2-12)، شماي کلي اين حرکت را نشان مي‌دهد.

 


طابق شکل(2-12)کشور امپرياليست کشور مستعمره را در راستاي محورخود به سمت خود جذب مي‌کند. همانگونه که در اين شکل نشان داده شده است، کشور مستعمره، به اندازه  واحد در جهت خط واصل مستعمره به استعمارگر که با بردار V تعیین می شود، حرکت کرده (2-14) و به موقعيت جديد، کشانده مي‌شود. در شکل(2-13)، فاصله ميان استعمارگر و مستعمره با  نشان داده شده­است.  نيزعددي تصادفي با توزيع يکنواخت (يا هر توزيع مناسب ديگر) در فاصله بین صفر تا بتا ضربدر فاصله بین کلونی و امپریالیست (2-13) مي‌باشد. يعني براي  داريم.

 

که در آن  عددي بزرگتر از يک و نزديک به 2 مي‌باشد. يک انتخاب مناسب مي‌تواند  باشد. وجود ضريب  باعث مي‌شود تا کشور مستعمره در حين حرکت به سمت کشور استعمارگر، از دو جهت‌ مختلف به آن نزديک شود. که می توان مقدارx  جدید یعنی موقعیت جدید x را با استفاده از موقعیت قبلی آن  بوسیله رابطه( 2-14) بصورت زیردرنظرگرفت. بردارV جهت حرکت آن را به سمت امپریالیست وU تابع توزیع یکنواخت بین مقدار0 تا  و موقعیت جدید کلونی و  موقعیت قبلی کلونی را نشان می­دهد.

    

 


با بررسي تاريخي پديده همگون‌سازي، يک حقيقت آشکار در اين زمينه اين است که علي رغم اينکه کشوهاي استعمارگر بطور جدي پيگير سياست جذب بودند، اما وقايع بطور کامل مطابق سياست اعمال شده آنها پيش نمي‌رفت و انحرافاتي در نتيجه کار وجود داشت. در الگوريتم معرفي شده، اين انحراف احتمالي با افزودن يک زاويه تصادفي به مسير جذب مستعمرات، انجام مي‌گيرد. بدين منظور، در حرکت مستعمرات به سمت استعمارگر، کمي زاويه تصادفي نيز به جهت حرکت مستعمره، اضافه مي‌کنيم. شکل (2-14) اين حالت را نشان مي‌دهد. بدين منظور اين‌بار به جاي حرکت به اندازه واحدx، به سمت کشور استعمارگر و در جهت بردار واصل مستعمره به استعمارگر، به همان ميزان، ولي با انحراف  در مسير، به حرکت خود ادامه مي‌دهيم.  را به صورت تصادفي و با توزيع يکنواخت در نظر مي‌گيريم. (اما هر توزيع مناسب ديگر نيز مي‌تواند استفاده شود.(

در اين رابطه،  پارامتري دلخواه مي‌باشد که افزايش آن باعث افزايش جستجوي اطراف امپرياليست شده و کاهش آن نيز باعث مي‌شود تا مستعمرات تا حد ممکن، به بردار واصل مستعمره به استعمارگر، نزديک حرکت کنند.برای اینکار می­توان روشهای مختلفی را در نظر گرفت که یکی از روشها در نظر گرفتن برداری مانند شکل (2-13) است و در این صورت می توان رابطه (2-14) را بصورت رابطه (2-16) در نظر گرفت.

   

   

    
 


      

که اندازه   می تواند به یکی از سه حالت زیر در نظر گرفته شود.

=  

با در نظر گرفتن واحد راديان براي ، عددي نزديک به  در اکثر پياده‌سازي­ها، انتخاب مناسبي بوده است.

 

2-10)  انقلاب؛ تغییر ناگهانی در ویژگیهای سیاسی- اجتماعی کشورها

     انقلاب تغییر اساسی در قدرت یا ساختار سازمانی کشورها در زمان کوتاهی در موقعیت آنها انجام می­شود.

در الگوریتم رقابت استعماری انقلاب باعث تغییر ناگهانی در ویژگیهای برخی از کشورها می­شود. در الگوریتم رقابت استعماری بجای اینکه جذب توسط امپرياليست و در جهت بردار واصل بین امپریالیست و کلونی انجام شود، کلونی­ها بطورتصادفی موقعیت خود را تغییر می­دهند و با جابجایی تصادفی یک کشور مستعمره به یک موقعیت تصادفی جدید مدلسازی می­شود. بعنوان مثال در شکل (2-15) انقلاب در محور فرهنگ انجام شده است. انقلاب و تغییر تحول باعث بسط الگوریتم شده و از همگرایی بهینه­سازی محلی الگوریتم جلوگیری می­کند. مقدار نرخ تغییر و تحول در الگوریتم نشان دهنده درصد کلونی­هایی از کل کلونی­ها که در موقعیت آنها تغییر حاصل می­شود. انتخاب مقدارعددی بزرگتر برای نرخ تغییر و تحول از اندازه توان بسط الگوریتم کاسته و همچنین باعث کاهش نرخ همگرایی آن می­شود. در این تحقیق ما مقدار نرخ تغییر و تحول را برابر با 0.3 در نظرگرفته­ایم یعنی30 درصد از کلونی­ها می­توانند بطورتصادفی تغییرموقعیت دهند. تغییر و تحول بر طبق فرمول­ (2-17) انجام می­گیرد.

      
 

 


 

 

    

2-11)جابجايي موقعيت مستعمره و امپرياليست

سياست جذب در عين نابودي ساختارهاي اجتماعي سياسي کشور مستعمره در بعضي موارد نتايج مثبتي را نيز براي آنها در پي داشت. بعضي از کشور در نتيجه اعمال اين سياست به نوعي از خودباوري عمومي دست يافتند و پس از مدتي همان تحصيلکرده‌گان (به عبارت ديگر جذب شدگان فرهنگ استعماري) بودند که به رهبري ملت خود براي رهايي از چنگال استعمار پرداختند. نمونه هاي فراواني از اين موارد را مي‌توان در مستعمرات انگليس و فرانسه يافت. از سوي ديگر نگاهي به فراز و نشيب چرخش قدرت در کشور‌ها به خوبي نشان مي‌دهد که کشور هايي که زماني در اوج قدرت سياسي – نظامي بودند، پس از مدتي سقوط کردند و در مقابل کشورهايي سکان قدرت را در دست گرفتند که زماني هيچ قدرتي در دست نداشنتد. در مدلسازي اين واقعه تاريخي در الگوريتم معرفي شده به اين صورت عمل شده است که در حين حرکت مستعمرات به سمت کشور استعمارگر، ممکن بعضي از اين مستعمرات به موقعيتي بهتر از امپرياليست برسند (به نقاطي در تابع هزينه برسند که هزينه کمتري را نسبت به مقدار تابع هزينه در موقعيت امپرياليست، توليد مي‌کنند.) در اين حالت، کشور استعمارگر و کشور مستعمره، جاي خود را با همديگر عوض کرده و الگوريتم با کشور استعمارگر در موقعيت جديد ادامه يافته و اين اين بار اين کشور امپرياليست جديد است که شروع به اعمال سياست همگون‌سازي بر مستعمرات خود مي‌کند. تغيير جاي استعمارگر و مستعمره، در شکل (2-16) نشان داده شده است. در اين شکل، بهترين مستعمره‌ي امپراطوري، که هزينه‌اي کمتر از خود امپرياليست دارد، به رنگ تيره‌تر، نشان داده شده است. شکل(2-17)، کل امپراطوري را پس از تغيير موقعيت‌ها، نشان مي‌دهد.

2-11) قدرت کل يک امپراطوري

قدرت يک امپراطوري برابر است با قدرت کشور استعمارگر، به اضافه درصدي از قدرت کل مستعمرات آن. بدين ترتيب براي محاسبه هزينه کل يک امپراطوري با استفاده از رابطه (2-18) داريم.

ه در آن  هزينه کل امپراطوري nام و  عددي مثبت است که معمولاً بين صفر و يک و نزديک به صفر در نظر گرفته مي‌شود. کوچک در نظر گرفتن ، باعث مي‌شود که هزينه کل يک امپراطوري، تقريباً برابر با هزينه حکومت مرکزي آن (کشور امپرياليست)، شود و افزايش  نيز باعث افزايش تاثير ميزان هزينه مستعمرات يک امپراطوري در تعيين هزينه کل آن مي‌شود. در حالت کلی  در اکثر پياده‌سازي به جوابهاي مطلوبي منجر شده است.

 

2-12) رقابت امپرياليستي

همانگونه که قبلاً نيز بيان شد، هر امپراطوري‌اي که نتواند بر قدرت خود بيفزايد و قدرت رقابت خود را از دست بدهد، در جريان رقابت‌هاي امپرياليستي، حذف خواهد شد. اين حذف شدن، به صورت تدريجي صورت مي‌پذيرد. بدين معني که به مرور زمان، امپراطوري‌هاي ضعيف، مستعمرات خود را از دست داده و امپراطوري‌هاي قويتر، اين مستعمرات را تصاحب کرده و بر قدرت خويش مي‌افزايند. براي مدل کردن اين واقعيت‌، فرض مي‌کنيم که امپراطوري در حال حذف، ضعيف‌ترين امپراطوري موجود است. بدين ترتيب، در تکرار الگوريتم، يکي يا چند تا از ضعيف‌ترين مستعمرات ضعيف‌ترين امپراطوري را برداشته و براي تصاحب اين مستعمرات، رقابتي را ميان کليه امپراطوري‌ها ايجاد مي‌کنيم. مستعمرات مذکور، لزوماً توسط قويترين امپراطوري، تصاحب نخواهند شد، بلکه امپراطوري­‌هاي قويتر، احتمال تصاحب بيشتري دارند. شکل (2-18) شماي کلي اين بخش از الگوريتم را نشان مي‌دهد.

در اين شکل امپراطوري شماره 1 به عنوان ضعيف‌ترين امپراطوري در نظر گرفته شده و يکي از مستعمرات آن در معرض رقابت امپرياليستي قرار گرفته است و امپراطوري­هاي 2 تا N براي تصاحب آن با هم رقابت مي‌کنند. براي مدل‌سازي رقابت ميان امپراطوري‌ها براي تصاحب اين مستعمرات، ابتدا احتمال تصاحب هر امپراطوري (که متناسب با قدرت آن امپراطوري مي‌باشد)، را با در نظر گرفتن هزينه کل امپراطوري، به ترتيب رابطه (2-19) محاسبه مي‌کنيم. ابتدا از روي هزينه کل امپراطوري، هزينه کل نرماليزه شده آن را تعيين مي‌کنيم.

در اين رابطه ، هزينه کل امپراطوري nام و  نيز، هزينه کل نرماليزه شده آن امپراطوري مي‌باشد. هر امپراطوري‌ که  کمتري داشته باشد  بيشتري خواهد داشت. در حقيقت  معادل هزينه کل يک امپراطوري و  معادل قدرت کل آن مي‌باشد. امپراطوري با کمترين هزينه، داراي بيشترين قدرت است. با داشتن هزينه کل نرماليزه شده، احتمال (قدرت) تصاحب مستعمره رقابت، توسط هر امپراطوري، به صورت رابطه (2-20) محاسبه مي‌شود.

     
                               

با داشتن احتمال تصاحب هر امپراطوري، مکانيزمي همانند چرخه رولت[6] در الگوريتم ژنتيک مورد نياز است تا مستعمره مورد رقابت را با احتمال متناسب با قدرت امپراطوريها در اختيار يکي از آنها قرار دهد. در کنار امکان استفاده از چرخ رولت موجود، در اين نوشتار مکانيزم جديدي براي پياده‌سازي اين فرايند معرفي شده است که نسبت به چرخه رولت داراي هزينه محاسباتي بسيار کمتري مي‌باشد. زيرا عمليات نسبتاً زياد مربوط به محاسبه تابع توزيع جمعي احتمال[7] را که در چرخه رولت مورد نياز است را حذف مي‌کند و فقط به داشتن تابع چگالي احتمال[8] نياز دارد. در ادامه مکانيزم مطرح شده براي اختصاص متناسب با احتمال مستعمره مورد رقابت به امپراطوري هاي رقيب توضيح داده مي‌شود.

با داشتن احتمال تصاحب هر امپراطوري، براي اينکه مستعمرات مذکور را به صورت تصادفي، ولي با احتمال وابسته به احتمال تصاحب هر امپراطوري، بين امپراطوري‌ها تقسيم کنيم؛ بردارP را از روي مقادير احتمال فوق، به صورت رابطه(2-21) تشکيل ميدهيم.

بردار P داراي سايز  مي‌باشد و از مقادير احتمال تصاحب امپراطوري‌ها تشکيل شده است. سپس بردار تصادفيR رابطه (2-22)، هم سايز با بردارP را تشکيل مي‌دهيم. آرايه‌هاي اين بردار، اعدادي تصادفي با توزيع يکنواخت در بازه [0,1] مي‌باشند.

 

    

با داشتن بردارD، مستعمرات مذکور را به امپراطوري‌ مي‌دهيم که انديس مربوط به آن در بردارD بزرگتر از بقيه مي‌باشد. امپراطوري‌اي که بيشترين احتمال تصاحب را داشته باشد، با احتمال بيشتري انديس مربوط به آن در بردارD، بيشترين مقدار را خواهد داشت. عدم نياز به محاسبه CDF باعث مي‌شود که اين مکانيزم نسبت به چرخه رولت با سرعت به مراتب بيشتري عمل کند. مکانيزم مطرح شده نه تنها مي‌تواند در اختصاص مستعمره به امپراطوري بر حسب احتمال تصاحب آنها مفيد باشد، بلکه به عنوان يک مکانيزم انتخاب بر حسب احتمال مي‌تواند جايگزين چرخه رولت در الگوريتم براي انتخاب امپراطوري شود و سرعت اجراي عمليات در آن را تا حد زيادي افزايش دهد.

2-13)سقوط­امپراطوري‌هاي ضعيف

 در جريان رقابت‌هاي امپرياليستي، خواه ناخواه، امپراطوريهاي ضعيف به تدريج سقوط کرده و مستعمراتشان به دست امپراطوري‌هاي قوي‌تر مي‌افتد. شروط متفاوتي را مي‌توان براي سقوط يک امپراطوري در نظر گرفت. در الگوريتم پيشنهاد شده، يک امپراطوري زماني حذف شده تلقي مي‌شود که مستعمرات خود را از دست داده باشد. شکل(2-19) اين مسئله را به خوبي نشان مي‌دهد. در اين شکل، امپراطوري شماره 4 به علت از دست دادن کليه مستعمراتش، ديگر قدرتي براي رقابت ندارد و بايد از ميان بقيه امپراطوري‌ها حذف شود.

2-14) همگرايي

الگوريتم مورد نظر تا برآورده شدن يک شرط همگرايي، و يا تا اتمام تعداد کل تکرارها، ادامه مي‌يابد. پس از مدتي، همه امپراطوري‌ها، سقوط کرده و تنها يک امپراطوري خواهيم داشت و بقيه کشورها تحت کنترل اين امپراطوري واحد، قرار مي‌گيرند. در اين دنياي ايده‌آل جديد، همه‌ي مستعمرات، توسط يک امپراطوري واحد اداره مي‌شوند و موقعيت‌ها و هزينه‌هاي مستعمرات، برابر با موقعيت و هزينه کشور امپرياليست است. در اين دنياي جديد، تفاوتي، نه تنها، ميان مستعمرات، بلکه ميان مستعمرات و کشور امپرياليست، وجود ندارد. به عبارت ديگر، همه‌ي کشورها، در عين حال، هم مستعمره و هم استعمارگرند. در چنين موقعيتي رقابت امپرياليستي به پايان رسيده و به عنوان يکي از شروط توقف الگوريتم متوقف مي‌شود.

شماي کلي الگوريتم به صورت گرافيکي در شکل (2-20) نيز نشان داده شده است. مطابق اين شکل، الگوريتم با جمعيت اوليه تصادفي و تشکيل امپراطوري هاي اوليه آغاز شده و در يک چرخه سياست جذب و رقابت امپرياليستي تکرار مي‌شوند.


[1] Imperialist Competitive Algorithm

[2] Imperialist

[3] Colony

[4] chromosome

[5] Assimilation

[6] Roulette Wheel

[7] Cumulative Distribution Function (CDF)

[8] Probability Density Function (PDF)