AForge.NET Framework
유전 알고리즘(Genetic Algorithm)을 C#으로 구현해보려고 하는데, 3년전이나 지금이나 C#으로 된 유전 알고리즘 코드는 C++ 코드에 비해서 많지 않은 것 같습니다. C#을 지원하는 플랫폼들은 더 많아졌는데 말이죠. 예전에 MATLAB으로 짠 코드를 C#으로 바꿔보려고 했던 기억도 있고 해서, 이번에 다시 검색을 해봤더니, AForge.NET Framework 라는 것이 있네요.
AForge.NET is an open source C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, fuzzy logic, machine learning, robotics, etc.
본 Framework가 어떻게 응용이 되었나, 쓸만한가 싶어서 검색해보니, AForge.NET Framework를 이용해서 C# 프로그래밍을 하신 분들이 많이 계셨습니다. 아쉽게도 대부분은 영상과 증강현실 쪽으로 많이 적용하셨고, 유전 알고리즘 쪽으로 이용하신 분들은 많지 않은 것 같습니다만... ㅜ_ㅜ
[C#] Aforge.NET 이용하여 동영상 재생(2) (블루네군 블로그)
증강현실 - Marker Detection 구현 (<Whatisthat>, 김대욱님 블로그)
다운로드 및 설치
다운로드 및 소스 확인 고고!!
Genetic 폴더를 열어보니, 제법 익숙하고 반가운 단어들이 많이 보이네요~
Chromosome, Fitness Function, Properties, Selection Algorithm....
Genetic 솔루션을 실행시켜보겠습니다.
References에 'AForge'와 'AForge.Math'가 있다는 것을 주목합시다.
이 파일들은 C:\Program FilesForge.NET\Framework\Release\ 에 있고, 소스 또한 C:\Program Files\AForge.NET\Framework\Sources\Math\ 에 있으니, 내용을 확인해봅시다.
이로써, AForge.NET Framework의 'Genetic' 부분(유전 알고리즘)을 사용하거나, 소스코드를 들여다 볼 수 있는 준비가 다 되었습니다!!
다만, 안에 어떤 함수가 있는지를 잘 알고, 또 그 함수가 내부에서 어떻게 처리를 하는지 알아야 자기 입맛에 맞게 쓸 수 있을 것 같습니다. 저도 결국은 제가 짠 코드를 C#으로 변환하는 것이 목적이기 때문에, 본 코드를 그대로 사용하기 보다는, 조금씩 수정해서 사용해야 할 것 같습니다.
참고로, Visual Studio Team Edition/Professional Edition 사용하고 계신분들은 프로젝트 폴더 위에서 우클릭하셔서 [ View Class Diagram ] 기능을 이용하시면, 좀더 빨리 프로그램 구조를 이해하실 수 있습니다. (클래스 다이어그램이 완벽하게 나오진 않습니다 ㅎㅎ)
그래도, 대충 훓어보니, 메소드명만 봐도 많은 공을 기울인 작품이라는 생각이 들어요~ 주석도 충실합니다. 유전 알고리즘을 C#으로 구현하고 싶으신 분들께 유익한 코드가 될 것 같습니다. : )
'Lunarian > IT, Programming' 카테고리의 다른 글
| AForge.NET FRAMEWORK : 유전알고리즘을 C#으로 (0) | 2012/03/09 |
|---|---|
| [Android] 이클립스 갈릴레오 버전 시, ADT 업데이트 에러 문제 (2) | 2012/01/11 |
| [TSYNTAX] 초간편! 티스토리 Syntax Highlighter 적용하기!! (0) | 2011/10/09 |
| [DB] DBMS, Database Management System (DB의 종류) (0) | 2011/10/04 |
| 꿈 불꽃, Dream Spark를 이용해서 무료로 MS정품 쓰자! (0) | 2011/01/21 |






