인공지능의 진화 알고리즘
진화 컴퓨팅의 세 가지 주요 분야에는 유전 알고리즘(줄여서 GA), 진화 프로그래밍(줄여서 EP), 진화 전략(줄여서 ES)이 포함됩니다. 이 세 가지는 알고리즘 구현에 있어서 약간의 미묘한 차이가 있지만 동일한 특징을 가지고 있습니다. 즉, 모두 생물학적 진화의 아이디어와 원리를 사용하여 실제 문제를 해결한다는 것입니다.
유전 알고리즘은 생물학에서 자연 선택과 자연 유전 메커니즘을 시뮬레이션하는 무작위 검색 알고리즘의 일종으로 1975년 미국의 홀랜드 J(Holand J) 교수가 처음 제안했습니다. 염색체라고 불리는 이진 문자열에 작용하기 위해 특정 인코딩 기술을 사용합니다. 기본 아이디어는 이러한 문자열로 구성된 개체군의 진화 과정을 시뮬레이션하고 조직적이지만 무작위적인 정보 교환을 통해 적응성이 좋은 개체를 재결합하는 것입니다. 유전자 알고리즘은 문제 자체를 해결하는 것에 대해 아무것도 모릅니다. 알고리즘에 의해 생성된 각 염색체를 평가하고 적응성에 따라 염색체를 선택하면 적응성이 좋은 염색체가 적응성이 낮은 염색체보다 더 많은 번식 기회를 갖게 됩니다. . 유전 알고리즘은 특히 전통적인 검색 방법으로는 해결하기 어려운 복잡한 비선형 문제를 처리하는 데 적합하며, 조합 최적화, 기계 학습, 적응 제어, 계획 및 설계, 인공 생명 등의 분야에서 널리 사용될 수 있습니다. 21세기 지능형 컴퓨팅의 핵심 기술.
1964년에 RechenbergI와 독일 베를린 기술 대학의 다른 사람들이 제안했습니다. 유체역학 유연 곡관의 형상 최적화 문제를 해결할 때, 전통적인 방법을 사용하여 최적화 설계에서 물체 형상의 매개변수를 설명하는 것은 어렵습니다. 그러나 매개변수 값을 무작위로 변경하는 생물학적 변이 아이디어가 사용됩니다. 그리고 더 나은 결과를 얻으세요. 그 후 그들은 이 방법에 대한 심층적인 연구 개발을 수행하여 진화 컴퓨팅-진화 전략의 또 다른 분야를 형성했습니다.
진화 전략과 유전 알고리즘의 차이점은 진화 전략이 솔루션 공간에서 직접 작동하며 검색의 적응 조정에서 부모에서 자손으로의 행동의 적응성과 다양성을 강조한다는 것입니다. 유전 알고리즘은 원래 문제의 해결 공간을 비트열 공간에 매핑한 다음 개인 유전 구조의 변화가 적합성에 미치는 영향을 강조하는 유전 연산을 수행합니다.
진화 전략은 주로 수치 최적화 문제를 해결하는 데 사용됩니다.
진화 프로그래밍 방법은 1960년대 미국인 포겔 LJ(Fogel LJ) 등이 처음 제안했습니다. 인공지능에 대한 연구에서 그들은 지능적인 행동이 환경의 상태를 예측하고 주어진 목표에 따라 적절한 대응을 할 수 있는 능력을 가져야 한다는 것을 발견했습니다. 연구에서 그들은 시뮬레이션된 환경을 제한된 문자 집합의 일련의 기호로 설명했습니다.
진화 알고리즘은 기존 알고리즘과 많은 차이점이 있지만 가장 중요한 특징은 다음 두 가지 측면에 반영됩니다.
진화 컴퓨팅의 지능에는 자기 조직화와 자기 적응이 포함됩니다. 그리고 자율 학습 등 문제를 해결하기 위해 진화 컴퓨팅을 적용할 때 코딩 방식, 적합도 함수 및 유전 연산자를 결정한 후 알고리즘은 진화 과정에서 얻은 정보를 사용하여 "적자 생존 및 제거" 전략에 따라 검색을 구성합니다. 부적합"하여 지속적으로 최상의 솔루션에 접근합니다. 자연 선택은 전통적인 알고리즘 설계 과정에서 가장 큰 장애물 중 하나, 즉 문제의 모든 특성을 미리 설명하고 문제의 다양한 특성에 대해 알고리즘이 취해야 하는 조치를 설명해야 하는 필요성을 제거합니다. 따라서 진화 계산 방법은 아직 누구도 구조를 이해하지 못하는 복잡한 문제를 해결하는 데 사용될 수 있습니다.
진화 컴퓨팅의 본질적 병렬성은 두 가지 측면에서 반영됩니다.
첫째, 진화 컴퓨팅은 본질적으로 병렬입니다. 즉, 진화 컴퓨팅 자체는 대규모 병렬 처리에 매우 적합합니다.
두 번째는 진화 컴퓨팅의 고유한 병렬성입니다. 모집단 접근 방식을 사용하여 검색을 구성하므로 솔루션 공간 내 여러 영역을 동시에 검색하고 서로 정보를 교환할 수 있습니다. 방법을 사용하면 진화 컴퓨팅을 통해 더 적은 계산으로 더 큰 이점을 얻을 수 있습니다.