그뢰브너 기저와 천재 제2화
『난죠 코코로』
"감상. 이 차, 조금 미적지근한 상태. 다냐."
난죠 코코로, 통칭 난죠 씨가 손바닥에 컵을 수평이 되도록 올려놓고 그렇게 중얼댔다.
"이야, 이거 정말 오랜만이네! 코코로!!"
내 맞은편 옆에 앉아 있던 군죠가 내 앞에 있는 난죠 씨의 등을 찰싹찰싹 두드리며 말한다.
상당히 세게 때리고 있는 것 같다만 난죠 씨는 반응이 없다.
"정말. 너희들과 만난 건 오랜만. 이셩."
"에에, 나는 유학가기 전에 봤으니까 1년만이네?"
"정답. 군죠 씨와는 1년 47일만, 이징어. 혼죠 씨와는 약 3개월 23일만. 이거들랑."
"그렇군. 그렇게 오랜만이었구만!!"
이미 알아차린 사람도 있겠지만 난죠 씨는 말투가 독특하다.
명사로만 말을 끊는 일도 다반사인데다 만화나 애니같은 데서 나오는 캐릭터들의 말버릇을 말끝에 붙이곤 한다.
말버릇을 가져오는 작품 범위가 꽤 넓어서 만화를 좋아하는 나도 어디서 가져온 말인지 모를 때가 많다.
"어, 너 키 큰 거 같은데?"
"오답. 내 키는 이전과 동일, 이라능. 군죠 씨의 흉부 근처야말로 팽창 정도가 현저함. 뇨롱."
"역시 그렇지? 미국에서 피자만 잔뜩 먹어서 말이지! 헤헤."
"부정확. 흉부 근처란 복부도 포함. 뚯뚜루─."
"뭣!!"
나는 눈 앞에서 펼쳐지는 걸즈 토크(?)에 끼지 못하고 차만 홀짝대고 있었다.
저 말끝마다 이상한 말을 붙이는 말투도 난죠 본인은 진지하게 하고 있다는 모양이다.
원래는 기계처럼 딱딱한 말투를 부드럽게 만드려고 시작했다던가.
하지만 바뀐 건 말끝에 붙는 단어 뿐, 여전히 피아노의 한 건반만 누르는 것처럼 말투에 억양이 없다.
"전환. 너희들, 듣기로 거짓말쟁이 문제, 그뢰브너 기저로 해결. 크롱."
"어? 아, 군죠가 미국에서 가져온 선물이라고 말을 하길래 방금까지 얘기하고 있었어."
그러고보니 난죠 씨, 그 이야기를 하고 있을 때 말을 걸었지.
"상세. 어떻게 문제 해결. 뽀이?"
"으음, 우선 거짓말쟁이 문제를 다항식으로 변환한 뒤 그뢰브너 기저로 연립방정식을 풀었는데....... 이거 맞지, 군죠?"
"아아, 정확해."
"이해."
난죠 씨가 한 마디 중얼거리더니 정지했다. 자주 있는 일이다.
투명한 안경 너머로 비쳐보이는 눈이 마침 마주앉아 있던 내 눈에 맞는다.
난죠 씨가 생각을 하고 있을 뿐이지 나를 의식하지 않으리란 건 알고 있지만 이렇게 곱상한 미인이 나를 빤히 보고 있으면 아무래도 심박수가 올라갈 수밖에 없다.
얼마나 난죠 씨가 움직이기를 기다렸을까, 드디어 난죠 씨가 입을 열었다.
"의견. 생각컨대 그건 Boolean Gröbner basis의 일종이라고 추정 가능. Boolean Gröbner basis는 Boolean ring 위의 다항식환의 잉여환(quotient ring)의 그뢰브너 기저로 단항식 단순화를 이용한 Buchberger's algorithm으로 계산가능하며 이 잉여환에서 이차 이상의 일변수 다항식은 일차식으로 간주 가능한 고로 차수의 증가가 없으며 효율이 단순 계산보다 좋을 것으로 기대. 꼬북."
정보통합사념체가 만든 대유기생명체컨택트용휴머노이드인터페이스 급으로 긴 설명을 들었다.
Boolean? 으음, 뭐지......
"그, Boolean Gröbner basis란 건 도대체 뭐야?"
내 머리가 혼란해져 있는 와중에 군죠가 먼저 질문했다.
"설명. 우선 Boolean ring B에 대해 B 위의 n변수 다항식환 B[x_1,...,x_n]을 아이디얼 (x_1^2-x_1 , ... , x_n^2-x_n)으로 나눈 잉여환을 Boolean 다항식환으로 정의, 브너. 이 Boolean 다항식환 위의 그뢰브너 기저가 Boolean Gröbner basis라는, 것이피─."
"호오, 그렇군."
그렇군이 아니다.
'브너'며 '피─"며 무슨 캐릭터가 쓰는 말버릇인지 모르겠는 게 너무 신경쓰여서 설명을 따라가질 못하겠다. 1
"미안. 나는 잘 이해가 안 되어서 그런데 애초에 Boolean ring이 뭐야?"
"하아?"
그 순간 동시에 군죠와 난죠 씨는 사람도 아닌 것을 보는 듯한 눈으로 나를 바라보았다.
가볍게 질문했을 뿐이었지만 지뢰란 언제나 보이지 않는 곳에 있는 법이다.
"헤이스케 너.... Boolean ring도 몰라? 컴퓨터 좀 만져 봤다면서?"
"실망. 이거 혼죠의 지식량을 고려하지 않은 나의 실례. 입네다."
수학을 하고 있노라면 별안간 인권을 박탈당하는 일이 생긴다.
무슨 소리냐면 "○○○가 뭔지 모르면 사람도 아니다."같은 말이 수학과에서는 빈번하게 나오기 때문이다.
분야마다 그 필수적인 사전 지식은 다르지만, 여기서는 Boolean ring이 이에 해당한다.
"아니, 잠깐만. Boolean ring이 그렇게나 많이 나온단 말이야?"
"그럼 이제부터 Boolean ring이 뭔지 설명할게."
어? 무시했어? 저기요 군죠 씨?
"Boolean ring이란 모든 원소가 멱등원인 환이야. 멱등원이란 제곱해도 변하지 않는 원소를 말하는 거고. 그러니까,"
환 R이 Boolean ring이다.
⇔ R의 임의의 원소 a는 a^2=a를 만족한다.
"...라는 거야."
"......같은 걸 두 번 곱해도 변하지 않는다는 건가."
"그렇지."
"질문. 그러면 혼죠 씨, 구체적인 예시 구성을 요구. 데수웅."
"응?"
"의문. 구체적 예시는 정의를 듣자마자 바로 떠올릴 수 있을 것. 인정? 응 인정."
뭣!? 지금 내게 數치심을 주겠다는 거냐!?
라고 불평은 하지만 생각해보는 수밖에 없다.
으음, 우선 환이란 쉽게 말해 덧셈, 뺄셈, 곱셈이 가능한 집합이다.
정수나 모든 다항식의 집합이 여기에 해당한다.
정수가 Boolean ring인지 확인해보면...
0의 제곱은 0, 즉 0^2=0이니까 0은 멱등원.
1의 제곱은 1, 즉 1^2=1이니까 1은 멱등원.
2의 제곱은 4, 즉 2^2=4이니까 2는 멱등원이 아니다.
3의 제곱은 9, 즉 3^2=9이니까 3은 멱등원이 아니다.
...
...니까 정수에서는 0과 1 빼고 전부 멱등원이 아니네?
그 말인즉 정수는 Boolean ring이 아니다.
다항식 전체의 집합도 비슷한 이유로 Boolean ring이 아니다.
끄응. 제곱해도 같은 원소라는 상황 자체가 완전히 특수한 상황 아냐?
그런 원소라면 0이랑 1 정도밖에 없을 것 같은데....
응? 0과 1?
아, 그렇군!
"0과 1로 이루어진 집합 {0,1}은 Boolean ring이야!"
그렇지, {0,1}은 거짓말쟁이 문제를 풀 때 나온 유한체 F_2였다.
요전에 확인했듯 0과 1은 멱등원이니까 {0,1}은 Boolean ring의 조건을 만족한다.
"정답."
"그렇지!"
"단, 자명."
"에?"
"그래, 케이스케 네가 든 그 예시는 너무 자명해."
너무 자명하다는 또 #뭐냐.
"부연. 혼죠 씨가 낸 예시는 Boolean ring의 본질 파악에는, 빈약! 빈약! 지나치게 단순. 아이가."
"코코로 말이 맞아."
"재요청. 혼죠 씨, 비자명한 Boolean ring의 예시를 구체적으로 구성. 추가바람."
으으...........................
기껏 내놓은 답을 자명하다고 퇴짜를 놓다니 이래서 數치심을 주며 따돌리는 게 무섭다.
환에 대해선 아는 것도 거의 없는 데다가 상대는 동수의 회장에다가 체격 다부진 군죠다.
모르겠습니다! 라고 답하면 뼈도 추리지 못할 가능성이 있다.
그렇게 고통에 몸부림치고 있노라니 의외로 난죠 씨가 구명정을 보내줬다.
"제안. 혼죠 씨의 답변 성공 가능성이 상당히 낮다고 여겨지므로 이해를 도울 게임을 제안. 냥파스─."
올커니. 무슨 게임인지는 모르겠지만 일단 이 數치플레이의 지옥에서 탈출할 수 있을 것 같다.
"단. 게임에 어떤 조건을 추가. 깨랑까랑."
응? 조건?
"조건. 내가 게임에 승리할 경우 혼죠 케이스케, 너는 이 곳에서 사망. 하오."
- 각각 '그뢰브너 기저를 정말 좋아하는 봇'(グレブナー基底大好きbot)의 '브너'와 'p진수를 정말 좋아하는 봇'(p進大好きbot)의 p에서 따온 것으로 보인다―역자 주. [본문으로]