알고리즘과 컴퓨테이셔널 띵킹의 차이점

no name
4 min readNov 1, 2015

1.알고리즘과 컴퓨터 씽킹의 차이점 2. 컴퓨터 씽킹과 디자인 씽킹과의 차이점 > 누구에게 물어도 시원하게 답변을 못해주어서 궁금한데 혹시 가르쳐 주시면 감사하겠습니다.

Albert Choi 알고리즘은 a procedure or formula for solving a problem.이라고 하네요. 즉 문제를 풀기 위한 절차 또는 공식라는 것입니다. 컴퓨터 알고리즘은 어떤 문제를 풀기 위해서 컴퓨터 언어로 작성할 수 있는 공식과 절차죠.

세마포어라는 알고리즘이 있는데 이것은 까치발 알고리즘 이라고도 하죠. 그것은 병행처리시에 프로세스 두개가 동시에 하나의 변수를 업데이트 하는 문제를 해결하기 위해서 고안되었는데 원래는 기차역에서 쓰던 방법이었습니다. 두대의 열차가 충돌하지 않고 교차 할 수 있도록(하도 오래되어서 기억이 가물가물 ㅎㅎ)

또 베이커리 알고리즘 이라고도 있는데 운영체제에서 공유자원을 순서대로 충돌없이 엑세스 할 수 있도록 고안되 알고리즘인데 빵집 아저씨의 손님들 대기 번호표에서 힌트를 얻었다고 합니다.(가물가물 기억이)

그리고 그 유명한 data structure + algorithm = programming 컴퓨터 과학에서 가장 중요한 의미를 가지고 있습니다. 데이타 구조와 알고리즘이 프로그래밍 이라는 것이죠.

그래서 data structure 자료구조는 매우 중요한 과목이고 algorithm 은 구글에 엔지니어로 입사시 가장 어렵게 시험을 봐야 하는 과목이죠.

컴퓨터 과학의 발전은 바로 하드웨어의 발전도 있지만 소프트웨어에서는 이 자료구조와 알고리즘을 발견하고 정리하고 적용하고 배우고 발전시키는 것이라고 해도 과언이 아님니다.

요즘 회자가 되고 있는 인공지능( 특히 딥러닝)도 또 그것의 응용인 자율주행 자동차도 바로 data structure + algorithmn이죠. 그런데 알고리즘은 빵집 아저씨의 단순한 번호표 나누어주기에서 부터 철학자의 식사문제 (Dining philosophers problem) 등과 같이 중급 난이도 그리고 Tower of Hanoi: Recursive Algorithm 처럼 고차원의 문제.. 그리고 이제 학문적으로 조금씩 밝혀지지 시작한 두뇌의 작동방법인 뉴럴네트워크 알고리즘 그리고 그것의 한 방법인 딥러닝 등등 아주 어려운 문제들도 있죠.

그래서 컴퓨터 과학에서는 알고리즘은 이미 알려진 문제를 알려진 방법으로 푸는 가장 효과적인 방법들이라고 생각하면 됩니다.

그리고 알려진 문제중 해결방법이 아직 없거나 더 좋은 방법을 찿기 위해서 교수 박사과정 연구원 그리고 수학자 뇌과학자 물리학자 해커 일반인 예술가 등등이 계속 노력하고 있습니다.

알고리즘은 문제를 해결하기 위한 공식과 절차라고 했는데 컴퓨터 알고리즘은 컴퓨터로 문제를 푸는 경우에 필요한 알고리즘이죠.

그리고 컴퓨테이셔널 띵킹은 컴퓨터와 컴퓨터 언어 즉 프록그래밍 언어로 문제를 푸는 사고(생각, 문제해결)능력이라고 생각하시면 됩니다.

그것은 주로 데이타 구조와 알고리즘을 생각해내거나 기존의 데이타 구조와 알고리즘을 조합하여 주어진 문제를 해결하는 것이라고 보시면 됩니다.

생각은 많죠. 에술가의 생각 시인의 생각 운동선수의 생각 철학자의 생각 정치가의 생각 나쁜 모사꾼이 생각…ㅎㅎ

그들 모두 어떤 문제를 해결하기 위한 알고리즘을 생각하고 있지만 (예를 들어 동생들에게 심부름을 어떻게 효과적으로 시켜서 엄마가 시킨 집안일을 해낼까? ㅎㅎ. ) 그것은 컴퓨터 알고리즘이 될 수 있기도 하고 없기도 하죠. 또 그것은 그냥 생각인지 수학적 생각인지 아니면 컴퓨테이셔널 띵킹인지 구분하기가 어렵죠.

조금 깊이 들어가면 set theory가 나옵니다. 생각 > 수학적 생각 > 컴퓨테이셔널 띵킹 뭐 이렇게요 ㅎㅎ “>” 는 부분 집합의 의미로..

그리고 많은 분들이 코딩을 시킬 것이냐 알고리즘을 가르칠 것인가 논쟁이 많은데 다 코딩을 안봐해서 그렇습니다.

섹스피어에게 영어를 가르칠 것인가 문학을 가르칠 것인가라고 하는 말과 같죠. 그것을 어떻게 분리해 낼지.. 동전의 앞면과 뒷면을 분리하겠다는 발상. 그리고 말로만 구호로만 미사여구로만 PPT와 아래한글 보고서만 많이 쓴 분들의 특징입니다.

허구 헌날 밤을 세워가며 (예전에 수북한 담배 꽁초와 폐인이 되가는 자신의 모습을) 코딩을 해 보지 않았으면 그런 소리를 하게 되어 있습니다.

http://whatis.techtarget.com/definition/algorithm

--

--

no name

Founder & Chief Visionary Officer Startup Central, Serial Entrepreneur, Entrepreneurial Philosopher, MS in Software Engineering