Informatics Creativity: A Role for Abductive Reasoning?

by SL

가설사고를 적용하려고 할 때 가장 어려운 것은 바로 가설을 만드는 겁니다. 그 방법은 어떻게 가르쳐 주기도 애매해서 결국 스스로 경험과 노력을 통해 익히는 수밖에 없는 것 같습니다. 하지만 이런 가설 추론법이 아무런 이론적 근거도 없는 건 아니고, 퍼스(Charles Sanders Peirce)라는 미국 철학자가 귀추법(Abduction)이라고 분류한 바 있습니다.

CACM 2월호에 Informatics Creativity: A Role for Abductive Reasoning?라는 글이 실렸습니다. 귀추법을 써서 창의력을 어떻게 향상시킬 수 있을지를 알려줄 것만 같은 제목입니다 :) 5장짜리 글인데, 앞부분에서는 귀추법이 무엇인지 간단히 설명하면서 현재 활용되고 있는 분야를 소개합니다. 왼쪽 그림만 봐도 귀추법이 어떤 건지 대략 감이 잡히지 않나요? (글에 삽입된 그림 가져온 거에요.)

컴퓨터 과학에서 귀추법이 명시적으로 활용되는 분야로는 인공지능, 추론, 멀티-에이전트 시스템 등이 있습니다. 명시적이라는 단서를 단 이유는 사실상 귀추법이 전혀 쓰이지 않는 분야는 없거든요. 그걸 인지하고 있든 아니든 상관없이 말이죠. 아무튼 이 중에서 특히 제 눈에 들어온 것은 비단조추론(Non-monotonic Reasoning)이었습니다. 비단조추론이 뭐냐 하면, 추론 결과로 이미 알려진 사실이 있더라도 나중에 새로운 정보가 추가됨에 따라 이 결론이 뒤집힐 수 있는 추론 방법을 말합니다. 예를 들어, “매주 일요일마다 야구를 한다”, “오늘은 일요일이다”는 정보가 있을 때, “오늘 야구를 할 것이다”를 추론할 수 있겠죠? 그런데 갑자기 “오늘 폭우가 쏟아진다”는 정보가 추가되면 앞서 얻은 결론을 철회해야 합니다. 바로 이런 경우를 처리할 수가 있어야겠죠? 사람처럼 생각하려면요. 비단조추론의 구체적인 방법으로 Abductive Reasoning이나 Default Reasoning 등이 있는데 자세한 설명은 생략한다 나중에 기회가 되면 따로 글을 써볼게요.

지금까지 성공을 거둔 분야를 소개했으니 이제는 정보학(Informatics)에서 귀추법이 어떻게 쓰일 수 있을지를 얘기할 차례입니다. 정보학을 기존의 다른 학문과 어떻게 구분해야 할지는 저도 아직 잘 모르겠지만, 이 글에서는 데이터마이닝과 비슷한 맥락으로 이해했습니다. 넘쳐나는 데이터 속에서 어떻게 의미있는 발견을 이룩할 수 있을까, 즉 어떻게 유용한 가설을 만들어낼 수 있을까 하는 문제를 언급하거든요.

별 상관이 없어 보이는 데이터 사이에서 관련성을 찾아내는 건 무척 중요하고 또 통찰을 이끌어 내는 유용한 수단입니다. 그렇지만 저자가 드는 예를 보고는 고개를 갸우뚱하지 않을 수 없네요.

  • 웹 검색 결과 간의 관계를 시각적으로 표현한다?
  • 검색 쿼리에 임의의 키워드를 추가해서 결과에 랜덤한 요소를 부여한다?
  • 아마존 사이트에 적용되어 있는 “이 책을 구입한 사람들이 산 다른 책” 기능?

앞에서 잔뜩 기대하도록 분위기 띄워 놓고서 마지막에 와서 하는 말 치고는 너무 약하지 않나요? (ㅠ,ㅠ) 이런 글을 읽을 때마다 생각하는 건데, 참신하면서도 진한 감동을 주는 활용 사례가 하나라도 있으면 글에 대한 전반적인 호감도와 신뢰도가 상승합니다. 하지만, 서두에서 부풀려 놓은 기대감을 결론이 만족시켜주지 못하면 그만큼 아쉬움도 많이 남더군요. 이 글도 마찬가지였습니다. 글의 제목이 물음표로 끝나는 데에는 다 이유가 있었어요. 그냥 “귀추법과 창의성”에 대한 관심을 환기했다는 것만으로 만족해야 하나 봅니다.