'알고리즘'에 해당되는 글 3건

허니몬에 관한 보고서/허니몬의 취미생활

책을 지른다.

그리고 읽는다.


허니몬에 관한 보고서/허니몬의 행성, 허니스(Honies)
  • 오늘 서울 날씨는 참 좋군요. ^^ 외출하셔도 좋습니다. ㅡ_-); 어제 황사 사진을 보니, 안돌아 다니기를 잘했다는 자기 위안을 해봅니다.(즐거운 하루 보내세요. ^^ ㅎㅎ) 2010-03-21 09:02:58
  • ㅡ_-);; 개인적으로 넷북에서 개발을 하겠다고 말하면, 난 반댈세. 넷북은 가지고 다니기 편하게 경량화, 오래 쓸수있게 저전력화, 간단한 문서, 웹서핑, 영상 처리를 위한 경량화된 CPU를 쓴단 말이오. ㅡ0-);;(안드로이드를 넷북에서 개발하겠다면, 난 반댈세. 요즘 7~80만원만 있으면 15인치 좋은 노트북들을 살 수 있으니, 그걸 알아보시옹.) 2010-03-21 09:22:47
  • 안드로이드 개발자의 메모리 제한 문제 체험기, 휴 // 사용하는 건 쉽지만, 만드는 것은 어렵다는 것을 새삼 느끼게 하는 글이다. 안드로이드 앱에서 사용하는 애플리케이션의 내부 메모리 사용량을 줄이고, 이를 외부 메모리에 저장하고, 필요한 라이브러리를 웹에서 다운받기.(말그대로 배보다 배꼽이 커지는 프로그래밍이랄까...? ㅡ_-)? 웹갈피 안드로이드 개발자읨 ㅔ모리 제한 문제 체험기) 2010-03-21 09:38:29
  • NHN 사장의 안드로이드 고민, ZDNet // 이에 대한 안드로이드 개발자들의 의견// 개인적으로는 개발자들의 의견으로 마음이 기운다. 안드로이드에서 사용할 수 있는 네이버 검색엔진을 준비해둔 상황에서 이런 말씀을 하셨다면, '불공정하네.' 라고 생각하겠지만…(NHN 사장의 안드로이드 고민, 안드로이드 개발자의 생각, 그 사이의 차이는 꽤 크다.) 2010-03-21 09:56:21
  • 기억을 읽는 컴퓨터 알고리즘, NDSL // 우리가 겪은 사건(혹은 경험)을 기억하는 일정한 패턴이 존재한다. 기억하는 과정을 그림으로 그린다라…. +_+) 뭔가 멋진데!? ㅡ_-);; 하지만 누군가에게 내 생각, 내 기억이 읽힌다는 것은 썩 좋은 경험은 아니다.(기억을 읽는 컴퓨터 알고리즘, 내가 기억하는 것을 들여다보려 하지마라~!! +_+)) 2010-03-21 10:20:52
  • 개인사생활이 없는 온라인, NDSL 동향분석 // 호오… 이건 상당히 나의 마음을 자극하는구나. //“개인적인 사생활은 더 이상 개인의 것이 아니다. 현재 온라인 세계에서, 당신의 어머니가 당신에게 했던 말은 진실이지만, 그 이상의 것은 아니다…."(SNS가 고도로 발달할수록 온라인 세상에서의 개인사생활정보의 가치는 떨어진다. 무서운 연구, 그 사람에 대한 데이터를 통해서 중요정보를 분석한다니... 우리나라는 더욱 큰일이지. ㅡ_-);; 주민번호... 참 쉽죠잉!?) 2010-03-21 10:28:45
  • UX 디자이너 추천책 - 닥터스 씽킹, 재임스 // 경험이 많은 의사보다, 신입 의사가 더 병에 대해서 정확하게 진단한다는.. 기사를 어디선가 본 것 같은데… 중요한 것은, 경험이 많다는 것은 가끔 어떤 일을 판단할 때 자신의 경험 안에서만 문제해결을 하려는 오류범할(가능성이 높다. 항상 초심을 유지한다고 하는 것처럼 객관적인 시각으로 판단하고 행동하라.) 2010-03-21 10:56:13
  • 이 놈의 스마트폰…사용하니 스트레스만 가득, 디지털 통 // '스마트폰을 사용하기 위해서는 스마트해야한다.' 라는 글을 보면 , '아, 나는 스마트폰 쓰면 안되겠다.'라는 생각을 한다. 난 결코 스마트하지 않다. ㅡ_-);(스마트폰 유행에 따라 준비없이 구매한 사용자 vs 잘 쓰는 사용자 vs 스마트폰OS 개발사 , 과연 누가 잘못했을까? 사용자 탓을 하는 게 과연 적절한가?) 2010-03-21 11:03:17
  • 오늘 새로운 미친과 미친결연을 맺었습니다. +_+) 그분은 바로!! youngs님 입니다. +_+) 언뜻봐서는 개발자!! 자세히봐도 개발자의 삘이랄까요…? ㅎㅎ. 이것은 이제 나의 연일중 일어나는 스보간입니다.(미친소개, 미친결연, 잘 부탁해용~ +_+)) 2010-03-21 11:57:07
  • 법정 스님의 사자후 '한반도 대운하 안 된다', 김명곤 // 나도 한반도 대운하(정부칭 4대강 정비사업) 을 반대한다. ㅡ_-) 결국은 주변 토지의 치솟는 땅값을 노린 노후생활을 준비하는 자들의 비겁한 대국민 사기극일 뿐이다. 우리나라 물부족 국가도 아니거니와(요즘 공사장에서 일하려고 하는 이들도 거의 없다. ㅡ_-); 놀면 놀았지 공사장 안가는 사람이 얼마나 많은디!!) 2010-03-21 12:01:35
  • 오늘 점심은 회사근처에 생긴 일본라멘 집에서 구마모토 시식.(me2mms me2photo 혼자 먹으러 갔기에 가능한 일, 회사 분들은 싫어할듯) 2010-03-21 12:17:33

    me2photo

  • 오늘 미친결연을 맺으신 unlee 님을 소개합니다. 아이폰을 사용하는 유저들과 친하게 지내고 싶으시다고 하는군요. 제가 아잉폰을 안쓰므로!! 쓰시는 분들의 많은 도움 바랍니다. 오늘 날씨 괜찮네요.(미친소개, 미친결연, 26세의 훈남, unlee님 소개함. +_+)b) 2010-03-21 12:41:57
  • 아… 법정스님의 서적들이 고가로 거래되려는 이유가 이것 때문이기도 했군요…. 주옥같은 말씀들을 많이 남기신듯 한데… 도서관에 가서 찾아봐야겠네요. ㅡ_-); 설마 도서관에 있는 책 훔쳐가는 분은 안계시겠죠? 책에 담긴 정신보다, 책의 희소성 가치가 더 값진 시대.(얼어죽을 중생들. 도서관 책 훔쳐가면, 책 장수와 동일한 A4용지로 똥꼬에 꽂아버려...!!) 2010-03-21 12:46:38
  • 오늘, 책소개:남자로 산다는 것은 결코 만만치가 않다. 라는 글을 보고 미친결연을 맺고자 일고초려(!?!)를 한 책통자님을 소개합니다. 책통자는 어떤 의미를 가진건가요!?(미친소개, 미친결연, 책통자 = 책을 통째로 외우는 자!? 썰렁한 농담 한번 해봤습니다. >ㅅ<);;) 2010-03-21 12:50:55
  • 일자리가 '알바'화되고 있다, 불량사회 // 읽다보면 씁쓸해진다. 그냥… 여기까지. ㅡ_-);;(일자리의 알바화. 비정규직, 치솟는 물가와 땅값에 비해서, 임금상승률은 통제당한다. 이런 건 싫어.) 2010-03-21 13:27:11
  • 아이폰 앱 개발에 입문하는 분들을 위한 한마디, novathinker // 아이폰 앱뿐만이 아니라… 모바일 앱을 개발하는 사람이라면 한번씩 읽어보면 좋은 내용이다. // 앱스토어에서 돈을 벌기보다는 자신의 가치를 높이는 것도 하나의 방버이다라는 말이 감명깊다.(아이폰 앱 개발 입문자, 모바일 앱 개발 입문자, novathinker, 자신의 가치를 높이기, 나도 모바일 앱 개발 입문자) 2010-03-21 13:40:58
  • 문득, 우결의 용서커플을 보면서… 나도 모르게 미소를 짓고 있는 나를 발견한다. ㅡ_-);; 이럴수가… 수줍어하면서 똑소리나는 서현을 보니 흐뭇해하고 있다!! 왠지, 내가 아저씨가 된 느낌이었어. 아니, 아저씨인건가!?(me2tv 우리 결혼했어요 서현이 저렇게 귀여울줄 몰랐어요. ㅡ_-)>) 2010-03-21 14:05:39
  • 미친결연을 맺어주신 uxjames 님을 소개합니다. 제임스 아니죠~ 재임스 맞습니다. +_+) 요즘 RSS로 구독하고 있는데, UX에 대해서 남겨주시는 글들을 볼 때마다 절대공감을 하게 됩니다. 사용자 경험, 그건 크게 다르지 아니한가 봅니다. ^^(미친소개, 미친결연, 하지만 다른 사람의 경험을 유추하기에는 나의 경험은 미천하기만 합니다.) 2010-03-21 14:14:54
  • 안드로이드 커뮤니티에 올라온 질문이나 소스를 보다보면, C스러운 자바코드들을 많이 볼 수 있다. ㅎㅎ. 그런 코드를 보는 즐거움을 느끼기 시작하는 나는 ㅡ_-);; 자바 초급 개발자…라고 할 수 있는가?(그래봐야... 코딩을 안한지 너무 오래되었어. ㅠㅅ-) Orz...) 2010-03-21 14:29:28
  • ㅡ0-);; 개발서적에서 안되는 부분은… 매우 사소한 부분(내용이 빠진 것)이지만, 그 여파는 크다. 한시간 동안, 왜 안되는겨? 하고 고민했다. OTL…(이러면 곤란해요!! ㅠㅅ-)) 2010-03-21 17:21:36
  • 호오… ㅡ_-);; 청와대 부근에서 “독도발언 해명 요구 시위”로 체포된 학생들이 구속될 수 있다고?? 우리나라에는 집회와 시위의 자유가 있잖은가? ㅡ_-)? 이번 정부 들어서 바뀐 집시법을 들어서 구속한다면… 난… 키보드 워리어가 될테다!(청와대 부근에서 독도발언 해명요구 시위 대학생들 구속될 가능성이 있다? 아주 애들을 잡더만... ㅡ_-);;) 2010-03-21 18:02:37
  • 이 늦은 시간에도 열심히 일하고 계신 분들이 많군요. ㅠㅅ-)> 쌀쌀한 봄날에 고생이 많으십니다.(me2mobile 힘내라 대한민국!!) 2010-03-21 19:21:39
  • 구리역 부근에 생긴 사계절 스케이트장. ㅡㅅ-)> 구리시에서 제2의 김연아 나오나_?(me2mms me2photo) 2010-03-21 19:23:43

    me2photo

이 글은 허니몬님의 2010년 3월 21일의 미투데이 내용입니다.

허니몬의 IT 이야기

읽고 있는 '프로그래밍은 상상이다(임백준, 2008)' 의 책의 5번째 이야기에 나오는 '05_게임의 발견과 알고리즘의 완성'이라는 글을 읽다가 나온 알고리즘에 대해서 궁금증이 생겨 살짝 찾아보았다. 알고리즘이라는 것은 단순히 컴퓨터의 소프트웨어에만 국한된 것은 아니다. 우리의 생활 속에서도 다양한 모습의 알고리즘들을 찾아볼 수 있다. 우리가 매일 지나치는 도로의 신호등, 출퇴근 길에 사용하는 지하철, 전철, 기차 등.

내가 살아가면서 겪게 되는 많은 경험과 사건들 속에서, 그것들을 해결하기 위한 내 나름의 알고리즘들을 세워간다. 나만의 알고리즘이라는 것이 다른 사람이 보기에는 투박하기도 하고, 간단하기도 하고, 복잡하기도 하다. 그건 내가 다른 사람의 알고리즘을 봤을 때도 마찬가지다. '왜 저렇게 할까?'라는 생각을 하며 그 사람의 알고리즘을 분석해보려고 노력하지만, 암호화가 철저히 되어 있는 탓에 그 알고리즘에 대처할 수 없는 경우가 자주 있다. 하지만, 그 사람들의 알고리즘보다 우선하는 것은 내 자신의 알고리즘이다.

인간은 사회적 동물(호모 사피엔스)이지만, 그 중심은 자기 자신이다.

무슨 소리를 하고 있는거냐!! 나는!!!??

알고리즘(algorithm)이란 어떠한 문제를 해결하기 위한 여러 동작들의 유한한 모임이다.

알고리즘의 조건

알고리즘은 일반적으로 다음의 조건을 만족해야 한다.

  • 입력: 외부에서 제공되는 자료가 0개 이상 존재한다.
  • 출력: 적어도 1개 이상의 결과를 내어야 한다.
  • 명확성: 각 명령어들은 명확하고 모호하지 않아야 한다.
  • 유한성: 알고리즘의 명령어들은 유한번의 수행후에 종료되어야 한다. 이것은 수행 시간의 현실적인 유한성을 의미한다.
  • 효과성: 모든 명령어들은 원칙적으로 종이와 연필만으로 수행될 수 있는 기본적인 것이어야 한다.

알고리즘의 연구 분야

  • 고안: 완벽한 자동화를 통한 알고리즘의 개발은 거의 불가능하다. 따라서 이미 증명된 유용한 알고리즘들을 습득함으로써 보다 유용한 알고리즘을 개발하는데 그 의미가 있다.
  • 검증: 고안된 알고리즘이 합당한 입력값에 대하여 올바른 결과를 계산해 내는지를 밝히는 절차가 필요하다. 알고리즘 검증은 고안된 알고리즘이 프로그래밍 언어와는 독립적으로 올바르게 작동할 수 있음을 보여주는데 그 목적이 있다.
  • 분석: 고안된 알고리즘을 실행하기 위해 필요한 실행시간과 필요로 하는 기억장치를 결정하는 것이다.
  • 테스트: 디버깅, 성능분석

알고리즘의 분석 기준

  • 정확성: 적당한 입력에 대해서 유한 시간내에 올바른 답을 산출하는가를 판단.
  • 작업량: 전체 알고리즘에서 수행되는 가장 중요한 연산들만으로 작업량을 측정. 해결하고자 하는 문제의 중요 연산이 여러개인 경우에는 각각의 중요 연산들의 합으로 간주하거나 중요 연산들에 가중치를 두어 계산
  • 기억 장소 사용량
  • 단순성
  • 최적성: 그 알고리즘보다 더 적은 중요 연산을 수행하는 알고리즘은 없는가? 최적이란 가장 '잘 알려진' 이 아니라 '가장 좋은'의 의미이다.

평균과 최악의 경우 분석

  • O(1): 입력 자료의 수에 관계없이 일정한 실행 시간을 갖는 알고리즘
  • O(log N): 주로 커다란 문제를 일정한 크기를 갖는 작은 문제로 쪼갤 때 나타나는 유형
  • O(N): 입력 자료에 따라 선형적으로 실행 시간이 걸리는 경우
  • O(N log N): 커다란 문제를 독립적인 작은 문제로 쪼개어 각각에 대해 독립적으로 해결하고, 나중에 다시 그것들을 하나로 모으는 경우에 나타남.
  • O(N2): 이중 루프 내에서 입력 자료를 처리하는 경우에 나타남.그러나 N의 크기가 작을 때에는 N2이 NlogN보다 작을 수 있음.
  • O(N3): 삼중 루프.
  • O(2n): 가끔씩 알고리즘을 처음 개발할 때 나타날 수 있는 수행시간..

1
블로그 이미지

Email : ihoneymon@gmail.com 안녕하세요, 꿀괴물 입니다. ^^ 멋진 비행을 준비 하는 블로그 입니다. 만능형 인간이 되어 많은 이들에게 인정받고, 즐겁고 행복하게 살기를 간절히 원합니다!! 달콤살벌한 꿀괴물의 좌충우돌 파란만장한 여정을 지켜봐주세요!! ^^

허니몬