장난감 조립에서 인공지능까지
두 챕터의 글을 하나로 묶어서 올립니다.
왜 닭과 여우 퍼즐부터 시작할까?
AI가 문제를 해결하는 가장 밑바닥 원리는 단순합니다. 바로 '지금 상태를 정의하고, 최선의 다음 단계를 찾는 것'입니다.
닭과 여우 퍼즐은 이 핵심 원리를 가장 단순하게 보여주는 완벽한 예시입니다. 복잡한 수학이나 프로그래밍 없이도, 우리는 이미 AI처럼 생각하고 있었던 것이죠. 이 원리를 이해하면, 나중에 딥러닝이 수억 개의 데이터를 처리할 때도 "아, 지금 AI가 거대한 지도 위에서 최적의 경로를 계산하고 있구나!"라고 본질을 꿰뚫어 볼 수 있습니다.
마치 덧셈을 확실히 배운 사람만이 미적분의 원리를 진정으로 이해할 수 있는 것처럼, 간단한 퍼즐은 AI의 모든 복잡한 기술을 이해하는 든든한 첫 계단입니다.
1. 토이 모델(Toy Model): "문제의 핵심만 남긴 연습장"
현실 세계는 너무 복잡합니다. 자율주행을 연구할 때 처음부터 복잡한 강남역 사거리에 차를 내보낼 수는 없죠. 그래서 연구자들은 '장난감 같은 환경'을 만듭니다.
핵심: 복잡한 변수(날씨, 돌발상황 등)를 다 빼고, "A에서 B로 안전하게 가는가?"라는 핵심만 남긴 단순한 모형입니다.
예시: 강을 건너야 하는 닭, 여우, 곡식 퍼즐
현실의 복잡함(교통량, 신호등, 보행자) → 제거
핵심 규칙("여우와 닭을 같이 두면 안 됨") → 유지
역할: AI가 '상태'를 정의하고 '전이'(다음 단계)를 찾는 기초 논리를 제대로 수행하는지 테스트하는 가상 훈련소입니다.
2. 머신러닝(Machine Learning): "데이터 속에서 스스로 규칙 찾기"
토이 모델에서는 사람이 모든 규칙을 직접 정해주었습니다. 하지만 세상의 모든 규칙을 사람이 다 적어줄 수는 없죠.
핵심: 규칙 대신 데이터를 줍니다. AI는 데이터를 보고 "이런 상황에서는 이렇게 하는 게 성공 확률이 높구나!"를 스스로 학습합니다.
토이 모델과의 연결:
토이 모델: "여우와 닭을 같이 두면 안 돼" (사람이 규칙 제공)
머신러닝: 100번 시도해보니 "여우와 닭을 같이 뒀을 때 95번 실패했네" (데이터로 규칙 발견)
수만 번의 시행착오를 거치며 스스로 성공 확률이 높은 지도를 그려나가는 과정입니다.
3. 딥러닝(Deep Learning): "인간의 뇌처럼 복잡한 패턴 읽기"
데이터가 너무 방대하고 복잡해서(사람 얼굴, 자연스러운 언어) 단순한 규칙으로 설명할 수 없을 때 사용합니다.
핵심: 인간의 뇌 세포를 흉내 낸 '인공 신경망'을 여러 층으로 쌓아, 미세한 특징까지 포착합니다.
1층: "선이 있네"
2층: "이 선들이 모여 눈이 되네"
3층: "이게 사람 얼굴이네"
토이 모델과의 연결: 딥러닝은 '아주 거대하고 복잡한 토이 모델'입니다.
닭 퍼즐: 상태 8개
딥러닝: 상태 수억 개 (모든 가능한 픽셀 조합, 단어 조합 등)
원리는 같지만, 다루는 상태의 수와 복잡도가 엄청나게 커진 것입니다.
핵심 정리
하나의 원리가 모든 AI를 관통합니다: "상태를 정의하고, 최선의 다음 단계를 찾는다"
토이 모델: 이 원리를 가장 단순하게 연습
머신러닝: 데이터로 이 원리를 스스로 학습
딥러닝: 복잡한 세상에서 이 원리를 거대하게 적용
닭과 여우 퍼즐을 이해했다면,
여러분은 이미 AI의 핵심 사고방식을 익힌 것입니다!
인공지능이 복잡한 체스나 바둑에서 인간을 이기는 원리는 무엇일까요? 그 본질은 우리가 어린 시절 즐겼던 '오목'의 논리와 매우 닮아 있습니다. 이번 장에서는 틱택토(Tic-Tac-Toe)라는 아주 작은 오목 게임을 통해, AI가 미래를 내다보는 방법인 '게임 트리(Game Tree)'와 '미니맥스(Minimax) 전략'을 알아보겠습니다.
1. AI의 수읽기, '게임 트리'
오목 고수들은 돌 하나를 놓기 전 머릿속으로 수많은 수를 내다봅니다. "내가 여기 두면, 상대는 저기 두겠지? 그럼 난 다시 여기를 막아야지." 이런 생각을 도식화한 것이 바로 게임 트리입니다.
루트(Root): 지금 현재 바둑판의 상태입니다.
노드(Node): 정보가 담긴 점(마디)입니다. 즉, 게임의 한 장면 한 장면을 찍어놓은 사진과 같은 것입니다.
가지(Branch): 한 수 한 수가 이어지는 경로입니다.
AI는 게임의 시작부터 끝(승리, 패배, 무승부)까지 가능한 모든 경로를 나뭇가지처럼 펼쳐서 그려봅니다. 틱택토는 판이 3x3으로 작기 때문에, AI는 게임이 끝나기 훨씬 전부터 모든 결말을 손바닥 보듯 다 파악할 수 있습니다.
2. '4-3' 외통수와 절망하는 플레이어
Elements of AI의 Ch.2-III.Search and games에서 맥스(Max)가 자신의 차례임에도 불구하고 얼굴을 감싸 쥐며 절망했던 이유를 기억하시나요? 오목으로 치면 상대방이 이미 '4-3'이나 '양수겹장('두곳에서 장수를 부른다'는 장기 용어)'의 상황을 만들어 놓은 것입니다.
맥스가 게임 트리를 통해 미래를 미리 계산해 보니(수읽기), 자기가 어떤 칸에 X를 놓더라도 그다음 차례에 미니(Min)가 O를 놓아 승리하는 경로(+1이 아닌 -1의 결과)만 남았다는 것을 깨달은 것이죠. AI에게 '지능'이 있다는 것은, 이처럼 현재의 수에만 급급하지 않고 트리의 끝까지 내려가 미래의 결과를 현재로 끌어올 수 있다는 뜻입니다.
3. 미니맥스(Minimax): 고수와 고수의 대결
AI는 게임을 분석할 때 한 가지 중요한 가정을 합니다. "상대방도 나만큼 똑똑한 고수다!"라는 가정입니다. 이 관점이 바로 미니맥스 알고리즘의 핵심입니다.
Max (나 / 공격수): 나는 나에게 가장 유리한 점수(+1, 승리)를 주는 쪽으로 나뭇가지를 타고 올라가려 합니다. (점수 최대화)
Min (상대 / 수비수): 상대는 나에게 가장 불리한 점수(-1, 나의 패배)를 주는 쪽으로 나를 이끌려 합니다. (점수 최소화)
AI는 트리의 맨 아래(결과)에서부터 위로 거꾸로 올라오며 값을 계산합니다.
"이 길로 가면 내가 이길 수 있지만(+1), 도중에 상대방(Min)이 방해할 수 있는 칸이 있네? 그럼 상대는 당연히 그 방해하는 길(-1)을 택할 거야. 그러니 이 길은 안전하지 않아."
이런 식으로 상대방의 최선의 방어를 고려하여, 상대가 아무리 방어를 잘해도 내가 얻을 수 있는 최선의 결과를 찾아내는 것이 바로 AI의 전략입니다.
정리하며: 지능은 기계적인 계산의 합
우리는 오목을 둘 때 '직관'이나 '운'을 믿기도 하지만, AI에게 지능이란 결국 "철저하고 기계적인 수읽기의 합"입니다. 아무리 복잡한 체스 게임이라도 아주 작은 단계(돌 하나 놓기)로 쪼개고, 그 모든 경우의 수를 트리로 만들어 계산할 수 있다면, 그것이 바로 인공지능이 구현하는 '지능'이 됩니다.
자, 이제 여러분도 틱택토 판을 보면 단순히 빈칸을 찾는 것이 아니라, 그 너머에 펼쳐진 거대한 게임 트리의 줄기를 상상해 보실 수 있겠죠?