본문 바로가기
그냥

철학책인가 - 알고리즘, 인생을 계산하다

by wizmusa 2022. 9. 30.
알고리즘, 인생을 계산하다 - 10점
브라이언 크리스천 & 톰 그리피스 지음, 이한음 옮김/청림출판

어려운 기술을 다루지 않는 편이긴 해도, 소위 이과 감성 없이는 완독하기 힘들다고 본다. 그러나 기술을 징검다리로 두고 사례, 예화를 쫓아가다 보면, 흥미를 잃지 않고 삶을 살아가는 데에 유용한 힌트를 얻게 된다. 이 책에서 소재로 삼은 기술은 초기 소프트웨어공학에서 다루는 알고리듬부터 무어의 법칙 대로 컴퓨터의 연산능력이 발달하다가 인터넷을 이루고 클라우드로 발전하여 인공지능까지 이제는 세상 모르는 것이 없을 듯한 컴퓨터 세상의 기반을 이루는 요소들이다. 다시 말해, 유용함에 있어서는 증명이 되고도 남은 정수이다. 그렇다 보니 우리네 인생에서 맞닥뜨리는 각종 문제를 해결하는 단초로도 활용할 수 있다는 게 이 책 저자의 바람이다.

 

  • 서문 인생의 거의 모든 문제를 해결하는 알고리즘
  • 제1장 살펴보는 일을 멈춰야 할 때 _ 최적 멈춤
    살펴보는 일은 37% 시점에서 멈추고 선택하라. 성공률은 37%에 수렴한다.
  • 제2장 가장 최신의 것 vs 가장 좋은 것 _ 탐색/이용
    미지의 가능성을 계속 탐색하다가 이용한다. 과잉탐색? 최고의 것보다는 새로운 것, 안전한 것보다는 신 나는 것, 심사숙고하는 것보다는 아무렇게나 찍은 것에 중점을 두는 편이 합리적이다. 삶은 시간이 흐를 수록 더 나아져야 한다.
  • 제3장 질서를 찾다 _ 정렬하기
    Round-Robin, ladder tournament, 싸움 대신에 경주.
  • 제4장 잊어라 _ 캐싱
    유달리 정보 인출이 지연되는 현상은 아주 많이 알고 있기에 벌어진다. 지연이 드문드문 일어난다는 것은 중요한 지식을 금방 꺼낼 수 있는 곳에 보관했기 때문이다. LRU보다 뛰어난 알고리듬. LRU-K, 2Q, LRFU, ARC.
  • 제5장 중요한 것부터 하라 _ 일정 계획
    일괄처리. 편지는 3개월 단위로 살펴보고, 팩스는 6시간마다 본다.
  • 제6장 미래 예측 _ 베이즈 규칙
    좋은 예측에는 좋은 사전 확률이 필요하다. 우리의 기댓값은 우리의 경험을 나타낸다. 마시멜로 실험. 3세 아이를 얼마나 기다리게 하는지 수준에 따라 결과는 달라진다. 실험자가 믿을 만하면 성공하는 아이가 많아진다.
  • 제7장 생각을 덜해야 할 때 _ 과적합
    완벽하려는 노력을 경계하라. 모든 유형의 기계학습에 정규화가 효과적이다. 불확실하고 자료가 부정확하다면 더 시간을 들일 가치가 없다.
  • 제8장 그냥 넘어가자 _ 완화
    제약조건 완화. 제약조건들 중 일부를 제거하여 문제를 원하는 형태로 푼 후에 제약조건들을 다시 추가한다. 외판원 순회 경로라면 뒤로 돌아가는 것을 허용하는 게 제약조건의 완화라고 볼 만하다. 라그랑주 완화. 문제의 제약조건을 점수로 치환하고, 지키지 못하면 감점한다. (고비용) "안 하면 어쩔 건데?"
    • 제약 조건 완화: 단순히 일부 제약 조건을 완전히 제거하여 문제를 더 느슨한 형태로 만들어서 풀이를 진척하여 현실로 되돌린다.
    • 연속 완화: 이산적 또는 인진법적 선택을 연속체로 바꾼다. 아이스티 + 레모네이드 = 아널드 파머, 위나 아래로 반올림을 한다.
    • 라그랑주 완화: 불가능성을 단순한 벌점으로 전환한다. 규칙을 비트는 (또는 규칙을 깨서 그 결과를 받아들이는) 기술.
  • 제9장 우연에 맡겨야 할 때 _ 무작위성
    무작위, 진화, 창의성. Serendipity. "우연과 총명함을 토대로, 탐구하지 않는 것들에 관한 우연한 발견을 늘 하는". 
  • 제10장 어떻게 연결할 것인가 _ 네트워킹
    기억장치가 저렴해지면서 모뎀, 라우터, 스마트폰, 인터넷 기간망에 버퍼가 늘어나며 처리용량이 수천 배로 너무 커졌다. 많이 한번에 저렴하게 운반하느냐, 작지만 잦은 빈도로 운반하느냐.
  • 제11장 남들의 마음 _ 게임 이론
    정지 문제, halting problem. 오류를 일으킬지 아닐지는 알지 못한다. leveling, 블러핑. 비크리 경매. 가장 높은 가격을 써낸 사람이 낙찰을 받되, 차점자가 쓴 입찰가를 지불하여 정직함을 이끌어낸다.
  • 결론 계산 친절
    • 우리가 타인에게 더 친절할 수 있다면, 자기 자신에게도 더 친절할 수 있다.
    • 어려운 문제를 풀 때, 최상의 알고리즘은 오로지 최소한의 시간에 가장 설득력 있는 답을 내놓는 것이다.
    • 어려운 문제에 직면할 때, 효과적인 알고리듬은 가정을 하고, 더 단순한 해답을 향한 편향을 드러내고, 오류 비용을 지연 비용과 비교하여 절충하고, 우연을 받아들인다. 합리적이 된다.

이 책에서 다루는 기술을 잘 이해한다고 해도 자만해서는 안 된다. 논어를 마흔 줄에 읽고 도통한 것처럼 굴다가 강 건너 재해나 참사를 멀거니 보며 시를 읊거나, 바둑 좀 두었답시고 우주의 원리마저 이해했다는 듯이 남의 삶에 되도 않게 해설하는 나쁜 선례를 답습하지 않길 바란다. 이렇게 얘기하면서도 한편으로는 컴퓨터과학의 여러 해법이 인생을 잘 살아내려는 노력과 닮긴 해서 신기했다.

반응형