본문 바로가기

개발세발

유전알고리즘으로 블록피하기 AI 만들어보기


학교에서 뭔가를 가르치긴 했지만 대충 무언가에 응용할 수 있는것들은 수준이 다 학원에서 양산형으로 가르치는 정도..


뭔가 재미있는걸 해보고싶긴 하고



졸작을 사서 제출하는 짓은 하기 싫고



옛날에 우연히 읽은 유전알고리즘 글이 생각나서 얘를 가지고 인공지능을 만들어보기로



프로토타입



완벽하진 않지만 분명히 '진화 발전'을 한다.

처음에는 충돌률이 20%내외로 나오더니 몇십세대정도 진화하면 충돌률이 5% 이하로 나온다. 랜덤으로 생성되는 블록들을 꼬박꼬박 잘 피해준다.


시작하자마자 오른쪽으로 붙어서 까딱거리는 이유는, 블록이 나오는 빈도가 오른쪽보단 왼쪽이 더 높아서.. 학습 결과가 이렇게 되는 것 같다.


실제로 블록이 나오는 빈도를 균등하게 했더니 한쪽으로 붙지 않고 많이 왔다갔다거리더라.



물론 실제 졸작에 적용할 친구는 얘보다 더 방대한 환경을 적응해야하지만 아무튼 기반은 비슷하니깐 뭐



이렇게 일찍 시작하고싶지는 않았지만


교수님들이 '너네 수준으로 이거 못해..'라는 식의 눈치를 자꾸 보내셔서..