유전 알고리즘 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''유전 알고리즘'''(Genetic Algorithm)은 유전 알고리즘(Genetic Algorithm)은 1975년 [[존 홀랜드]](John Holland)에 의해 개발된 전역 최적화 기법으로, 최적화 문제를 해결하는 기법의 하나이다. 자연 세계의 진화 과정에 기초한 계산 모델로서 생물의 진화를 모방한 진화 연산의 대표적인 기법이다. 실제 진화의 과정에서 많은 부분을 차용하였으며, 변이, 교배 연산 등이 존재한다. 또한 세대, 인구 등의 용어도 문제 풀이 과정에서 사용된다.<ref name="위키"> 유전 알고리즘 위키백과 - https://ko.wikipedia.org/wiki/%EC%9C%A0%EC%A0%84_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 </ref>
+
'''유전 알고리즘'''(Genetic Algorithm)은 자연 세계의 진화 과정에 기초한 계산 모델로서 [[존 홀랜드]](John Holland)에 의해서 1975년에 개발된 전역 최적화 기법으로, 최적화 문제를 해결하는 기법의 하나이다. 생물의 진화를 모방한 진화 연산의 대표적인 기법으로, 실제 진화의 과정에서 많은 부분을 차용하였으며, 변이, 교배 연산 등이 존재한다. 또한 세대, 인구 등의 용어도 문제 풀이 과정에서 사용된다.<ref name="위키"> 유전 알고리즘 위키백과 - https://ko.wikipedia.org/wiki/%EC%9C%A0%EC%A0%84_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 </ref>
  
 
== 개요 ==
 
== 개요 ==
유전 알고리즘은 자연계의 생물 유전학에 기본 이론을 둔 병렬적이고 전역적인 탐색 [[알고리즘]]으로서, 다윈의 적자생존 이론을 기본 개념으로 한다. 유전 알고리즘은 풀고자 하는 문제에 대한 가능한 해들을 정해진 형태의 자료구조로 표현한 다음, 이들을 점차적으로 변형함으로써 점점 더 좋은 해들을 만들어 낸다. 여기에서 해들을 나타내는 [[자료구조]]는 유전자, 이들을 변형함으로써 점점 더 좋은 해를 만들어 내는 과정은 진화로 표현할 수 있다. 달리 표현하면, 유전 알고리즘은 어떤 미지의 함수 <math>Y </math>= <math>f(x)</math>를 최적화하는 해 <math>x</math>를 찾기 위해, 진화를 모방한(Simulated evolution) 탐색 알고리즘이라고 말할 수 있다. 유전 알고리즘은 특정한 문제를 풀기 위한 알고리즘이라기 보다는 문제를 풀기 위한 접근방법에 가까우며, 유전 알고리즘에서 사용할 수 있는 형식으로 바꾸어 표현할 수 있는 모든 문제에 대해서 적용할 수 있다. 일반적으로 문제가 계산 불가능할 정도로 지나치게 복잡할 경우 유전 알고리즘을 통하여, 실제 최적해를 구하지는 못하더라도 최적해에 가까운 답을 얻기 위한 방안으로써 접근할 수 있다. 이 경우 해당 문제를 푸는 데 최적화되어 있는 알고리즘보다 좋은 성능을 보여주지는 못하지만, 대부분 받아들일 수 있는 수준의 해를 보여줄 수 있다. 이러한 생물의 진화 과정, 즉 자연 선택과 유전 법칙 등을 모방한 알고리즘들로 진화 전략(Evolutionary strategies), 유전 프로그래밍(Genetic programming) 등 여러 형태의 이론과 기법들이 최근에 활발히 연구되고 있다. 유전 알고리즘은 이 중에서 가장 기본이 되고 대표적인 알고리즘으로, 자연과학, 공학 및 인문 사회 과학 분야에서 비선형 또는 계산 불가능한 복잡한 문제를 해결하는 데 널리 응용되고 있다.<ref name="위키"></ref>  
+
유전 알고리즘은 자연계의 생물 유전학에 기본 이론을 둔 병렬적이고 전역적인 탐색 알고리즘으로서, 다윈의 적자생존 이론을 기본 개념으로 한다. 유전 알고리즘은 풀고자 하는 문제에 대한 가능한 해들을 정해진 형태의 자료구조로 표현한 다음, 이들을 점차적으로 변형함으로써 점점 더 좋은 해들을 만들어 낸다. 여기에서 해들을 나타내는 [[자료구조]]는 유전자, 이들을 변형함으로써 점점 더 좋은 해를 만들어 내는 과정은 진화로 표현할 수 있다. 달리 표현하면, 유전 알고리즘은 어떤 미지의 함수 <math>Y </math>= <math>f(x)</math>를 최적화하는 해 <math>x</math>를 찾기 위해, 진화를 모방한(Simulated evolution) 탐색 알고리즘이라고 말할 수 있다. 유전 알고리즘은 특정한 문제를 풀기 위한 알고리즘이라기 보다는 문제를 풀기 위한 접근방법에 가까우며, 유전 알고리즘에서 사용할 수 있는 형식으로 바꾸어 표현할 수 있는 모든 문제에 대해서 적용할 수 있다. 일반적으로 문제가 계산 불가능할 정도로 지나치게 복잡할 경우 유전 알고리즘을 통하여, 실제 최적해를 구하지는 못하더라도 최적해에 가까운 답을 얻기 위한 방안으로써 접근할 수 있다. 이 경우 해당 문제를 푸는 데 최적화되어 있는 알고리즘보다 좋은 성능을 보여주지는 못하지만, 대부분 받아들일 수 있는 수준의 해를 보여줄 수 있다. 이러한 생물의 진화 과정, 즉 자연 선택과 유전 법칙 등을 모방한 알고리즘들로 진화 전략(Evolutionary strategies), 유전 프로그래밍(Genetic programming) 등 여러 형태의 이론과 기법들이 최근에 활발히 연구되고 있다. 유전 알고리즘은 이 중에서 가장 기본이 되고 대표적인 알고리즘으로, 자연과학, 공학 및 인문 사회 과학 분야에서 비선형 또는 계산 불가능한 복잡한 문제를 해결하는 데 널리 응용되고 있다.<ref name="위키"></ref>  
  
 
== 구성 ==
 
== 구성 ==
179번째 줄: 179번째 줄:
 
*미미틱 알고리즘 위키백과 - https://ko.wikipedia.org/wiki/%EB%AF%B8%EB%AF%B8%ED%8B%B1_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98  
 
*미미틱 알고리즘 위키백과 - https://ko.wikipedia.org/wiki/%EB%AF%B8%EB%AF%B8%ED%8B%B1_%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98  
 
*진화 연산 위키백과 - https://ko.wikipedia.org/wiki/%EC%A7%84%ED%99%94_%EC%97%B0%EC%82%B0
 
*진화 연산 위키백과 - https://ko.wikipedia.org/wiki/%EC%A7%84%ED%99%94_%EC%97%B0%EC%82%B0
*벳엔, 〈[https://programmers.tistory.com/471 유전 알고리즘 정리]〉,  《티스토리》, 2012-04-10
 
 
*Bool, 〈[https://untitledtblog.tistory.com/110 (최적화/전역 최적화) 유전 알고리즘 (Genetic Algorithm)]〉,  《티스토리》, 2016-09-16
 
*Bool, 〈[https://untitledtblog.tistory.com/110 (최적화/전역 최적화) 유전 알고리즘 (Genetic Algorithm)]〉,  《티스토리》, 2016-09-16
 
*취미로 하는 개발 Hongku, 〈[https://hongku.tistory.com/384 유전 알고리즘 (Genetic Algorithm)]〉,  《티스토리》, 2019-10-31  
 
*취미로 하는 개발 Hongku, 〈[https://hongku.tistory.com/384 유전 알고리즘 (Genetic Algorithm)]〉,  《티스토리》, 2019-10-31  
 +
*벳엔, 〈[https://programmers.tistory.com/471 유전 알고리즘 정리]〉,  《티스토리》, 2012-04-10
  
 
==같이 보기==
 
==같이 보기==
 
* [[알고리즘]]
 
* [[알고리즘]]
 +
  
 
{{알고리즘|검토 필요}}
 
{{알고리즘|검토 필요}}

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)