인공지능의 문제
인공지능 문제의 특징은 조합에 따른 최적화 문제로서 일반적으로 절차적인 해를 구하는 것이 곤란하고 탐색을 통한 접근 시 고려해야 할 문제가 폭팔적으로 증가한다는 특징을 가진다
한 세일즈맨이 사업상 여행을 해야 한다고 가정해 보자. 이 세일즈맨은 A지점을 출발하여 B, C, D, E 도시를 순서에 관계없이 한 번만 통과하여 A로 돌아오기를 원한다. 각 도시 사이의 숫자는 여행 비용을 의미하며 이를 최소화하는 경로를 구하는 것이 목표이다.
이 문제는 도시의 수가 증가하면 탐색경로의 수가 지수함수적으로 증가한다. 따라서 지적인 문제해결 방법을 고려해야 한다
문제해결 방법
탐색형 추론을 이용 | 절차에 기반을 둔 방법 | 사례에 기반을 둔 방법 |
풀어야 할 문제의 방정식을 세울 수 있다면 공식을 이용하여 해결할 수 있다. 문제의 명확화에는 풀어야 할 초기상태 (또는 전제조건) 와 목표상태 2 가지를 명확하게 기술하는 것이 필요하고, 결국 초기상태에서 목표상태 또는 그 반대의 탐색경로를 발견하는 문제로 귀결된다 이 방법은 시행착오적 방법으로 문제를 해결하는 것으로, 대부분의 인공지능 문제가 여기에 해당된다 |
알고리즘이 존재하는 문제. 알고리즘이 존재하므로 문제해결이 좀 더 쉽게 이루어질 수 있다 | 과거에 유사한 문제해결의 경험을 이용하여 문제를 해결하는 방법이다 |
문제의 표현
문제표현의 기본요소
종류 | 설명 |
1. 초기상태 | 문제의 초기상태 |
2. 목표상태 | 해결해야 할 문제의 최종상태 |
3. 연산자 | 초기상태에서 목표상태로 상태를 변화시키는 변이 규칙 |
4. 제약조건 | 문제를 해결하는 데 지켜야 할 제약사항을 의미 |
5. 목적함수 | 최종 목적상태에 효율적으로 도달하기 위해 각각의 상태에서 탐색방법을 결정하는 데 필요한 함수 |
8-퍼즐의 문제
8-퍼즐은 9개의 구분된 칸을 가진 판 위에 1에서부터 8까지의 번호를 갖는 조각들이 놓여 있다. 따라서 한 칸은 항상 비어 있고, 조각은 인접한 상하좌우 조각 중 어느 하나가 비게 되면 그쪽으로 이동이 가능하다 이 퍼즐의 해를 얻는 가장 간단한 방법은 목표상태의 판 모양을 얻을 때 까지 각 조각들을 가능한 모든 경우로 움직여 보는 것인데, 이런 방법을 시행착오(trial and err)에 따른 탐색 방법이라 한다
상태공간 그래프
상태공간이란 문제해결 과정에서 나타나는 각 국면을 각각의 상태로 잡을 때 이것들의 집합으로 정의되는 공간이며, 이때 문제표현을 위해 자주 이용되는 방법이 그래프에 의한 표현방법이다
초기상태, 목표상태, 연산자 및 제약조건이 명백해지면 탐색공간은 유일하게 결정되는데, 이 공간을 상태공간 또는 탐색공간이라 한다 앞서 보인 8-퍼즐의 경우 초기상태에서 목표상태를 얻을 때 까지 연산자를 거듭 적용하여 탐색한다. 초기상태에서 연산자를 적용하여 다음 새로운 상태에 도달하고 이 상태에서 다시 연산자를 적용하여 다음 상태를 얻는 과정을 되풀이하여 최종 목표상태에 도달하면 적용된 연산자들이 이 문제의 해가 되는 것이다. 이 때 각 상태가 그래프의 노드, 상태를 변화시키는 연산자는 그래프에서 노드들을 연결하는 아크로 나타낸다
트리 구조
컴퓨터에서는 그래프를 트리 구조로 변환하여 사용한다
상태 그래프는 2개의 노드를 연결하는 경로들 중 하나를 제외하고 모두 끊어 끝 노드를 복사하여 부모 노드로부터 뻗어 나오는 서로다른 경로 마디에 하나씩 붙이면 트리 구조로 변환할 수 있다
AND-OR 그래프
생성 시스템의 작용들을 나타내는 데 편리한 그래프 데이터 구조
한 노드에 대해 AND 또는 OR의 명칭이 주어지는 그래프로서 부모 노드와 자식 노드간의 단계를 나타낸다
AND 노드는 모두 처리되어야 하며 OR 노드는 하나만 처리되면 끝낼 수 있다
어떤 노드가 후계 노드를 가진다면 후계 노드는 모두가 OR 노드이거나 모두가 AND 노드이다. 하지만 노드가 오직 하나의 후계 노드만을 가진다면 이 노드는 OR 노드나 AND 노드 어느 것으로 간주해도 무방하다.
'cs' 카테고리의 다른 글
network - 데이터링크 계층에서의 오류의 검출 (0) | 2022.07.12 |
---|---|
소프트웨어 프로세스와 품질 (0) | 2022.07.11 |
network - 아날로그 / 디지털 신호 (물리계층) (0) | 2022.07.05 |
인공지능 - 개요 (0) | 2022.07.04 |
소프트웨어 공학 - 개요 (0) | 2022.07.04 |