남병철.레조 님이 쓰신 글 :
: 묻고자 하는 부분을 조금 분리해 주시는게 답변이 편할듯합니다. ^^;
:
: 일단 다양한 자료구조를 습득합니다.
: 또한 다양한 알고리즘을 습득합니다. 알고리즘 구현에는 자료구조가 필요할것입니다.
: 이제 자신이 만들고자 하는 프로그램에 맞게 여러 알고리즘 중 적합한것을 적용해서 만듭니다.
: 상황에 따라 적당한 알고리즘이 있으며 그 상황은 각 알고리즘의 특징이기도 합니다.
:
: 유전자 알고리즘도 마찬가지로 어떤 일을하는데 사용할것입니다.
: 그러기에 알고리즘 자체가 복잡할 이유는 없을것입니다. 또한 대부분의 알고리즘 슈더코드를 보면 정말 짧습니다. -_-+
: 어떤 자료구조를 바탕으로 어떻게 활용하느냐는 목적하는 프로그램에 따라 변할것입니다.
: (저도 유전자 알고리즘을 사용해서 뭔가 만들어 본적은 없습니다.)
:
: 연구 목적으로 프로그램을 짜게될경우 신경망 이론을 적용하거나 유전자 알고리즘을 적용하기도 할것입니다.
: 학부 수준에서는 깊게 다루지 않을것입니다. ^^
: 깊게 다루려면 좀 더 범위를 좁힌 전공(할일?)이 필요할테니까요...(석사이상? 논문 쓸라고 -_-;)
: 물론 대학에서는 해당 과목의 교제로 사용하는 책의 내용을 배울것이지만 소스 레벨의 습득은 대부분 자신의
: 노력이 필요합니다. (어찌보면 당연한 말이겠지만... ^^;)
:
: 기본적으로 언어를 익히는 순서를 적어보자면... (C/C++을 기준으로 보겠습니다.)
: (아마 각 부분을 마스터 한다는 마음으로 공부하는것이 좋지만 자신의 상황을 잘 판단해서 가능한 범위를 잘 설정
: 하셔야할것입니다.)
:
: C/C++ 문법 -> 자료구조 -> 알고리즘 -> 윈도우프로그래밍(GUI & DATABASE & NETWORK 등등)
: -> 작성하는 프로그램에 맞게 구현 (자신만의 모듈이나 공개된 다양한 컴포넌트, 라이브러리 등이 사용될 수 있습니다.)
:
: 다소 이상적인것 처럼 보이지만 실제 저런 순서로 대부분의 대학이 전공 과정을 구성하고 있습니다.
: 그리고 대학에서는 알고리즘까지가 프로그래밍 관련 전공과목에 배정되고 나머지 윈도우 프로그래밍 이후는
: 알아서 하는 분위기이거나 도움될만한 실습 시간이 배정되어 있을것입니다.
: 즉, 윈도우 프로그래밍 잘해두면 레포트 쓸때 같은 내용을 더 멋지게?? 구현할 수 있으며 그런것들로 플러스
: 효과를(학점-_-?) 얻기도 합니다.
:
: 가장먼저 자신의 상황을 잘 분석해서 나름의 순서를 잡는것이 중요합니다.
: 제시한 저 위의 순서는 예일 뿐이며 각 단계가 더 깊을수도 있으니 화살표가 한방향이 아니라 트리 구조일수도
: 있습니다. 자신의 계획에 따라 다를뿐입니다. 다만 처음에는 그 범위를 보는 시야가 없기 때문에 저런 순서로
: 접해나가는것입니다.
:
: 단적인 예로 C/C++만 보더라도 코드 작성에 관련된 다양한 서적들이 있습니다.
: (물론 저도 이걸 다 마스터 한것은 아닙니다. 저도 갈길이 멉니다. ^^)
:
: C/C++ 문법서 (요즘은 STL도 기본에 포함되어가는듯...)
: Effect C++같은 코드 향상서적 (역시 Effect STL이 있습니다.)
: (혹은 김백일님이 추천했었던 퍼즐 서적등... (링크에 링크라..--;)
:
http://turboc.borlandforum.com/impboard/impboard.dll?action=read&db=cpp_qna&no=5773
: )
: Design Pattern
: Refactoring ... 등등 코드에 관련된 다양한 단련 서적들이 있습니다.
: 자료구조나 알고리즘은 문법이후부터는 적용되기 시작하지만 비교적 단순한 수준입니다.
: 이해와 더불어 자신의 코드로 습득하는 노력이 필요할것입니다.
:
: 윈도우프로그래밍에 대해서는 적지 않겠습니다. 시중에 있는 프로그래밍 서적 코너에 있는 대부분이
: 윈도우 프로그래밍과 관련되기에... -_-;;
: 시그모이드 함수의 경우 알고리즘 서적이나 인공지능 서적에 나올것입니다.
: 대학가면 배울수있는지 궁금할 수 있지만 대학에서 공부 방법은 스스로 공부하는 경향이 강합니다.
: 기본적 이론을 가르쳐 주거나 설명해주기도 하지만 레포트로 대신하기도 합니다.
: (스스로 자료 찾아서 레포트 난이도에 따라 다르겠지만 구현하거나 뭔가 프로그램에 적용해야 하기도합니다.)
: 고등학교까지는 모든 문제에 정답이 있는 정형화된 범위 내의 문제이며 실제 선생님들이나 EBS에서 트레이닝
: 할 수 있습니다. 대학은 그 범위를 뛰어넘는 학문이기에 초기에 가르쳐주지 않는다고 적응하기를 미루는
: 분들이 분명 있습니다. (실제 잘 못가르치는 ^^; 교수님도 있긴합니다. 혼자 연구만 하시고 --;)
:
: 제가 답변하는 전체적인 의미는 대학의 전공 내부의 다양한 학문과 부딪히기 전에 기초를 다져 놓으라는 의미였습니다.
: (프로그램 관련 전공일 경우입니다.~ 다른 전공은 저도 몰라요 @,@~)
:
:
:
: 시노 님이 쓰신 글 :
: : 저번 질문에서 하셨던 답변에서 알고리즘이랑 자료구조라는게 뭔지 궁금해서 도서관이랑 인터넷에서 찾아 보왔습니다. 자료를 찾는데 어떻게 정렬하여서 얼마나 빨리 그자료를 찾아내고
: : 오차가 작아야한다. 대충 이런 것같은.. 그렇다면 얼마나 빨리 그자료를 찾는 것은
: : 찾는 과정이 짧으면 되는 건가요? 아님 완전 다른 의미 인가요? 그리고 알고리즘을 보다 문득 떠오르는 것... 옛날에 그루구일..(이게. 맞는지.. )이라는 곳을 자주 들렸었는데 그때도 유전자 알고리즘을 이라는 것을 본 적이 있는데 다른 곳에서 설명을 읽다보니 구하고자하는 문제를 미분하여서 어찌 한다고 하는데 미분이라는 그런 의미인가요? (학교에서 수2의 미분을 배우고는 있으나.. 접선의 기울기...x,y의 평균변화량정도라고 배웠는데...) 그리고 유전자 알고리즘으로 짠 소스를 보니.. 일반적인 진화의 요소정도 있고 그리 썩.. 어려워는 않보이는데.. 어느 부분에서
: : 그리 소스가 길어지고 어렵게 변하는 것인가요???
: : p.s 그리고 시그모이드함수라는 것도 있던데..인터넷회선..(표현이 맞는가..)이나 신경의 전달과 같은 연속적인.. 것을 처리 하는 필요하다고 하던데요..뭐하는 녀석인지는 지금은 별로 않궁금하지만...... 이 함수.. 대학생가면 배울수 있나요?(무슨 과목인가요?,.수학..?)