Technologia inteligentnych agentów. Autor: dr Jacek Jakieła

Podobne dokumenty
Dialogowe akty mowy w modelach sztucznej inteligencji

Z punktu widzenia kognitywisty: język naturalny

Komunikacja w systemie wieloagentowym

Inżynieria oprogramowania

Język w dzia laniu.akty mowy

Programowanie obiektowe

Programowanie obiektowe

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Modelowanie i analiza systemów informatycznych Spis treści

Agentowe języki komunikacji (KIF, KQML, ACL)

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

PLAN ZARZĄDZANIA WYMAGANIAMI PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Zarządzanie infrastrukturą sieciową Modele funkcjonowania sieci

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Zasady budowy i przekazywania komunikatów XML w systemie kdpw_otc

Zasady budowy i przekazywania komunikatów wykorzystywanych w Systemie IT KDPW_CCP

Zasady budowy i przekazywania komunikatów XML dla rynku OTC w systemie KDPW_CCP

Ogólne wymagania na poszczególne oceny z języka niemieckiego

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Ministerstwo Finansów

Przesyłania danych przez protokół TCP/IP

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

System Rozproszone Komunikator Dokumentacja. Maciej Muszkowski Jakub Narloch

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

Referencyjny model OSI. 3 listopada 2014 Mirosław Juszczak 37

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

Faza Określania Wymagań

Diagramy przypadków użycia. WYKŁAD Piotr Ciskowski

Diagramy przypadków użycia

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

UML cz. I. UML cz. I 1/1

Programowanie obiektowe

Inżynieria wymagań. Wykład 2 Proces pisania przypadków użycia. Część 3 Identyfikacja przypadków użycia

Bazy danych 2. Wykład 1

Protokół wymiany sentencji, wersja 1

1. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Wzorcowy załącznik techniczny, do umowy w sprawie przesyłania faktur elektronicznych pomiędzy Firmą A oraz Firmą B

Modelowanie obiektowe - Ćw. 3.

1 / 5 INFORMACJE OGÓLNE ZAKRES SYSTEMU EDI I STANDARD KOMUNIKATÓW 1 IDENTYFIKACJA ARTYKUŁÓW W SYSTEMIE EDI 2 IDENTYFIKACJA PODMIOTÓW W SYSTEMIE EDI 3

Wprowadzenie do logiki Język jako system znaków słownych

Jacek Skorupski pok. 251 tel konsultacje: poniedziałek , sobota zjazdowa

1 Projektowanie systemu informatycznego

Karta opisu przedmiotu Zaawansowane techniki analizy systemowej oparte o modelowanie warsztaty

Języki programowania zasady ich tworzenia

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Opis przedmiotu. B. Ogólna charakterystyka przedmiotu

Kryteria oceniania z języka angielskiego w klasie 4 szkoły podstawowej

Kłamstwo a implikatura konwersacyjna Szkic streszczenia referatu;)

KARTA PRZEDMIOTU. 1) Nazwa przedmiotu: INŻYNIERIA SYSTEMÓW I ANALIZA SYSTEMOWA. 2) Kod przedmiotu: ROZ-L3-20

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Programowanie obiektowe

UML cz. III. UML cz. III 1/36

a) Zdobycie wiedzy i umiejętności na temat sprzedaży przez telefon w tym: - badania potrzeb poprzez pytania celowe (otwarte / zamknięte)

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Odniesienie do efektów kształcenia dla obszaru nauk EFEKTY KSZTAŁCENIA Symbol

Język UML w modelowaniu systemów informatycznych

Instrukcja integratora - obsługa dużych plików w epuap2

Podstawy Programowania Obiektowego

SEGMENT TCP CZ. II. Suma kontrolna (ang. Checksum) liczona dla danych jak i nagłówka, weryfikowana po stronie odbiorczej

WDROŻENIE MODELOWANIA PROCESÓW ORAZ WSPARCIE

Informatyka Systemów Autonomicznych Praca zaliczeniowa

PRZEDMIOTOWE ZASADY OCENIANIA Z JĘZYKA NIEMIECKIEGO DLA KLASY 7 W ROKU SZKOLNYM 2017/2018. PODRĘCZNIK Meine Deutschtour.

Kryteria wymagań na poszczególne oceny z języka niemieckiego dla klasy VII OCENA CELUJĄCA

O-MaSE Organization-based Multiagent System Engineering. MiASI2, TWO2,

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Diagramy czynności. Widok logiczny. Widok fizyczny

Instrukcja użytkownika esowk Realizacja wniosku kredytowego przez POS Kredyt gotówkowy

OCENA CELUJĄCA SPRAWNOŚĆ PISANIA

ZASADY PREZENTACJI -ANALIZA STRATEGICZNA

Diagram przypadków użycia

STATYSTYKA EKONOMICZNA

Programowanie Obiektowe i C++

Temat: Atlas ptaków, roślin, owadów. Sekcje w dokumencie MS Word

Mechanizmy pracy równoległej. Jarosław Kuchta

WYMAGANIA EDUKACYJNE Z JĘZYKA NIEMIECKIEGO KLASA

EGZAMIN MATURALNY W ROKU SZKOLNYM 2014/2015

Budowa argumentacji bezpieczeństwa z użyciem NOR-STA Instrukcja krok po kroku

-stopień celujący -stopień bardzo dobry:

Projektowanie oprogramowania

Zapisywanie algorytmów w języku programowania

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Zaawansowane programowanie obiektowe - wykład 5

STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe

KATEDRA INFORMATYKI STOSOWANEJ PŁ ANALIZA I PROJEKTOWANIE SYSTEMÓW INFORMATYCZNYCH

PROJEKT INTERFEJSU UśYTKOWNIKA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

W badaniach 2008 trzecioklasiści mieli kilkakrotnie za zadanie wyjaśnić wymyśloną przez siebie strategię postępowania.

Szczegółowy wykaz zmian w dokumentach

WYTYCZNE W SPRAWIE TESTÓW, OCEN LUB DZIAŁAŃ MOGĄCYCH DOPROWADZIĆ DO ZASTOSOWANIA ŚRODKÓW WSPARCIA EBA/GL/2014/ września 2014 r.

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Spis treści. Część teoretyczna WSTĘP...

Szczegółowe informacje dotyczące przekazywania do Bankowego Funduszu Gwarancyjnego informacji kanałem teletransmisji

WPROWADZENIE DO KOMUNIKACJI JĘZYK

Systemy ekspertowe : program PCShell

Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka

Transkrypt:

Autor: dr Jacek Jakieła

WYKŁAD... 3 Komunikacja w systemach agentowych... 3 Ogólny model procesu komunikacji... 3 Teoria aktów mowy jako baza teoretyczna procesu komunikacji międzyagentowej... 5 Realizacja komunikacji międzyagentowej język KQML (Knowledge Query and Manipulation Language)... 8 Modelowanie komunikacji... 11 ĆWICZENIA... 15 Zadanie 1... 15 Zadanie 2... 15 Zadanie 3... 17 Zadanie 4... 17 Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 2

WYKŁAD Komunikacja w systemach agentowych Ogólny model procesu komunikacji Większość modeli komunikacji, wykorzystywanych w projektowaniu systemów informatycznych ma wspólny rdzeń w postaci klasycznej już pracy Shannon a i Weaver a [Shanno48]. Zgodnie z tym modelem proces komunikacji to wymiana informacji pomiędzy dwiema stronami nadawcą i odbiorcą. Przesyłany komunikat jest odpowiednio kodowany przez nadawcę z wykorzystaniem określonego języka i dekodowany po odebraniu go przez odbiorcę. Aby komunikacja mogła zaistnieć potrzebne jest medium, które może przenosić przesyłany komunikat. Dodatkowo kontekst określa sytuację, w jakiej zostały umieszczone strony komunikujące się. Schemat komunikacji przedstawia rysunek. Rysunek 1. Klasyczny schemat procesu komunikacji. Każdy przesyłany komunikat może odgrywać równocześnie kilka funkcji komunikacji [Jakobs02]: Funkcja ekspresyjna odnosi się do związku nadawcy z odbiorcą. Bierze pod uwagę emocje oraz stan nadawcy jak również status przekazu. Funkcja konatywna przekazu dotyczy wrażenia, jakie przesłana wiadomość wywarła na adresacie. Jest związana z pojęciem rozkazu lub żądania, które nadawca kieruje do odbiorcy. Warto zauważyć, że większość komunikatów przesyłanych w organizacji spełnia tę właśnie funkcję. Szczególnie, jeśli mówimy o niej w kontekście kolektywnej realizacji zadania komunikaty związane są z delegacją zadań lub zapytaniami kierowanymi do współpracowników. Funkcja referencyjna jest związana z kontekstem oraz gwarancją szczerości nadawcy i prawdziwości faktów przekazywanych w wiadomości. Funkcja fatyczna jest odpowiedzialna za zarządzanie połączeniem i weryfikację poprawnej pracy kanału. Funkcja ta pełni rolę narzędzia integrującego nadawcę z odbiorcą, podtrzymując zaistniały pomiędzy nimi kontakt. Funkcja poetyczna kładzie nacisk na sam komunikat. Funkcja metajęzykowa jest odpowiedzialna za wszystko, co dotyczy komunikatów, języka oraz sytuacji komunikacyjnej. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 3

Analizując proces komunikacji, warto również rozważyć, oprócz jego struktury oraz funkcji, klasyfikację sposobów komunikacji w odniesieniu do relacji występujących pomiędzy stronami będącymi w interakcji. Według Ferbera relacje te związane są z następującymi aspektami procesu komunikacji [Ferber99]: Połączenie nadawca-odbiorca. Rodzaj medium. Intencja komunikacji. Aspekt połączenie nadawca-odbiorca związany jest z relacją znajomości. Jeżeli nadawca zna adresata wówczas możemy mówić o KOMUNIKACJI BEZPOŚREDNIEJ AKTOR-AKTOR (Point-topoint communication). W takiej sytuacji nadawca wysyła wiadomość jasno precyzując odbiorcę. Korzystając z notacji Ferbera [Ferber99] ten sposób komunikacji może być opisany z wykorzystaniem następującej struktury. <id_komunikatu> nadawca : odbiorca << treść_komunikatu Przykładowo, przesłanie komunikatu powitania Dzień dobry pomiędzy dwoma agentami oznaczonymi jako agent A i agent B może zostać przedstawione jako <K1> A : B << Dzień dobry W sytuacji, gdy nadawca nie wskazuje odbiorcy, lecz kieruje wiadomość do całego zbioru adresatów mamy do czynienia ze sposobem komunikacji, typu rozgłaszanie (Broadcasting). Poniższy zapis przedstawia przesłanie komunikatu Dzień dobry do wszystkich agentów w danej społeczności. <K2> A : Wszyscy << Dzień dobry Rozważając aspekt medium można wyróżnić trzy następujące mechanizmy przesyłania informacji: przekaz bezpośredni (Direct Routing), przekaz poprzez propagację sygnału (Routing by Signal Propagation) oraz przekaz przez podanie do publicznej wiadomości (Public Notice Routing). W przekazie bezpośrednim przesyłany komunikat trafia do kanału komunikacyjnego, który przenosi komunikat bezpośrednio do odbiorcy (lub odbiorców). Przekaz poprzez propagację sygnału polega na rozgłaszaniu w otoczeniu sygnału zawierającego komunikat, przy czym intensywność sygnału ulega zmniejszeniu w miarę jak zwiększa się odległość od jego źródła. W końcu przekaz przez podanie do publicznej wiadomości polega na umieszczeniu komunikatu w miejscu ogólnie dostępnym, w którym każdy zainteresowany może zapoznać się z przedstawioną wiadomością. Biorąc pod uwagę aspekt intencji, komunikację możemy podzielić na komunikację celową oraz komunikację niezamierzoną. Komunikacja celowa jest intencjonalna, gdyż wynika z zamiaru nadawcy przesłania komunikatu do adresata. Komunikacja niezamierzona z kolei odbywa się niezależne od woli nadawcy. W tym przypadku nie możemy mówić o intencji komunikacji. Jak zauważa Ferber komunikacja niezamierzona ma dwie ciekawe cechy charakterystyczne. Po pierwsze semantyka komunikatu jest związana tylko ze stanem nadawcy, natomiast interpretacja przesłanego komunikatu nie wynika z ustalonego wcześniej kodu i jest zależna tylko od odbiorcy [Ferber99]. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 4

Teoria aktów mowy jako baza teoretyczna procesu komunikacji międzyagentowej Teorią, która znacznie wzbogaciła możliwości opisu procesu komunikacji i jest szczególnie użyteczna w kontekście modelowania oraz realizacji komunikacji w systemach wieloagentowych, jest teoria aktów mowy sformułowana przez Austina [Austin62] na gruncie filozofii języka, a następnie rozwinięta przez Searla [Searle69][Searle99]. Podstawowym pojęciem jest akt mowy. Akt mowy stanowi podstawowy element składowy procesu komunikacji będący jednostkową wypowiedzią zrealizowaną przez nadawcę wiadomości w określonej sytuacji, zgodnie z regułami kształtowania i używania języka komunikacji i rozpatrywany jako zespół wielorakich działań. Analiza aktów mowy, które są podstawowymi blokami składowymi procesu komunikacji, pokazuje jak działać słowami [Searle69][Searle99]. Za pomocą aktu mowy można coś stwierdzić, zapytać o coś, wydać polecenie, wyrazić prośbę lub przewidzieć przyszłe zdarzenie. Akt mowy, jako struktura modelowania pozwala przedstawić całe spektrum możliwych sytuacji komunikacyjnych występujących przy projektowaniu systemu. Akt mowy jest obiektem złożonym. Teoria filozofii języka zakłada, że na każdy kompletny akt mowy składają się trzy akty cząstkowe (rysunek). Są to: Akt lokucyjny. Akt lokucyjny dokonuje się poprzez spełnienie trzech współdziałających aktów podrzędnych. Są to akt fonetyczny polegający na artykułowaniu dźwięków zgodnie z fonematycznymi regułami danego języka, lub utworzeniu zapisu graficznego zgodnego z regułami ortograficznymi, akt fatyczny polegający na formułowaniu szeregu dźwiękowego zgodnie z regułami budowy wyrazów i ich gramatyczno-składniowego wiązania oraz akt retyczny polegający na używaniu słów i zdań zgodnych z regułami semantycznymi. Akt illokucyjny jest to działanie, które jest dokonywane poprzez wypowiedzenie czegoś, a więc poprzez spełnienie w pewien sposób aktu lokucyjnego. Kiedy nadawca coś mówi, mając to coś na myśli i próbując to coś przekazać odbiorcy, to jeśli mu się powiedzie dokona on aktu illokucyjnego. W zwykłej sytuacji komunikacyjnej akt illokucyjny jest aktem celowym. Jeżeli ktoś nie ma ochoty zapytać lub wygłosić stwierdzenia nie robi tego. Akt perlokucyjny odnosi się do efektu lub wpływu, jaki mają akty illokucyjne na odbiorcę. Wydając polecenie można sprawić, że odbiorca je wykona, dyskutując można przekonać rozmówcę lub go do czegoś namówić. Inaczej niż akt illokucyjny, akt perlokucyjny nie musi być aktem celowym. Przykładowo, można kogoś do czegoś przekonać albo go rozbawić nie mając takiego zamiaru. W związku z tym akt perlokucyjny nie daje się określić i w pełni przewidzieć na podstawie samej wypowiedzi i sytuacji komunikacyjnej gdyż w dużej mierze zależy od dyspozycji odbiorcy. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 5

Rysunek. Elementy składowe aktu mowy. Rozróżnienie pomiędzy zawartością komunikatu a typem stanu intencjonalnego pozwala na lepsze ustrukturyzowanie aktu mowy i prowadzi do podziału na treść aktu i jego moc illokucyjną. Formalnie można to zapisać jako F(p) ), gdzie F oznacza moc illokucyjną aktu a p zawartość zdaniową. Akty mowy mogą przynależeć do różnych typów. Różnorodność języka jest bardzo duża. Biorąc pod uwagęę moc illokucyjną jako kryterium podziału akty mowy można przypisać do następujących typów (rysunek): Asertywy. Celem asertywów jest przekonanie odbiorcy, co do prawdziwości zdania. Nadawca chce przedstawić zdanie jako oddające stan rzeczy o świecie, czyli zdanie prawdziwe. Pytaniem identyfikującym asertywy jest pytanie o prawdziwość lub fałszywość wypowiedzi. Rysunek. Podział aktów mowy ze względu na moc illokucyjną Dyrektywy. Celem dyrektywu jest skłonienie odbiorcy do zachowania się w określony sposób, który jest zgodny z zawartością zdaniową dyrektywu. Dyrektywy w postaci poleceń lub próśb nie podlegająą testowi prawdziwości, gdyż prośba lub polecenie mogą być jedynie spełnione lub nie. Dyrektywy mogąą zostać podzielone na eksercytywy oraz interrogatywy. Interrogatywy służą do zadawania Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 6

pytań w celu uzyskania niezbędnych informacji. Udzielenie odpowiedzi na pytanie nie wymaga złożonego przetwarzania. Przykładem może być sytuacja, w której pytamy kogoś o informację, którą dana osoba zna i udzielenie odpowiedzi nie wymaga realizacji zadania prowadzącej do uzyskania tej informacji. Eksercytywy z kolei służą do zlecania wykonania zadań. W tym wariancie również chodzi o uzyskanie informacji. Jest ona jednak wynikiem przetwarzania w związku z realizacją zadania lub zbioru zadań. Komisywy. Jeżeli nadawca dokonuje komisywu wówczas informuje o podjęciu zobowiązania wykonania szeregu działań wyrażonych w zawartości zdaniowej. Do komisywów należą m.in. zobowiązania, umowy i gwarancje. Podobnie jak w przypadku dyrektywów, komisywy nie podlegają testowi prawdziwości. Komisyw może zostać spełniony, dotrzymany lub niespełniony. Ekspresywy. Celem illokucyjnym ekspresywu jest wyrażenie warunku szczerości aktu mowy. Przykładem ekspresywu są przeprosiny, podziękowania lub gratulacje. Deklaratywy. Celem deklaratywów jest spowodowanie zmiany w świecie, przy czym zmiana się dokonuje przez samo wykonanie lokucji. Przykładem może być wypowiadam wojnę, składam rezygnację, akceptuję umowę. Zmieniając samą moc illokucyjną uzyskujemy różne akty mowy. Pokazują to następujące przykłady, w których moc illokucyjną reprezentuje tak zwany performatyw (pojęcie performatywu zostanie omówione w kolejnej sekcji). Performatyw = request Content = drzwi są zamknięte Akt mowy = Proszę zamknij drzwi Performatyw = inform Content = drzwi są zamknięte Akt mowy = drzwi są zamknięte Performatyw = inquire Content = drzwi są zamknięte Akt mowy = Czy drzwi są zamknięte? Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 7

Realizacja komunikacji międzyagentowej język KQML (Knowledge Query and Manipulation Language) Język KQML został opracowany w ramach projektu Knowledge Sharing Effort i był jedną z pierwszych prób zdefiniowania języka komunikacji międzyagentowej, która byłaby realizowana na poziomie wiedzowym (Knowledge-Level Communication). KQML definiuje język oraz zbiór protokołów. W założeniu język KQML ma dostarczać mechanizmów, dzięki którym systemy wchodzące między sobą w interakcje mogą znaleźć odpowiedzi na następujące pytania [Finin94a]: Kto, z kim się komunikuje? Jak znaleźć rozmówcę? Jak rozpocząć komunikację? Jak zarządzać procesem wymiany komunikatów? Jako język i zbiór protokołów, KQML wspiera programy komputerowe w procesach identyfikacji, łączenia się i wymiany informacji. KQML jest językiem wysokiego poziomu, który dostarcza zarówno formatu komunikatów, jak również protokołu zarządzającego przesyłaniem komunikatów. Celem przesyłania komunikatów KQML jest współdzielenie wiedzy pomiędzy agentami, w czasie działania systemu. Język KQML nie bierze pod uwagę zawartości przesyłanych komunikatów, która może być zapisana w dowolnym języku [Wooldr02]. Istnieje kilka poziomów, na których agenci muszą być zgodni (przynajmniej w zakresie interfejsów), aby mogli pomyślnie współpracować. Są to: Poziom transportu (Transport Level) opisuje jak agenci wysyłają i odbierają komunikaty. Poziom języka (Language Level) opisuje co oznaczają poszczególne komunikaty. Poziom strategii (Policy Level) opisuje to, jak agenci strukturyzują konwersacje. Poziom architektury (Architecture Level) opisuje jak połączyć agentów stosownie do odpowiednich protokołów. Rysunek. Warstwy języka KQML. Biorąc pod uwagę przedstawione poziomy zgodności, standard języka KQML definiuje trzy warstwy: warstwę zawartości, warstwę komunikatu oraz warstwę komunikacyjną (rysunek) [Finin94c]. Warstwa zawartości opisuje faktyczną ZAWARTOŚĆ komunikatu zapisaną w odpowiednim języku opisu wykorzystywanym przez agenta. KQML wspiera dowolny język opisu. Warstwa komunikacyjna koduje zbiór cech komunikatu, które opisują parametry niskopoziomowej komunikacji, takie jak tożsamość nadawcy i odbiorcy oraz unikalny ID związany z procesem komunikacji. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 8

Warstwa komunikatu stanowi jądro języka. Określa rodzaje interakcji, w jakie można wejść z agentem mówiącym w języku KQML. Podstawową funkcją warstwy komunikatu jest ustalenie protokołu, który powinien być wykorzystany w celu dostarczenia komunikatu oraz performatywu, dołączonego przez nadawcę do wiadomości. Komunikat KQML składa się z performatywu oraz związanych z nim argumentów. Performatyw definiuje intencję agenta wysyłającego komunikat. Przykładowo performatyw tell jest wykorzystywany w celu modyfikacji bazy przekonań odbiorcy komunikatu, natomiast performatyw achieve aby zmodyfikować cele odbiorcy. Tak więc etykieta performatywu jawnie określa zamiar (intencję) nadawcy komunikatu. Tabela przedstawia wybrane performatywy zdefiniowane w standardzie KQML. Performatyw Tabela. Lista performatywów zdefiniowanych dla języka KQML. Znaczenie achieve Prośba o działanie prowadzące do tego, że zawartość zdaniowa stanie się prawdziwa. advertise Informuje, o tym, że nadawca może odbierać określone performatywy zapisane w zawartości zdaniowej. ask-all ask-if ask-one delete-all deny error insert delete-one request stream-all tell unachieve Agent A prosi agenta B o wszystkie możliwe odpowiedzi na pytanie. Agent A chce sprawdzić, czy przesyłana zawartość zdaniowa może być dopasowana do zawartości bazy odbiorcy. Agent A prosi agenta B o odpowiedź na zadane pytanie. Agent A prosi, aby agent B usunął wszystkie zdania określonego typu ze swojej bazy wiedzy. Oznacza, że performatyw przesłany w zawartości zdaniowej komunikatu jest nieprawdziwy. Agent A uważa, że komunikat od B został źle sformułowany. Agent A prosi, aby agent B włączył określone zdanie do swojej bazy wiedzy. Agent A prosi, aby agent B usunął określone zdanie ze swojej bazy wiedzy. Agent A prosi agenta B o wykonanie określonego działania. Podobne przeznaczenie do ask-all z tym, że nadawca przesyła serię performatywów. Performatyw eos oznacza, że przesyłanie zakończyło się pomyślnie. Informuje, że przesyłana zawartość zdaniowa znajduje się w wirtualnej bazie wiedzy nadawcy. Anulowanie performatywu achieve. Argumenty opisują rzeczywistą zawartość komunikatu (zawartość zdaniową) oraz opcjonalne parametry. Standardowo, każdy komunikat KQML jest zapisany w formie łańcucha ASCII, który jest ustrukturyzowany zgodnie z tzw. prefiksową notacją polską, wykorzystywaną również przez standard języka Common Lisp (rys). Intuicyjna interpretacja komunikatu przedstawionego na rysunku może być następująca: nadawca komunikatu pyta o cenę akcji firmy ASSECO, zadając pytanie do agenta o nazwie serwerakcji, który rozumie język LPROLOG oraz zna ontologię o nazwie GIELDA-PW, gdzie ontologia zawiera precyzyjną definicję wszystkich pojęć, które mogą pojawić się w przesyłanych komunikatach. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 9

Rysunek. Standardowa postać komunikatu KQML. Parametry w performatywach są indeksowane przez słowa kluczowe, dzięki czemu ich kolejność nie ma znaczenia. Oryginalna definicja komunikatu KQML, zapisana z wykorzystaniem notacji BNF została przedstawiona na rysunku [Finin94c]. Rysunek. Składnia komunikatu KQML zapisana w BNF. Semantyka języka KQML definiuje prosty i ujednolicony kontekst. Istotnym pojęciem, którego zrozumienie jest szczególnie ważne w kontekście języka KQML jest wirtualna baza wiedzy WBW (Virtual Knowledge Base). Zakłada się, że każdy agent zarządza swoją WIRTUALNĄ BAZĄ WIEDZY, a komunikacja z agentem odbywa się w odniesieniu do tej bazy wiedzy. Dzięki takiemu założeniu każdy agent może być zaimplementowany z wykorzystaniem innego języka programowania i mieć inną, wewnętrzną reprezentację wiedzy. Żaden z agentów nie zakłada, że inny agent będzie używał takiej samej, wewnętrznej reprezentacji. W sytuacjach skrajnych agent może nie posiadać w ogóle reprezentacji. Dla potrzeb komunikacji każdy z agentów zakłada, że inni agenci społeczności mają jakąś wewnętrzną reprezentację wiedzy. Ta przypisana innym wiedza jest określana terminem wirtualna baza wiedzy. W związku z tym agenci w trakcie interakcji formułują pytania o zawartość tej bazy wiedzy, stwierdzenia na temat zawartości bazy wiedzy oraz prośby modyfikacji, dodania, lub usunięcia przekonań z bazy wiedzy. Agenci rozmawiają na temat zawartości swoich WBW z wykorzystaniem języka KQML, lecz w celu zakodowania określonych stwierdzeń w WBW można wykorzystać różne języki opisu. Specyfikacja parametrów w języku KQML bierze pod uwagę dwie istotne kwestie. Po pierwsze, chodzi o ujednolicenie semantyki powszechnie wykorzystywanych parametrów. Po drugie ważne było umożliwienie zrozumienia performatywów o nieznanych nazwach, lecz posiadających znane nazwy słów kluczowych parametrów. Część parametrów jest Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 10

zarezerwowana, co oznacza, że użycie tych parametrów musi być spójne z definicją słów kluczowych. W tabeli zawarto charakterystykę najczęściej wykorzystywanych parametrów. :sender <word> :receiver <word> Tabela. Charakterystyka parametrów performatywu języka KQML. Nazwa Znaczenie :reply-with <expression> :in-reply-to <expression> :content <expression> :language <word> Opisują faktycznego nadawcę i odbiorcę performatywu. Jeżeli <expression> zawiera wartość nil, wówczas nadawca nie spodziewa się odpowiedzi. Jeżeli <expression> zawiera t wówczas nadawca spodziewa się odpowiedzi. W innych przypadkach nadawca spodziewa się odpowiedzi zawierającej parametr :in-reply-to, z wartością identyczną z <expression>. Wskazuje na BEZPOŚREDNI OBIEKT performatywu. Na przykład jeżeli performatywem jest tell, wówczas :content jest wypowiedzianym zdaniem. <expression> w :content musi być poprawnym wyrażeniem zapisanym w języku opisu, określonym przez parametr :language. Lub języku KQML jeśli nie ma parametru :language. Ponadto, stałe zdefiniowane w <expression> muszą należeć do zbioru tych zdefiniowanych w ontologii, o nazwie zdefiniowanej w parametrze :ontology. Nazwa języka reprezentacji zapisana w <word>. :ontology <word> Nazwa ontologii zapisana w <word>. W 2002 stowarzyszenie FIPA (Foundation for Intelligent Physical Agents), które prowadzi prace nad spójnym zbiorem standardów dla systemów agentowych opublikowało standard dla języka komunikacji międzyagentowej. W większej części standard bazuje na języku KQML, z drobnymi wyjątkami dotyczącymi nazw performatywów oraz kwestii semantyki języka. Modelowanie komunikacji Do pełnego zrozumienia procesu komunikacji samo pojęcie aktu mowy nie wystarcza. Konieczne jest wprowadzenie dodatkowych pojęć takich jak interakcje i konwersacja. Interakcja jest wymianą aktów mowy pomiędzy dwoma agentami, w związku z realizacją przez nich zadań, które są wzajemnie zależne. W interakcji zawsze występują dwie strony, z których jedna potrzebuje informacji lub wyników realizacji zadania a druga je dostarcza. Analiza aktów mowy przesyłanych podczas interakcji pokazuje, że tworzą one pewne wzorce komunikacji, które składają się z aktów mowy występujących wspólnie. W określeniu wzorców komunikacji przydatny jest podział aktów mowy na akty, wymagające odpowiedzi w formie innego aktu oraz te, w przypadku których odpowiedź nie jest konieczna. Do aktów mowy, które nie wymagają odpowiedzi możemy zaliczyć akty mowy o takich performatywach jak: inform, answer, reject, accept, report, command. Akty mowy wymagające odpowiedzi to z kolei ask, demand, request, offer, propose. Ze względu na konieczność odpowiedzi w przypadku niektórych aktów mowy możliwa jest identyfikacja wzorców komunikacji występujących przy interakcji. Wzorce komunikacji dla interrogatywów oraz eksercytywów przedstawia rysunek. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 11

Rysunek. Przykładowe wzorce komunikacji. Do stworzenia pełnego modelu komunikacji w organizacji same pojęcia aktu mowy oraz interakcji są niewystarczające. W gruncie rzeczy, akt mowy i interakcje nigdy nie występują w izolacji. Bardzo często jedna interakcja jest wyzwalaczem innych interakcji a akt mowy inicjuje całą sekwencję kolejnych aktów mowy. Wyobraźmy sobie sytuację, w której agent A potrzebuje do realizacji zadania Z Ai informacji x od agenta B, natomiast po otrzymaniu tej informacji może rozpocząć realizację zadania Z Aj, do którego potrzebne mu są wyniki realizacji zadania Z Bi, które może delegować do agenta B i którego wyniki agent B przesyła z powrotem do agenta A. Korzystając z performatywów przedstawionych wcześniej oraz wprowadzonej notacji opisany proces można zapisać w postaci czterech następujących komunikatów: <K1> A:B << ASK(x) <K2> B:A << REPLY(x=12) <K3> A:B << REQUEST(Z(y)) <K4> B:A << REPORT(Z(wyniki)) Opisanie planu komunikacji wymaga wprowadzenia porządku do zbioru interakcji i związanych z nimi aktów mowy. Zadanie to spełnia pojęcie konwersacji [Winogr86], które porządkuje zbiór interakcji. Konwersacja jest zbiorem interakcji występujących w określonej kolejności i może być scharakteryzowana poprzez następujące własności: posiada stan początkowy, który określa początek konwersacji, rozpoczyna się od aktu należącego do jednego z głównych typów aktów mowy (asertywu, komisywu, dyrektywu, ekspresywu lub deklaratywu), na każdym etapie konwersacji istnieje ograniczony zbiór możliwych działań, które są również aktami mowy, zmiana stanu konwersacji związana jest ze spełnieniem warunku przejścia, który musi być spełniony zanim konwersacja przejdzie do kolejnego stanu. Istnieją stany końcowe, których osiągnięcie oznacza koniec konwersacji. Do modelowania komunikacji w systemach agendowych można wykorzystać, po niewielkich modyfikacjach, diagram stanów (jeden z diagramów zdefiniowanych w ramach języka UML). Rysunek przedstawia diagram opisujący konwersację pomiędzy dwoma agentami agentem A i agentem B. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 12

Rysunek. Model konwersacji notacja diagramu stanów. Przedstawiona na diagramie konwersacja składa się z sześciu stanów, w tym z 3 stanów specjalnych (jeden stan początkowy oraz dwa stany końcowe). Każda tranzycja pomiędzy stanami jest opisana z wykorzystaniem etykiety, która wskazuje na kierunek komunikacji oraz zawartość komunikatu. Przykładowo,przesłanie aktu mowy o performatywie propose, zawartości zdaniowej o etykiecie x od agenta A do agenta B jest zapisane w formie A:B<<propose(x). Inicjatorem konwersacji jest agent A. Początkowo, konwersacja znajduje się w stanie 1, który jest stanem początkowym konwersacji. Następnie, agent A inicjuje konwersację przesyłając do agenta B akt mowy o performatywie propose oraz zawartości zdaniowej x, co powoduje zmianę stanu konwersacji ze stanu 1 na stan 2. W stanie 2 możliwe są 2 warianty: 1. Agent B odrzucił propozycję wysyłając akt mowy reject(x), co prowadzi do stanu końcowego 3, który kończy konwersację. 2. Agent B zaakceptował propozycję stanu 4. wysyłając akt mowy accept(x) ), co prowadzi do Kolejnee przejście, pomiędzy stanem 4 oraz stanem 5, związane jest z przyjęciem przez agenta B zobowiązania i przesłaniem aktu mowy commit(x). Po realizacji zadania agent B przesyła do agenta A wyniki, po czym konwersacja przechodzi do stanu 6, który jest stanem końcowym konwersacji. Każdy ze stanów powinien zostać krótko opisany w specyfikacji konwersacji. Specyfikacja powinna zawieraćć również charakterystykę reguł tranzycji opisujących ograniczenia nałożone na konwersację. Przykładowyy opis jednego ze stanów występujących podczas konwersacji związanej z procesem przydzielaniaa kredytu oraz jedna z reguł tranzycji zostały przedstawione poniżej. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 13

Stan X. Urzędnik wywiadu gospodarczego otrzymał od doradcy klienta żądanie sprawdzenia wiarygodności klienta i realizuje proces klasyfikacji. REGUŁA X. Stan konwersacji y Stan konwersacji z ON IF zgłoszono zapotrzebowanie na nowy kredyt Doradca klienta pobrał wszystkie dane do karty klienta AND zweryfikował dokumenty pod względem formalnym i merytorycznym THEN Doradca klienta wysłał do urzędnika wywiadu gospodarczego żądanie sprawdzenia wiarygodności (tak zwana identyfikacja klienta niepożądanego). Sekcja ON definiuje zdarzenie, które powoduje odpalenie reguły. W pierwszym kroku sprawdzany jest warunku zdefiniowany w sekcji IF. Sekcja THEN zawiera specyfikację działań komunikacyjnych agenta, które powinny zostać wykonane w sytuacji, gdy warunek jest spełniony. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 14

ĆWICZENIA Zadanie 1 Dla każdego z poniższych zdań dobierz odpowiedni typ aktu mowy biorąc pod uwagę jego moc illokucyjną. (Zadanie typu połącz. Z lewej strony znajdują się zdania, a z prawej wymieszane nazwy aktów mowy. Zadanie polega na połączeniu właściwej nazwy ze zdaniem). 1. Odrób zadanie domowe (eksercytyw) 2. Jesteś żonaty? (interrogatyw) 3. Jaką masz średnią ocen? (eksercytyw jeżeli trzeba obliczyć średnią, jeżeli nie to interrogatyw) 4. Gratuluję zdanego egzaminu!. (ekspresyw) 5. Bardzo dziękuję za prezent (ekspresyw) 6. Składam rezygnację (już tego nie zniosę). (deklaratyw) 7. Dzisiaj jest ładna pogoda.(asertyw) 8. Dostałem wypłatę. (asertyw) Zadanie 2 Przedstawiona poniżej specyfikacja konwersacji opisuje proces komunikacji w ramach społeczności agentów, która jest odpowiedzialna za rozpatrywanie podań o udzielenie kredytów detalicznych. W proces konwersacji są zaangażowani czterej agenci. Ich nazwy oraz odpowiedzialności przedstawiono poniżej. Doradca klienta przygotowanie wniosku kredytowego, zrealizowanie decyzji kredytowej. Urzędnik wywiadu gospodarczego zidentyfikowanie tzw. klienta niepożądanego. Urzędnik departamentu ryzyka ustalenie współczynnika przeciętne wynagrodzenie. Analityk kredytowy określenie zdolności do spłaty kredytu. Na podstawie specyfikacji konwersacji wykonaj następujące zadania: 1. Zdefiniuj performatywy dla aktów mowy, które będą przesyłane w trakcie konwersacji. 2. Zidentyfikuj wszystkie interakcje zachodzące pomiędzy agentami oraz wzorce komunikacji z nimi związane. 3. Utwórz model konwersacji z wykorzystaniem diagramu stanów. Do opracowania modelu wykorzystaj MS-Visio. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 15

SPECYFIKACJA KONWERSACJI CHARAKTERYSTYKA STANÓW KONWERSACJI Stan 1. Stan początkowy DORADCA KLIENTA czeka na nowe zgłoszenie. Stan 2. URZĘDNIK WYWIADU GOSPODARCZEGO otrzymał od DORADCY KLIENTA żądanie sprawdzenia wiarygodności klienta i realizuje proces klasyfikacji. Stan 2.1. Stan końcowy 1. DORADCA KLIENTA otrzymał od URZĘDNIKA WYWIADU GOSPODARCZEGO negatywny wynik weryfikacji wiarygodności klienta (i poinformował klienta o braku możliwości starania się o kredyt). Stan 3. DORADCA KLIENTA otrzymał od URZĘDNIKA WYWIADU GOSPODARCZEGO pozytywny wynik weryfikacji wiarygodności klienta i rozpoczyna przygotowywanie dokumentacji niezbędnej przy analizie wiarygodności kredytowej. Stan 4. ANALITYK KREDYTOWY otrzymał żądanie wykonania analizy zdolności kredytowej klienta. Stan 5.URZĘDNIK DEPARTAMENTU RYZYKA otrzymał od ANALITYKA KREDYTOWEGO zapytanie o parametr przeciętne wynagrodzenie. Stan 6. ANALITYK KREDYTOWY otrzymał od URZĘDNIKA DEPARTAMENTU RYZYKA odpowiedź na temat parametru przeciętne wynagrodzenie. Stan 7. Stan końcowy 2. DORADCA KLIENTA otrzymał od ANALITYKA KREDYTOWEGO pozytywny wynik oceny zdolności kredytowej i poinformowano klienta o parametrach kredytu (kwocie, harmonogramie spłat, oprocentowaniu, prowizji, typie odsetek etc.). REGUŁY TRANZYCJI REGUŁA 1. Stan konwersacji 1 Stan konwersacji 2 ON zgłoszono zapotrzebowanie na nowy kredyt IF DORADCA KLIENTA pobrał wszystkie dane do karty klienta AND zweryfikował dokumenty pod względem formalnym i merytorycznym THEN DORADCA KLIENTA wysłał do URZĘDNIKA WYWIADU GOSPODARCZEGO żądanie sprawdzenia wiarygodności (tak zwana identyfikacja klienta niepożądanego). REGUŁA 2. Stan konwersacji 2 Stan konwersacji 3 ON URZĘDNIK WYWIADU GOSPODARCZEGO otrzymał żądanie sprawdzenia wiarygodności IF URZĘDNIK WYWIADU GOSPODARCZEGO nie znalazł powodów negatywnej weryfikacji wiarygodności potencjalnego kredytobiorcy THEN URZĘDNIK WYWIADU GOSPODARCZEGO wysłał do DORADCY KLIENTA wyniki procesu weryfikacji REGUŁA 3. Stan konwersacji 3 Stan konwersacji 4 ON DORADCA KLIENTA otrzymał wyniki weryfikacji wiarygodności IF Pozytywna weryfikacja wiarygodności AND DORADCA KLIENTA skompletował wszystkie dane do wniosku kredytowego THEN DORADCA KLIENTA wysłał do ANALITYKA KREDYTOWEGO żądanie ustalenia zdolności kredytowej REGUŁA 4. Stan konwersacji 4 Stan konwersacji 5 ON ANALITYK KREDYTOWY otrzymał żądanie wykonania oceny zdolności kredytowej IF ANALITYK KREDYTOWY określił podstawowy dochód netto potencjalnego kredytobiorcy THEN ANALITYK KREDYTOWY wysłał do URZĘDNIKA DEPARTAMENTU RYZYKA zapytanie o aktualną wartość parametru PRZECIĘTNE WYNAGRODZENIE. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 16

REGUŁA 5. Stan konwersacji 5 Stan konwersacji 6 ON URZĘDNIK DEPARTAMENTU RYZYKA kredytowego otrzymał zapytanie o aktualną wartość parametru PRZECIĘTNE WYNAGRODZENIE IF URZĘDNIK DEPARTAMENTU RYZYKA ustalił wartość parametru PRZECIĘTNE WYNAGRODZENIE THEN URZĘDNIK DEPARTAMENTU RYZYKA przesłał do ANALITYKA KREDYTOWEGO aktualną wartość parametru PRZECIĘTNE WYNAGRODZENIE. REGUŁA 6. Stan konwersacji 6 Stan konwersacji 7 (stan końcowy) ON ANALITYK KREDYTOWY otrzymał aktualną wartość parametru PRZECIĘTNE WYNAGRODZENIE IF ANALITYK KREDYTOWY ustalił zdolność kredytową THEN ANALITYK KREDYTOWY przesłał do DORADCY KLIENTA wyniki oceny zdolności do spłaty kredytu dla potencjalnego kredytobiorcy. REGUŁA 7. Stan konwersacji 2 Stan konwersacji 2.1 (stan końcowy) ON URZĘDNIK WYWIADU GOSPODARCZEGO otrzymał żądanie sprawdzenia wiarygodności IF URZĘDNIK WYWIADU GOSPODARCZEGO znalazł powody negatywnej weryfikacji potencjalnego kredytobiorcy i sklasyfikował go, jako klienta niepożądanego THEN URZĘDNIK WYWIADU GOSPODARCZEGO wysłał do DORADCY KLIENTA wyniki procesu weryfikacji a doradca klienta zakończył proces. Zadanie 3 Przygotuj model komunikacji odbywającej się w ramach procesu aukcyjnego (protokół aukcji angielskiej). Przypisz agentom nazwy i zdefiniuj krótko ich odpowiedzialności. Korzystając z przykładu z poprzedniego zadania opracuj specyfikację konwersacji zawierającą opis performatywów, stanów oraz reguł tranzycji. Utwórz model komunikacji z wykorzystaniem diagramu stanów. Uzasadnij krótko dobór każdego z performatywów. Zadanie 4 Przygotuj model komunikacji odbywającej się w ramach procesu przyznawania stypendium (zgodnie z regulaminem studiów). Przypisz agentom nazwy i zdefiniuj krótko ich odpowiedzialności. Opracuj specyfikację konwersacji zawierającą opis performatywów, stanów oraz reguł tranzycji. Utwórz model komunikacji z wykorzystaniem diagramu stanów. Uzasadnij krótko dobór każdego z performatywów. Wyższa Szkoła Informatyki i Zarządzania z siedzibą w Rzeszowie 17