모든 문제를 해결하는 데 항상 다르게 생각하는 사람들이 있습니다. 다른 사람들이 5 명만 제안했을 때 6 번째 옵션을 선택하고 "즉시"생각합니다. 그러한 능력을 어떻게 달성 할 수 있는지 알려주세요. 그리고 그것을 달성하기 위해 무엇이 필요합니까?
모든 문제를 해결하는 데 항상 다르게 생각하는 사람들이 있습니다. 다른 사람들이 5 명만 제안했을 때 6 번째 옵션을 선택하고 "즉시"생각합니다. 그러한 능력을 어떻게 달성 할 수 있는지 알려주세요. 그리고 그것을 달성하기 위해 무엇이 필요합니까?
답변:
상자가 없습니다!
해결해야 할 특정 문제와 적용 할 수있는 제약 조건이 있습니다. 특정 주제 기반 용어와보다 일반적인 용어로 문제를 정의하고 (추상적이고 실제적인 용어로 생각) 문제를 해결하십시오.
각각의 제약 조건을 조사하여 (가정을 적용하지 않음) 적용 여부,시기 및 범위를 확인하십시오. 누가 배후 에서뿐만 아니라 영향을 받는지 (목표를 잊지 마십시오) 관점에서 문제를 살펴보십시오.
가정하지 마십시오.
그렇지 않을 때 특정 사항이 사실이라고 가정하면 다른 관점을 조사하지 못하게됩니다. 또한 다른 사람들이 내린 기존 결정 / 가정에 이의를 제기하십시오. 그럴만한 이유가 있거나 더 이상 적용되지 않는 이유가있을 수 있습니다.
추상적으로 생각하십시오.
패턴과 추상적 용어로 사물을 보는 법을 배웁니다. 패턴을 발견 할 때 유사한 것을 고려하여 현재 패턴에 조치를 적용 할 수 있는지 확인하십시오. 주제 영역에 이름이 지정된 패턴이 있으면 그 패턴을 배우십시오. 그러나 쿠키 커터 솔루션으로 취급 하지 마십시오 .
추상적으로 생각하지 마십시오.
"사물"은 사람이고 항상 논리적이거나 합리적이지 않다는 것을 기억하십시오. 자신이 만든 것을 사용하여 사람들과 공감을 연습하십시오.
목표를 잊지 마십시오.
때로는 실제 목표를 기억하는 대신 (예 : "사용자가 어떻게 Y를 수행 할 수있게합니까?" )
배우는 것을 멈추지 마십시오.
일반적인 지식은 큰 영감의 원천이 될 수 있습니다. 이미 많은 사람이 많은 문제를 해결했습니다. 현재 상황에 적용 할 수있는 것을 더 많이 기억할수록 더 많이 알 수 있습니다.
[프로그래밍 언어]에 능숙한 것이 아니라 훌륭한 프로그래머가 되십시오.
여러 가지 기술과 기법을 배우는 것이 무서워하지 마십시오. 여러 개의 "겹치는"언어조차도 다른 용어로 사물을 보는 데 도움이 될 수 있지만, 다양한 다른 언어가 더 도움이 될 수 있습니다. 물론 전문화 / 마스터 링 할 몇 가지 영역을 선택하고 일반적인 개념을 적절히 이해하고 여러 언어를 배우면 얻을 수 있습니다.
누군가가 너무 경험이 부족하다고 생각하지 마십시오.
지식이 부족하거나 프로그래밍을하지 않은 사람이 프로그래밍 문제에 쓸모없는 것처럼 보일 수 있습니다. 그러나 그렇다고해서 무시해서는 안됩니다. 모든 사람은 서로 다른 관점과 기술을 가지고 있으며, 솔루션에 도움이되는 독특한 통찰력을 제공 할 수 있습니다.
어린 아이들은 특히 영감을 줄 수있는 "오염되지 않은"관점의 좋은 원천이 될 수 있습니다.
상자를 보는 법을 배우십시오
상자를보고 제약 조건을 이해하십시오. 이러한 제약 중 어떤 것이 실제로 문제를 해결하는 데 도움이되는지 고려하고 어떤 것이 방해가되거나 필요하지 않은지 지적하십시오.
가정 을 언급 한 답변 이 정확히 같은 것이라고 생각할 수도 있지만 확실하지 않습니다. 문제 의 영역 을 아는 것도 중요합니다. 문제에 대한 명확한 그림을 얻고 이미 솔루션을 고려한 후에는 한 장을 선택하고 다른 잠재적 인 솔루션이 떠오르는 지 확인할 수 있습니다.
당신의 상자를 확장
당신은 자신의 마음 인 상자 밖에서 결코 생각할 수 없습니다. 따라서 당신이 알고있는 것에 대해 계속 확장하십시오. 다른 사람들에게 흥미가없는 것들은 관심을 가져야합니다. 거의 항상 당신이 실제로 예상치 못한 흥미로운 발견 할 수있는 세부 사항이 있습니다.
문제를 분석 할 때 이러한 임의의 불쾌한 정보 비트가 모두 이상한 방식으로 모일 수 있습니다. 당신은 어떻게 될지 전혀 모른다.
홀수 답변 :
재미와 연습을 위해 사람들이 일상적인 대화에서하는 말을 듣고 문자 그대로 그리고 그들이 선택한 단어에 대해 다른 의미를 사용하여 어떻게 작동하는지보십시오. 이것은 말장난이나 다른 재미있는 언어 오용으로 바뀔 수 있지만 "상자 밖에서 생각하기"를 연습하는 다소 빈번한 방법이기도합니다.
모든 사람들이 그러한 능력을 달성 할 수 있을지 확신하지 못하지만 다음과 같이하지 않았다고 가정 할 경우 다음과 같은 방법을 제안 할 수 있습니다.
인지 행동 요법-이것은 뇌의 "배선"과 유사 할 수 있습니다. 필자의 경우, 처음에 생각했던 것에 대해 쟁기질하는 것보다 균형 잡힌 일이 가능한지, 다른 쪽을 보는 데 훨씬 익숙해졌습니다. "Mind Over Mood" 라는 책 에는이 길을 가고 싶을 때 도움이되는 몇 가지 연습이 있습니다. 이것은 불안과 우울증 치료에 사용 되며이 주제를 다루는 방법입니다.
자조 서적-예를 들어 Phil 박사의 첫 번째 책인 "Life Strategies" 에는 생각을 풀고 운동을 진지하고 정직하게 수행하면 비슷한 결과를 얻을 수있는 연습이 있습니다. . 여기에는 다른 책들이 있지만 일부 사람들에게는 효과가없는 책도있을 수 있으므로 누군가에게 도움이되는 책을 찾는 것은 약간의 시행 착오가 될 수 있습니다.
대단한 지식-예를 들어 얼마나 많은 다른 정렬 전략을 알고 있습니까? 버블, 쉘, 퀵, 힙 및 병합과 같이 학교에서 가르치는 몇 가지를 기억하므로, 어리석은 양의 지식을 흡수함으로써 문제를 해결하기 위해 다양한 휴리스틱 목록을 가질 수 있습니다. 여기서 휴리스틱의 예로는 탐욕, 분할 및 정복, 동적 프로그래밍 및 특수 데이터 구조의 사용이 포함됩니다. 어떤 경우에는 처음에 생각했던 것보다 더 큰 상자에서 생각하기에 충분한 물건을 아는 것만으로도 충분합니다. ;-)
이에 대한 단일 답변이 없습니다. 일상적인 일상 활동에서도 정기적으로 정신적으로 운동을하면 도움이됩니다.
가정 반전 많은 가능한 접근 방법 중 하나로서 솔루션이나 문제의 고유 가정을 뒤집는 데 집중할 수 있습니다.
문제부터 시작하십시오. 누구나 쉽게 생각할 수있는 쉬운 솔루션을 생각해보십시오. 그런 다음 스스로에게 물어보십시오.이 솔루션의 기본 가정은 무엇입니까? 아니면 문제에 대한 가정은 무엇입니까? 이제 이러한 가정 중 하나 (또는 여러 가지)를 취해 스스로에게 물어보십시오.이 가정을 삭제 / 역전하면 어떻게됩니까? 또는 일부 요구 사항을 직접 해결하는 대신 다른 솔루션의 부작용으로 충족시킬 수 있습니까?
대담하게
상자를 알고
당신의 사고를 깰
관점 변경
언어 변경
문제를 다음과 같이 생각하십시오.
표현 변경
다른 쪽 끝에서 시작
크기 변경
무언가를하십시오. 아무것도
다른 사람에게 물어봐
나는 자신을 창의적으로 생각하는 사람들은 일반적으로 자신의 작업이나 브레인 스토밍에서 더 창의적이라고 생각합니다. 다시 말해, 창조적 인 사람은 단순히 다르게 생각하는 것을 두려워하지 않는 사람이라는 것을 강력히 시사합니다.
"상자 밖에서 생각하는 것"의 많은 부분이 문제를 다루고 있다고 생각합니다. 당신이 문제를 잘 이해한다면, 때때로 그 질문의 말이 오도의 소지가 있거나 실제로 당신 앞에 명백한 해결책이 남아있을 때 사람들이 매우 특정한 길을 생각하게 할 것임을 알게 될 것입니다. 다른 날에 stackoverflow.com에 대한 질문에 사람이 입력 텍스트 상자를 특정 문자 수에 도달하면 텍스트 영역으로 변환하려고했습니다 (10 인 것 같습니다). 복잡한 솔루션에서는 10자를 입력했지만 그 수를 초과하지는 않았기 때문에 입력하는 것이 10자를 넘어서는 모든 것을 신속하게 제거했습니다.
그의 코드가 게시되면서 많은 사람들이 코드를 수정하고 가치를 유지하기위한 제안을 제공하려고했습니다. 텍스트 영역을 유지하고 텍스트 상자를 모두 잊어 속성 행만 수정하도록 제안했습니다. 상자 밖에서 나는 영리한 사람이 아니라 그의 목표를 이해하려고 노력했기 때문에 상자 밖을 보았습니다. 텍스트가 증가함에 따라 텍스트 입력 필드를 만듭니다. 그렇게하면 텍스트 상자로 시작한 다음 교체하는 것이 어리석은 것처럼 보입니다.
그냥 내 10 센트. ;)
이 퍼즐을 해결함으로써. 모든 (등거리) 도트를 정확히 4 개의 직선으로 연결해야합니다.
. . .
. . .
. . .
BTW 이것은 원래의 질문 중 하나 였습니다 . 왜냐하면 ...
우리는 여기에 다양한 양의 센트를 추가하기 때문에 일부를 추가 할 것입니다.
많은 고객과 동료들로부터 지속적으로 독창적 인 사고 자로 묘사 된 사람으로서 여기 몇 가지 팁이 있습니다.
알고리즘은 없지만 .. 여기에 도움이되는 활동이 있습니다.
1. 퍼즐
내가 항상 즐겼던 한 가지는 내 두뇌를 즐겁게하고 퍼즐을 만드는 것입니다. 수많은 퍼즐, 특히 MENSA 종류. 측면 사고가 필요한 MENSA 퍼즐 중 하나 또는 두 권을 구입하십시오. 답답해지면 답을 읽고 답을 읽고 해결하는 방법을 배우십시오. 비슷한 퍼즐은 비슷한 솔루션을 가지고 있으며, 해결 방법을 배우면 패턴을 배울 수 있습니다.
2. Pet Programming Projects
당신이 일하는 언어에 대해 가능한 많은 것을 배우십시오. 자신을위한 애완 동물 프로젝트를 만들고 여가 시간에 그들과 함께 일하십시오. 특정 언어로 제공되는 것을 더 많이 알수록 솔루션을 얻을 수있는 방법이 더 많아집니다. 다른 사람들의 코드를 가지고 다른 일을하도록하세요.
3. 모든 것을 부끄러워하지 말고
질문하십시오. 질문을하면 어리석은 것처럼 느끼고, 어리 석고 부끄러운 일이 아닙니다. 학습은 당신이 아무것도 모른다는 것을 인정하고 성장하기를 원합니다. 기본 사항을 숙지하십시오. 고급 기능은 항상 그 기초에서 벗어나기 때문에 기초가 확실하지 않은 경우 그 위에 쌓은 지식은 항상 어떤 방식 으로든 결함이 있습니다.
4. 예상치 못한
문제가 무엇인지 정확히 알 때까지는 떠오르는 생각을 무시하지 마십시오. 최상의 솔루션은 종종 예상치 못한 아이디어에서 비롯됩니다.
행운을 빕니다.