흔히 생각하는 계산 노가다[4]
|
1. 개요
2. 시행착오법?
이 문서에서는 단순히 복잡한 계산을 의미하기 때문에, '적합한 수를 대입해보고 안 되면 다른 수를 대입해보는 방식'의 시행착오법(trial and error), 발견적 추론과는 다르다[8]. 그러나 시행착오법이 여기로 다이렉트된 경우가 많으므로 착각하지 말 것.
이하 문단에서도 이를 구분짓지 못하고 서술한 부분이 있으므로 적합한 수정이 이루어질 때까진 걸러 읽자.
이하 문단에서도 이를 구분짓지 못하고 서술한 부분이 있으므로 적합한 수정이 이루어질 때까진 걸러 읽자.
3. 사례
학문적으로 말하면 이산수학에서 말하는 방법론 중 하나이다. 이산수학인 이유는 연속[9]이 아닌 이산적인 대상을 다루기 때문이다.
이런 노가다는 주로 수열문제처럼 일정한 규칙은 있는데 그 규칙을 일반화하지는 못한 경우[10] 발생하게 된다.물론 미분방정식처럼 더럽게 계산 많이 하는 문제도 노가다의 일종이긴 하다.[11][12] 따지고 보면 수학적인 사고와 정상적인 문제풀이 과정을 통해 규칙을 유추하고 답을 도출했다고 해도, 검산하면서 그 답을 확신하기 위해서는 결국 노가다 내지는 역대입이 가장 확실하긴 하다. 소싯적의 가우스도 훗날 소수 정리라고 불리는 수학적 성질을 밝혀내기 위해 매일 1000개씩 소수를 찾아내서 자연로그에 집어넣는 용자짓을 저지르기도 했다.
또한 경우에 따라서는 공식에 대입해서 푸는 것보다 노가다를 약간 하는 것이 더 효율적일 수도 있다. 실제로 7차 교육과정 수학 1의 수능출제 매뉴얼에선 10항까지 축차대입해서 규칙성을 알 수 있는 문제가 출제범위다!이딴 문제를 붙잡고 있다가 시간 날리고 나중에 해답을 확인해 보면 매우 빡치게 된다 애초에 수능에서는 수험생이 태어나서 처음 보는 수열이 나오기 때문에, 정말 규칙을 모르겠다면 5~6항 정도까지는 계산을 반복하는 것도 나쁘지 않다.[13] 이때 자기가 숫자 계산 잘한다고 결과의 값만 옮겨 적을 게 아니라 식의 형태를 남겨 두는 게 포인트. 노가다 결과가 1+3+6+10+...이라면 규칙성을 발견하기 어렵지만 1+(1+2)+(1+2+3)+(1+2+3+4)+...와 같은 식으로 노가다를 해 나가다 보면 규칙성을 쉽게 발견할 수 있다.
사실 문제당 시간 제한이 촉박한 수능이나 내신보다는 KMO 등의 수학경시에서 (특히 조합영역) 굉장히 파워풀한 방법이다.실제로는 KMO 볼 때 마지막 2시간 동안 전체 응시자의 절반 이상이 노가다를 뛴다. 경시학원에서는 NGD Theorem이라며 가장 효율적으로(...) 경우의 누락 없이 노가다를 뛰는 방법을 중요하게 가르치기도 한다. 특히 정수 문제의 경우 어떤 방정식의 해가 정수로 한정되어 있기에 그 해의 범위를 구하고 그 안의 수들에 대해 전부 대입해보는 방법이 많이 사용되며, 조합도 각각의 경우를 효율적으로 찾는 방법을 가르치는 경우가 많다. 시험시간 내내 조합영역 한 문제만 노가다로 잡고 풀면 결국 풀린다.
한 경험자의 말에 따르면, "더블카운팅? 트리? 점화식? 스털링 수? 다 필요없어. NGD 하나면 된다." 라고 한다.[14][15]의 양수해를 구하는 문제가 나온 적이 있는데, 이 꼴의 방정식은 필연적으로 람베르트 W 함수를 이용해야 한다. 그런데 이 함수는 고등학교 과정에서는 아예 가르치지 않는 초월함수다. 그래서 고등학생은 노가다 말고는 선택지가 없다. 참고로 답은 4.]
쉽게 말하자면 5*8=40이라는 공식을 5+5+5+5+5+5+5+5=40 이런 식으로 계산하는 방식이다.
물론 위의 그림처럼 하느니 그냥 공부 좀 해서 규칙을 파악할 수 있는 능력을 습득하는 게 훨씬 좋다. 저렇게 일일이 계산해서 확인해 보는 것도 필요하다면 필요한 짓이겠지만 그려려면 뭐 때문에 수열이니 뭐니 하는 것을 공부하겠는가. 사람은 컴퓨터가 아니니 저 미친 듯한 양의 노가다를 안 하려고 공부하는 거다.그런데 유체역학이나[16] 위상수학,[17] 미분기하학,[18] 해석적 정수론 같은 걸 파는 사람들은 공부를 하든 안 하든 문제 하나 푸는 데 노가다의 극을 달린다(...).
컴퓨터의 등장 이후 컴퓨터가 실제로 노가다로 계산을 해서 미해결문제를 증명하는 일이 나타나고 있다. 최초로 인정 받은 것은 4색정리이며, 이를 계기로 계속 증가하고 있다. 골드바흐의 약한 추측도 1030보다 큰 수에서 성립한다는 것이 확인되자, 7부터 1030까지는 그냥 컴퓨터 돌려서 해결했다. 물론 이것도 엄연히 수학적인 증명으로 인정받는다.[19] 정도. 매우 큰 값의 수에서는 어떠한 일이 일어날지 확인할 수 없으며, 귀납법의 가장 치명적이고 원시적인 약점이기도 하다. 초월수 인정이 어려운 이유 중 하나이기도 하다.]
한편 이것을 해킹 기법으로 발전시킨 것이 무차별 대입 공격(Brute Force Attack)으로, 정답이 나올 때까지 모든 수를 다 찍는 것이다. 주로 복호화가 되지 않는 해쉬 함수가 공격 목표가 되는 편. 불행히도 MD5는 이미 뚫린 지 오래며, SHA도 현 시점에서는 SHA-3을 제외하면 모두 털린 상태라고 한다(...)
또한 수능에서도 종종 볼 수 있는데, 이런 노가다를 21번이나 30번에 처넣어 버리면 정말 끔찍한 일이 일어난다. 예로는 2014년 9평 B형 21번[20], 2019년 6평 나형 30번[21], 2019년 6월 전국연합학력평가 고2 수학 가형 30번[22] 등이 있다.
이런 노가다는 주로 수열문제처럼 일정한 규칙은 있는데 그 규칙을 일반화하지는 못한 경우[10] 발생하게 된다.
또한 경우에 따라서는 공식에 대입해서 푸는 것보다 노가다를 약간 하는 것이 더 효율적일 수도 있다. 실제로 7차 교육과정 수학 1의 수능출제 매뉴얼에선 10항까지 축차대입해서 규칙성을 알 수 있는 문제가 출제범위다!
사실 문제당 시간 제한이 촉박한 수능이나 내신보다는 KMO 등의 수학경시에서 (특히 조합영역) 굉장히 파워풀한 방법이다.
한 경험자의 말에 따르면, "더블카운팅? 트리? 점화식? 스털링 수? 다 필요없어. NGD 하나면 된다." 라고 한다.[14][15]의 양수해를 구하는 문제가 나온 적이 있는데, 이 꼴의 방정식은 필연적으로 람베르트 W 함수를 이용해야 한다. 그런데 이 함수는 고등학교 과정에서는 아예 가르치지 않는 초월함수다. 그래서 고등학생은 노가다 말고는 선택지가 없다. 참고로 답은 4.]
쉽게 말하자면 5*8=40이라는 공식을 5+5+5+5+5+5+5+5=40 이런 식으로 계산하는 방식이다.
물론 위의 그림처럼 하느니 그냥 공부 좀 해서 규칙을 파악할 수 있는 능력을 습득하는 게 훨씬 좋다. 저렇게 일일이 계산해서 확인해 보는 것도 필요하다면 필요한 짓이겠지만 그려려면 뭐 때문에 수열이니 뭐니 하는 것을 공부하겠는가. 사람은 컴퓨터가 아니니 저 미친 듯한 양의 노가다를 안 하려고 공부하는 거다.
컴퓨터의 등장 이후 컴퓨터가 실제로 노가다로 계산을 해서 미해결문제를 증명하는 일이 나타나고 있다. 최초로 인정 받은 것은 4색정리이며, 이를 계기로 계속 증가하고 있다. 골드바흐의 약한 추측도 1030보다 큰 수에서 성립한다는 것이 확인되자, 7부터 1030까지는 그냥 컴퓨터 돌려서 해결했다. 물론 이것도 엄연히 수학적인 증명으로 인정받는다.[19] 정도. 매우 큰 값의 수에서는 어떠한 일이 일어날지 확인할 수 없으며, 귀납법의 가장 치명적이고 원시적인 약점이기도 하다. 초월수 인정이 어려운 이유 중 하나이기도 하다.]
한편 이것을 해킹 기법으로 발전시킨 것이 무차별 대입 공격(Brute Force Attack)으로, 정답이 나올 때까지 모든 수를 다 찍는 것이다. 주로 복호화가 되지 않는 해쉬 함수가 공격 목표가 되는 편. 불행히도 MD5는 이미 뚫린 지 오래며, SHA도 현 시점에서는 SHA-3을 제외하면 모두 털린 상태라고 한다(...)
또한 수능에서도 종종 볼 수 있는데, 이런 노가다를 21번이나 30번에 처넣어 버리면 정말 끔찍한 일이 일어난다. 예로는 2014년 9평 B형 21번[20], 2019년 6평 나형 30번[21], 2019년 6월 전국연합학력평가 고2 수학 가형 30번[22] 등이 있다.
3.1. 대수학에서
곱셈 공식, 인수분해를 할 때 아래의 이항정리
[math(displaystyle (a+b)^{n}=sum_{r=0}^{n} binom{n}{r} a^{r}b^{n-r} )]
의 성질을 이용하는데, [math(n)]의 값이 클수록 계산량이 무지막지해지는 것을 알 수 있다.
초등학생들이 통분을 어려워하는 이유 중 하나이기도 한데, 단순히 분모를 합치는 게 아니라
[math(displaystyle (a+b)^{n}=sum_{r=0}^{n} binom{n}{r} a^{r}b^{n-r} )]
의 성질을 이용하는데, [math(n)]의 값이 클수록 계산량이 무지막지해지는 것을 알 수 있다.
초등학생들이 통분을 어려워하는 이유 중 하나이기도 한데, 단순히 분모를 합치는 게 아니라
- [math(displaystyle frac{a}{b} + frac{c}{d} = frac{a times d}{b times d} + frac{c times b}{d times b} = frac{ad+bc}{bd})] (2개의 분수의 통분)
- [math(displaystyle frac{a}{b} + frac{c}{d} + frac{e}{f} = frac{a times d times f}{b times d times f} + frac{c times b times f}{d times b times f} + frac{e times b times d}{f times b times d} = frac{adf+bcf+bde}{bdf})] (3개의 분수의 통분)
꼴로 계산해야 하기 때문이다.
또한 선형대수학에서는 수를 묶음(벡터, 행렬 등)으로 계산하므로 필연적으로 노가다가 된다. 대표적으로 내적
[math(displaystyle left<{bold a},,{bold b}right> = sum_{k=1}^{dim {bold a}}overline{a_k} b_k)]
이 있다.[23]만 보고 저게 왜 노가다지? 하고 의문을 갖는 사람이 있을텐데, 켤레가 취해진 것을 보듯 저건 복소수끼리의 곱, 즉 다항식×다항식 꼴이다. 쉽게(?) 풀어서 쓰자면 [math(Re(a_k)Re(b_k) + Im(a_k)Im(b_k) - Im(a_k)Re(b_k)i +Re(a_k)Im(b_k)i)]인 셈. 그리고 한 번으로 끝나는 게 아니라 벡터의 성분 개수만큼 해야 한다. 흔히 생각하는 내적은 고등학교 수준에서 [math(Im(a_k) = Im(b_k) = 0)]임에 따라 [math(Re(a_k)Re(b_k))]만 남은 꼴이다.] 그리고 행렬곱은 이 내적의 반복 계산이다. 노가다와는 별개로 벡터를 볼드체로 적어야 되기 때문에 대학 초년생들은 이를 피하려고 별별 짓을 하게 된다. 물론 벡터 같은 경우에는 볼드체가 아니라 화살표 기호를 쓸 수는 있다. 허나 유클리드 공간상의 벡터가 아닐 경우 쓰기 곤란하고 그만큼 더 펜을 많이 쓰게 되는 건 함정.
3.2. 해석학, 미적분학에서
시쳇말로 '극한직업'으로 일컫는 것이 이런 쪽을 취급하는 이들일 정도로 밑도 끝도 없는 계산으로 악명높다. 문서 상단에 있는 리만의 깜지만 봐도 잘 알 수 있다.
원인은 다음과 같다.
원인은 다음과 같다.
- 정적분을 처음 배울 때 구분구적법이라는 것을 익히게 되는데, 일일이 구간을 쪼개서 리만 합으로 보내는 과정이 상당한 고역이다. 이걸 두 값을 대입한 부정적분의 차로 정리한 오귀스탱 루이 코시에게 그랜절을 올려야 할 정도.
이렇게 풀어야 답이 나온다는 이야기이다.
이 때문에 미분방정식을 다루는 물리학(특히 유체역학[26]), 미분기하학, '해석'이 붙은 수학과목[27]은 손가락이 부서져라 계산해야 하는 것이 일상일 수준.
다만 이 경우는 '시행착오'법이라고 부르기는 곤란한 면이 있다. 이는 시행착오를 겪어서가 아니라 순전히 무지막지한 계산량 때문에 노가다로 부르는 경우이기 때문.
이 때문에 미분방정식을 다루는 물리학(특히 유체역학[26]), 미분기하학, '해석'이 붙은 수학과목[27]은 손가락이 부서져라 계산해야 하는 것이 일상일 수준.
다만 이 경우는 '시행착오'법이라고 부르기는 곤란한 면이 있다. 이는 시행착오를 겪어서가 아니라 순전히 무지막지한 계산량 때문에 노가다로 부르는 경우이기 때문.
[1] 첫 문제의 출처는 2004년 고3 3월 학평 나형 14번이고, 두 번째 문제 출처는 2007년 고1 6월 학평 26번 문제이다. 두 번째 문제의 답은 200.[2] 다름 아닌 리만 가설을 연구하기 위해 깜지를 쓴 것이다.[3] 3차 정사각행렬의 역행렬을 각각 첨가행렬과 크라메르 공식으로 구하는 과정이다.[4] 첫 문제의 출처는 2004년 고3 3월 학평 나형 14번이고, 두 번째 문제 출처는 2007년 고1 6월 학평 26번 문제이다. 두 번째 문제의 답은 200.[5] 다름 아닌 리만 가설을 연구하기 위해 깜지를 쓴 것이다.[6] 3차 정사각행렬의 역행렬을 각각 첨가행렬과 크라메르 공식으로 구하는 과정이다.[7] 물론 '어떻게 하면 컴퓨터가 더 효율적으로 계산할 수 있을까?' 하는 연구도 활발하다. 이에 대해 공부하는 과목이 수치해석학이다.[8] 예시: 삽자루의 청도 우시장 문제[9] 연속함수에서 말하는 그 연속이다.[10] 이런 것들을 평가원 용어로 발견적 추론이라고 한다.[11] 취소선이 그어져 있지만 농담이 아닌 게 어지간한 미분방정식은 부분적분, 삼각치환, 라플라스 변환, 푸리에 변환 등등 별 짓을 다 해야 한다! 멀리 갈 것 없이 타원 문서에서 둘레 길이 구하는 과정부터 노가다인 것을 볼 수 있다(...). 만약 상술한 방법으로 적분이 곤란한 꼴의 함수가 나왔다면? 테일러 급수로 전개해서 항마다 적분해야 하는 노가다를 해야 한다.[12] 사실 선형대수학 쪽도 다를 게 없는데, 역행렬, 텐서 계산에서 노가다를 강요받는 경우가 상당히 많다(n차 정사각행렬의 역행렬 계산은 n!번 이루어진다고 보면 편하다...). 그리고 미분방정식과 선형대수학의 콜라보인 편미분방정식은 그 절정.[13] 대부분 수열파트는 4항까지 해보면 등차수열인지 등비수열인지 계차수열인지는 극명해진다.[14] 그런데 저런 방법을 사용하기엔, 특히 스털링 수의 경우 나오는 경우가 너무 적어서 차라리 노가다를 연습하는게 효율적일 수도 있다. 이쪽은 노가다를 너무 등한시하고 기피하면 오히려 더 문제가 되는 케이스다.[15] 심지어 학력평가 기출문제 중에는 방정식 [math(2^a=a+12)[16] 그러니까...
파일:external/upload.wikimedia.org/a34304c2f5c7418ad383d04ff4ae2bb5.png
이런 놈을 매일 마주해야 하는 것이 유체역학 수업이다.[17] 사실 위상수학은 계산노가다가 그렇게 필요하진 않다. 대신 그 이상의 양으로 증명을 써내려가야 한다.[18] 수학과, 수학교육과 과목에서 가장 노가다가 심한 과목으로 꼽힌다. 특히 수학교육과의 경우 수학교사가 되느냐 마느냐가 이 미분기하학의 노가다를 감내할 수 있느냐에 달려 있다고 봐도 과언이 아니다. 일반 상대성 이론 역시 미분기하학으로 이론을 기술해야 하기 때문에 노가다와 떨어질래야 떨어질 수가 없다.[19] 다만 리만 가설과 스큐스 수에서도 확인할 수 있듯이, 큰 수의 세계에서는 상상도 할 수 없는 일이 일어나곤 한다. 종래에는 로그 적분 함수(로그함수의 역수를 적분한 함수)가 소수 계량 함수보다 항상 클 것이라고 예상했었고, 사람들이 계산할 수 있는 정도로 큰 수에서는 그것이 사실이었으나, 스큐스 수를 기준으로 로그 적분 함수와 소수 계량 함수의 대소 관계가 역전되며, 심지어 대소 관계가 무한히 역전을 거듭한다! 최초로 계산된 스큐스 수는 [math(10^{10^{10^{34}}})[20] 뭔가 특별한 발상이 필요한 게 아니라 매개변수 도함수에 3,4,5,6을 각각 대입해서 그래프를 전부 다 그리고 극점을 전부 다 찾아야 한다(...) 그래도 정답률은 40%대로 꽤 높다. [21] 문과수학 최강의 노가다 문제로 꼽힌다. 그나마 발상을 잘 해서 f(x)의 함숫값을 몇 개 구해 놓으면 8번 정도만 시도해 보면 되지만, 그렇지 않다면 60개가 넘는 케이스를 하나 빼고 전부 다 모순을 밝혀내야 한다. 정답률은 무려 1.5%.[22] 역대 교육청 문제중 가장 최고난도로 손꼽힌다. 오답률은 100%이며, (만점자 5명.) 해설강의를 보면 경우의 수가 사람의 손으로는 도저히 계산할 수 없어서 컴퓨터 매크로 (...)를 86분 동안 돌려서 해결하는 등 총체적 난국이다[23] 저 [math(overline{a_k} b_k)[24] 행렬곱, 역행렬, 삼각화, 대각화, 내적, 외적, 텐서곱 등 다수[25] 행렬곱, 역행렬, 삼각화, 대각화, 내적, 외적, 텐서곱 등 다수[26] 상대성 이론을 전공하는 사람이 "그쪽 분야는 참 힘들게 산다." 라고 증언할 정도다.[27] 수치해석 제외. 이건 사실 컴퓨터에게 노가다를 시키는 과목이라서 그렇다.
파일:external/upload.wikimedia.org/a34304c2f5c7418ad383d04ff4ae2bb5.png
이런 놈을 매일 마주해야 하는 것이 유체역학 수업이다.[17] 사실 위상수학은 계산노가다가 그렇게 필요하진 않다. 대신 그 이상의 양으로 증명을 써내려가야 한다.[18] 수학과, 수학교육과 과목에서 가장 노가다가 심한 과목으로 꼽힌다. 특히 수학교육과의 경우 수학교사가 되느냐 마느냐가 이 미분기하학의 노가다를 감내할 수 있느냐에 달려 있다고 봐도 과언이 아니다. 일반 상대성 이론 역시 미분기하학으로 이론을 기술해야 하기 때문에 노가다와 떨어질래야 떨어질 수가 없다.[19] 다만 리만 가설과 스큐스 수에서도 확인할 수 있듯이, 큰 수의 세계에서는 상상도 할 수 없는 일이 일어나곤 한다. 종래에는 로그 적분 함수(로그함수의 역수를 적분한 함수)가 소수 계량 함수보다 항상 클 것이라고 예상했었고, 사람들이 계산할 수 있는 정도로 큰 수에서는 그것이 사실이었으나, 스큐스 수를 기준으로 로그 적분 함수와 소수 계량 함수의 대소 관계가 역전되며, 심지어 대소 관계가 무한히 역전을 거듭한다! 최초로 계산된 스큐스 수는 [math(10^{10^{10^{34}}})[20] 뭔가 특별한 발상이 필요한 게 아니라 매개변수 도함수에 3,4,5,6을 각각 대입해서 그래프를 전부 다 그리고 극점을 전부 다 찾아야 한다(...) 그래도 정답률은 40%대로 꽤 높다. [21] 문과수학 최강의 노가다 문제로 꼽힌다. 그나마 발상을 잘 해서 f(x)의 함숫값을 몇 개 구해 놓으면 8번 정도만 시도해 보면 되지만, 그렇지 않다면 60개가 넘는 케이스를 하나 빼고 전부 다 모순을 밝혀내야 한다. 정답률은 무려 1.5%.[22] 역대 교육청 문제중 가장 최고난도로 손꼽힌다. 오답률은 100%이며, (만점자 5명.) 해설강의를 보면 경우의 수가 사람의 손으로는 도저히 계산할 수 없어서 컴퓨터 매크로 (...)를 86분 동안 돌려서 해결하는 등 총체적 난국이다[23] 저 [math(overline{a_k} b_k)[24] 행렬곱, 역행렬, 삼각화, 대각화, 내적, 외적, 텐서곱 등 다수[25] 행렬곱, 역행렬, 삼각화, 대각화, 내적, 외적, 텐서곱 등 다수[26] 상대성 이론을 전공하는 사람이 "그쪽 분야는 참 힘들게 산다." 라고 증언할 정도다.[27] 수치해석 제외. 이건 사실 컴퓨터에게 노가다를 시키는 과목이라서 그렇다.