생활에 필요한 알고리즘 요약
|

브라이언 크리스천과 톰 그리피스의 '알고리즘으로 살아가기' 요약 및 분석

인간 의사 결정의 컴퓨터 과학

삶은 바쁘게 돌아갑니다. Has 생활에 필요한 알고리즘 책장에 먼지를 쌓아두고 계신가요? 지금 바로 핵심 아이디어를 찾아보세요.

여기서는 표면적인 내용만 소개합니다. 아직 책을 가지고 있지 않다면  또는 무료 오디오북 에서 자세한 내용을 알아보세요.

브라이언 크리스천의 관점

브라이언 크리스천 시인, 프로그래머, 연구원으로 활동하고 있습니다. 그는 이전에 로브너상 대회에서 우승한 적이 있습니다. 이 대회에서 그는 '동조자'로 출전하여 시험을 치르는 인간들보다 '더 인간적으로' 보이는 데 성공했습니다. 그의 첫 번째 저서인 '가장 인간적인 인간'은 월스트리트 저널 베스트셀러이자 뉴요커 올해의 책으로 선정되었습니다. 

톰 그리피스의 관점

톰 그리피스 UC 버클리의 심리학 및 인지과학 교수입니다. 또한 UC 버클리의 컴퓨터 인지 과학 연구소를 이끌고 있습니다. 인지 심리학 분야의 선도적인 학자이며 미국 심리학 협회로부터 여러 차례 상을 수상했습니다. 

소개

생활에 필요한 알고리즘 는 생활을 간소화하는 데 도움이 되는 단축키와 핵을 제공합니다. 알고리즘은 컴퓨터와 다른 형태의 기술에 삽입되어 문제를 해결합니다. 하지만 일상 생활에서 알고리즘을 사용하지 못할 이유는 없습니다. 브라이언 크리스천과 톰 그리피스가 수세기 동안 알고리즘이 어떻게 사용되어 왔는지 설명합니다. 또한 우리가 매일 특정 알고리즘을 사용하는 방법도 설명합니다. 하지만 어떤 알고리즘은 다른 알고리즘보다 더 효율적입니다. 이 책은 삶을 더 쉽고 즐겁게 만드는 데 도움이 될 수 있는 알고리즘에 대한 개요를 제공합니다. 

생활에 필요한 알고리즘 는 2016년 출시 이후 큰 성공을 거두었습니다. 출시와 동시에 Audible의 #1 베스트셀러 논픽션 도서가 되었습니다. 그 후 Amazon.com에서 올해 최고의 과학 도서로 선정되었습니다. 마지막으로 MIT 테크놀로지 리뷰에서 올해의 책으로 선정되었습니다. 

매번 난관에 부딪힐 때마다 완벽을 추구하며 오랜 시간을 보내지 않는 한, 어려운 문제일수록 더 쉬운 버전을 상상하고 먼저 해결해야 합니다. 이 방법을 올바르게 적용한다면, 이는 환상이나 공상에 불과한 희망사항이 아닙니다. 이는 우리가 발전할 수 있는 가장 좋은 방법 중 하나입니다."

- 브라이언 크리스천

알고리즘은 컴퓨터에만 적용되는 것이 아닙니다.

유한한 공간, 유한한 시간, 제한된 주의력, 알려지지 않은 미지, 불완전한 정보, 예측할 수 없는 미래를 관리하는 방법, 우아하고 자신감 있게 관리하는 방법, 동시에 같은 일을 하려는 다른 사람들과 함께하는 커뮤니티에서 관리하는 방법 등 컴퓨터와 인간의 정신이 직면한 가장 큰 도전 과제 중 일부입니다."

- 브라이언 크리스천

대부분의 사람들은 알고리즘을 컴퓨터 및 기타 형태의 기술과 연관시킵니다. 하지만 사실 이 단어는 9세기로 거슬러 올라갑니다. 페르시아의 수학자 무하마드 알-크와리즈미가 '알고리즘'이라는 단어를 최초로 사용한 사람입니다. 그러나 알고리즘과 같은 개념의 사용은 수메르인들로 거슬러 올라갑니다. 수메르인은 4천 년 전에 존재했던 문명입니다. 이 문명은 문제를 해결하기 위해 유한한 수의 단계를 사용했습니다. 우리는 매일 여러 작업을 완료하기 위해 유한한 수의 단계를 사용합니다. 중요한 것은 이것이 알고리즘의 핵심 기술이기도 하다는 점입니다. 

일련의 유한한 단계를 따르기만 하면 무엇이든 알고리즘이 될 수 있습니다. 예를 들어 레시피는 알고리즘의 한 유형입니다. 레시피에는 원하는 결과를 얻기 위한 일련의 지침이 포함되어 있습니다. 어떤 일을 할 때 장단점 목록을 작성하는 것은 직관적 알고리즘입니다. 

이러한 알고리즘은 컴퓨터 알고리즘보다 더 주관적이라고 생각할 수 있습니다. 하지만 이러한 알고리즘은 동일한 프로세스를 사용하여 동일한 솔루션에 도달합니다. 두 경우 모두 특정 조건이 충족되면 프로세스에서 다음 단계로 넘어갑니다.

알고리즘은 언제 멈춰야 하는지 알려줍니다.

알고리즘은 작업을 단계별로 수행하는 방법을 알려줄 뿐만 아니라 언제 작업을 중단해야 하는지 알려줄 수 있습니다. 인간은 언제 검색을 중단해야 하는지 알기 어렵습니다. 또한 검색 시 선택에 영향을 미치는 인지적 편견이 있습니다. 

이 책의 저자는 최적 중지 알고리즘이 이에 대한 해결책이라고 제안합니다. 이 알고리즘은 100개의 옵션이 있다면 그 중 어떤 것도 취하지 말고 처음 37개를 살펴봐야 한다고 말합니다. 이 처음 37개를 기준으로 삼으세요. 그 후 이 기준을 충족하는 항목은 무엇이든 선택해야 합니다. 이 알고리즘이 최상의 결과를 보장하지는 않습니다. 하지만 무작정 추측하는 것보다 훨씬 더 좋은 아이템을 획득할 확률이 높다는 것을 의미합니다. 무엇을 검색하는지는 중요하지 않습니다: 전체 중 37%가 기준이 됩니다. 

알고리즘이 언제 시작해야 하는지 알려줍니다.

알고리즘은 검색을 중단해야 할 때를 알려줄 뿐만 아니라 새로운 것을 탐색해야 할 때를 알려주기도 합니다. 이 책에서 저자는 슬롯머신을 예로 들어 설명합니다. 어떤 사람들은 당첨될 때까지 슬롯머신 앞에 앉아있기만 할 것입니다. 하지만 사람들의 마음속에는 많은 돈을 잃었음에도 불구하고 그냥 자리를 떠나야 하는지에 대한 고민이 항상 존재합니다. 슬롯머신의 다른 이름에 따라 이 딜레마를 다중 무장 강도 문제라고 부릅니다. 

도박꾼들이 자주 사용하는 전략 중 하나는 이기고 있을 때는 그대로 있고 지고 있을 때는 이동하는 것입니다. 그러나 이는 새로운 것을 탐색할 시기를 선택하는 논리적인 방법은 아닙니다. 또는 더 나은 방법은 상한 신뢰 구간 알고리즘을 사용하는 것입니다. 다음은 저자가 제공한 이 알고리즘의 단계입니다. 다시 말하지만, 이 알고리즘은 겜블링 머신에 적용됩니다:

  1. 가장 높은 기대치를 제공하는 기계를 찾습니다. 이 경우 확률을 모르기 때문에 가장 큰 잭팟을 터뜨린 기계입니다.
  2. 플레이하는 동안 실제 결과(얼마나 많은 돈을 획득했는지)를 추적해야 합니다. 실제 결과는 이 시점까지 예상했던 당첨 금액과 비교해야 합니다.
  3. 실제 결과가 예상 결과보다 지속적으로 낮다면 다른 기계로 이동해야 합니다. 이 기계는 두 번째로 큰 잭팟을 터뜨린 기계여야 합니다.
  4. 이 과정을 반복합니다.

알고리즘은 업무 정리에 도움이 됩니다.

이 책의 저자는 정리된 혼돈도 괜찮을 수 있다고 설명합니다. 모든 것이 어디에 있는지 알기만 하면 생산성을 높일 수 있습니다. 하지만 파일링 시스템이 효율적으로 정리되어 있지 않다면 조직을 개선할 수 있는 알고리즘이 있습니다. 저자는 구체적으로 세 가지 알고리즘을 설명합니다:

버블 정렬

이 알고리즘은 효율성이 가장 낮습니다. 이 방법을 사용하면 한 번에 한 쌍씩 정리합니다. 그런 다음 모든 것이 정렬될 때까지 이 과정을 계속해서 반복합니다. 저자는 책을 알파벳순으로 정렬하는 버블 정렬 알고리즘의 예를 제시합니다. 정리되지 않은 서가에서는 문자 A부터 시작하여 처음 두 권의 책을 비교하고 이 두 권을 알파벳순으로 정렬합니다. 그런 다음 이제 두 번째 책이 된 항목을 세 번째 책과 비교합니다. 이 과정은 컬렉션의 마지막에 도달할 때까지 반복됩니다.

삽입 정렬

상당한 양의 항목을 정렬해야 하는 경우 삽입 정렬 방식이 훨씬 더 효율적입니다. 책의 비유를 다시 생각해 보면, 삽입 정렬 방식은 선반에서 모든 책을 꺼내는 작업을 포함합니다. 그런 다음 책을 한 권씩 다시 배치하여 책을 배치할 때마다 올바른 순서로 배치되도록 합니다.

정렬 병합

마지막으로 병합 정렬 방법은 모든 항목을 여러 파일로 나누는 것입니다. 각 파일은 A부터 Z까지 정렬한 다음 이 파일들을 병합해야 합니다. 

알고리즘은 우리의 삶을 계획하는 데 도움을 줄 수 있습니다.

'허무함'은 인간이라면 누구나 공감할 수 있는 상태입니다. 해야 할 모든 일을 적을 기회를 갖기 위해 모든 일을 멈추고 싶었지만 시간을 낼 수 없었던 순간이 있었다면, 여러분은 이미 '슬래시'를 경험한 것입니다."

- 브라이언 크리스천

파일을 정리하는 것뿐만 아니라 우리 삶도 정리해야 합니다. 생활 스케줄을 짜는 일은 매우 복잡할 수 있으며 종종 매일의 과제입니다. 업무적인 요구뿐만 아니라 여러 가지 다른 삶의 요구가 모든 것을 맞추기 어렵게 만듭니다. 하지만 몇 가지 알고리즘을 활용하면 생활 스케줄링 방식을 개선할 수 있습니다. 

  • 가장 빠른 마감일 알고리즘 - 간단한 알고리즘입니다. 가장 먼저 완료하는 작업이 마감일이 가장 가까운 작업입니다.
  • 무어의 알고리즘 - 이 알고리즘은 시간이 가장 많이 걸리는 작업은 건너뛰는 것을 권장합니다. 대신 전체적으로 더 많은 작업을 완료하기 위해 노력해야 합니다. 이 알고리즘은 모든 작업을 완료할 시간이 충분하지 않을 때 더 효과적입니다.

저자는 어떤 대가를 치르더라도 우선순위 반전을 피하라고 조언합니다. 우선순위 반전은 너무 많은 작은 작업에 집중하다 결국 아무것도 끝내지 못하는 경우를 말합니다. 멀티태스킹보다는 한 번에 한 가지 작업에만 집중하는 것을 목표로 삼아야 합니다. 

미래를 예측하는 데 도움이 되는 알고리즘

직관적인 베이지안(어떤 예측 규칙이 적절한지 고민할 필요 없이 자연스럽게 좋은 예측을 하고 싶다면)이 되고 싶다면, 선행 예측을 보호해야 합니다. 이는 직관적으로 뉴스를 꺼야 한다는 뜻일 수도 있습니다."

- 브라이언 크리스천

미래에 어떤 일이 일어날지 확신할 수는 없지만, 어떤 일이 일어날 것인지는 예측할 수 있습니다. 올바른 알고리즘을 사용할 때 가능한 결과를 예측하는 것은 가능합니다. 

알고리즘에 기반한 결과 예측은 18세기 영국으로 거슬러 올라갑니다. 토마스 베이즈 목사는 미래 결과를 예측하는 간단한 방법을 개발했습니다. 이 책의 저자는 베이즈의 정리를 복권 스크래치 티켓에 적용합니다. 베이즈는 복권을 구매하는 사람들이 유통되는 복권의 당첨 확률을 고려할 것을 권장합니다. 이를 가정으로 삼으면 복권의 특정 결과가 나올 확률을 계산할 수 있습니다. 

많은 경우와 마찬가지로, 더 많은 정보를 사용할 수 있을수록 더 정확한 예측을 할 수 있습니다. 방대한 양의 정보를 활용하여 미래의 결과를 예측하는 한 가지 방법은 현상의 분포 패턴입니다. 이 분포의 다른 이름은 정규 분포 또는 종 곡선입니다. 어떤 현상이 정규 분포라면, 그 현상을 마주했을 때 극단이 아닌 중간 부분에 특징이 있을 것이라고 가정할 수 있습니다.

정규 분포에 대한 대체 분포는 파워 법칙 분포입니다. 이 분포는 중앙값이 현상의 평균보다 훨씬 낮습니다. 부를 예로 들 수 있습니다. 전 세계 대부분의 사람들은 가난하지만 소수의 사람들이 전 세계 부의 대부분을 보유하고 있습니다. 

데이터 과부하를 방지하는 알고리즘

데이터 과부하는 종종 고전적인 사고 실험과 관련하여 고려됩니다. 이 사고 실험에서는 두 장군이 한 도시에 대한 합동 공격을 준비하고 있습니다. 이 도시는 요새화된 계곡에 위치해 있습니다. 이 장군들은 계곡 양쪽에 있는 두 개의 언덕에 있습니다. 따라서 동시에 공격할 수 있는 유일한 방법은 정확한 시간을 합의하는 것입니다. 또한 적들이 있는 계곡을 통해 사람을 보내야만 통신이 가능합니다. 이 사고 실험은 컴퓨터 과학자들이 안전한 메시지 전송을 위한 알고리즘을 결정하기 위한 방법으로 사용되었습니다.

방법 I - 고장 시까지 재전송

이것이 처음 만들어진 방법입니다. 이 솔루션은 하나의 메신저가 탐지되지 않기를 바라며 여러 개의 메신저를 보내는 것이었습니다. 하지만 너무 많은 메신저를 보내면 과부하가 발생할 수 있습니다. 컴퓨터로 치면 서버 과부하가 발생할 수 있습니다. 

방법 II - 지수 백오프

서버 과부하가 발생하면 기하급수적인 백오프가 효과가 있는 방법입니다. 미친 듯이 새로 고침을 누르는 대신 트래픽이 완화될 때까지 몇 분 정도 기다릴 수 있습니다. 기하급수적인 부분은 새로 고침 사이에 얼마나 오래 기다리는지와 관련이 있습니다. 작성자는 새로 고침할 때 오류 메시지가 표시될 때마다 두 배의 시간을 기다릴 것을 제안합니다.

방법 III - 덧셈 증가, 곱셈 감소

이 방법은 애초에 과부하가 발생하지 않도록 방지하는 것을 목표로 합니다. 이 알고리즘은 네트워크가 처리할 수 있는 최대 데이터 양을 결정합니다. 알고리즘은 하나의 데이터 패키지만 전송하는 것으로 시작합니다. 그런 다음 문제가 없으면 두 배의 양을 보냅니다. 과부하 지점에 도달할 때까지 이 과정을 계속합니다. 이 과정을 통해 알고리즘은 한계를 정확히 파악할 수 있습니다.

이러한 방법은 일상 생활에 적용할 수 있습니다. 너무 많은 정보는 뇌에 과부하를 일으킬 수 있습니다. 따라서 소량의 정보를 도입하는 것부터 시작하여 뇌에 과부하가 걸리기 전에 얼마나 멀리 갈 수 있는지 테스트해야 합니다. 이 한계를 알고 나면 언제 작업을 중단해야 하는지 더 잘 이해할 수 있습니다. 

알고리즘에도 한계가 있습니다

컴퓨터 과학자들이 "과정"과 "결과"를 구분하는 데 주의를 기울이는 이유도 바로 이 때문입니다. 최선의 프로세스를 따랐다면 최선을 다한 것이므로 결과가 좋지 않더라도 자책해서는 안 됩니다."

- 브라이언 크리스천

복잡한 시나리오는 종종 무슨 일이 일어나고 있는지 완전히 이해하기 위해 복잡한 알고리즘을 필요로 합니다. 그러나 알고리즘은 적용할 수 있는 복잡성에 한계가 있습니다. 문제는 복잡한 것을 예측할 때 알고리즘이 데이터를 완전히 설명할 수 있을 때까지 변수를 추가하고 싶다는 유혹에 빠지게 된다는 것입니다. 여기에는 데이터의 오류를 설명하는 것도 포함됩니다. 그러나 이렇게 하면 과적합이라는 문제가 발생할 수 있습니다. 사용 중인 데이터에 맞게 모델을 매우 복잡하고 특정하게 만들었습니다. 따라서 다른 데이터에 유연하게 적용할 수 없습니다. 

불확실성이 클수록, 측정할 수 있는 것과 중요한 것 사이의 격차가 클수록, 과잉 맞춤에 주의해야 하며, 즉 단순성을 더 선호해야 합니다."

- 톰 그리피스

결론

알고리즘은 항상 완벽을 추구하기보다는 '충분히 좋은 것'을 추구할 수 있게 해줍니다. 우리 삶에서 알고리즘을 지속적으로 사용하면 큰 이점을 얻을 수 있고 더 많은 휴식을 취할 수 있습니다. 우리의 뇌는 컴퓨터처럼 만들어졌습니다. 따라서 컴퓨터처럼 우리도 알고리즘으로 보완을 시작해야 합니다. 

PDF, 무료 오디오북 및 애니메이션

이것은 빙산의 일각에 불과합니다. 자세한 내용을 살펴보고 작성자를 지원하려면 또는 오디오북을 다운로드하세요. 무료 아마존에서.

스토리샷을 처음 사용하시나요? 이 요약본과 수백 권의 다른 베스트셀러 논픽션 도서의 PDF, 무료 오디오북 및 애니메이션 버전을 받으세요. 무료 최고 인기 앱입니다. 애플, 가디언, 유엔, 구글에서 세계 최고의 독서 및 학습 앱 중 하나로 선정한 바 있습니다.

이 요약에 대한 피드백이 있거나 배운 내용을 공유하고 싶은 경우 아래에 댓글을 달아 주세요.

관련 도서 요약

린치핀 by 세스 고딘

완전한 참여의 힘 제임스 로어와 토니 슈워츠

행복의 기술 달라이 라마

팩트풀니스 한스 로슬링, 올라 로슬링, 안나 로슬링 뢴룬드 저

태도가 전부입니다 by Jeff Keller

사고방식 by 캐롤 드웩

틀리지 않는 방법 by 조던 엘렌버그

원자 습관 by 제임스 클리어

슈퍼라이프 by 다린 올리엔

예측 불가능한 비합리성 by Dan Ariely

요약에 따라 생활하는 알고리즘
  • 저장

유사한 게시물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.