Java 진화 계산 툴킷
Java Evolutionary Computation ToolkitECJ는 Java로 작성된 프리웨어 진화 계산 연구 시스템입니다.이것은 유전 알고리즘, 유전 프로그래밍, 진화 전략, 공진화, 입자 군집 최적화, 미분 진화 등 다양한 진화 계산 기술을 지원하는 프레임워크입니다.이 프레임워크는 하나 이상의 개체 하위 집단을 새로운 개체를 생산하는 선택, 번식 및 돌연변이 연산자와 연결하도록 배열된 일련의 파이프라인을 사용하여 반복적인 진화 과정을 모델링한다.이 프레임워크는 오픈 소스이며 Academic Free License에 따라 배포됩니다.ECJ는 George Mason 대학의 컴퓨터 공학 교수인 Sean Luke에 의해 만들어졌으며 Sean Luke와 다양한 기고가들에 의해 유지되고 있습니다.
기능(ECJ 프로젝트 페이지 목록):
일반적인 기능:
- 차트 작성에 의한 GUI
- 플랫폼에 의존하지 않는 체크포인트 작성 및 로깅
- 계층 매개 변수 파일
- 멀티스레딩
- 메르센 트위스터 난수 생성기
- 다양한 EC 폼을 구현하기 위한 추상화.
EC의 기능:
- TCP/IP를 통한 비동기 아일랜드 모델
- 여러 프로세서에 대한 마스터/슬레이브 평가
- 유전 알고리즘/프로그래밍 스타일의 안정화 상태 및 세대 진화(엘리틱 유무)
- 진화 전략 스타일(mu, lambda) 및 (mu+lambda) 진화
- 매우 유연한 사육 아키텍처
- 많은 선택 연산자
- 여러 하위 개체군 및 종
- 인구 간 교류
- 파일에서 모집단 읽기
- 단일 집단과 다중 집단의 공진화
- SPEA2 다목적 최적화
- 입자 군집 최적화
- 차등의 진화
- 공간적으로 내장된 진화 알고리즘
- 기타 다목적 최적화 방법용 후크
- 절약 압력용 패키지
GP 트리 표현:
- 세트 기반 강력형 유전자 프로그래밍
- 사용 후 랜덤 상수
- 자동 정의 기능 및 자동 정의 매크로
- 다중 트리 포레스트
- 6개의 트리 생성 알고리즘
- 광범위한 GP 사육 운영자 세트
- 사전 처리된 7개의 GP 응용 프로그램 문제 도메인(ant, regression, 멀티플렉서, 잔디 깎기, 패리티, 2박스, 엣지
벡터(GA/ES) 표현:
- 고정길이 및 가변길이 게놈
- 임의 표현
- 5가지 사전 벡터 적용 문제 영역(합, 로젠브로크, 구, 스텝, 노이즈 쿼티)
기타 표현:
- 근사해
- 규칙 패키지의 멀티셋 기반 게놈. Pitt 접근 규칙 집합 또는 기타 집합 기반 표현을 진화시킵니다.
「 」를 참조해 주세요.
레퍼런스
- ECJ 프로젝트 페이지
- 윌슨, G. C. 매킨타이어, A.Heywood, M. I. (2004), "리소스 리뷰: 진화하는 프로그램을 위한 3가지 오픈 소스 시스템 - Lilgp, ECJ 및 문법적 진화", 유전자 프로그래밍 및 진화 가능한 기계, 5(19): 103-105, Kluwer 학술 출판사.ISSN 1389-2576