AForge.NET FRAMEWORK : 유전알고리즘을 C#으로

2012. 3. 9. 21:00·IT, Smart Life


AForge.NET Framework

유전 알고리즘(Genetic Algorithm)을 C#으로 구현해보려고 하는데, 3년전이나 지금이나 C#으로 된 유전 알고리즘 코드는 C++ 코드에 비해서 많지 않은 것 같습니다. C#을 지원하는 플랫폼들은 더 많아졌는데 말이죠. 예전에 MATLAB으로 짠 코드를 C#으로 바꿔보려고 했던 기억도 있고 해서, 이번에 다시 검색을 해봤더니, AForge.NET Framework 라는 것이 있네요.



http://www.aforgenet.com/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.



  홈페이지 메인의 설명에 따르면, 'AForge.NET은 컴퓨터 비전과 인공지능 분야의 개발자들과 연구자들을 위해 구상된 오픈 소스 C# 프레임워크'라는 군요. 이미지 프로세싱, 뉴럴 네트워크, 유전 알고리즘, 퍼지 로직, 머쉰 러닝, 로보틱스... 어디서 많이 들어본, 그리고 제가 좋아하는 단어들만 다 들어있는 것 같습니다.ㅎㅎ


  본 Framework가 어떻게 응용이 되었나, 쓸만한가 싶어서 검색해보니, AForge.NET Framework를 이용해서 C# 프로그래밍을 하신 분들이 많이 계셨습니다. 아쉽게도 대부분은 영상과 증강현실 쪽으로 많이 적용하셨고, 유전 알고리즘 쪽으로 이용하신 분들은 많지 않은 것 같습니다만... ㅜ_ㅜ


            [ AForge.NET Framework 적용 사례 ]
[C#] Aforge.NET 이용하여 동영상 재생(1) (블루네군 블로그)
[C#] Aforge.NET 이용하여 동영상 재생(2) (블루네군 블로그)
증강현실 - Marker Detection 구현 (<Whatisthat>, 김대욱님 블로그)





다운로드 및 설치 

유용하게 잘 쓰고 있는 것을 알았으니, 어떤 것인지 나도 한번 써보자~
다운로드 및 소스 확인 고고!!





홈페이지에서 DOWNLOAD를 클릭하여 AForge.NET Framework를 다운 받자


  포스팅 현재, AForge.NET Framework 버전은 2.2.4이며, 다운로드 및 설치는 4가지 다운로드 링크 중, 상위 두 가지링크를 통해 진행하실 수 있습니다. 설치는 'Next'신공으로 손쉽게 ^_^*






클릭 들어 간다~ 쭉~쭉~쭉쭉~ 쭉~쭉~쭉쭉~ ㅋㅋㅋ





설치 폴더 내용 확인 

  설치가 무난하게 잘 이뤄졌다면, C드라이브 내부의 'Program Files' 안에 [ AForge.NET ]폴더가 생성되었음을 확인할 수 있을 것입니다. 아래 그림처럼, C:\Program Files\AForge.NET\Framework\Sources 폴더 내부를 살펴보시면, Framework 중에 유전 알고리즘을 다루고 있는 'Genetic'폴더가 있습니다.








  Genetic 폴더를 열어보니, 제법 익숙하고 반가운 단어들이 많이 보이네요~
  Chromosome, Fitness Function, Properties, Selection Algorithm....

  Genetic 솔루션을 실행시켜보겠습니다.




  References에 'AForge'와 'AForge.Math'가 있다는 것을 주목합시다.
  이 파일들은 C:\Program Files
Forge.NET\Framework\Release\ 에 있고, 소스 또한 C:\Program Files\AForge.NET\Framework\Sources\Math\ 에 있으니, 내용을 확인해봅시다.

  이로써, AForge.NET Framework의 'Genetic' 부분(유전 알고리즘)을 사용하거나, 소스코드를 들여다 볼 수 있는 준비가 다 되었습니다!!

 
AForge.Genetic.dll : C#코드의 이해와 활용 

  이 프레임워크를 활용하기 위해서는, Framework 설치 이후에, 새 프로젝트 창을 열고, 참조(References)에 AForge.Genetic.dll 을 추가한 다음, 마음껏 함수를 써주시면 되겠습니다.

  다만, 안에 어떤 함수가 있는지를 잘 알고, 또 그 함수가 내부에서 어떻게 처리를 하는지 알아야 자기 입맛에 맞게 쓸 수 있을 것 같습니다. 저도 결국은 제가 짠 코드를 C#으로 변환하는 것이 목적이기 때문에, 본 코드를 그대로 사용하기 보다는, 조금씩 수정해서 사용해야 할 것 같습니다.
  참고로, Visual Studio Team Edition/Professional Edition 사용하고 계신분들은 프로젝트 폴더 위에서 우클릭하셔서 [ View Class Diagram ] 기능을 이용하시면, 좀더 빨리 프로그램 구조를 이해하실 수 있습니다. (클래스 다이어그램이 완벽하게 나오진 않습니다 ㅎㅎ)

  그래도, 대충 훓어보니, 메소드명만 봐도 많은 공을 기울인 작품이라는 생각이 들어요~ 주석도 충실합니다. 유전 알고리즘을 C#으로 구현하고 싶으신 분들께 유익한 코드가 될 것 같습니다. : )
 
 
저작자표시 비영리 변경금지 (새창열림)

'IT, Smart Life' 카테고리의 다른 글

[Kinect] PC연결을 위한 'Kinect for XBOX360' USB어댑터(AC Adapter/Power Supply/USB)  (592) 2012.05.06
[XNA] 스프라이트를 이용한 애니메이션 구현  (731) 2012.04.26
[Android] 이클립스 갈릴레오 버전 시, ADT 업데이트 에러 문제  (892) 2012.01.11
[TSYNTAX] 초간편! 티스토리 Syntax Highlighter 적용하기!!  (585) 2011.10.09
'IT, Smart Life' 카테고리의 다른 글
  • [Kinect] PC연결을 위한 'Kinect for XBOX360' USB어댑터(AC Adapter/Power Supply/USB)
  • [XNA] 스프라이트를 이용한 애니메이션 구현
  • [Android] 이클립스 갈릴레오 버전 시, ADT 업데이트 에러 문제
  • [TSYNTAX] 초간편! 티스토리 Syntax Highlighter 적용하기!!
스페이스차일드
스페이스차일드
우주공학, IT, 그리고 다가오는 미래에 대해서 이야기합니다.
  • 스페이스차일드
    스페이스차일드
    스페이스차일드
  • 전체
    오늘
    어제
    • 분류 전체보기 (406)
      • SPACECHILD (158)
      • IT, Smart Life (155)
      • WEB DEV (12)
      • 러닝, 마라톤 (25)
      • 세계일주 (0)
      • ETC. (55)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 대한민국 우주산업 실태조사 보고서 (2008-2019)
    • 우리나라 5대 항공우주박물관
    • [용어정리] 항공우주공학 : 우주파트를 중심으로
  • 인기 글

  • 태그

    맥
    애플
    마라톤
    spacex
    안드로이드
    우주산업
    갤럭시
    nasa
    스마트폰
    게임
    추천
    스페이스x
    후기
    다운로드
    달리기
    아이폰
    구입
    애플워치
    우주개발
    mac
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
스페이스차일드
AForge.NET FRAMEWORK : 유전알고리즘을 C#으로
상단으로

티스토리툴바