بشر هوشمند و صاحب تفكر همیشه برای یافتن راهی كه زندگی اش را متحول و كامل گرداند، از طبیعت الهام گرفته است.
با گذشت قرن ها، احساس نیاز به الهام گرفتن از طبیعت اسرارآمیز و دوست داشتنی و صد البته منظم، قانونمند و دارای شعور فطری، شدت پیدا كرده است. به گونه ای كه از ریزترین موجودات همچون ویروس تا غول آساترین كهكشان ها، برای انسان كه همیشه در تكاپوی حقیقت و دانش است، همه، معلمان و راهنمایان خوبی محسوب گردیدهاند، چرا كه طبیعت همیشه رو به سوی كمال دارد.
آنچه كاملاً مشهود است، به نظر می آید جهان هستی از جزء تا كل با یك حركت آرام ولی پیوسته كه به ظاهر تصادفی است رو به یك نقطه بهینه درحال حركت است. در حقیقت طبق نظریه داروینی، طبیعت در حال بهینه كردن مسائل است.
به طور مثال اگر بخواهیم حجم معینی آب را از كوهستان به دریا منتقل كنیم و تمام ویژگیها و معادلات مربوط به سختی، نوع، دما، جنس و سایر مشخصات آب و محیط اطراف را تعیین كرده و با این معادلات مسیر را بیابیم دقیقاً به همان مسیر جویبارها و رودخانهها میرسیم كه در طبیعت جریان دارند.
بدیهی است كه خداوند معلمی است كه دانش آموزش، انسان را از طریق نشانههایش در طبیعت به طور كامل هدایت میكند.
هم اكنون كار روی توسعه سیستمهای هوشمند با الهام از طبیعت، از زمینههای پرطرفدار هوش مصنوعی است. الگوریتم ژنتیك[1] كه با استفاده از ایده تكامل داروینی و انتخاب طبیعی مطرح شده روش بسیار خوبی برای یافتن مسائل بهینهسازی است. ایده تكاملی داروینی بیانگر این مطلب است كه هر نسل نسبت به نسل قبل دارای تكامل است و آنچه در طبیعت رخ میدهد، حاصل میلیونها سال تكامل نسل به نسل موجوداتی مانند مورچه است.
حشراتی مانند مورچه، موریانه، زنبور كه به صورت كلونی زندگی میكنند، بر رفتار به ظاهر بینظمشان نظم و قانونمندی خاصی حكمفرماست كه دانشمندان و محققان را به خاطر این پیچیدگی منظم و راهگشا در حل مسائل بهینه سازی، شیفته خود ساخته است.
2-1- كمومتریكس
بدست آوردن داده تجزیهای یكی از مراحل اصلی تجزیه میباشد، تا اواخر دهه پنجاه قرن بیستم این مرحله به عنوان مشكلترین بخش یك تجزیه به حساب میآمد، همچنین زمان عمده یك تجزیه شیمیائی مربوط به جمعآوری دادههای تجزیهای میشد.
اما ازآغاز دهه شصت قرن بیستم، زمانی كه دستگاههای مدرن وارد آزمایشگاهها و مراكز تحقیقاتی گردید، این مشكل برطرف شد و در نتیجه استفاده از چنین دستگاههای پیشرفته تعداد زیادی داده از یك نمونه بدست میآید. جهت ثبت و ذخیرهسازی چنین دادههای وسیعی نیاز به وسیلهای بود كه بتواند از عهده چنین كاری برآید، به طور همزمان با ظهور دستگاههای پیشرفته تعداد زیادی داده از یك نمونه بدست آمد و استفاده از كامپیوتر نیز به عنوان ابزاری جهت ثبت و ذخیره دادههای حاصل از یك تجزیه شیمیائی رشد چشمگیری یافت، در نتیجه اتصال كامپیوتر به دستگاههای آزمایشگاهی ثبت و ذخیره نمودن دادهها كه قبلاً به عنوان مشكلترین بخش یك تجزیه بوده تبدیل به سادهترین مرحله گردید. ولی مشكل دیگری كه به دنبال چنین پیشرفتی، ظاهر گردید، نحوه برخورد با چنین حجم وسیعی از داده بود كه باید به اطلاعات تبدیل میشدند.
برای مدتهای طولانی، ریاضی و آمار برای تفسیر نتایج آزمایشها به كار گرفته میشدند. ولی با ظهور نرمافزارهای پیشرفته رایانه ای تحول شگرفی در نحوه استفاده ریاضی و آمار در حل مسائل شیمیایی به وجود آمد. به طوری كه استفاده از ریاضی ، آمار و كامپیوتر در شیمی منجر به ظهور شاخهای جدید به نام كمومتریكس[1] گردید. اگرچه شیمیدانهای تجزیه بیش از سایر همکارانشان با این شاخه آشنا هستند و از آن بهره میبرند، ولی در رشتههای مرتبط با شیمی از جمله علوم داروئی، بیوشیمی و غیره نیز كاربردهای فراوانی دارد ]5-1[.
برای اولین بار در سال 1971 سوانت ولد[2] اصطلاح “كمومتریكس” را به كار برد و آن را هنر استخراج اطلاعات شیمیائی از دادههای تجزیهای دانست . در سال 1974 با همكاری كوالسكی[3] انجمن بینالمللی كمومتریكس تأسیس شد ]6[.
در سال 1982 كوالسكی و فرانك[4] كمومتریكس را شاخهای از علم شیمی كه در طراحی آزمایشهای بهینهسازی، برقراری ارتباط بین نتایج تجربی با متغیرهای آزمایش و همچنین استخراج اطلاعات از سیستمهای شیمیایی با استفاده از ریاضی، آمار و كامپیوتر تعریف كردند ]7[.
ماسارت[5]، كمومتریكس را یك روش شیمیائی میداند كه از منطق ریاضیات و آمار برای رسیدن به اهداف زیر بهره میجوید ]8[:
1) طراحی با انتخاب فرآیندهای تجربی بهینه شده
2) دسترسی به حداكثر اطلاعات مناسب شیمیائی از طریق داده های تجربی
3) بدست آوردن اطلاعات در زمینه سیستمهای شیمیائی
براون[1] سردبیر مجله كمومتریكس معتقد است كمومتریكس قسمتی از علم شیمی است كه كوشش در پاسخگوئی به سوالات مربوط به سنجشهای شیمیائی دارد ]9[. سوالاتی از قبیل:
1) اندازه گیری كجا و چگونه باید انجام پذیرد؟
2) سیگنال[2] و نویز[3] كدامند؟
3) چگونه می توان از اندازهگیری، اطلاعات مناسب را بدست آورد؟
4) منشأ خطاها در نتایج حاصل از اندازه گیریها چیست؟
انجمن بینالمللی كمومتریكس (ICS) تعریف جامعی از كمومتریكس ارائه میدهد. براساس تعریف این انجمن كمومتریكس علم برقراری ارتباط بین سنجشهای انجام شده بر روی یك سیستم یا فرایند شیمیائی و حالتی از سیستم میباشد. این ارتباط از طریق كاربرد روشهای آماری و ریاضی صورت میپذیرد.
به هر حال، شاید بتوان اهداف كمومتریكس را چنین بیان نمود كه:
با استفاده از کمومتریکس، عوامل موثر و بر همكنش آنها در یك فرایند شیمیائی (اعم از یك فرایند تجزیهای و غیره) مورد شناسائی قرار گرفته و با حداقل آزمایشها، بهینهسازی می شوند. بدست آوردن ارتباط بین عوامل موثر و پاسخ سیستم از دیگر اهداف كمومتریكس میباشد. در نهایت، تبدیل دادههای حاصل به اطلاعات نیز هدف نهائی كمومتریكس میباشد. واضح است رسیدن به چنین اهدافی نیازمند كمك گرفتن از ریاضی، آمار و كامپیوتر است ]10[.
بسیاری از مسائلی که در کمومتریکس با آنها مواجه می شویم به دلیل پیچیدگی فوق العاده با روش های دقیق قابل حل نیست به زبان علوم کامپیوتر، چنین مسائلی را “چند جمله ای نامعین سخت[4]” می گویند.
زمان لازم برای حل دقیق چنین مسائلی با زیاد شدن تعداد ورودی ها ، به شدت زیاد میشود ، در چنین مواردی لازم است از “تقریب های خوب[5]” استفاده کنیم، یکی از این تقریبهای خوب الگوریتم های هیوریستیک می باشند که از آن برای برقراری رابطه ساختار – خاصیت بهره خواهیم جست ]11[.
3-1- الگوریتم هیوریستیك
هیوریستیكها[1] عبارت از معیارها، روشها یا اصولی برای تصمیمگیری بین چندین خط مشی و انتخاب اثربخشترین آن ها برای دستیابی به اهداف مورد نظر می باشند. سیستمهای پیچیده اجتماعی، تعداد زیادی از مسائل دارای طبیعت تركیباتی را پیش روی ما قرار میدهد. به عنوان مثال مسیر كامیونهای حمل و نقل باید به شکل بهینه تعیین شود. تئوری پیچیدگی[2] به ما میگوید كه مسائل تركیباتی اغلب چند جمله ای[3] نیستند. این مسائل در اندازههای كاربردی و عملی خود به قدری بزرگ هستند كه نمیتوان جواب بهینه آنها را در مدت زمانی قابل قبول به دست آورد. با این وجود، این مسائل باید حل شوند و بنابراین چارهای نیست كه به جوابهای با تقریب بهینه بسنده نمود.
الگوریتمهائی داریم كه میتوانند یافتن جوابهای خوب در فاصله مشخصی از جواب بهینه را تضمین كنند كه به آنها الگوریتمهای تقریبی میگویند. الگوریتمهای دیگری هستند كه تضمین میدهند با احتمال بالا جواب “نزدیك بهینه[4]” تولید كنند كه به آنها الگوریتمهای احتمالی گفته میشود. جدای از این دو دسته، میتوان الگوریتمهائی را پذیرفت كه هیچ تضمینی در ارائه جواب ندارند اما بر اساس شواهد و سوابق نتایج آنها، به طور متوسط بهترین تقابل كیفیت و زمان حل برای مسئله مورد بررسی را به همراه داشتهاند. به این الگوریتمها، الگوریتمهای هیوریستیك گفته میشود.
هیوریستیكها نتیجه برقراری اعتدال بین دو نیاز هستند: نیاز به ساخت معیارهای ساده و تمایز درست بین انتخابهای خوب و بد.
خاصیت هیوریستیكهای خوب این است كه ابزار سادهای برای تشخیص خط مشیهای بهتر ارائه می دهند. در حالی كه این الگوریتمها الزاما، تشخیص خط مشیهای اثربخش را تضمین نمیكنند اما اغلب به صورت شرط كافی این تضمین را فراهم میآورند.
بیشتر مسائل پیچیده نیازمند ارزیابی تعداد انبوهی از حالتهای ممكن برای تعیین یك جواب دقیق میباشند. زمان لازم برای یافتن یك جواب دقیق اغلب بیشتر از یك طول عمر است. هیوریستیكها با استفاده از روشهائی كه نیازمند ارزیابی كمتر هستند و جوابهایی در محدوده های زمانی قابل قبول ارائه مینمایند، دارای نقش اثربخشی در حل چنین مسائلی خواهند بود.
در حالت كلی الگوریتمهای هیوریستیك را به سه دسته تقسیم میكنند:
1- الگوریتمهائی كه بر هدایت هیوریستیك یك الگوریتم سازنده یا جستجوی محلی متمركز میشوند، به گونهای كه آن الگوریتم بتواند بر شرایط حساس غلبه كند به این الگوریتمها، متاهیوریستیك[1] گفته میشود.
2- الگوریتمهائی كه بر ویژگیهای ساختاری مسأله و ساختار جواب متمركز میشوند و با استفاده از آنها الگوریتمهای سازنده یا جستجوی محلی تعریف میكنند.
3- الگوریتمهائی كه بر تركیب یك چارچوب یا مفهوم هیوریستیك با گونههایی از برنامهریزی ریاضی (معمولاً روشهای دقیق) متمركز میشوند.
هیوریستیكهای نوع دوم میتوانند خیلی خوب عمل كنند (گاهی اوقات تا حد بهینگی) اما ممكن است در جوابهای دارای كیفیت پائین گیر كنند.
همان طور كه اشاره شده یكی از مشكلات مهمی كه این الگوریتمها با آن روبرو میشوند افتادن در بهینههای محلی[1] است. بدون اینكه هیچ شانسی برای فرار از آنها داشته باشند. برای بهبود این الگوریتمها از اواسط دهه هفتاد، موج تازهای از رویكردها آغاز گردید. این رویكردها شامل الگوریتمهائی است كه صریحاً یا به صورت ضمنی تقابل بین ایجاد تنوع جستجو و تشدید جستجو (این هدف كه بهترین جواب در منطقه مورد بررسی را پیدا كند) را مدیریت میكنند.
این الگوریتمها متاهیوریستیك نامیده میشوند و از بین این الگوریتمها میتوان به موارد زیر اشاره نمود:
1) بازپخت شبیهسازی شده[2]
2) جستجوی ممنوع[3]
3) الگوریتمهای ژنتیك
4) شبكه های عصبی مصنوعی[4]
بهینه سازی مورچهای یا الگوریتم مورچه [5]
5) در حالیکه الگوریتم هوش مصنوعی به دنبال شبیه سازی هوش انسانی بر روی کامپیوتر (شبکه های عصبی) هستند، الگوریتم های متاهیوریستیک از هوش دسته جمعی حیوانات و حشراتی که به صورت کلونی برای حل مسائل پیچیده الهام می گیرند] 12.[
[1]. Local Optima
[2]. Simulated Anealling
19. Tabu Search
[4]. Meta Heuristic
Artificial Inteligence
[1]. Meta Heuristic
[1] .Heuristics
2. Complexity Theory
[3]. Polynomial
4. Near Optimal
[1]. Brown
[2]. Signal
[3]. Noise
None Deterministic Polynomial Hard
[5] .Good Approximation
[1]. Chemometrics
[2]. Sovant Wold
[3]. Kowalski
[4]. Frank
[5]. Massart
[1]. Genetic Algorithm