적합도 계산
-
유전 프로그래밍에서 적합도 계산 방식 이해하기DNA Programming 2025. 4. 24. 19:04
1. 유전 프로그래밍의 학습은 평가에서 시작된다유전 프로그래밍(Genetic Programming, GP)은 인간이 직접 코드를 작성하지 않아도, 컴퓨터가 자동으로 문제를 해결할 수 있는 프로그램을 진화시키는 알고리즘이다. GP는 생물의 자연 선택 개념을 본떠, 수많은 프로그램 후보 중에서 더 나은 해답을 조금씩 선택하고 진화시키며 결과적으로 최적 해답에 가까운 프로그램을 생성한다.이러한 진화의 전 과정에서 중심에 있는 개념이 바로 ‘적합도(Fitness)’다. 적합도는 각 프로그램 개체가 주어진 문제를 얼마나 잘 해결하고 있는지를 수치적으로 평가하는 기준이다. 이 값은 진화의 다음 단계를 결정짓는 기준이 되기 때문에, 적합도의 설계 방식은 GP 전체 성능과 진화 방향에 지대한 영향을 미친다.이번 글에서..
-
유전 프로그래밍 트리 기반 진화 알고리즘의 기본 원리DNA Programming 2025. 4. 21. 12:40
1. 프로그램도 진화할 수 있을까? 유전 프로그래밍의 등장자연은 생명체를 진화시키는 메커니즘을 통해 끊임없이 복잡하고 효율적인 시스템을 만들어 왔다. 이와 같은 자연의 진화 원리를 계산 알고리즘에 적용하려는 시도는 오랜 시간에 걸쳐 이루어졌고, 그 결과물 중 하나가 바로 유전 프로그래밍(Genetic Programming, GP)이다. 이 기술은 코드 그 자체가 진화할 수 있다는 아이디어에 기반하며, 사람이 직접 프로그래밍하지 않아도 컴퓨터가 자동으로 프로그램을 생성하고 최적화할 수 있도록 돕는다.유전 프로그래밍은 기존의 유전 알고리즘(Genetic Algorithm, GA)과 유사한 점이 많지만, 가장 큰 차이는 해결하려는 개체가 '문자열'이 아닌 '프로그램'이라는 점이다. 즉, GA는 변수들의 배열을..