Architecturas | 파이썬 유전 알고리즘 예제

파이썬 유전 알고리즘 예제

세대를 통해 진화하기 위해 알고리즘은 많은 연산자 중 하나를 사용할 수 있습니다. 그 중 일부는: 세대의 현재 수는 5. 자습서 내의 모든 세대의 결과를 표시하기 위해 작게 선택됩니다. 알고리즘의 구현을 보유 하는 GA 라는 모듈이 있다. 아웃 유전 알고리즘은 다음 가능한 모든 조합을 탐구 할 수 있습니다. 그들은이 작업을 수행 할 수있는 많은 방법이지만 두 가지 아이디어를 염두에 두어야합니다 : 목표는 이전 세대의 최상의 솔루션을 선택하고 다른 사람을 완전히 제쳐 놓지 않는 것입니다. 위험은 다음과 같습니다 : 당신이 유전 알고리즘의 시작 부분에 좋은 솔루션만 선택하면 당신은 로컬 최소로 정말 빨리 수렴하고 가능한 최선의 솔루션을 향해하지 않을 것입니다. GAs에서 우리는 인구의 각 개인이 얼마나 좋은지 , `피트니스`라고 합니다. calculate_fitness 함수는 알고리즘에 적용하려는 평가 절차가 됩니다. 이 예에서는 f=참조 표준과 일치하는 잠재적용 솔루션(염색체)에서 유전자(요소)의 수를 반환할 것입니다.

돌연변이는 솔루션 공간의 다른 부분을 탐색할 수 있는 새로운 경로를 도입하여 로컬 수렴을 방지하는 데 도움이 되기 때문에 GA에서 중요한 역할을 합니다. 크로스오버와 마찬가지로 TSP는 돌연변이에 관해서 특별한 고려 사항이 있습니다. 다시 말하지만, 우리가 0과 1의 염색체가 있는 경우에, 돌연변이는 단순히 0에서 1로 변화하는 유전자의 낮은 확률을 할당하는 것을 의미할 것입니다, 또는 그 반대의 경우도 마찬가지입니다 (이전에서 예를 계속하기 위하여, 자손 포트폴리오에 포함된 주식은 지금 제외됩니다). 파이썬의 유전 알고리즘은 다음과 같은 장점을 관찰합니다 : 다음, 유전 알고리즘을 실행하는 것은 하나의 간단한 코드 라인입니다. 예술과 과학이 만나는 곳입니다. 어떤 가정이 가장 적합한지 확인해야 합니다. 이 예에서는, 우리는 각 세대에 있는 100명의 개별이 있고, 20명의 엘리트 개별을 지키고, 주어진 유전자를 위한 1% 돌연변이 비율을 사용하고, 500 세대를 통해 실행합니다: 이 문서에서는, 나는 유전 알고리즘의 개념을 설명할 것입니다. 첫째, 그 기원과 목표를 제시할 것입니다. 그런 다음 짧은 파이썬 자습서를 사용하여 유전 알고리즘을 구현하는 방법을 보여 드리겠습니다.

유전자 알고리즘(GA)은 진화 알고리즘의 큰 부분에 속하는 적응형 휴리스틱 검색 알고리즘입니다.