[sewing] Mayberry DIY set

메이베리샵 DIY set을 구매했습니다. 귀찮음이 극에 치닫고 있어 패턴 그리기도 귀찮아하던 저는 급기야 원단 고르기마저 귀찮아진 것입니다...쿨럭 ...라는 마음도 있지만 메이베리 샵 의상 한 번 만들어보고 싶었거든요. 주..

알콩이 두 마리

하루에 사진 한 장 ㅋㅋ 무슨 생각으로 이런 메뉴를 만들었지?? ㅋㅋㅋㅋㅋㅋㅋ 조카가 지금보다 조금 더 어릴 때 만들어줬던 블라블라인형. 사진이 남아있지 않아 아쉬웠는데 간 김이 찍어왔다. 이름은 내 유일한 캐릭터 알콩이...

나는 스트레스 잘 안 받는 사람이야.

...라고 말한다. 그래야 내 뇌가 정말로 스트레스를 안 받을거야. 요즘같이 어려운 때에 일을 할 수 있다는 것 만으로도 축복이다.. 라고 생각하면 왠지 더 불행해진다. 어려운 때에 살고 있다는 것 자체가 우울하니까. 내 뉴런..

지애띠, 연철, 이승훈, 김흥남, 조근식,
"분산 환경에서의 협력적 여과를 위한 멀티 에이전트 프레임워크",
한국지능정보시스템학회논문지 제13권 3호 2007. 9


요약
추천 시스템은 정보의 홍수 속에서 사용자로 하여금 자신에게 더욱 가치 있고 흥미로운 정보를 선별할 수 있도록
돕는 자동화된 정보 여과 시스템이다. 최근 분산 컴퓨팅 환경에 대한 연구가 활발히 진행되면서, 지금까지의 중앙 서버에서 모든 정보를 관리하는 중앙 집중 방식의 추천 시스템에서 P2P 환경의 접근 방식으로 선회하고 있다. 협력적 여과는 상업적인 추천 시스템에서 가장 많이 사용하는 정보 여과 기법이지만, 그 성공에도 불구하고 확장성(scalability)과 데이터의 희박성(sparsity), 악의적인 사용자의 공격(shilling attack)에 대한 방어 등에 관련된 여 제약을 갖는다. 중앙 집중 방식에서 분산된 방식으로의 변화는 추천의 신뢰성과 개인 정보의 남용 가능성에 관련한 문제점을 일부 해결할 수 있으나, 조작된 사용자 프로파일을 사용하여 추천을 조작하려는 의도를 갖는 악의적인 사용자의 공격에는 중앙 집중 방식과 마찬가지로 취약할 수 있다.
본 논문에서는 개인 정보의 오남용과 악의적인 사용자의 공격에 관련된 문제점을 해결하고, 분산된 환경에서 효과적인 협력적 여과를 수행하여 추천의 성능과 정확성을 높이기 위한 멀티 에이전트 기반의 추천 프레임워크를 제안한다. 추천의 신뢰성을 높이기 위해 사용자 간의 신뢰 정보를 사용하며, 각 사용자의 개인 에이전트와 이동에이전트 간의 정보교환을 통해 효과적으로 신뢰 정보를 전파하고 분산된 유사도 계산의 효율성을 높였다.
Creative Commons License
Creative Commons License

Michal Laclav´ık, Zolt´an Balogh, Mari´an Bab´ık and Ladislav Hluch´y
Computing and Informatics, Vol. 25, 2006, 419–437
 
전자상거래 숙제를 위해...




목적은요,

MAS과 시멘틱 웹 연구 간의 상업적, 기술적 표준을 세우고자 하는 데 있다네요.

MAS에서 knowledge는 대부분 states, rules, predicate logic으로 표현되죠. 이것은 강력한 도구이긴 하지만 사람으로부터 직접, 혹은 룰이나 로직 기반의 현재 정보시스템으로부터 knowledge를 캡쳐해 내기는 쉽지 않다. 또한 사람에게 정보나 지식을 로직이나 룰로 표현해서 보여주기도 어렵지.

온톨로지는 현재의 정보시스템에 가깝다. 정보 캡쳐와 표현이 쉬운 XML/RDF기반으로 되어있지요.

MAS architecture들을 살펴보면,

Belief Desire Intention에서는 architecture의 'belief'를 지식 모델로 표현한다. (뭔 소린지....)

Behavioral architecture에서 지식은 변수나 알고리즘의 states에 감춰져 있거나, 룰이나 온톨로지 등의 다른 메카니즘을 통해 표현될 수 있죠.

FIPA는 온톨로지를 기반으로 한 지식 모델을 기술하는데, 내부 에이전트 메모리 모델, 그 구현과 에이전트 설계에 대한 이해를 개발자의 결정에 남겨두고 있다.

또한, FIPA는 FIPA-SL, FIPA-KIF 등과 같이 강력하지만 상업적인 툴이나 표준과는 전혀 연결성이 없는 contents 언어에 기반한 지식 manipulation을 정의한다.

예를 들어, JADE 에이전트 시스템은 메시지 교환을 위해 FIPA-SL언어를 지원하지만, 이와 같은 지식 모델의 저장소나 FIPA-SL쿼리 엔진은 없지.

 이것이 우리가 실제 어플리케이션에 더욱 적합하도록 하기위해 시멘틱 웹의 영역으로부터 온톨로지 기술(desciption)을 찾아야하는 이유랍디다.

FIPA는 FIPA-RDF를 정의하고 있지만, 이는 또한 메세지 구조에만 관련되어 있죠. 그래서 현재 MAS의 표준인 FIPA 구조는 weak하고 sw 에이전트를 이용하여 KMS를 구축하고자하는 개발자들에게는 부적합해요. 그래서말이지, 시멘틱 웹 기술을 MAS에 통합하고 이러한 통합을 위한 architecture, methodalogy, sw를 개발하기로 결정했답니다.  그리고, discrete event로 기술될수 있는 fully observable 환경에서의 어플리케이션을 위한 에이전트 지식 모델의 표현에 알맞는 generic ontology를 개발했다구요.


최신 기술을 볼까요.

에이전트 아키텍쳐라고 하는 것은 실세계, 능동적이고 오픈된 환경에서 effective behavior를 지원하는 개개의 컴포넌트들의 바탕이되는 기본 엔진이랍니다.

본 연구에서 고려되는 기본적인 에이전트 아키텍쳐는,

Reactive Architecture

Belief Desire Intention Architecture - BDI

Behavioral Architecture


메인 포커스는 에이전트의 외부에 있다. 즉, 주변 환경 혹은 다른 에이전트와의 소통 등을 의미

몇몇 툴들이 BDI 에이전트를 생성할 수 있도록 하지만, 이것은 시뮬레이션이나 테스트에만 충분할 뿐 어떤 실제 시스템에도 사용할 수 없다.

FIPA도 이러한 영역을 지원하지 않는다. FIPA는 어떻게 에이전트가 의사소통 해야 하는가, 그들이 어떻게 온톨로지를 공유, 번역, 커뮤니케이션 할 수 있는가에 대해 기술하고 있을 뿐이다.

FIPA가 지원할 수 있는 에이전트 시스템의 구현에서는 에이전트 지식 모델을 구현하기 위한 좀 더 다른 접근방법들이 모색될 수 있다.

가장 진보했지만, 충분하지는 않은 시스템이 JADE이다(java 기반). 그러나 JADE는 OWL과 같은 시멘틱 온톨로지 representation feature를 제공하지 못하고,

FIPA-SL 언어를 위한 쿼리엔진도 없다. 또한 predicate logic 기반의 모델은 사용자나 현존하는 상업 시스템과 결합되기 어렵다.

그래서, RDF/OWL 기반의 에이전트 메모리 모델을 생성하였다.

RDF/OWL을 기반으로 한 에이전트 간의 의사소통과 FIPA 기반 에이전트 시스템은 [9] OWL ontology agent based on FIPA proposal 에서 기술되고 있지만, 일반적인 에이전트 내부 모델에 대한 기술은 부족하며 RDF/OWL이 어떻게 에이전트간의 의사소통에 사용될 수 있는가 라는 이론만을 제시하고 있다.


이 논문의 접근 방법은 event based memory model로 에이전트 분야에서는 [10]에서 이벤트 모델을 전형적인 reaction architecture로 보았고. [4]에서 action-situation pair가 이 논문에서의 이벤트와 유사한 이벤트를 생성한다. 제안된 모델은 시간에 따라 변화하는(?) 환경에서 에이전트가 정보나 지식을 탐색할 필요가 있는 어플리케이션에 적합하다. 에이전트를 탐색하거나, KM어플리케이션 내에서의 에이전트에 유용하다.

이벤트는 애션을 취하거나 이전의 액션을 참조하는데 사용되며, 어느 순간의 환경에 대한 히스토리를 제공한다. 만약 에이전트 개발자에 의해 생성된 프로세싱 알고리즘이 불충분하거나 정제되어야 한다면, 히스토리 이벤트는 같은 지식 모델로부터 다른 결과를 얻는 것이 가능한 때에 프리프로세싱될 수 있다.

  fig1(2).JPG

 FIPA를 따르는 MAS에서 현존하는 feature와 missing feature


본 논문에서 부분적으로 개선하고자 하는 점은

  • 온톨로지, 지식모델 등의 더 나은 시멘틱 인프라 스트럭쳐 제공
  • sw와 지식 엔지니어링의 기본 원칙을 적용
  • MAS와 현존하는 상업 기술간의 더욱 강력한 연결을 구성

 AGENT KNOWLEDGE MODEL

 에이전트 메모리 모델이 행위를 구현하는데 사용되는 behavioral architecture (대부분의 에이전트 모델은 기존의 여러 아키텍쳐의 혼합이라고 하네요.)

discrete, fully observable 환경에 적합하며, 환경변화는 discrete event로 캡쳐된다.

즉, 특정 시간, 상황에 맞는 (in time and context) 불연속적 사건들로 어떤 환경이 모델링될 수 있는 어플리케이션에 적합하다. (information searching, km application에 사용되는 에이전트)

모델의 formal description

5 main elements : resources, actions, actors, context and events

제목_없음.JPGbasic ontology

Actor ⊆ Resource 에이전트 환경 내의 모든 리소스, Actor는 Resource의 서브 클래스

{actor} ∈ Actor

{action} ∈ Action Action class의 각각 actor는 Action class의 action을 취할 수 있다.

Resource ⊆ Context

Action ⊆ Context

Domain ⊆ Context 온톨로지의 application domain extensions

{domain} ∈ Domain

Task ⊆ Context 행하여졌거나 앞으로 행해질 tasks, 어플리케이션에 따라 problem이 될수 있다.

Context ⊃ Resource ∪ Action ∪ Domain ∪ Task actors, environment 등의 context

{context} ∈ Context

Task ⊆ domain.Task(domain) ∩ Context Task의 중요 프로포티는 domain이다. 이는 어플리케이션 컨셉과 관련된 도메인을 상징화한다. actor context와 resource updating 을 위한 적절한 km 알고리즘을 셋팅하는데 이러한 커넥션이 유용하다.

Event ⊆

action.Event({action}) ∩

resource.Event({resource}) ∩

actor.Event({actor}) ∩

context.Event({context})

{event} ∈ Event 각각의 {event}는 {context}에서 기술된 상황에서 특정 {resource}에 대해 {actor}에 의해 취해진 {action}

Agent ⊆ Actor

{agent} ∈ Agent Agent는 특수한 타입의 Actor이다.

{aQuery, aInform} ∈ Action ACL QUERY-REF, ACL INFORM메시지 등과 같은 에이전트 내부커뮤니케이션을 표현

{aUpdate, aDelete, aCreate} Action 리소스의 생성, 갱신, 삭제 등의 수행

Actor

resource.Actor({resource}) ∩ actor의현재 모든 resource

context.Actor({actor}) actor의 현재 context

Resource

context.Actor({actor}) = fC(∀event;actor.Event({actor}) ∈ {event}) 시스템이나 어플리케이션의 환경은 저장된 이벤트에 기반한다. 이벤트는 환경의 상태를 모델링한다. 환경의 현재 상태나 actor와 관련된 환경/상황은 관련있는 새로운 이벤트에 영향을 받는다.

resource.Actor(resource)= fR(context.Actor({actor})) actor의 의도나 목적의 결과, 현재 actor의 환경/상황에 의존적(context.Actor)

위 두 식은 context나 resource를 갱신하는 함수나 알고리즘을 의미하며, 나중에 알고리즘이 변경되었을때, 같은 데이터와 같은 모델을 가지고 더 나은 결과를 얻을 수 있는 장점이 있다. 모든 이벤트를 저장하기 때문에, 과거에서부터 어느 순간에서든 그 환경을 모델링 할 수 있고, 어느 시작점으로부터도 후에 그것을 프로세싱할 수 있다.

또한 MAS 외부에서도 효과적으로 사용될수 있다. actor와 그 지식 모델을 모델링 할 필요가 있는 지식 집중적 어플리케이션에서 사용될 수 있으며, 종종 어떤 어플리케이션에서든 대체로 메인인 엑터를 모델링할 필요가 있는 경우이다.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 Resource


MODELING AND DEVELOPMENT METHODOLOGY FOR AGENT DESIGN

KM 어플리케이션에 적합하도록 정의

commonKADS - main two part

a knowledge model based on other three models:

  • an organizational or environmental model

  • an agent model

  • a task model

and design of the system (MAS in this paper)


OWL ontology + Protege ontology editor similar to [12] A case study in using protege 2000 as a tool for commonKADS

프로티지로 모델된 온톨로지는 commonKADS 모델을 반영하며, JADE 온톨로지 모델과도 몇몇 공통점이 있다.

UML, AUML, MAScommonKADS, several iteration of modeling

온톨로지와 에이전트 모델을 생성하는 방법
  • The Organizational or the Environment Model

actor와 어플리케이션의 환경을 모델링

리소스 엘리먼트는 리소스의 새로운 타입에 의해 확장 (documents, contacts, goods, services)

      도메인 엘리먼트는 문제상황을 모델링하는 도메인/어플리케이션 종속적인 개념, 특히 actor의 의사결정, 작업수행을 위해 사용되는 개념에 의해 확장

      actor의 목표(goal)에 대한 결과로 판단되는 리소스또한 모델링 된다. (found documents, sold goods)

  • The Aengt or Actor Model

    task와 action을 수행하는 actor를 모델링, 시스템에 의해서 모니터되는 액션을 수행하는 사람, 에이전트, 혹은 다른 개체를 모델링

    액터모델의 중요한 부분은 actor의 context이다. 이는 성취된 골의 결과인 actor의 리소스와 actor의 현재 환경을 정의한다.

    때문에 actor모델은 actor의 context(fC), resource(fR) 갱신하는 함수 혹은 알고리즘을 포함한다.

  • The Task Model

    actor와 관련된 tasks, activities, processes, action을 모델링

    task의 중요한 부분은 domain이다. 이는 종종 다른 리소스나 다른 도메인 엔티티와 관련되어 있고, 우리는 리소스와 컨텍스트의 갱신하는 함수를 정의하기위해 이 관계를 알아야한다.

Outcome - 프로티지에서 개발된 OWL포맷 온톨로지, 각 에이전트를 위한 context(fC), resource(fR) 갱신 함수, 알고리즘

제시된 모델을 이용한 에이전트 기반 시스템의 설계
  • Use Case diagram
  • Sequence Diagram
  • Class Diagram
 DESIGN AND SPECIFICATION OF AGENTOWL LIBRARY

AgentOWL library - JADE agent system, jena semantic web library기반, JADE와 같은 현재의 시스템에서 제공하지 않는 아래와 같은 기능 제공

Agent Knowledge Model based on RDF/OWL

Action-resource pair (bases of events) as basics for communication included in OWL ontology model

Sending ACL based RDF/OWL message

Receiving ACL based RDF/OWL message

Including received information (events) into a model

XML-RPC receiving messages

XML-RPC returning RDF/OWL and plain XML

Inference Engine

SPARQL messages handling


Classes

The class Ontology -  사용된 온톨로지와 OWL 온톨로지와 관련된 기본 상수

The class Memory - 에이전트 메모리의 load, store, manipulation

메모리는 프로티지에서 구축된 OWL파일을 로드할 수 있다. 이는 에이전트 메모리의 온톨로지 모델이 된다.

메모리는 MySQL과 같은 Jena에서 제공되는 RDBS에 저장되거나, OWL 파일에 저장될수 있다.

DB 모델을 사용할 때, 에이전트는 노드 사이를 이동하며 자신의 메모리를 옮길 필요가 없다. 모바일 에이전트가 요구되는 경우, 단지 메모리로부터의 연결을 끊고, 실행이 다른 노드에서 시작된 후에 다시 연결하면 된다.

The class Message - ACL 메시지를 생성하고, 모델을 RDF나 XML 스트링으로 변환하는 static method를 포함한다.

XML-RPC 서버와 랩핑되었을 경우 XML-RPC communication을 위해 사용되기도 한다.

JADE 시스템은 에이전트 메모리로서 Jena OWL을 제공하기 위해, 이 라이브러리를 사용하여 개발될 수 있고,

나아가 외부 시스템으로부터 RDF 메시지로 표현된 이벤트를 받거나 지식을 표현하기 위한 XML_RPC 기반 기능을 포함하는 것이 가능하다.

또한 FIPA-ACL content 언어로 RDF/OWL 기반의 에이전트간의 커뮤니케이션도 지원할 수 있다.






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

Creative Commons License
Creative Commons License

BLOG main image
히히히...ㅡ_ㅡ by 뚜방꽁

카테고리

ALL--? (337)
.On.tHe.EDgE. (79)
HotStudy+-+ (64)
CoolTHINGS!! (194)

달력

«   2012/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29      
Total : 42,209
Today : 23 Yesterday : 64