문제

나는 이것을 찾았다 매우 멋진 C ++ 샘플 , 말 그대로 "Hello World!" 유전자 알고리즘의.

나는 C#에서 모든 것을 다시 코딩하기로 결정했습니다. 이것 결과입니다.

이제 나는 나 자신에게 묻고있다 : 임의의 문자열 모집단에서 시작하여 대상 문자열을 생성하는 라인을 따라 실용적인 응용 프로그램이 있습니까?

편집하다: 트위터에 내 친구가 방금 트윗했습니다 "번역과 같은 전사 유형에 유용합니다. 원숭이 일 필요는 없습니다.". 나는 단서가 있었으면 좋겠다.

도움이 되었습니까?

해결책

임의의 문자열 모집단에서 시작하여 대상 문자열을 생성하는 라인을 따라 실용적인 응용 프로그램이 있습니까?

확신하는. 특정 문자열의 체력을 평가하는 방법과 선택이 이산적이고 어떤 식 으로든 제한되는 시나리오를 상상해보십시오.

  • 발음 할 수있는 이름을 따기 ( "xhjkxc"는 체력이 낮습니다. "Artekzo"는 체력이 높습니다)
  • 일련의 체스 움직임을 시도합니다
  • 각 텀블러를 잠금 해제하는 데 얼마나 가까운 지 알 수 있다고 가정하면 안전에 대한 조합을 추측합니다.
  • 단어를 평가하는 전화 번호 선택 (예 : "843-2378"은 "최고의"철자가 있기 때문에 체력이 높습니다)

다른 팁

아니요. GA를 실행할 때마다 최종 답변을 제공합니다. 이것은 GA가 어떻게 작동하는지 보여주고 그것이 얼마나 강력 할 수 있는지 보여주는 데 좋습니다. 그러나 그 이상의 목적은 없습니다.

a) 충돌없이 실행하는 코드를 만들고 b) 주식 시장을 분석하고 주식을 지능적으로 구매하고 판매하는 코드를 만들기 위해 Ironpython과 같은 동적 언어로 코드를 작성하는 EA를 작성할 수 있습니다.

그것은 필요한 것을 매우 단순하게 받아들이지만 가능합니다. Ironpython 코드 (기술 지표 등)에 대한 많은 방법과 진드기 데이터베이스를 제공하는 호스트가 필요합니다.

또한 오래된 임의의 코드를 생성 할뿐만 아니라 자신의 하드 드라이브를 형식화하지 않도록하는 것도 현명합니다. 샌드 박스가 필요하고 액세스 할 수있는 네임 스페이스를 제한해야하며 무한 루프를 피하기 위해 시간 제한을 제공해야합니다. 또한 임의의 문자를 하나로 묶는 대신 적절한 승인 된 키워드를 선택할 수있는 상징적 인 지침을 제공 할 수 있습니다. 이는 진화 속도를 크게 높일 수 있습니다.

그래서 나는 EA를 제외한 모든 일을 한 프로젝트에 관여했습니다. 우리는 NASDAQ에서 실시간 재고 진드기, API가있는 거래 서비스, 그리고 진드기가 들어감에 따라 결정을 내린 원시적 의사 결정 "뇌"를 얻은 위성 접시를 가지고있었습니다.

슬프게도, 파트너 중 한 명이 뒤집어지고, 직장을 그만두고, 프로젝트를 포기하고 (자신의 요리 등을 얻었고) 준비되지 않은 논리로 거래를 시작했습니다. 그는 많은 돈을 잃었다. 일부 사람들에게는이 유형의 프로젝트가 일반적인 도박에서 벗어난 한 걸음 떨어져 있다는 것이 밝혀졌습니다. 그러나 어쨌든, 프로젝트는 그 후에 어리 석었습니다. 논리 부분을 진화시키는 것은 누락 된 링크입니다. 그리고 나는이 유형의 일을하는 사람들이 있다는 것을 알고 있습니다.

나는 2 개의 실제 연구 문제에서 GA를 사용했습니다.

하나는 전력 최적화 문제였습니다 (기기 수를 최대화하여 각 어플라이언스에 대한 사용 가능한 전력 제약 및 서비스 보증을 충족합니다)

다른 하나는 라디오 네트워크 최적화를위한 것이었고, 고정 장비 예산이 주어지면 커버리지 영역을 최대화했습니다.

GA는 한 가지 주요 단점이 있습니다. 일반적으로 유전자 속도로 작동하므로 심각한 시간 의존적 프로젝트에서 사용하는 것은 매우 위험합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top