General Problem Solver 개요
출처 : ChatGPT
General Problem Solver(GPS)는 인공지능(AI) 역사상 가장 초기이자 중요한 문제 해결 시스템 중 하나로,
사람처럼 문제를 단계적으로 해결하는 알고리즘을 모방하려는 시도였다.
🔹 General Problem Solver (GPS)란?
- 개발자: 앨런 뉴웰(Allen Newell) & 허버트 사이먼(Herbert A. Simon)
- 개발 시기: 1957년
- 개발 목적: 인간의 사고 과정을 모방하여, 일반적인 문제 해결을 수행하는 컴퓨터 프로그램을 만드는 것
🔹 GPS의 핵심 개념
- 일반적 문제 해결기
- 특정 분야가 아닌 모든 종류의 문제에 적용 가능한 문제 해결 프레임워크를 지향
- 수학, 퍼즐, 논리 문제 등 다양한 상황에 응용 가능
- 목표 지향적 탐색 (Means–Ends Analysis)
- 현재 상태와 목표 상태의 차이를 줄이기 위해 ‘수단(means)’을 선택하는 방식
- 사람이 문제를 해결할 때 사용하는 방식과 유사
- 규칙 기반 시스템
- 문제를 정의하는 규칙, 상태, 연산자(operator), 목표(goal)로 구성
- 연산자를 적용해 현재 상태를 목표 상태로 점진적으로 변화시킴
🔹 GPS의 작동 방식
- 입력: 초기 상태, 목표 상태, 사용할 수 있는 연산자들
- 처리:
- 현재 상태와 목표 상태를 비교하여 차이점(difference)을 도출
- 차이를 줄일 수 있는 연산자(operator)를 선택
- 연산자를 적용한 결과 새로운 상태로 이동
- 반복하여 목표 상태에 도달
- 출력: 문제 해결을 위한 연산자의 순서 (해결 경로)
🔹 예시: 논리 퍼즐 문제 해결
- GPS는 초기 상태: 퍼즐의 현재 조건, 목표 상태: 퍼즐 완성 상태, 연산자: 가능한 수를 넣는 행위로 문제를 정의함
- 현재 상태와 목표 상태의 차이를 찾고, 그 차이를 줄이는 수단을 반복적으로 적용하여 목표에 도달
🔹 GPS의 한계점
- 도메인 일반화의 한계:
- 이론적으로는 일반 문제 해결이 가능하다고 했지만, 실제로는 복잡한 현실 문제에 잘 작동하지 않음
- 특정 도메인(예: 수학 문제)에서는 효과적이나, 지식 표현의 복잡성을 다루기엔 부족함
- 지식 부족 문제:
- GPS는 문제를 해결하기 위한 배경 지식이 거의 없음
- 인간처럼 상식이나 상황 맥락을 활용할 수 없음
- 계산 자원의 한계:
- 많은 탐색 경로를 시도해야 하므로 계산량이 폭발적으로 증가 (탐색 공간 문제)
🔹 GPS의 의의와 영향
- 최초의 인지 모사 인공지능 시스템 중 하나
- 인공지능에서 탐색, 문제 해결, 계획 수립 등의 개념을 정립
- 이후 전문 시스템, 계획(Planning) AI, 인지 과학에 큰 영향
- 인간의 사고 모델을 기반으로 AI를 설계하려는 기호주의(Symbolic AI) 흐름의 대표적 산물
[GPS에 필요한 데이터 정의]
🔹 1. 문제의 형식적 정의 (Problem Formulation)
GPS는 문제를 다음과 같은 방식으로 구조화합니다:
- 초기 상태 (Initial State)
- 문제의 시작점, 즉 현재 상황을 서술
- 예: 퍼즐의 현재 배열, 수학 문제의 조건 등
- 목표 상태 (Goal State)
- 도달하고자 하는 상태 또는 원하는 결과
- 예: 정렬된 퍼즐, 수학 문제의 해 등
- 연산자 (Operators)
- 현재 상태를 변화시켜 목표 상태에 점진적으로 도달하게 하는 방법
- 예: 조각을 이동시키기, 숫자를 더하기, 규칙 적용하기 등
- 각 연산자는 다음을 포함해야 함:
- 적용 조건 (preconditions)
- 수행 결과 (effects)
- 차이점 측정 (Difference Table or Difference Function)
- 현재 상태와 목표 상태 간의 차이를 계산하여 어떤 연산자를 사용할지 판단하는 데 사용됨
- 예: "현재 위치와 목표 위치 간 거리" 또는 "미완성 항목의 수"
🔹 2. 데이터와 규칙의 명시 방법
GPS는 사람이 입력한 규칙 기반 형식에 의존하므로 일반적으로 다음 형태의 구조를 사용함.
▶ 예시 구조:
Operator: Move-Block-A-to-B
Preconditions:
- Block A is on table
- Block B is clear
Effects:
- Block A is on Block B
- Block A is not on table
이러한 규칙은 일종의 생성 규칙(rule-based representation) 또는 상태 전이 시스템(state-transition system)으로 표현됨.
▶ 차이점과 연산자 연결 예:
Difference: "A is not on B"
Suggested Operator: "Move A to B"
🔹 3. 구체적인 예시: 숫자 맞추기 문제
문제: 숫자 0에서 시작하여, 숫자 10을 만들기
Initial State: value = 0
Goal State: value = 10
Operators:
1. Add 1 → value := value + 1
2. Add 2 → value := value + 2
3. Multiply by 2 → value := value * 2
GPS는 아래와 같은 방식으로 차이(= 목표 - 현재)를 줄이는 방향의 연산자를 선택함:
- 현재: 0 → 목표: 10 → 차이: 10
- 연산자 “+2” 선택 → 0 → 2 → 차이: 8
- 계속해서 연산자를 적용하여 목표에 도달
[GPS 활용 전망]
“문제를 형식적으로 모델링하고 해결 절차를 자동화하려는 시도”는 인공지능의 본질적인 철학 중 하나이며,
이는 현재도 유효하고, 미래에도 특정 조건에서 강력하게 유효할 것으로 평가됨.
다만, 그 유효성의 범위는 일반적이지 않고 특수한 경우에 국한되는 경향이 있음.
✅ 1. 결론 먼저
이러한 시도는 현재도 미래도 유효하지만,
특수한 조건 하에서만 일반적인 성과를 낼 수 있는 접근 방식
🔹 2. 현재와 미래에도 유효한 이유
✅ (1) 인간처럼 "목표 지향적 사고"를 기계에 부여할 수 있음
- 문제의 구조를 정의하고 해결 절차를 자동화하는 것은, 인간의 계획(Planning)과 추론(Reasoning) 능력을 기계에 이식하려는 핵심 시도
✅ (2) 현대 AI 시스템에서도 계획(Planning), 추론(Reasoning) 기능에 활용
- 자율 주행차, 로봇 팔, 게임 AI, 산업 자동화 등에서 문제 모델링 및 절차적 해결 방식이 필수
- 특히 규칙 기반 추론, 전역 계획, 경로 최적화 등은 여전히 형식적 모델 기반 접근을 활용
🔹 3. 일반적으로는 유효하지 않음 — 왜냐하면?
⚠ 복잡한 현실 문제는 다음 특성을 가짐:
현실 문제의 특성 설명
| 모호함 | 자연어, 감정, 상식 등을 모델링하기 어려움 |
| 불완전한 정보 | 입력이 누락되거나 예외가 존재 |
| 비정형성 | 문제 구조가 사전에 명확하지 않음 |
| 지속적인 변화 | 환경이 동적으로 변화함 |
| 지식량 폭발 | 모델링해야 할 요소가 너무 많음 |
🔍 따라서 이런 문제들은 형식적 모델링으로는 다루기 어렵고,
경험 기반 학습(딥러닝 등 연결주의 AI)이 더 효과적임.
🔹 4. 특수한 경우에서는 유효함 — 어떤 경우?
✅ (1) 정형화된 구조의 문제
- 상태, 목표, 연산자가 명확히 정의된 문제
- 예: 수학 문제, 논리 퍼즐, 체스, 경로 탐색
✅ (2) 제한된 도메인 (Closed World Assumption)
- 외부 세계의 예외가 거의 없고, 가능한 상태 수가 제한된 환경
- 예: 산업 공정 자동화, 로봇 제어, 항공 우주 시스템
✅ (3) 보안, 법률, 규제 분야
- 규칙 기반 판단이 필요하고, 모든 조건이 명문화되어 있음
- 예: 법률 논리 추론 시스템, 정책 위반 탐지 시스템
✅ (4) 설계 기반 시스템 (Design-based systems)
- CAD 설계, 조립 순서, 기계 작동 절차 등은 명확한 규칙을 따름
- 모델 기반으로 자동화 가능
🔹 5. 현대 AI와의 통합 가능성
| 접근 방식 | 특징 | 적용 영역 |
| 기호주의 (형식화 기반) | 논리, 명시적 추론 | 계획, 규칙 판단 |
| 연결주의 (딥러닝 기반) | 통계, 확률, 학습 | 이미지, 언어, 음성 |
| 하이브리드 | 기호+학습 결합 | 복잡한 실세계 문제 |
👉 즉, 단독으로는 제한적이지만,
형식 모델 + 학습 기반이 결합될 때 매우 강력한 도구가 됨.
예:
- AlphaGo는 딥러닝으로 수를 학습하고, 몬테카를로 트리 탐색(MCTS)으로 수순 계획을 형식적으로 구성함.