전산학/메타휴리스틱 3

개미 군집 알고리즘: 개미의 먹이 탐색으로부터 영감을 받다

개미는 인간과 닮았다. 아니, 어쩌면 인간이 개미를 닮은 것인지도 모른다. 베르나르 베르베르의 《개미》는 단순한 곤충의 이야기를 넘어선다. 그 속에서 우리는 개미 군집의 조직력, 생존 전략, 그리고 협업의 아름다움을 발견한다. 수많은 개체가 하나의 목표를 위해 움직이는 모습은 단순히 생물학적인 호기심을 넘어 인간 사회에도 깊은 영감을 준다. 개미 군집 알고리즘은 바로 이러한 개미들의 행동에서 영감을 받아 탄생한 과학적 기법이다. 자연에서 관찰되는 개미의 길 찾기, 자원 배분, 문제 해결 방식이 오늘날 컴퓨터 과학과 최적화 문제를 해결하는 데 혁신적인 방법론으로 자리 잡았다. 이 글에서는 개미 군집 알고리즘(Ant Colony Optimization, ACO)의 매력을 탐구하며, 자연이 우리에게 준 또 하..

다중 목표 최적화 - 진화 알고리즘 (2)

다중 목표 진화 알고리즘(Multi-Objective Evolutionary Algorithm, MOEA)는 진화 알고리즘을 통해 다중 목표 최적화 문제를 푸는 기법들을 칭한다. 다중 목표 최적화 문제는 목표가 여러 개 존재하는 최적화 문제로, 지난 글에서는 단일목표 최적화 문제로 변환시켜서 푸는 가중 합과, 입실론-조건 기법들을 소개했다면, 이번 글에서는 진화 알고리즘을 통해 다중목표 최적화 문제를 푸는 기법을 소개할 것이다. 진화 알고리즘은 모집단(population)을 반복적으로 변이시키고 선택하여 문제 목표에 가까운 모집단을 반복적으로 얻는 기법이다. 진화생물학에서 생물이 진화될수록 주어진 환경에 적합한 개체가 된다는 아이디어가 적용된 알고리즘으로, 이론적으로 얼마나 잘 작동하는 지에 대해서는 별..

다중 목표 최적화 문제 - 차원의 저주에 걸린 고전 기법들 (1)

다중목표 최적화 문제(multiobjective optimization problem)은 목표가 2개 이상인 최적화 문제이다. 비용을 최소화하거나 성능을 최대화시키는 등의 일반적인 단일 목표 최적화 문제들은 random search나 gradient descent와 같은 기법으로 탐색이 가능한 반면, "비용은 최소화하고 성능을 최대로 만들고 싶다"는 여러 개의 목표를 동시에 달성하고 싶은 상황에 적용하기 좋은 알고리즘이다. 예를 들어, 대부분의 공학 문제는 비용을 최소화히고, 성능을 최대화하는 것을 목표로 하는 다중목표 최적화 문제에 해당한다. 물론,효율 = 성능 / 비용과 같은 새로운 단일목표를 도입하여 최적화하기도 한다. 하지만, 첫째로 이런 단일목표가 과연 좋은 단일목표인지도 알 수 없고, 둘째로 ..