ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 고급 검색 기법
    인공지능 2021. 5. 4. 13:08

    <검색을 통한 문제해결>에서 관찰 가능, 결정론적, 기지 환경을 가진, 그리고 해답이 하나의 동작열인 단일범주의 문제들

    -> 이 가정들을 완화하면 어떻게 되는지에 대한 것이다.

     

    상태공간 안에서 초기 상태로부터의 경로들을 체계적으로 탐색하는 대신 현재 상태 한두 개를 평가하고 수정하는데 주력하는 Local Search

     

    국소 검색 알고리즘과 최적화 문제

    • 목표로의 경로가 중요하지 않다면, 이전과는 달리 경로들을 전혀 신경 쓰지 않는 부류의 알고리즘들을 고려한다
    • Local Search 알고리즘들은 현재 노드만 사용하여 일반적으로 오직 그 노드의 이웃 노드로만 이동하는 식으로 작동
    • 장점
      • 메모리를 적게 소비한다.
      • 체계적 알고리즘에 적합하지 않은 커다란 또는 무한한 상태 공간에서도 적당한 해답을 찾아내는 경우가 많다.

    언덕 오르기 검색

    • 값이 증가하는 방향으로, 즉 오르막으로 계속해서 이동하는 루프로 이루어진다.
    • 루프는 주변에 더 큰 값이 없는 정상(Peak)에 도달하면 종료
    • 알고리즘은 검색 트리를 유지하지 않으므로, 현재 노드를 위한 자료구조는 상태와 목적 함수의값만 담으면 된다.
    • 언덕 오르기는 현 상태의 바로 이웃한 값들만 고려한다. 그 밖은 미리 고려 X
    • 최상의 후행자가 둘 이상일 때, 일반적으로 언덕 오르기 알고리즘은 그냥 그 후행자 중 하나를무작위로 선택한다.
    • 다음에 어디로 갈지 고려하지 않고 눈앞의 상황에서 가장 좋은 이웃을 선택한다는 점에서 언덕오르기를 탐욕적 국소 검색
    • 탐욕적 국소 검색:다음에 어디로 갈지 고려하지 않고 눈앞의 상황에서 가장 좋은 이웃을 선택한다는 점에서 언덕오르기

    • 언덕 오르기는 해답을 향해 빠르게 나아가는 경우가 많은데, 이는 대체로 나쁜 상태를 개선하는것이 상당히 쉽기 때문이다.

    • (a)는 하나의 퀸을 중심으로 왼 -> 오른쪽으로 공격할 수 있는 퀸을 세면 17이 된다.
    • (a)의 숫자는 퀸 하나를 옮기면 한 방향으로 공격할 수 있는 퀸의 총 공격횟수 이다.

    BUT, 곤경에 빠지는 경우가 많다.

    • 극대값
    • 능선
    • 대지
    • 어깨
    • 횡이동

    여러 변형이 고안되었다.

    • 확률론적 언덕 오르기
    • 최초 선택 언덕 오르기
    • 무작위 재시작 언덕 오르기

    모의 정련

    효율성과 완결성을 모두 제공하도록 언덕 오르기와 무작위 보행을 결합한 시도이다.

    -> 먼저 세게 흔드는 것으로 시작해서 흔들기의 강도를 점차 감소한다.

    • 후행자들 중 하나를 균등 분포 난수로 선택하는 방식은 완결적이지만 극도로 비효율적이다.
    • 내리막 이동이 없는 오르기 알고리즘은 극대값에 머무를 수 있으므로 완결성을 보장하지 못한다.

    국소 다발 검색

    • k개의 상태를 추적한다.
    • 무작위로 생성한 상태 k개로 시작한다.
    • 각 단계마다 k 개의 모든 상태의 모든 후행자를 생성한다.
    • 그중 하나가 목표이면 알고리즘이 끝난다.
    • 그렇지 않으면 전체 후행자 중 최상의 k 개를 선택해서 같은 과정을 반복한다.

    유전 알고리즘

    확률론적 다발 검색의 한 변형으로, 두 부모 상태의 결합에 의해 생성된다

    • 유전 알고리즘은 무작위로 생성한 k개의 상태들로 시작한다.
    • 검색 공정 초기
      • 교차에 의해 알고리즘이 상태 공간을 좀 더 큰 보폭으로 탐색한다.
      • 나중에 대부분의 개체가 상당히 비슷해지면 좀 더 작은 보폭으로 탐색

    연속 공간의 국소 검색

    • 대부분의 실세계 환경은 연속적이다.
    • 지금 까지 설명한 알고리즘 중 연속적인 상태와 동작 공간을 처리할 수 있는 것은 최초 선택 언덕 오르기와 모의 정련이다.
    • 연속 공간에서 분기 계수가 무한대이기 때문에 작동하지 않는다.

    비결정론적 동작들을 수반한 검색

    • 환경이 완전히 관찰 가능하고 결정론적이며 에이전트는 자신의 각 동작의 효과를 정확히 안다고 가정
    • 에이전트는 임의의 동작열로부터 어떤 상태가 나오는지 계산할 수 있으며, 자신이 어떤 상태에 있는지도 항상 알 수 있다.
    • 동작 이후 에이전트의 지각들은 새로운 정보를 전혀 제공하지 않는다.

    예)

    변덕스러운 진공청소기

    동작: Left, Rigth, Suck

    목표: 모든 먼지를 빨아들이는 것

    해답: 하나의 동작열

    문제: 변덕스러운 진공청소기에 Suck 동작에 다음과 같이 작동한다.

    • 가끔은 인접한 칸의 먼지도 치운다.
    • 깨끗한 칸에서 이 동작은 가끔 카펫에 먼지를 쏟아 붓는다.

    -> 다음과 같은 상황이 일어나면, 우발적 계획이 필요하다.

    AND-OR 검색 트리

    OR 노드

    결정론적 환경에서 분기는 오직 각 상태에서의 에이전트 자신의 선택에 의해서만 일어난다.

    AND 노드

    비결정론적 환경에서 분기는 각 동작의 결과에 대한 환경의 선택

    예)

    1의 Suck 동작은 집합 {5,7}의 한 상태로 이어지므로, 에이전트는 상태 5를 위한, 그리고(and) 상태 7을 위한 하나의 계획을 찾아야 한다.

    부분 관찰 가능 환경의 검색

    • 에이전트의 지각들만으로는 정확한 상태를 결정할 수 없다
    • 에이전트가 여러 가능한 상태 중 하나에 있다면, 비록 환경이 결정론적이라고 해도 하나의동작은 여러 가능한 결과 중 하나로 이어진다
    • 이 환경 문제를 푸는 핵심 개념은 믿음 상태이다.
      • 믿음 상태: 현재 심점까지 동작열들과 지각들이 주어졌을 때 에이전트가 현재 처한 가능한 물리적 상태들에 관한  에이전트 자신의 믿음을 나타낸다.

    '인공지능' 카테고리의 다른 글

    1차 논리  (0) 2021.05.29
    논리적 에이전트  (0) 2021.05.13
    검색을 통한 문제해결  (0) 2021.04.08
    지능적 에이전트  (0) 2021.03.27
    인공지능이 무엇인가?  (0) 2021.03.16

    댓글

Designed by Tistory.