'LECTURE'에 해당되는 글 2건

  1. 2012.08.25 Web Information System
  2. 2012.08.25 Real-time System
2012. 8. 25. 21:33

3. Deductive Reasoning Agents

연역적 추론 에이전트???

연역법(deductive method): 이미 증명된 하나 또는 둘 이상의 명제를 전제로 하여 새로운 명재를 결론으로 이끌어내는 것을 연역(deduction)이라 하며, 이러한 연역적 추리의 방법과 절차를 논리적으로 체계화 한 것

 예) 아리스토텔레스의 삼단논법 (간접추리)

      모든 사람은 죽는다.          A -> B (대전제)

      소크라테스는 사람이다.     C -> A (소전제)

      소크라테스는 죽는다.        C -> B (결론)

원문보기

 

3.0  Intorduce

    Symbolic AI

  • AI system 구축을 위한 전통적인 방법
  • 주어진 시스템의 환경과 그에 적합한 행동의 symbolic한 representation(묘사, 표현???), 그리고 이 representation에 대한 syntactically manipulating(언어적 조작???)이 적용된 시스템으로 지능적 행동을 생성하는 방법

 본 책에서는 이러한 전통적 방법을 극치화 하는데 중점을 둠

 symbolic representation => logical formulae

 syntactically manipulating => logical deduction(논리적 연역) / theorem-proving(논리적 명제 증명법???)

 

사무실을 돌아다니며 쓰레기를 줍는 로봇 에이전트가 있다.

이러한 로봇을 구현하기 위한 방법은 여러가지가 있다.

그중 하나의 방법은 작동을 위한 description, 환경의 representation을 에이전트에게 주는것이다.

 

 RALPH는 복도와 큰 블럭들이 있는 환경에서 작동하는 자동로봇 에이전트이다.

Sensory 입력은 비디오 카메라를 통하고,

'interp' subsystem은 이 영상입력을 내부적 representation format으로 변환, based on first-order logic.

 knowledge base라는 historical reasons를 위한 자료구조로 구성.

이 RALPH를 위해서는 다음 두가지의 문제점을 해결해야 함.

  1. The transduction problem: 현실세계를 정확하고 적절하며 유용한 symbolic description으로 변환하는 문제
  2. The representation/reasoning problem: 정보를 symbolic하게 표현하고 이것을 조작하고 추론하여 유용한 결과를 내는 에이전트를 얻는 문제

 

1번문제는 비젼, 음성인식, 학습과 관련된 기술이고, 2번문제는 지식 표현, 자동화 추론, 자동화 계획과 관련된 기술이다.

매우 어렵다. ㅡㅡ;

 

 하지만, theorem-prover(논리적 명제 증명)을 이용한 에이전트는 이러한 문제를 해결하는데 흥미로울 수도 있다.

 우리가 어떤 theory of agency를 가지고 있다고 생각해 보자. 이 theory of agency는 어떤 performance measure의 최적화를 위해 지능적 에이전트가 어떻게 해야하는지 알려준다. 예를 들면, 에이전트의 궁극적 목적을 만족하기 위한 부분적 목표를 어떻게 생성하는지, 이러한 목표를 달성하기 위해 goal-directed하고 reactive한 행동을 어떻게 interleave하는지

즉, 이 theory는 에이전트가 어떻게 행동해야 하는지에 대한 specification이라 볼 수 있다.

이러한 specification을 만족하는 시스템을 implementation하는 전통적인 방법은 궁극적 목적에 도달하기 까지 점차 concrete되어 가는 stage에 따라 specification의 재정의(refining)이 가능해야 한다.

 그러나 theorem-prover을 이용한 에이전트는 이러한 재정의가 발생하지 않는다. 대신, executable specification이란 것이 있다.

 executable specification: 에이전트의 행동을 생성하기 위해 directly executed된 것이다.

 

 3.1 Agents as Theorem Provers

deliberate 라는 logic 기반의 에이전트를 만들어 보자.

이러한 에이전트는 내부적으로 전통적 first-order predicate logic formulae의 db로 구성된다.

예를들면, 다음과 같은 fomulae들이 포함되어 있다.

Open(value221)

Temperature(reactor 4726, 321)

Pressure(tank 776, 28)

이 db는 그 에이전트의 환경정보를 가진다. 에이전트의 db는 인간의 belief와 유사한 역활을 한다.

 

 3.2  Agent-Oriented Programming

 

 3.3 Concurrent MetateM

 

 

 

이 글은 스프링노트에서 작성되었습니다.

'Study' 카테고리의 다른 글

인공지능과 시뮬레이션  (0) 2012.08.25
Real-time System  (0) 2012.08.25
Sigmoid Function  (0) 2012.08.25
Reality Mining  (0) 2012.08.25
Ontology  (0) 2012.08.25
Posted by yeoshim
TAG LECTURE, NOTE, WIS

댓글을 달아 주세요

2012. 8. 25. 21:32
  1. Real-time system: 논리적인 수행결과 뿐만 아니라 시간적 제약에 의해 시스템의 정확도가 결정되는 시스템
    예) 공장 자동화, 해저탐사, 프로세스 제어, 로봇, 군사 응용, 비젼시스템
  2. 일반 시스템과의 차이점: task들이 한계시간(deadline)이나 시작 가능시간(release time)과 같은 시간 제약을 가지고 있어 이를 만족시켜야 함.
  3. Real-time task / time critical task: 시간적으로 여러가지 제약을 갖는 task

    1. periodic task: 일정한 시간간격을 가지고 task 실행

    2. aperiodic task: task가 일어나는 시간간격이 일정하지 않은 task
  4. Slack time
    time_limit.JPG
  5. Real-time Scheduling

    1. Static scheduling

      1. 시스템에 의해 실행되는 task 집합이 미리 정의되어 있는 경우
      2. 주기적인 hard real-time task집합에 유용
      3. 스케줄링되는 task들의 특징과 수를 스케줄링 전에 알 수 있음
    2. Dynamic scheduling

      1. task의 발생 시간이나 특성을 예측할 수 없는 경우에 유용
      2. task의 발생이 가변적이어서 task의 수는 실행시간에 정해짐
        rtss.jpg
  6. EDF(Earliest-Deadline First) 알고리즘

    1. 임계시간(???)이 가장 근접한 task를 가장 먼저 실행
    2. 대표적인 동적 스케줄링 방식
    3. 다음을 가정

      1. 모든 task들은 선점될 수 있고 나중에 다시 선점된 곳으로부터 계속해서 수행될 수 있다.
      2. 모든 task들은 독립적이어서 다른 task의 시작가능시간(release time)이나 종료시간에 의존하지 않는다.
      3. task의 한계시간(deadline)은 주기와 같다
      4. task 집합의 모든 task는 반드시 주기적일 필요는 없다.

 

숙제 1: Preemptive가 일반적으로 nonpreemptive scheduling보다 좋은 이유

태스크 스케줄링 방법에는 각 태스크를 우선순위없이 일정 간격으로 번갈아 실행하는 Round-Robin 스케줄링 방법이 있고 우선순위 기준 스케줄링(Priority based scheduling) 방법이 있다.
우선순위 기준 스케줄링(Priority based scheduling) 방법에는 선점형 스케줄링(preemptive scheduling)과 비선점형 스케줄링(non preemptive scheduling) 방법으로 나눌 수 있는데
비선점형에서는 높은 우선순위의 태스크가 활성화되어도 낮은 우선순위의 태스크가 끝날 때까지 기다려야 하지만
선점형에서는 어느때든지 높은 우선순위의 태스크가 낮은 우선순위의 태스크 수행을 가로채고(interrupt or switching) 실행된다.
따라서 선점형 커널이 보다 태스크간의 관계를 조절하기가 용이하다.
이러한 점을 이용하면 스케줄링을 시스템의 특성에 따라 유연하게 조정가능하므로 비선점형 보다 더 좋다고 생각한다.

 

 

Non-Preemptive Multitasking (비선점형 멀티태스킹)

 키보드 입력을 허용할 준비가 되어 있을 때처럼 특정 시점에서만 CPU 제어를 다른 응용 프로그램으로 넘길 수 있는 멀티태스킹 환경.

이런 방법으로 많은 계산을 수행하는 한 프로그램에서 시스템을 제어하고 다른 응용 프로그램이 CPU에 대해 제한된 액세스를 가질 수 있게 할 수 있다.

비선점형 멀티태스킹을 "협업 멀티태스킹"이라고도 한다.

이 환경에서 프로그램이 효율적으로 작동할 수 있도록 하기 위해 서로 협력하도록 설계되어야한다.

비선점형 멀티태스킹 운영 체제는 백그라운드로 실행되는 통신 프로그램에 대한 서비스를 보증할 수 없다.

다른 응용 프로그램이 CPU를 불법으로 사용한 경우 CPU가 통신 프로그램에서 수신 데이터를 캡처할 수 있을 만큼 빠르게 인터럽트를 처리할 수 없으므로 데이터를 손실할 수 있다.

선점형 멀티태스킹과 대조적이다.

 

Preemptive Multitasking (선점형 멀티태스킹)

 실행 중인 모든 프로그램과 처리 시간을 공유하는 멀티태스킹 방법.

선점형 멀티태스킹은 실행 중인 프로그램이 CPU에서 되풀이 시간을 얻는 시간 공유 환경을 만든다.

운영 체제에 따라 시간 분할이 모든 프로그램에 대해 동일할 수 있거나 현재 프로그램과 사용자 혼합을 만족하도록 조정할 수 있다.

예를 들면, 포그라운드 로드가 아무리 많아도 백그라운드 프로그램에 더 많은 CPU 시간을 제공할 수 있고 그 반대도 마찬가지이다.

선점형 멀티태스킹은 메인프레임에서 중요하지만 데스크톱 운영 체제에서도 유용하다.

또한 백그라운드로 전송되는 경우 데이터가 손실되지 않는다.

모뎀이나 네트워크 프로그램이 수신 데이터 스트림을 계속 처리해야 하는 시스템 사이클을 OS가 제어할 수 있다.

비선점형 멀티태스킹과 대조적이다.

이 글은 스프링노트에서 작성되었습니다.

'Study' 카테고리의 다른 글

인공지능과 시뮬레이션  (0) 2012.08.25
Web Information System  (0) 2012.08.25
Sigmoid Function  (0) 2012.08.25
Reality Mining  (0) 2012.08.25
Ontology  (0) 2012.08.25
Posted by yeoshim

댓글을 달아 주세요

이전버튼 1 이전버튼