الگوریتم فرهنگی

**الگوریتم های فرهنگی** شاخه ای از محاسبات تکاملی است که در آن علاوه بر مؤلفهٔ جمعیت، مؤلفه ای به نام فضای باور نیز وجود دارد. از این نظرگاه، به الگوریتم‌های فرهنگی می‌توان به عنوان گسترشی از الگوریتم های ژنتیک نگاه کرد. الگوریتم های فرهنگی توسط رابرت رینولدز ، زیاد کبتی  و تیم کلر  معرفی شدند.

## فضای باور
فضای باور یک الگوریتم فرهنگی به بخش‌های مختلفی تقسیم می شود. این بخش‌ها نمایندهٔ حوزه‌های مختلف دانشی هستند که جمعیت از فضای جستجو دارد.

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

## فهرست دسته‌های فضای باور
* **دانش هنجاری**: مجموعه ای از محدوده‌های ارزشی مطلوب برای افراد در مؤلفهٔ جمعیت، به طور مثال رفتارهای قابل قبول برای اعضای جمعیت.
* **دانش حوزه‌ای**: اطلاعات مرتبط با حوزه‌ای از مسئله که الگوریتم فرهنگی به آن اعمال شده است.
* **دانش موقعیتی**: مثال های خاص از رویدادهای مهم، به طور مثال راه حل‌های موفق/ ناموفق
* **دانش موقت**: تاریخچهٔ فضای جستجو، به طور مثال الگوهای موقت فضای جستجو
* **دانش فضایی**: اطلاعاتی در مورد توپوگرافی فضای جستجو

## جمعیت
مؤلفهٔ جمعیت یک الگوریتم فرهنگی تقریباً مشابه همین مؤلفه در الگوریتم ژنتیک است.
## پروتکل ارتباطی
الگوریتم فرهنگی نیازمند یک واسط میان جمعیت و فضای باور است. افراد برجستهٔ جمعیت می توانند با استفاده از تابع به روزرسانی، فضای باور را به روز کنند. همچنین، دسته‌های دانش فضای باور می‌توانند توسط تابع اثرگذاری بر مؤلفهٔ جمعیت اثر بگذارند. تابع اثرگذاری می‌تواند با تغییر ژنوم یا فعالیت‌های افراد، بر جمعیت اثرگذار باشند.
## شبه کد الگوریتم فرهنگی
# **فضای جمعیت** را مقداردهی اولیه کن(جمعیت اولیه را انتخاب کن).
# **فضای باور** را مقداردهی اولیه کن(برای مثال دانش حوزه ای و محدوده های ارزشی هنجاری را تعیین کن).
# تا زمانی که شرایط خاتمه محقق نشده مراحل زیر را تکرار کن
:# فعالیت های افراد در **فضای جمعیت** را ارزیابی کن.
:# هر فرد را با استفاده از **تابع صلاحیت** ارزیابی کن.
:# والدین را جهت زاد ولد نسل جدید انتخاب کن.
:# به فضای باور اجازه بده تا ژنوم نسل جدید را با استفاده از **تابع اثرگذاری** تغییر دهد.
:# . فضای باور را با استفاده از **تابع پذیرش** به روز کن(این کار با اجازه دادن به بهترین افراد برای اثرگذاری بر فضای باور صورت می گیرد).

## کاربردها
* مسائل بهینه‌سازی
* شبیه سازی اجتماعی

## جستارهای وابسته
* هوش مصنوعی
* محاسبات تکاملی
* حیات مصنوعی
* الگوریتم ژنتیک
* یادگیری ماشینی
* هوش ازدحامی

## منابع
* Robert G. Reynolds, Ziad Kobti, Tim Kohler: Agent-Based Modeling of Cultural Change in Swarm Using Cultural Algorithms
* R. G. Reynolds, “An Introduction to Cultural Algorithms, ” in Proceedings of the 3rd Annual Conference on Evolutionary Programming, World Scienfific Publishing, pp 131–139, 1994.
* Robert G. Reynolds, Bin Peng. Knowledge Learning and Social Swarms in Cultural Systems. Journal of Mathematical Sociology. 29:1-18, 2005
* Reynolds, R. G., and Ali, M. Z, “Embedding a Social Fabric Component into Cultural Algorithms Toolkit for an Enhanced Knowledge-Driven Engineering Optimization”, International Journal of Intelligent Computing and Cybernetics (IJICC), Vol. 1, No 4, pp.&nbsp;356–378, 2008
* Reynolds, R G., and Ali, M Z., Exploring Knowledge and Population Swarms via an Agent-Based Cultural Algorithms Simulation Toolkit (CAT), in proceedings of IEEE Congress on Computational Intelligence 2007.

رده:الگوریتم‌های ژنتیک
رده:الگوریتم‌های فراابتکاری مبتنی بر طبیعت
رده:الگوریتم‌های فرگشتی
رده:مقاله‌های ایجادشده توسط ایجادگر
رده:ویکی‌سازی رباتیک