الگوریتم انتخاب ویژگی جستجوی هارمونی (Harmony Search)

هارمونی چیست؟

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

الگوریتم جستجوی هارمونی

الگوریتم جست وجوی هارمونی، یک الگوریتم انتخاب ویژگی است که در سال ۲۰۰۱ توسعه یافت. الگوریتم جست وجوی هارمونی به عنوان یک الگوریتم فر ااکتشافی موفق جهت مسیریابی در شبکه های حسگر بی سیم و در راستای افزایش طول عمر در این نوع شبکه ها است. یکی از سادهترین و جدیدترین روشهای فراابتکاری است که در فرایند جستجوی جواب شدنی بهینه در مسائل انتخاب ویژگی، از فرایند نواختن همزمان گروه ارکستر موزیک الهام گرفته شده است. به عبارت دیگر، میان پیدا کردن یک حل بهینه در مسأله پیچیده و فرایند اجرای موزیک تشابه وجود دارد.این روش حل را ابتدا گیم در سال ۲۰۰۱ میلادی ارائه کرد.

این الگوریتم از پنج گام تشکیل شده است:

  1. مقداردهی اولیه مسئله انتخاب ویژگی و پارامترهای اولیه
  2. مقداردهی حافظه هارمونی
  3. ایجاد یک هارمونی جدید بهبودیافته
  4. به روز کردن حافظه هارمونی
  5. تکرار گام های ۳و ۴ تا زمانی که شرط پایانی ارضا شود یا تکرارها پایان پذیرد.

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

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

مراحل الگوریتم harmony search

مراحل الگوریتم جستجوی هارمونی، به ترتیب زیر است :

  1. رائه پاسخ‌های اولیه به همراه ارزیابی آنها و پر کردن حافظه HM
  2. تولید یک هارمونی جدید به همراه احتمال استفاده از HM برابر با HMCR
  3. تغییر دادن فرکانس با احتمال PAR یا pitch adjustment rate و همچنین ارزیابی پاسخ‌های جدید
  4. مقایسه کردن هارمونی جدید با قبلی و افزودن آن به HM در صورت بهینه بودن آن
  5. برگشتن به مرحله 2، در صورتی که شرط توقف وجود نداشته باشد.

پارامترهای الگوریتم harmony search

الگوریتم harmony search از تعدادی پارامتر تشکیل شده است که در مورد هر یک، به تفکیک توضیح خواهیم داد.

  • Maxlt : این پارامتر بیانگر مقادیر مربوط به تکرار الگوریتم است.
  • HMS : HMS یا harmony Memory Size پارامتری است که بیانگر مقدار هارمونی‌هایی است که در حافظه نگهداری می‌شوند.
  • nNew : این پارامتر بیانگر مقدار هارمونی‌های جدیدی است که در هر بار تکرار، ساخته میشود.
  • HMCR : HMCR یا harmony Memory Consideration Rate ، پارامتری است که میزان احتمال استفاده از هارمونی مموری را نشان می‌دهد. به طور مثال، اگر میزان آن را برابر با 0.5 قرار دهیم، به این معنی است که در هنگام ایجاد یک هارمونی جدید، % 50 احتمال این موضوع وجود دارد که از هارمونی مموری استفاده شود. این ویژگی تقریبا مشابه با ویژگی انتخاب، در الگوریتم ژنتیک می‌باشد.
  • PAR : PAR یا Pitch Adjustment Rate، پارامتری است که میزان احتمال ایجاد تغییرات جزیی در یک مولفه را نشان می‌دهد. این ویژگی تقریبا مشابه با ویژگی جهش ، در الگوریتم ژنتیک می‌باشد.
  • FW : FW یا Fret Width پارامتری است که برای مسائل پیوسته به کار می‌رود. نام این پارامتر، برگرفته از fret یا باره ی گیتار یا ویالون است. مقدار این پارامتر باید متناسب با فاصله بین  VarMax و VarMin باشد، بنابراین می‌توانیم اینطور بگوییم که مقدار 0.05* (VarMax-VarMin)، تقریبا قابل توجه میباشد. سازهایی مانند پیانو، برخلاف سازهایی مانند گیتار از فِرِت برخوردار نیستند.
1502 بازدید