기고글 토론 "모집단 최적화 알고리즘: 하모니 검색(HS)"

 

새로운 기고글 모집단 최적화 알고리즘: 하모니 검색(HS) 가 게재되었습니다:

이번 기사에서는 완벽한 하모니를 찾는 과정에서 영감을 얻은 가장 강력한 최적화 알고리즘인 하모닉 서치(HS)에 대해 알아보고 테스트해 보겠습니다. 현재 평가에서 선두를 달리고 있는 알고리즘은 무엇일까요?

HS 로직 작업은 완벽한 하모니를 만들어내는 음악가의 작업과 유사합니다. 뮤지션은 완벽한 하모니를 찾을 때까지 다양한 음색을 바꿔가며 연주합니다. 그 후 발견된 하모니 모음은 메모리에 저장됩니다. 최적화 문제에서 하모니는 다양한 변화를 겪습니다. 변화의 결과가 좋으면 메모리에 하모니를 추가하고 바람직하지 않은 요소를 제거하여 메모리를 새로 고칩니다... 이 모든 것이 꽤 혼란스럽게 들릴 수 있습니다. 그렇다면 하모니란 무엇일까요? 톤이란 무엇인가요? 우리만의 용어를 사용하여 알고리즘을 이해해 보겠습니다.

음악이란 무엇인가요? 물론 저는 음악가는 아니고(안타깝게도) 프로그래머입니다. 그러나 알고리즘의 감지를 위해서는 "음"의 개념을 적용하는 것으로 충분합니다. 음악은 음(화음)으로 구성되어 있습니다. 그림 1은 음악을 만드는 '메커니즘'을 개략적으로 보여줍니다. 음은 음악이나 음악 교육에 대한 조예가 없어도 쉽게 선택할 수 있는 음악 작품에 해당합니다. 맞힐 의향이 있는 분은 아래에 댓글을 남겨 주세요. 

HS 알고리즘을 최적화하는 방법은 음이 있는 녹색 바를 곡 자체의 파란색 바 위로 이동하는 것입니다. 녹색 막대의 범위는 옥타브로, 개별 음으로 구성되어 있습니다. 제품(파란색 막대)은 최적화 솔루션 중 하나에 해당합니다. 녹색바의 음은 문제의 해당 최적화 매개변수입니다. 뮤지션의 메모리는 곡의 여러 버전(파란색 바의 여러 변형)을 저장하는데 이것이 바로 알고리즘 모집단입니다.

HSachord

그림 1. 음악 작품에서 음 선택(하모니를 검색). 파란색 바는 조각입니다. 녹색 바는 음 세트입니다. 

그림 1의 예는 매개변수에 8단계가 있는 이산형 문제의 해법에 해당합니다. 이 예제는 알고리즘의 작동을 쉽게 이해할 수 있도록 제공되었습니다. 그러나 임의의 작업에서는 최적화된 매개변수의 모든 단계가 있을 수 있으며 중간음인 반음도 있습니다. 문제 해결을 위한 올바른 매개 변수는 작품의 올바른 음에 해당합니다.

작성자: Andrey Dik