Large Language Model for Discrete Optimization Problems: Evaluation and Step-by-step Reasoning

이 논문은 다양한 표현 방식과 CoT 기법을 적용하여 Llama-3 시리즈 및 ChatGPT 등 대규모 언어 모델의 이산 최적화 문제 해결 능력을 평가하고, 모델 성능의 불안정성과 데이터 증강의 효과를 분석하여 자동화 해결을 위한 실용적 지침과 벤치마크를 제시합니다.

Tianhao Qian, Guilin Qi, Z. Y. Wu, Ran Gu, Xuanyi Liu, Canchen Lyu

게시일 Tue, 10 Ma
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

🍳 1. 연구의 배경: AI 는 요리사일까, 기계일까?

우리가 일상에서 겪는 '이동 경로 최적화', '창고 물건 배치', '직원 스케줄링' 같은 문제는 사실 매우 복잡한 수학적 퍼즐입니다. 예전에는 이걸 풀기 위해 전문적인 수학 알고리즘이 필요했지만, 최근 AI(예: GPT-4, Llama 등) 가 등장하면서 "AI 가 이걸 자동으로 해결해 줄 수 있지 않을까?"라는 기대가 생겼습니다.

하지만 문제는 AI 가 수학 문제는 잘 풀지만, **실제 복잡한 상황 (데이터가 많고 변수가 많은 문제)**에서는 어떻게 반응하는지 잘 몰랐다는 점입니다.

🧪 2. 실험 방법: AI 에게 어떤 시험을 보냈나?

연구진은 AI 를 시험하기 위해 **세 가지 종류의 '문제지'**를 만들었습니다.

  1. 원본 문제 (Original): "물건 120 개를 박스에 담으세요. 박스 크기는 150 입니다. 물건 크기는 [리스트] 입니다."라고 정리된 상태로 줍니다. (가장 일반적인 방식)
  2. 확장된 문제 (Expanded): 문제의 배경을 바꿔줍니다. "물건이 아니라 과일을 박스에 담으세요"라고 상황을 바꾼 뒤, AI 가 새로운 상황에 적응할 수 있는지 봅니다.
  3. 뒤섞인 문제 (Disordered): 가장 재미있는 실험입니다. 문제 문장들을 뒤죽박죽 섞어서 줍니다.
    • 예시: "박스를 최소화하세요. 물건 크기는 [리스트] 입니다. 박스 크기는 150 입니다. 물건은 120 개입니다."
    • 목적: AI 가 진짜 문제를 이해하는지, 아니면 그냥 패턴만 보고 답을 외운 것인지 확인하기 위함입니다. 마치 "미로 입구가 뒤집혀 있어도 출구를 찾을 수 있는가?"를 보는 것과 같습니다.

📊 3. 주요 발견: AI 의 놀라운 (혹은 실망스러운) 반응

① "똑똑한 AI"와 "보통 AI"의 차이

  • 강력한 AI (GPT-4, DeepSeek-R1 등): 이 친구들은 뒤섞인 문제에서도 잘 풀었습니다. 오히려 문장이 뒤죽박죽이어도 목표 (최소화/최대화) 를 먼저 언급해주면 더 잘 풀었습니다. 마치 요리 실력이 좋은 셰프가 재료가 테이블 여기저기에 흩어져 있어도 "오늘 메뉴는 스테이크야"라고만 알려주면 순서대로 잘 요리해내는 것과 같습니다.
  • 약한 AI (기존 모델들): 문장이 뒤섞이면 완전히 혼란스러워졌습니다. 패턴만 보고 답을 외우려다 실패했습니다.

② "단계별 생각 (CoT)"의 함정

AI 에게 "단계별로 생각해보자 (Chain of Thought)"라고 지시하는 방법이 항상 좋은 것은 아닙니다.

  • 강력한 AI: 단계별 지시를 주면 더 잘 풀기도 하지만, 때로는 오히려 복잡하게 꼬여서 실수를 하기도 했습니다.
  • 약한 AI: 단계별 지시를 주면 더 많이 틀렸습니다. 마치 "자, 이제 1 단계부터 10 단계까지 차근차근 해봐"라고 시키는데, 1 단계부터 막혀버린 상황과 비슷합니다.

③ 오류의 종류 (왜 실패했을까?)

AI 가 코드를 작성하다가 틀리는 이유를 분석했습니다.

  • 약한 AI: 문법 오류 (SyntaxError) 나 "이게 뭐지?" (ValueError) 같은 기본적인 실수를 많이 했습니다.
  • 강력한 AI: 문법은 맞는데 숫자나 인덱스 (리스트 번호) 를 잘못 짚는 (IndexError) 실수를 더 많이 했습니다. 이는 논리는 잘 세우는데, 세부적인 숫자 계산에서 헷갈리는 모습입니다.

💡 4. 결론: 우리는 어떻게 AI 를 써야 할까?

이 연구는 우리에게 **AI 를 쓸 때의 '꿀팁'**을 알려줍니다.

  1. 문제 난이도에 따라 전략을 바꿔라:

    • 쉬운 문제 (물건 쌓기 등): 문장을 뒤섞어서 주는 게 오히려 AI 가 더 잘 풀 수 있습니다. (목표가 먼저 나오기 때문)
    • 어려운 문제 (복잡한 경로 찾기 등): 문장을 정리해서 주고, AI 에게 **"단계별로 생각해보자 (CoT)"**라고 지시하는 게 좋습니다.
  2. 모델을 잘 골라야 한다:

    • 모든 AI 가 모든 문제를 잘 푸는 건 아닙니다. 어떤 AI 는 물건 배치는 잘하지만, 비행기 착륙 스케줄은 못 풀기도 합니다. (마치 어떤 요리사는 스테이크는 잘하지만, 디저트는 못 만드는 것과 같습니다.)
  3. 불안정성 주의:

    • AI 는 같은 문제라도 문장 순서만 바뀌면 결과가 완전히 달라질 수 있습니다. 그래서 중요한 업무에 AI 를 쓸 때는 여러 번 테스트해보거나, 전문적인 검증이 필요합니다.

🚀 요약

이 논문은 **"AI 가 수학적 퍼즐을 풀 때는, 단순히 '똑똑하다'고 믿기보다, 문제의 난이도와 AI 의 특성에 맞춰 '문제지'를 어떻게 주느냐가 핵심"**임을 보여줍니다.

  • 쉬운 문제뒤죽박죽으로 줘도 AI 가 잘 풀어요.
  • 어려운 문제정리된 상태에서 단계별 생각을 시켜야 해요.
  • 모델마다 잘하는 분야가 다릅니다.

이 연구를 통해 앞으로 AI 를 이용해 복잡한 물류나 생산 문제를 해결할 때, 무작정 AI 에게 맡기는 게 아니라, 상황에 맞춰 전략을 세우는 것이 중요하다는 교훈을 얻었습니다.