관점

Problem solving은 계산을 잘하는 일이 아니다

박진규 · · 한국어

LinkedIn에 발표한 글을 옮겼습니다. 기술·제품·연구 계획에 관한 설명은 원문 작성 당시의 관점입니다.

현실 문제를 모델링하는 일과 정식화한 문제를 푸는 일 사이의 균형.
원문 도식: 현실을 모델에 담는 일과 실제로 풀어내는 일 사이의 균형.
이 페이지 목차
  1. 1. Problem solving은 계산을 잘하는 일이 아니다
  2. 2. 유능한 Problem Solver의 기준
  3. 3. 규격의 시대에서 균형의 시대로
  4. 4. 오믈렛에서 문제를 푸는 방식
  5. 5. 함께 고민하고 싶은 질문

1. Problem solving은 계산을 잘하는 일이 아니다

Problem solving은 계산을 잘하는 일이 아니라, 어디까지를 모델에 담고 어디서 멈출지를 결정하는 일입니다.

최적화 문제를 풀다 보면 많은 사람들이 먼저 알고리즘을 떠올립니다. 하지만 현장에서 결과를 가르는 질문은 늘 그 이전에 있습니다. "이 현실을 어디까지 모델에 담을 것인가?" 그리고 "그 선택이 실제로 풀릴 수 있는가?"

현실의 문제를 수학적 언어로 옮기는 과정이 모델링이고, 그렇게 정의된 문제를 실제로 풀어 해를 찾는 과정이 솔빙입니다. 두 과정은 분리된 단계처럼 보이지만, 실제로는 서로를 강하게 당기는 줄다리기에 가깝습니다.

모델링을 지나치게 정교하게 하면 문제의 복잡도가 급격히 커집니다. 해를 찾지 못하거나, 찾더라도 탐색 공간 어딘가에 갇힌 local optimum에 머무를 가능성이 커집니다. 반대로 솔빙을 쉽게 하려고 모델을 단순화하면 계산은 빨라지지만, 그 해는 현실에 적용하기 어렵습니다. 풀기 쉬운 문제를 잘 푼 것이지, 중요한 문제를 푼 것은 아니게 됩니다.

2. 유능한 Problem Solver의 기준

그래서 시간이 지날수록 느끼게 됩니다. 정말 유능한 problem solver는 "잘 푸는 사람"이 아니라, 이 균형을 판단할 수 있는 사람입니다.

현실에서 무엇을 반드시 모델에 담아야 하는지, 무엇은 과감히 버려도 되는지, 그리고 그 선택이 실제로 풀릴 수 있는 복잡도인지까지 함께 고려할 수 있는 능력. 이 판단에는 두 가지 감각이 동시에 필요합니다. 현실의 핵심을 추려내는 모델링 감각과, 그 모델을 실제로 감당할 수 있는지 판단하는 솔빙 감각입니다. 기존 알고리즘을 쓸지, 아니면 새로운 알고리즘을 만들어야 할지도 이 지점에서 결정됩니다.

이 균형은 책이나 강의로 쉽게 얻어지지 않습니다. 수많은 모델링과 솔빙을 반복하며 실패를 겪는 과정 속에서, 자신만의 balance point가 조금씩 형성됩니다. 그래서 균형을 찾지 못한 경험은 실패가 아닙니다. 다음 균형점을 찾기 위한 필연적인 과정입니다.

3. 규격의 시대에서 균형의 시대로

과거에는 이 균형을 고민할 여지가 크지 않았습니다. 컴퓨팅 파워가 제한적이었기 때문에, 상용 솔버나 기존 알고리즘이 풀 수 있는 형태로 문제를 맞추는 것이 최선이었습니다. 현실 문제를 규격화된 problem class에 끼워 넣는 것이 모델링의 핵심 역량이던 시절입니다.

목적함수와 제약 조건은 특정 form을 만족해야 했고, 그 과정에서 현실의 중요한 특성들은 종종 사라졌습니다. 해석 가능성과 검증된 해라는 장점은 있었지만, 그 해가 현장에서 실제로 작동하는지는 또 다른 문제였습니다. 형식은 맞았지만, 현실과는 멀어진 formulation이었기 때문입니다.

하지만 최근 몇 년 사이 상황은 많이 달라졌습니다. 컴퓨팅 파워의 비약적인 증가, 대규모 탐색을 가능하게 하는 알고리즘의 발전, 그리고 과거 데이터를 활용해 탐색 전략 자체를 학습하는 AI 기법들이 등장했습니다. Solving이 확장되면서, Modeling의 자유도 역시 함께 넓어지고 있습니다.

이 변화 속에서 많은 엔지니어와 연구자들이 묻습니다. "AI가 계산과 탐색을 다 해주면, 나는 무엇을 잘해야 하나요?" 답은 분명합니다. 무엇을 모델에 담고 무엇을 버릴지, 그 균형을 설계하는 일은 여전히 사람의 몫입니다.

4. 오믈렛에서 문제를 푸는 방식

이 변화가 현장에서 실제로 의미를 가지려면, 단순히 계산을 빠르게 하는 것만으로는 부족합니다. 문제에 맞는 모델을 자유롭게 정의하고, 그 모델을 풀기 위해 알고리즘 자체를 조정하거나 새로 설계할 수 있어야 합니다.

오믈렛의 problem solver들은 바로 이 지점에서 기존 접근과 다르게 움직입니다. 정형화된 솔버에 문제를 맞추는 대신, 현실 문제의 구조를 먼저 이해하고 그 구조에 맞게 모델링의 경계를 다시 설정합니다. 그리고 그 모델을 풀기 위해 기존 알고리즘을 선택하거나, 필요하다면 직접 새로운 솔버를 설계합니다.

그 결과, 과거에는 해를 찾는 데 며칠이 걸리던 문제가 몇 분 만에 풀리면서도, 오히려 현장 성과는 더 좋아지는 사례들을 자주 보게 됩니다. 이건 특별한 요령이나 마법이 아닙니다. Modeling과 Solving 사이의 균형을, 문제마다 다시 정의했을 뿐입니다.

문제를 규격에 맞추는 것이 아니라, 문제에 맞는 균형점을 설계하는 것. 오믈렛이 문제를 푸는 방식의 핵심입니다.

5. 함께 고민하고 싶은 질문

AI와 컴퓨팅의 발전은 문제를 대신 풀어주지는 않습니다. 하지만 우리가 어떤 문제를 어떻게 정의할 수 있는지의 범위는 분명히 넓혀주고 있습니다.

현실의 복잡성을 어디까지 모델에 담아야 할지. 그리고 그 복잡성을 실제로 풀어낼 방법은 무엇일지. 이 균형을 연구의 사고방식으로, 산업 현장에서 함께 고민해 보고 싶습니다. 관심이 있으시다면 언제든 편하게 연락 주세요.

www.omelet.ai