**문제 해결**은 생각의 일부를 형성한다. 모든 지적 기능과 관련하여, 문제 해결은 중요한 기술이나 순서의 제어를 요구하는 높은 순위의 인지 과정으로 정의한다. 유기체나 인공지능 시스템이 바라던 목표 상태에 이르는 방법을 알지 못할 때 "문제 해결"을 하려고 한다. 문제 찾기와 문제 형성을 포함하는 더 넓은 문제 과정의 일부이다.

문제 해결은 문제에 대한 해결책을 찾기 위한 질서 정연한 방법으로 포괄적이고 즉각적인 방식을 사용하는 것을 말한다. 철학(philosophy), 인공지능(artificial intelligence), 컴퓨터 과학(computer science), 공학(engineering), 수학(mathematics), 의학(medicine), 사회학(societies)에서 개발되고 사용되는 일부 문제 해결 기법은 보통 심리학(psychology)과 인지과학(cognitive science)에서 연구하는 정신적 문제 해결 기법과 연관되어 있다.

## 정의
문제해결이라는 용어는 학문 분야마다 조금씩 다르다. 예를 들어, 심리학에서는 정신 과정(mental process) 중 하나라면, 컴퓨터과학에서는 컴퓨터화 과정(computerized process)의 하나이다. 문제 (problem)의 유형은 '제대로 정의되지 않은 문제' 혹은 '애매한 문제'(ill-defined problem)와 '잘 정의된 문제'(well-defined problem) 것 두 가지가 있다. 각각 다른 접근법이 있다. 잘 정의된 문제는 특정한 최종 목표(end goal)와 명백하게 예상될 수 있는 해결책(solution)이 있다. 반면 애매한 문제는 없다. 잘 정의된 문제는 애매한 문제보다 더 이르게 계획을 세울 수 있다. 문제 해결(solving problem)에는 문맥(context)이 의미(meaning)를 부여한다는 관점의 어용론(pragmatics)과 문제 자체의 해석(interpretation)을 탐구하는 의미론(semantics)이 사용되기도 한다. 문제의 최종 목적이 무엇인지, 그리고 어떤 규칙(rule)들이 적용될 수 있는지를 이해하는 능력은 문제 해결의 관건이다. 또한 문제해결에 있어 추상적 사고(abstract thinking)나 창의적인 해결방안(creative solution)의 구상이 필요할 때도 있다.

### 심리학
심리학에서 말하는 문제해결은 삶에서 맞닥뜨리는 문제들을 해결하는 방안을 찾는 과정을 의미한다.

문제해결은 수학적 문제해결(mathematical problem solving)과 개인적 문제해결(personal problem solving) 두 영역이 있다. 모두 직면하게 되는 난관이나 장벽의 측면으로 본다. 실험 연구에서는 여러 다양한 전략(strategy)과 요소(factor)들이 일상의 문제해결에 영향을 준다고 밝혀졌다., 자신을 타인과 비교하는 자연적 과정에서 유래한다고 결론내린다.

### 인지과학
독일 내 게슈탈트 심리학(Gestalt psychology) 심리학자들(Gestaltists)의 초기 연구가 문제해결 연구의 시작점이었다. 예를 들어, 칼 던커(Karl Duncker)는 1935년에 자신의 저서 『생산적 사고의 심리학(The psychology of productive thinking)』이라는 책을 통해 문제해결에 관하여 다뤘다.). 이후 1960년대와 1970년대초까지, 단순하지만 참가자들에게는 생소한 문제해결 실험실 과제와 함께, 이 실험 연구는 지속되었다.

### 컴퓨터과학
컴퓨터과학과 알고리즘(algorithm)을 사용하는 인공지능(artificial intelligence) 분야에서, 문제해결은 알고리즘, 휴리스틱(heuristics) 근원 분석(root cause analysis) 기술을 포함한다. 시간, 기억, 에너지 등 문제해결에 필요한 자원의 양은 컴퓨터 복잡성 이론(computational complexity theory)으로 설명된다. 한층 일반적인 측면에서, 문제해결은 문제규정(problem determination), 디듀플리케이션(de-duplication), 분석(analysis), 진단(diagnosis), 수리(repair) 등의 단계를 아우르는 큰 과정의 일부이다.

기타 문제해결 도구는 선형/비선형 프로그래밍(linear /non-linear programming), 대기행렬시스템(queuing system), 시뮬레이션이다.

컴퓨터과학 대부분은 완전히 자동화된 시스템을 설계하는 것과 관련된다. 이 시스템은 이후에 특정 문제들을 해결하며, 투입 데이터를 수용하고 장시간 후에 올바른 반응이나 추정치를 계산해낸다.

또한 컴퓨터과학 종사자들은 자신의 프로그램에서 문제를 찾고 수정하는 디버깅(debugging)에 많은 시간을 할애한다.

### 논리학
형식논리학(formal logic)은 타당성(validity), 진실성(truth), 추론(inference), 논쟁(argumentation)과 증거(proof) 등과 관련된다. 문제해결 맥락에서, 문제를 증명될 공리(theorem)라고 형태적으로 묘사하는 것, 문제해결에 필요한 지식을 문제에 해결책이 있다는 증거로 사용될 전제로 묘사하는 것에 형식논리학이 사용될 수 있다. 1950년대, 형식논리학을 이용하여 수학적 공리를 증명하는데 컴퓨터를 사용하는 것은 자동 정리 증명(automated theorem proving) 분야로 등장하였다. 앨런 뉴얼, 허버트 사이먼, 쇼(J. C. Shaw) 등이 개발한 논리 이론 기계(Logic Theory Machine)에서처럼, 이는 문제해결을 시뮬레이션화 하도록 설계된 휴리스틱 방식 사용을 포함한다. 또한 존 앨런 로빈슨(John Alan Robinson)이 개발한 해결 원리(resolution principle)와 같은 알고리즘적 방식도 포함된다.

수학적 공리의 증거를 찾아내는데에 사용될 뿐더러, 자동화 공리 증명 방식은 프로그램 입증(program verification)에서도 사용되어 왔다. 그러나 1958년, 존 맥카시(John McCarthy)는 어드바이스 테이커(advice taker)를 제안했다. 이는 정보를 형식논리학으로 묘사하고, 자동화 공리 증명을 사용하여 질문에 대한 답변을 추리해가는 것이다.

1969년 코델 그린(Cordell Green)은 질의응답과 로봇 플래닝과 같은 인공지능 적용기술에 대한 해결정리증명기(resolution theorem prover)를 사용하여 이 부문에서 중요한 진전을 만들어 내었다.

그린의 해결정리증명기는 인간의 문제해결 방식과는 유사점이 거의 없다. 접근법에 대한 비판에 호응하여, MIT 연구원들로부터 나와, 로버트 코왈스키(Robert Kowalski)는 논리형 프로그래밍(logic programming)과 SLD 해결책(SLD resolution)을 개발하였다.

### 공학
문제해결은 결과나 과정이 실패하였을 때 사용하기에, 더 많은 실패들을 예방하고자 수정된 행동을 취할 수 있다. 또한 실제로 실패 상황이 일어나기에 앞서, 문제해결을 결과나 과정에 적용할 수도 있다. 이때는 잠재적으로 발생할 수 있는 문제를 예측하고 분석하며 완화방안(mitigation)을 적용시킬 수 있기에 문제가 결코 발생하지 않는다. 고장 형태 및 영향 분석과 같은 기법을 사용하여 문제 발생 가능성을 사전에 줄일 수 있다.

법공학(Forensic engineering)은 결과물의 결함이나 약점을 추적하는 실패 분석(failure analysis)의 중요한 기법이다. 이후 더 많은 실패를 예방하고자 수정된 행동을 취할 수 있다.

역공학(reverse engineering)은 하나의 산물을 개발해 내는데 사용된 원천적인 문제해결 논리를 발견하고자 그 산물을 분해하는 방식이다.

### 군사과학
군사과학(military science)에서 문제해결은 전략가들이 구상하고자 하는 조건이나 상황인 "최종상태(end-state)" 개념과 연결된다.

## 문제 해결 전략
문제 해결 전략(Problem-solving strategies)은 목표에 다가가는 길에 있는 문제를 찾는데 사용할 단계이다. 이를 "문제해결 사이클(problem-solving cycle)"이라고도 한다.

사이클 내에서는, 문제에 대해 알아차리고 인정하고, 문제가 무엇인지 정의하고, 문제 해결에 필요한 전략을 짜고, 문제 사이클에 관한 지식을 구축하고, 사용자가 마음대로 사용 가능한 자원을 찾고, 발전 정도를 살펴보고, 해결책을 적절하다고 평가한다. '사이클'이라고 하는 이유는, 문제를 해결하면 다른 문제가 또 나타나기 마련이기 때문이다.

**통찰**(insight)은 오랫동안 성가시게 한 문제에 대한 돌발적인 해결책, 새로운 아이디어에 대한 갑작스런 인식, 복잡한 상황에 대한 갑작스런 이해, 즉 아하 순간(Aha! moment)을 말한다. 통찰을 통하여 발견한 해결책은 단계별 분석(step-by-step analysis)을 통한 해결책보다 정확할 때가 있다. 더 많은 문제를 빠른 시간에 해결하기 위하여, 통찰은 문제해결 사이클의 각 단계에서 생산적인 움직임을 택하는데 필요하다. 이 문제해결 전략은 통찰 문제(insight problem)라는 것과 특히 관련있다. 뉴웰(Newell)과 사이먼(Simon)이 정식으로 내린 동작 문제(move problem)에 관한 정의와 달리, 통찰 문제에 대한 정의는 합의된 바가 없다.(Ash, Jee, and Wiley, 2012;

블랜차드-필즈(Blanchard-Fields)는 두 측면(facet) 중 하나의 관점에서 문제해결을 바라본다. 문제를 바라보는 첫번째 관점은 수학 문제나 사실 기반 문제와 같은 답이 하나뿐인 것으로, 정신력 측정 지능(psychometric intelligence)에 기반을 두고 있다. 두번째는 사회정서적(socioemotional)인 것으로, 좋아하는 색깔이나 크리스마스 선물로 사줄만한 것과 같은 끊임없이 변화하는 답변을 가지고 있다.

다음 기법들은 **문제해결 전략**(problem-solving strategies)이라는 것들이다.

## 장벽
문제해결에 나타나는 흔한 장벽들은 문제 해결을 올바르게 하는 능력을 저해하는 정신 구조(mental construct)를 말한다. 이러한 장벽들은 가장 효과가 크고 가능한 방식으로 문제를 해결하는 것을 차단한다. 연구자들이 문제해결에 있어 장벽이 된다고 하는 다섯 가지 요소는 확증편향(confirmation bias), 마음 갖춤새(mental set), 기능적 고착(functional fixedness), 불필요한 속박(unnecessary constraints), 무관한 정보(irrelevant information)이다.

### 확증편향
확증편향(confirmation bias)은 예상이 되는 사고방식을 선호하는 방식으로 데이터를 수집하고 사용하는 것으로 발생하는 무의식적 편향(unintentional bias)을 말한다. 확증편향이 영향을 주는 신념은 동기(motivation)를 가질 필요가 없다. 동기란 그 사람에게 중요한 증거를 지키거나 찾으려는 욕구를 말한다.

### 마음 갖춤새
마음 갖춤새(mental set)는 1940년대 에이브러햄 루친스(Abraham S. Luchins)가 처음 고안하였으며, 유명한 물병 실험(water jug experiment)으로 보여줬다. 1990년대말, 연구자 제니퍼 와일리(Jennifer Wiley)는 전문지식(expertise)이 각 분야에서 전문가라고 여겨지는 사람들에게 마음 갖춤새를 형성하게끔 작동할 수 있다는 것을 드러내고자 하였다. 와일리는 전문지식으로 형성된 마음 갖춤새가 고착을 유발할 수 있다는 증거를 얻었다.

### 기능적 고착
기능적 고착(functional fixedness)은 마음 갖춤새와 고착의 특정 형태로, 마이어 실험(Maier experiment)에서 초기 형태가 언급되었다. 또한 이는 일상에서 인지편향(cognitive bias)이 보일 수 있는 또다른 방식이기도 하다. 팀 저먼(Tim German)과 클라크 바렛(Clark Barrett)은 기능적 고착이 어느 한 물체의 고정된 사용법 외에 다른 기능을 할 수 있다고 보는 눈을 방해한다고 본다. 기술적인 용어로 말하자면, 저먼과 바렛은 "피실험자들은 물체의 설계 기능(design function)에 '고정'되며, 문제 해결은 물체의 기능을 보이지 않는 통제 조건(control condition)에 따라 문제 해결에 하자가 발생한다"고 하였다. 또한 기능적 고착은 진부한 상황 속에서 쉽게 드러날 수 있다는 것을 주목하는 것이 중요하다. 예를 들어, 다음 상황을 상상할 수 있다. 한 남자가 바닥에 벌레 한 마리를 발견하고 이를 죽이려 하지만, 손에는 방향제 캔 하나만 가지고 있다. 남자가 방향제 캔이 방향 기능만 가지고 있지 않다고 깨닫는 대신, 벌레를 죽일 뭔가를 찾고자 집안을 둘러보면, 기능적 고착에 빠진 것이다. 캔이 방향제로만 사용될 수 있다는 남자의 지식은 다른 목적(이 경우 벌레 죽이는 도구로의 사용)으로도 사용될 수 있었다는 깨달음을 방해한 것이다. 기능적 고착은 여러 상황에서 발생할 수 있으며 우리로 하여금 인지편향을 갖게 할 수 있다. 만약 한 물체가 단 하나의 주요 기능만을 발휘한다고 보게 된다면, 그 물체는 의도된 목적 외에 다른 여러 방식으로 사용될 수 있다는 사실을 깨닫지 못한다. 그 결과 이는 문제 해결에 관하여 많은 문제를 일으킬 수 있다.

기능적 고착은 매우 편협한 사고방식을 갖게 함으로써 문제 해결 능력을 제한한다. 또한 기능적 고착은 다른 학습 행동 유형에서도 보일 수 있다. 예를 들어, 연구는 많은 교육 현장에서 기능적 고착이 나타난다는 사실을 발견하였다. 푸리오(C. Furio), 칼라타유드(M.L. Calatayud), 바라세나스(S. Baracenas), 파딜라(O. Padilla)는 "기능적 고찰은 개념 학습은 물론 화학 문제 풀이에 있어서도 발견될 수 있다"고 하였다. 이러한 유형의 피실험자와 다른 실험자들에서 보이는 이러한 기능에 대해 강조하는 경우도 있었다.

기능적 고착이 문제 해결에 어떻게 연관되어 있는지에 대한 가설이 몇 가지 있다. 또한 이러한 문제 해결 기능을 가지고 있으면서 특정한 한 물체를 떠올리는 문제들에 맞닥뜨릴 수 있는 방식은 많다. 물체가 오로지 하나의 방식만 있다고 생각한다면, 그 물체에 대해 사고하는 방식에 제한을 줄 수 있다. 이는 편협한 사고(narrow minded thinking)라고 할 수 있다. 이는 어느 한 특정 맥락 속에서 어떤 아이디어들을 보거나 수용할 수 없는 것으로 정의된다. 상술하였듯 기능적 고착은 이와 매우 밀접하게 관련되어 있다. 이는 의식적 혹은 무의식적으로 이뤄질 수 있지만, 대부분 무의식적으로 문제해결 처리 과정이 이뤄지는 것처럼 보인다.

기능적 고착은 문제 해결을 하는 사람에게 최소 두 가지 이상의 방식으로 영향을 줄 수 있다. 첫째, 시간에 있어 기능적 고착은 주어진 문제가 무엇이든 그것을 해결하는데 필요한 시간보다 더 많은 시간을 들이도록 한다. 둘째, 기능적 고착은 그것에 빠지지 않은 상황에서 문제해결을 위해 하는 시도보다 더 많은 시도를 하게 한다. 최악의 경우, 기능적 고착은 해결책을 아예 찾지 못하게 할 수도 있다. 기능적 고착은 흔한 일로, 많은 이들의 삶에 영향을 준다.

### 불필요한 제약
불필요한 제약(unnecessary constraints) 역시 문제 해결 시도에서 흔히 직면하는 장벽이다. 잠재의식 하에서는 문제를 해결하고자 과제에 경계(boundary)를 설정하게 되어, 그 결과 필사적으로 혁신적인 사고를 하려고 애를 쓰게 될 때 발생한다. 단 하나의 해결책에만 고착되면 장벽을 정면으로 들이받게 되고, 자신이 고른 방식 이외에는 다른 길을 볼 여력이 점차 어렵게 된다. 이들은 보통 과거에 성과를 거둔 적 있었던 해결책을 사용하려 하며, 의도와 반대된다는 것을 알면서도 현 상황에서 적용시키려고 한다.

집단사고(groupthink)나 다른 집단 구성원들의 마인드셋(mindset)을 취하려는 것 역시 문제 해결 시도에 있어 불필요한 제약이 될 수 있다.

이 문제는 돈오 혹은 통찰(insight)을 통해 해결될 수 있다. 몇 분간 문제와 씨름하다 보면 갑작스런 통찰이 생기게 되고, 해결책을 찾게 된다. 이와 같은 문제들은 흔히 통찰을 통해 해결된다. 문제를 마음 속에 받아들이는 방식, 과거 경험을 끌어오는 방식, 작업기억(working memory) 속에서 얼마나 많은 정보를 처리하는 지에 따라 어려울 수도 있다.

해결책을 마련하기 위한 여러 움직임들이 점차 늘어남에 따라 통찰이 생김으로써, 문제 해결책은 더욱 분명해진다. 이런 자잘한 움직임들은 문제를 해결하려는 사람은 알지 못한다. 통찰이 발생하게 되면 아하 순간(aha moment)이 도달하게 된다. 이 통찰 순간이 나타나기에는 오랜 시간이 걸리거나 혹은 길지 않을 수도 있다. 그러나 해결하기 위한 분투 이후에 해결책이 도달하게 되는 방식은 같다.

### 무관한 정보
무관한 정보(irrelevant information)란 특정 문제 해결에 무관하거나 중요하지 않으면서 문제 내에 나타나 있는 정보를 말한다. 특정 문제 맥락 속에서 무관한 정보는 그 문제를 해결하는데 있어 요점으로 작용하지 않는다. 무관한 정보는 문제 해결 과정에 해를 가져다 주기도 한다. 많은 사람들이 돌파하기 힘든 장벽으로, 특히 이를 인지하고 있지 못할 때에 더욱 돌파하기 힘들다. 무관한 정보는 상대적으로 간단한 문제 해결도 어렵게 한다.

예를 들어, 토페카(Topeka) 사람들의 50%가 전화번호부에 번호를 등록하지 않았다. 당신은 토페카 전화번호부 중에서 무작위로 200개의 이름을 선택한다. 이들 중 전화번호를 등록하지 않은 사람은 얼마나 될까?

전화번호부에 등록되지 않은 사람들은 당신이 고른 200명 중에는 없을 것이다. 이 문제를 본 사람들은 보통 15% 정도로 답하려 한다. 이들은 주어진 정보가 있고 정보를 사용해야 한다고 생각한다. 물론 이는 사실이 아니다. 이러한 문제들은 학생들의 소질검사나 인지력평가에 사용된다. 문제는 어렵지 않게 출제되지만, 동시에 문제가 흔한 것만은 아니라는 생각이 들게 한다. 무관한 정보는 보통 수학 문제나 단어 문제에 나타난다. 응시자를 방해하기 위한 목적으로 많은 정보들이 주어진다.

무관한 정보가 주제와 유관한 정보로부터 벗어나게 하는 것이 잘 되는 이유 중 하나는 정보가 드러나는 방식에 있다. 정보가 드러나는 방식은 문제를 극복하는 난도에 큰 차이를 만들 수 있다. 문제가 시각, 언어, 공간, 수학적으로 드러나는지에 따라, 무관한 정보는 문제 풀이 시간에 큰 영향을 끼칠 수 있다. 스님 문제(the Buddhist monk problem)는 무관한 정보의 고전적 사례로서 다른 여러 방식으로 문제가 제공되는 방식을 보여준다.

이 문제는 정보가 의미하는 방식때문애 해결이 거의 불가능하다. 구어로 정보를 드러내는 방식으로 쓰여져 있기 때문에 우리는 단락의 심상(mental image)을 시도하여 만들게 된다. 특히 문제에 무관한 정조가 있을 때에 하기가 무척 어렵다. 단락이 시각적으로 드러날 때 이해하기 더욱 어렵도록 만들어졌다. 같은 문제가 주어지면서도 상응하는 그래프가 있다면, 문제에 답하기 쉬울 것이다. 무관한 정보는 더 이상 장애가 되지 않는다. 문제를 시각적으로 로냄으로써 이해해야 할 어려운 단어도 상상해야 할 시나리오도 없게 된다. 문제의 시각적 제시가 문제 해결의 난도를 제거한 것이다.

이런 유형의 제시는 어려운 문제를 쉽게 하는데 사용되기도 한다. 이러한 제시법은 무관한 정보를 제거하는 전략으로서 테스트에 사용될 수 있다. 무관한 정보는 문제 해결 이슈를 언급할 때 가장 흔한 장벽 유형 중 하나이다. 문제에 제시된 중요한 정보를 찾고 그 유용성을 정확하게 지목하는 것은 필수이다. 무관한 정보라는 것을 아는 것은 장벽 극복의 첫 단계이다.

### 기타 장벽
문제 해결 중인 사람들은 효율적인 해결의 중요 요소들을 포함하여 빼야하는 변화들을 간과하는 경향이 있다. 어떤 요소나 과정을 빼지 않고 더하거나 만들어내는 방식으로 문제를 해결하려는 경향은 정보 과다(information overload)와 같은 인지 부하(cognitive load)가 높아짐과 함께 강화되는 모습을 보인다.

## 꿈 : 비각성상태에서의 문제해결
문제 해결은 각성의식(waking consciousness) 상태가 아니어도 발생할 수 있다. 꿈 속에서 문제를 해결한 과학자나 공학자가 많다. 재봉틀 발명가 엘리아스 호우(Elias Howe)는 꿈에서 재봉틀에 들어갈 실패(bobbin)의 구조를 알아내었다.

화학자 아우구스트 케쿨레(August Kekulé)는 벤젠이 6개의 탄소 및 수소 원자를 배치하는 구조를 고안해 내었다. 생각하다 잠든 케쿨레는 꿈속에서 탄소와 수소 원자들이 춤을 추며 마치 뱀모양으로 이어져 있었는데, 이로 인해 케쿨레는 벤젠고리(benzene ring)를 착안하였다. 케쿨레는 일기에서 다음과 같이 썼다.

잠들기 전 문제를 의식적으로 생각한 후 꿈에서 문제를 해결하는 것에 관한 실험 연구도 있다. 꿈 연구가 윌리엄 데멘트(William C. Dement)는 500명의 학부생들에게 OTTFF로 시작되는 무한대의 문자배열의 다음 배열이 어떻게 되는지를 생각하도록 주문하였다. 데멘트는 매일 밤 잠들기 전 15분동안 문제를 생각한 후 꿈에서 본 것을 적어오도록 하였다. 그리고 학생들은 아침에 일어나서 15분동안 문제를 다시 생각하도록 지시받았다.

연속 배열 OTTFF는 one, two, three, four, five의 첫 철자였다. 다음 5개는 SSENT 였다. 일부 학생은 꿈속에서 문제를 해결하였다. 한 학생은 다음과 같은 꿈을 꾸었다.

500명 중 87명이 문제에 관한 꿈을 꾸었으며, 53명은 직접 관련되어 있는 꿈을, 34명은 간접적으로 연관된 꿈을 꾸었다. 꿈을 꾸고서 문제를 해결한 53명 학생 가운데 7명만이 의식적으로 답을 알고 있었다. 나머지 46명은 답을 몰랐다고 생각했다.

마크 블레츠너(Mark Blechner)는 이 실험을 수행하고 데멘트와 유사한 결과를 얻었다.

이 사람은 꿈에서 다음 배열 6, 7, 8, 9, 10, 11, 12를 세었지만, 이것이 답이란 것은 몰랐다. 잠든 마인드브레인(mindbrain)이 문제를 풀었지만 깨어 있는 마인드브레인은 모르는 것이다.

앨버트 아인슈타인(Albert Einstein)은 많은 문제 해결이 무의식중에 해결되며 마인드브레인이 이미 해결한 것을 의식적으로 인지하고 구성해야 한다고 생각했다. 아인슈타인은 이것이 상대성이론 구상 과정이었다고 생각하였다. "문제 안에는 답이 있다(The creator of the problem possesses the solution)."