*

Historia Sztucznej InteligencjiArtificial Intelligence Experts

Inteligentne architektury systemu

Informatycy opracowali różne sposoby łączenia dużych programów składających się z wielu specjalistycznych podprogramów. Tradycyjna struktura kontrolująca działanie większości programów polega na tym, że główny program wykonuje instrukcje krok po kroku, pobierając i przechowując dane w pamięci, wykonując różne operacje na takich danych oraz podejmując inne dozwolone działania. Niektóre instrukcje w programie głównym mogą polegać na "wywołaniu" podprogramu i przekazaniu mu kontroli. Podprogramy z kolei mogą wywoływać inne podprogramy i tak dalej. Po tym, jak podprogram nie wykona tego, do czego został powołany, ogólna kontrola powraca do programu, który go wywołał, który może następnie wywołać inny podprogram i tak dalej, aż do kontroli końcowej wraca do programu głównego. Ostatecznie program główny może ostatecznie zakończyć działanie, po wykonaniu wszystkich swoich działań lub może kontynuować działanie (w zasadzie na zawsze), ponieważ podobnie jak program, który rezerwuje linie lotnicze na żądanie dla wszystkich korzystających z niego, jego praca nigdy się nie kończy. Ten schemat to tak zwana architektura von Neumanna. Istnieje wiele opracowań na temat tego ogólnego pomysłu. "Przerwania" mogą być zawarte w programach i podprogramach. Są one zawsze czujne na specjalne warunki w samym systemie komputerowym lub w środowisku - warunki, które, jeśli zostaną spełnione, wymagają natychmiastowego przekazania kontroli programom, które są w stanie poradzić sobie z takimi warunkami. Na przykład komputerowe systemy operacyjne zależą od przerwań, aby reagować na dane wejściowe użytkownika i inne rzeczy związane ze sprzętem komputerowym. Najwcześniejsze programy AI działały na komputerach, które korzystały z architektury von Neumanna, dlatego naturalne było, że architektura programów (czyli sposób, w jaki one były zorganizowane) była zgodna ze stylem działania komputera von Neumanna. Zrobili to, mimo że z czasem programy niższego poziomu, które faktycznie kontrolowały komputer, stopniowo stawały się bardziej złożone w sposób, którego programiści nie musieli zauważać. Na przykład jedna innowacja ważna dla uruchamiania programów napisanych w LISP polegała na bardziej efektywnym wykorzystaniu cennych zasobów pamięci komputerowej. Tak zwane procedury czyszczenia pamięci od czasu do czasu skanowały pamięć komputera w celu znalezienia struktur, które nigdy więcej nie będą używane. Pamięć używana do przechowywania tych struktur może być następnie odzyskana w celu wykorzystania do przechowywania nowych struktur list. Twórcy programów mogą zignorować ten aspekt architektury oprogramowania komputerowego niższego poziomu i mogą pisać swoje styl von Neumann, kolejno uruchamiając programy, jakby mieli dużo dostępnej pamięci.W przeciwieństwie do koncepcji von Neumanna polegającej na wykonywaniu instrukcji jedna po drugiej, można wyobrazić sobie architekturę, w której wiele instrukcji jest wykonywanych jednocześnie. Taki "paralelizm" można osiągnąć albo przez faktyczne posiadanie kilku procesorów sprzętowych, na których programy są hodowane do wykonania, albo przez symulację równoległej pracy na prostszej architekturze von Neumanna, w której programy są tak naprawdę wykonywane sekwencyjnie, ale programiści, z tego, co wiedzą, pomyśl o nich jako o jednoczesnym działaniu. Na przykład w niesymbolicznym świecie sieci neuronowych można sobie wyobrazić grupy elementów neuronowych działających jednocześnie, mimo że symulacje tych sieci muszą kolejno rozpatrywać każdy element neuronowy. W Pandemonium demony (być może niektóre zaimplementowane przez elementy neuronalne, a niektóre zaimplementowane przez programy) mogły działać równolegle, ale programy Selfridge musiały symulować taką równoległość. Symulację równoległości można również osiągnąć dzięki systemowi "dzielenia czasu", w którym użytkownik (lub kilku różnych użytkowników) może sobie wyobrazić, że wszystkie ich programy działają jednocześnie. Nowoczesny komputer ,system operacyjny, taki jak UNIX, Windows lub Mac OS, to bardzo złożona agregacja programów, których organizacja (to znaczy rchitektura) musi być bardzo starannie zaprojektowana. Wykorzystują zarówno rzeczywisty sprzęt równoległy (jak w tak zwanych systemach wielordzeniowych), jak i współużytkowanie czasu, dzięki czemu użytkownicy mogą na przykład uruchamiać programy poczty e-mail jednocześnie (o ile wiedzą) z programami arkuszy kalkulacyjnych.

Architektury obliczeniowe

Architektury trójwarstwowe

Opisano już, w jaki sposób elementy jednego systemu AI, Shakey, zostały zorganizowane w grupy wysokiego, średniego i niskiego poziomu - architektura "trójwarstwowa". Na rysunku poniżej pokazano jak programy i dane Shakeya można pogrupować w poziomy.



Interakcje między programami na tych poziomach ilustrują linie łączące. Wszystkie percepcyjne i podstawowe programy ruchowe Shakeya zostały osadzone w działaniach na niskim poziomie, podczas gdy działania na poziomie pośrednim łączyły działania na niskim poziomie na różne sposoby, aby wykonywać niektóre typowe zadania. Wysoki poziom odpowiadał za planowanie i ogólną realizację planów. Trójwarstwowe architektury, takie jak ta stosowana przez Shakey, były (i nadal są) stosowane w kilku innych systemach robotów. Jako Erann Gat, badacz, który wykorzystał te architektury w Jet Propulsion Laboratory, podkreśla w swojej pracy badawczej, Trójwarstwowa architektura wynika z obserwacji empirycznej, że skuteczne algorytmy sterowania robotami mobilnymi dzielą się na trzy odrębne kategorie: 1) algorytmy sterowania reaktywnego, które mapują czujniki bezpośrednio na siłownikach z niewielkim stanem wewnętrznym lub bez niego, 2) algorytmy rządzące rutynowymi sekwencjami czynności, które w dużej mierze opierają się na stanie wewnętrznym, ale nie przeprowadzają wyszukiwania, oraz 3) czasochłonne (w stosunku do tempa zmiany środowiska) oparte na wyszukiwaniu algorytmy, takie jak planiści. Kilka trójwarstwowych architektur opisanych przez Gat opiera się na trójwarstwowym schemacie R. Jamesa Firby'ego przy użyciu " Reactive Action Packages "(RAP). Raporty RAP są dość podobne do programów telereaktywnych, ponieważ grupują razem i opisują wszystkie znane sposoby wykonania zadania w różnych sytuacjach. Współczesnym przykładem trójwarstwowej architektury jest ta używana przez niemiecki "widzący samochód osobowy", VaMoRs-P, opisany przez Ernsta D. Dickmannsa i współpracowników.

Architektury wielowarstwowe

Jako alternatywa dla trójwarstwowych systemów, z których wszystkie obejmowały: poziom planowania, Rodney Brooks i inni zaproponowali takie architektury które kontrolowały działania robota w sposób, który reagował bezpośrednio na zmiany w otoczeniu (zgodnie z wyczuciem) bez potrzeby planowania. Pierwotnie zwane "architekturami subsumpcji", później nazwano je "opartymi na zachowaniu", ponieważ składały się one ze specjalnie zaprogramowanych zachowań robotów. Różne zachowania, na przykład "wędrówka", "unikanie przeszkód" i "eksploruj" są ułożone w poziomach, z których każdy reaguje na własny zestaw bodźce środowiskowe i każdy w stanie kontrolować robota w zależności od wykrytej sytuacji. To ścisłe powiązanie i interakcja z tym, co dzieje się w środowisku, powoduje to, co niektórzy nazywają "zachowaniem wschodzącym". Jak ujęli to Maja Matariffic i Francois Michaud, na przykład robot, który zadokuje się innymi robotami, może nie mieć określonego zachowania flokującego; zamiast tego jego interakcja ze środowiskiem i innymi robotami może powodować flokowanie, chociaż jego jedynymi zachowaniami mogą być unikanie kolizji, pozostawanie blisko grupy i kontynuowanie pracy James Albus, w National Institute of Standards i Technologia (wcześniej National Bureau of Standards) opracowały coś, co nazwał "architekturą modelu referencyjnego". Architektura składa się z wielu warstw "systemów sterowania w czasie rzeczywistym" (RCS) opracowanych wcześniej w NIST jako elementów "teorii inteligencji". (Albus twierdzi, że jego model RCS został pierwotnie zainspirowany modelem móżdżku, który wymyślił on i David Marr.) Każdy RCS "dzieli problem sterowania na cztery podstawowe elementy: generowanie zachowań (lub rozkład zadań), modelowanie świata, przetwarzanie sensoryczne, oraz (w nowszych wersjach) ocenianie wartości. Grupuje te elementy w węzły obliczeniowe, które są odpowiedzialne za określone podsystemy, i rozmieszcza te węzły w hierarchicznych warstwach, tak aby każda warstwa miała charakterystyczną funkcjonalność i czas. " Warstwowa struktura RCS, zwana NASREM (dla NASA / NBS Standard . Model referencyjny), został zaproponowany jako architektura dla latającego tele-robota servicera na stacji kosmicznej. W każdej warstwie jednostki RCS mają komponenty przetwarzania sensorycznego (SP), komponenty modelowania świata (WM) i komponenty rozkładu zadań (TD). Najniższa warstwa RCS jest zasadniczo serwosterownikiem; w miarę przesuwania się w górę hierarchii, RCS wykonują coraz bardziej strategiczne zadania. Albus i jego zespół z NIST opracowali różnorodne architektury przy użyciu warstw. Zainspirowany architekturą Albusa opracowano taką, którą nazwano "architekturą potrójnej wieży" . Najniższy poziom centralnej wieży modelowej odbiera dane wejściowe przez czujniki bezpośrednio z otoczenia i przechowuje je jako prymitywne predykaty percepcyjne. Programy (reprezentowane jako reguły) w Wieży Percepcji reprezentują te prymitywne predykaty jako bardziej abstrakcyjne {dodając je do Wieży Modelowej. Ten proces tworzenia coraz wyższych abstrakcji przebiega stopniowo aby udoskonalić Wieże Percepcji i Modele. W wieży akcji procedury działania na najniższym poziomie są prostymi refleksami, wywoływanymi przez predykaty w wieży modelu odpowiadające pierwotnym predykatom. Bardziej złożone działania są wywoływane przez bardziej abstrakcyjne predykaty odpowiednie dla tych działań. Akcje wysokiego poziomu wywołują inne akcje, aż proces osiągnie prymitywne akcje, które faktycznie wpływają na środowisko. Działania w wieży akcji miały być programowane przy użyciu mojego tele-reaktywnego języka. Postrzegane efekty tych działań z kolei zmieniają wartości predykatów w Wieży Modelowej, wywołując być może różne działania. Aby wiernie modelować trwające zmiany środowiskowe, jako część wieży modelowej dołączono system utrzymania prawdy (TMS). TMS w sposób ciągły usuwa predykaty i wartości z Wieży Modelowej, których nie można już uzyskać (na podstawie reguł percepcyjnych) z obecnych wówczas składników Wieży Modelowej. Jedyną implementacją tej architektury, którą znam, było sterowanie symulowanym robotem układającym klocki. Opisałem już architekturę tablicy, opracowaną na Carnegie Mellon University dla jej systemu rozumienia mowy HEARSAY-II (patrz str. 279). Został również wykorzystany w systemie HASP / SIAP do nadzoru oceanów (patrz str. 321). Jak wcześniej zacytowałem Russella i Norviga, systemy \ Blackboard są podstawą nowoczesnej architektury interfejsu użytkownika. "Są one również wykorzystywane w kilku aplikacjach komputerowych, w tym na przykład w automatycznym systemie adnotacji genomu do przewidywania lokalizacji genów i struktur. Powiedziałem wcześniej, że tablica jest warstwową strukturą pamięci, w której programy o nazwie \ źródła wiedzy mogą odczytywać dane i zapisuj dane w różnych warstwach. Zazwyczaj KS może wyszukać, a następnie odczytać niektóre dane z jednej lub więcej warstw, wykonać niektóre obliczenia przy użyciu tych danych, a następnie zapisać wyniki tych obliczeń w jednej lub więcej warstwach. Administrator decyduje, które KS, które widzą dane, na których mogą działać, powinny być aktywne. W niektórych aplikacjach jednocześnie może być aktywnych kilka KS. Wynikiem tego wszystkiego jest bardzo dynamiczny proces, w którym dane na tablicy stale się rozwijają, ostatecznie wytwarzając pożądane informacje, takie jak przewidywanie lokalizacji genu, rozpoznawanie zdania lub interpretacja sygnałów sonaru oceanicznego. Ponieważ informacje na jednej warstwie tablicy mogą powodować, za pośrednictwem KS, pojawienie się innych informacji na dowolnym innym poziomie, architektura tablicy tablic zapowiadała propagację prawdopodobieństwa w górę iw dół w modelach korowych.

Architektura BDI

Michael Georgeff i inni zaproponowali agenta architektury oparte na filozoficznych koncepcjach przekonań, pragnień i intencji. Są to tak zwane architektury BDI. Przekonania agenta reprezentują jego wiedzę na temat jego środowiska (w tym siebie i innych agentów), zwykle wyrażoną w jakimś logicznym języku, takim jak rachunek predykatów pierwszego rzędu. (Słowo "przekonanie" jest używane zamiast "wiedzy", ponieważ przekonania agenta mogą ulec zmianie i mogą nie modelować dokładnie jego otoczenia.) Pragnienia agenta reprezentują cele agenta - sytuacje, które chce osiągnąć. Intencje agenta reprezentują pragnienia, które agent faktycznie postanowił osiągnąć. Oznacza to, że zaczął realizować plan ich osiągnięcia. Na przykład architektury BDI, w odróżnieniu od opartych na zachowaniu, reaktywnych, wyraźnie reprezentują przekonania, pragnienia i intencje jako rzeczywiste struktury danych. Mówiąc tak ogólnie, niektóre schematy architektoniczne, o których już wspomniałem, można uznać za architektury BDI. Shakey, na przykład, miał przekonania (swój model świata), w każdej chwili otrzymywał pragnienie (swój cel), a jego system wykonawczy czasami był w trakcie realizacji planu (swojej intencji), aby osiągnąć ten cel. Georgeff i współpracownicy zaproponowali jednak specjalną wersję architektury BDI, którą nazwali Systemowym Rozumowaniem Proceduralnym (PRS). Oto, w skrócie, jak działa ta architektura.

•  Baza danych składa się z aktualnych przekonań agenta na temat jego środowiska (w tym samego siebie) i obszaru tematycznego. Niektóre przekonania są początkowo instalowane przez projektanta, a niektóre uzyskuje agent poprzez aparat percepcyjny i mechanizmy wnioskowania. W PRS przekonania są reprezentowane przez wyrażenia w rachunku predykatów pierwszego rzędu.
•  Cele (pragnienia agenta) są warunkami do osiągnięcia i mogą odnosić się zarówno do świata zewnętrznego, jak i do wewnętrznych stanów agenta.
•  Biblioteka planów KA zawiera tak zwane "obszary wiedzy" (KA). Każda KA jest określoną procedurą określającą plan wykonania zadania, takiego jak podniesienie obiektu. KA składa się z ciała, które opisuje etapy procedury i warunek wywołania , który określa, w jakich sytuacjach KA może być użyteczny stosowany. Jednostki "prymitywne" nie mają ciał, ale odnoszą się bezpośrednio do działań wykonalnych przez system. Są też takie KA wybierane spośród wielu odpowiednich KA, modyfikowane i manipulowane intencjami oraz obliczające ilość argumentów, które należy poświęcić na problem, biorąc pod uwagę ograniczenia w czasie rzeczywistym.
•  Struktura intencji zawiera zadania, które system wybrał do wykonania. Zamiar wyraża się jako główny KA wraz ze wszystkimi jednostki podrzędne KA, które są używane do wykonania głównej KA.
•  Tłumacz uruchamia system. Utrzymuje pozostałe komponenty systemu i wybiera zamiar ze struktury intencji (KA) do wykonania. Jedną z cech PRS jest to, że wykonanie KA może zostać przerwane przez pewne postrzegane sytuacje (takie jak sytuacje awaryjne), co da jej zdolność do szybkiego reagowania na nieprzewidziane zmiany w otoczeniu.

Było kilka zastosowań architektury w stylu PRS, w tym radzenie sobie z wadliwym działaniem promu kosmicznego i sterowanie autonomicznym robotem. Oprócz konkretnych pomysłów architektonicznych, które właśnie opisałem, pojawiło się wiele innych ogólnych sugestii dotyczących organizacji inteligentnych systemów, z których niektóre zaowocowały uruchomieniem programów (lub przynajmniej języków programowania, w których można pisać uruchomione programy). Pojawiło się kilka propozycji systemów zdolnych do tak zwanego "rozumowania na poziomie meta", czyli rozumowania na temat sposobu rozumowania. Spośród nich wymienię Briana Smitha i System 3-LISP i system FOL Richarda Weyhraucha, które były w stanie "zastanowić się" nad własnymi procesami. Systemy wnioskowania na poziomie meta zaproponowali również Pat Hayes, Michael Genesereth, Stuart Russell i Eric Wefald Ważne rozważania na temat problemu na poziomie meta przy podejmowaniu decyzji o tym, jak najlepiej rozwiązać problem na poziomie podstawowym, obejmują szacunki oczekiwanych kosztów i zalety różnych metod rozwiązania. Eric Horvitz jako pionier zastosował "teorię decyzji do kontrolowania rozwiązywania trudnych problemów, biorąc pod uwagę ograniczenia i niepewność w zasobach wnioskowania". Od tego czasu stosowanie metod probabilistycznych i teorii decyzji w rozumowaniu na poziomie meta stało się ważną częścią sztucznej inteligencji Badania. Czasopismo "Sztuczna inteligencja" poświęciło temu zagadnieniu specjalną kwestię w 2001 r. Pomysły Marvina Minsky′ego na temat "społeczeństwa umysłu" również sugerują potencjalne projekty inteligentnych systemów, mimo że nie były one wystarczająco szczegółowe do natychmiastowego wdrożenia. Takie "społeczeństwo" składałoby się z dużej liczby prostych "agentów", z których żaden nie byłby wystarczająco potężny ani kompletny, aby sam był bytem inteligentnym, ale "umysł" prawdopodobnie wyłoniłby się z ich wspólnych zachowań i interakcji. W podobnym tonie William Kornfeld i Carl Hewitt zasugerowali, że inteligentny system powinien być zorganizowany w sposób podobny do "społeczności naukowej", wykorzystującej indywidualne i równoległe badania, publikację i krytykę

Architektury dla grup agentów

Należy się spodziewać, że inteligentni agenci będą istnieć w środowiskach zawierających inne inteligentne czynniki, zarówno ludzi, jak i maszyny. Wielu z tych agentów będzie współpracować lub konkurować w wykonywaniu swoich zadań. Ważnymi tematami sztucznej inteligencji stały się strategie komunikacji między agentami i architektury wieloagentowe. Zwróciłem już uwagę na interakcje między systemami AI a ludźmi. Te interakcje wykorzystują ograniczone wersje języka naturalnego lub innego rodzaju urządzenia interfejsu użytkownika. Rzeczywiście świat jest pełen komputerów komunikujących się z innymi komputerami za pośrednictwem sieci przy użyciu specjalnie zaprojektowanych protokołów. Chciałbym tutaj porozmawiać o tym, w jaki sposób wykorzystywane są metody sztucznej inteligencji, aby umożliwić bardziej elastyczną i efektywną komunikację między agentami sztucznej inteligencji, niż byłoby to możliwe przy komunikacji stałej i protokołach organizacyjnych. Agenci AI powinni móc planować komunikację z innymi agentami wraz z planowaniem innych działań. Ponadto muszą być w stanie interpretować komunikację innych agentów wraz z tłumaczeniem innych danych percepcyjnych. Aby to zrobić, muszą wziąć pod uwagę oczekiwane działania, wiedzę i cele innych agentów. Niektóre z wczesnych prac nad tak zwanymi "systemami wieloagentowymi" (wcześniej "rozproszona AI") wykonał Victor Lesser z University of Massachusetts i Lee Erman z Carnegie Mellon University. Zaadaptowali pomysły architektury tablicy do HEARSAY-II, aby opracować system, który nazwali DISTRIBUTED HEARSAY-II. Było to połączenie kilku rozproszonych tablic, z których każda ma własne KS, komunikujących się między sobą w celu przetworzenia aszumionyh sygnałów pochodzących z wielu rozproszonych źródeł. Lesser i Erman przewidzieli zastosowania w kilku obszarach, w tym w "sieciach czujników (składających się z radaru małej mocy, detektorów akustycznych lub optycznych, sejsmometrów, hydrofonów itp.), kontroli ruchu w sieci (motoryzacyjnej), kontroli zapasów (na przykład wynajmu samochodów) , sieci elektroenergetyczne i zadania z wykorzystaniem robotów mobilnych ". Jak zauważyli, "architektura, która lokalizuje możliwości przetwarzania w lokalizacjach czujników i wymaga jedynie ograniczonej komunikacji między procesorami, jest szczególnie korzystna i być może jest to jedyny sposób, aby sprostać wymaganiom odpowiedzi w czasie rzeczywistym, ograniczonej przepustowości komunikacji oraz niezawodności." Lesser i koledzy kontynuuowali prace nad systemami wieloagentowymi w MAS Lab na University of Massachusetts w Amherst. Opierając się na pracy w ramach projektu DISTRIBUTED HEARSAY-II, opracowali "Distributed Vehicle Monitoring Testbed" (DVMT). Badania z wykorzystaniem stanowiska testowego koncentrowały się na śledzeniu ruchu pojazdu za pomocą rozproszonej sieci czujników i były źródłem informacji do testowania metod kooperacyjnego, rozproszonego rozwiązywania problemów. Po pracach DVMT przeprowadzono szereg innych projektów systemów wieloagentowych. Na przełomie lat 70. i 80. opracowano kilka pomysłów koordynowania działań wielu agentów. Jednym z nich był system Contract Net opracowany przez Reida Smitha. Opierał się on na protokole i "procesie negocjacji" w celu "komunikacji i kontroli rozwiązywania problemów dla węzłów w rozproszonym rozwiązaniu problemu". Wczesna aplikacja obejmowała rozproszoną sieć czujników, w której lokalizacje i typy czujników były znane dopiero po wdrożeniu czujnika. Innym ważnym systemem był "Multi-Agent Computing Environment" (MACE) opracowany przez Lesa Gassera i współpracowników z University of Southern California. Artykuł o MACE opisuje to w następujący sposób:
"MACE… jest instrumentalnym testem do budowy szerokiej gamy eksperymentalnych systemów rozproszonej sztucznej inteligencji…Jednostki obliczeniowe MACE (zwane "agentami") działają równolegle i komunikują się za pośrednictwem komunikatów. Zapewniają opcjonalne udogodnienia dla reprezentacja wiedzy (światowa wiedza, modele innych agentów, ich cele i plany, ich role i możliwości itp.) oraz możliwości wnioskowania"

Ciekawa aplikacja do badań systemów wieloagentowych obejmuje roboty współpracujące (i konkurencyjne). Profesor Manuela Veloso z Carnegie Mellon University jest jednym z głównych badaczy pracujących w tej dziedzinie. Oprócz pracy nad "badaniami nad inteligentnymi robotami, które współpracują, obserwują, rozumują, działają i uczą się", była aktywna w meczach RoboCup robotów grających w piłkę nożną. Zazwyczaj w tych meczach każdy robot ma własne możliwości wykrywania i przetwarzania. Każdy musi wziąć pod uwagę działania innych graczy i ich działania. RoboCup to międzynarodowy wspólny projekt. . . wspieranie badań nad sztuczną inteligencją i inteligentnymi robotami poprzez dostarczenie standardowego problemu, w którym można zintegrować i zbadać szeroki zakres technologii. "Jego ostatecznym celem jest rozwój zespołu w pełni autonomicznych robotów humanoidalnych, które [do 2050 r.] mogą wygrać z drużyna mistrzów świata w piłce nożnej. " Niektórzy z was będą w pobliżu, aby zobaczyć. Gdy otoczenie obejmuje innych agentów, z którymi agent musi współpracować lub konkurować, ważne jest, aby ten agent posiadał modele tych innych agentów jako część swojego modelu środowiskowego. Modele te powinny zawierać informacje o tym, w co wierzą inni agenci i jak można modyfikować te przekonania. Aby poradzić sobie z takimi sprawami, badacze zaczęli rozważać problemy, takie jak to, jak agent A powinien reprezentować dla siebie, że agent B zna jakiś fakt P i pod jakimi warunkami agent A powinien powiedzieć jakiś fakt P, agentowi B. Jedną z głównych trudności było rozróżnienie między A wiedzącym, że B wie (P ∨ Q), a A wiedzącym, że B zna P lub B wie P: Innym było to, w jaki sposób agent A może uzasadnić przekazanie agentowi B faktu na temat jakiegoś obiektu, powiedzmy OB, gdy A nie zna nazwy, którą B używa dla OB. Jeszcze inna dotyczyła tego, co A mógłby założyć na temat wniosków, do których B może dojść Własna rea B. procesy soningowe. Zaproponowano różne rozwiązania. Najważniejsze z nich dotyczyło tak zwanej "logiki epistemicznej" (logiki wiary). Agent, który ma wiedzę na temat tego, co wie inny agent i co może wyciągnąć, jest w stanie spróbować dodać, poprawić lub wyciągnąć wnioski z wiedzy tego innego agenta. Dostosowanie i uczenie się na podstawie wiedzy innego agenta jest kluczem do współpracy między agentami i wymaga komunikacji od nadawcy do odbiorcy oraz zrozumienia i możliwej zgodności ze strony odbiorcy. Naukowcy zauważyli, że istnieje kilka rodzajów działań komunikacyjnych. Są one zwykle nazywane "aktami mowy", nawet jeśli komunikacja odbywa się za pomocą środków innych niż mowa. Wiele z tych rodzajów zostało wcześniej sklasyfikowanych przez Johna Searle′a po pracy Johna L. Austina. Głównymi z nich do użytku przez wielu agentów są "asertywni" "za przekazywanie faktów od jednego agenta do drugiego", "dyrektywy" dotyczące żądania lub nakazania odbiorcy podjęcia pewnych działań oraz "komisje" za obietnicę, że nadawca popełni pewne działanie. Gdy komunikacja między agentami zostanie rozpatrzona w kategoriach działań, można pomyśleć o generowaniu planów za pomocą tych działań: Philip R. Cohen z BBN i C. Raymond Perrault z University of Toronto byli wśród tych, którzy to zrobili. REQUEST i INFORM (na podstawie wcześniejszych "asertywów" i "dyrektyw") oraz proponowane warunki, na jakich można by wykonać te akty i jakie byłyby ich skutki. Warunki i skutki zostały określone w kategoriach logicznych wyrażeń lub umieszczane w bazach wiedzy nadawcy i odbiorcy (lub pochodnych) (Założono, że zarówno nadawca, jak i odbiorca musi mieć wiedzę na temat wzajemnej znajomości i tego, że mogliby ją uzasadnić.) System planowania, podobnie jak STRIPS, mógłby następnie generować plany składające się z wystąpień aktów mowy, które osiągnęłyby pożądane efekty. Akty mowy Cohena i Perraulta stanowiły podstawę akronimu KQML dla języka manipulacji kwerendą wiedzy. KQML został opracowany przy wsparciu DARPA w ramach inicjatywy "dzielenia się wiedzą" .Określa różne działania komunikacyjne, które mogą odbywać się między agentami, takie jak pytanie-jeśli, informowanie, mówienie i odpowiadanie. KQML wykorzystuje KIF (format wymiany wiedzy), a język oparty na rachunku predykatu pierwszego rzędu, do wyrażania zawartości wiadomości. Gdy więc agent A chce wysłać wiadomość do agenta B, koduje treść wiadomości w KIF, a następnie zawija ją w odpowiednie działanie komunikacyjne KQML Oto na przykład typowe okno dialogowe KQML / KIF:

A to B: (ask-if (> (size chip1) (size chip2)))
B to A: (reply true)
B to A: (inform (= (size chip1) 20))
B to A: (inform (= (size chip2) 18))

Fundacja na rzecz inteligentnych agentów fizycznych (FIPA), zainspirowana projektami takimi jak KQML i KIF, powstała w Szwajcarii w 1996 roku. FIPA jest obecnie jednym z komitetów normalizacyjnych Towarzystwa Komputerowego IEEE. Jego standardy "mają na celu promowanie współpracy heterogenicznych agentów i usług, które mogą reprezentować". Zajmują się komunikatami "Agent Communication Language" (ACL) i przewidują "protokoły interakcji wymiany komunikatów, akty komunikacyjne oparte na teorii mowy i reprezentacje językowe treści ". Obecnie istnieje kilka systemów i języków do wdrażania systemów wieloagentowych. Na przykład interpreter Jason typu open source dla języka opartego na logice AgentSpeak zapewnia użytkownikom platformę do tworzenia złożonych systemów wieloagentowych. Chociaż wiele pracy nad systemami wieloagentowymi koncentrowało się na aplikacjach, w których kilku agentów współpracuje w celu rozwiązania jakiegoś ogólnego problemu, zdarza się również, że agenci mogą być zainteresowani sobą, co może prowadzić do rywalizacji między nimi. Przykładem mogą być przeciwne drużyny robotów grających w piłkę nożną. Innymi przykładami są agenci zajmujący się handlem, np. kupujący i sprzedający (prawdopodobnie działający dla ludzi). Te aspekty badań wieloagentowych obejmują negocjacje i aukcje. Istnieją dobrze znane ramy, a mianowicie teoria gier do radzenia sobie z sytuacjami, w których sukces agenta w dokonywaniu wyborów zależy od wyborów innych agentów. Teorię gier wprowadzili do badań systemów wieloagentowych Jeff Rosenschein (1957 {) i Michael Genesereth (1948 {) w swoim artykule "Oferty wśród racjonalnych agentów". Obecnie systemy wieloagentowe stanowią główny podtemat sztucznej inteligencji, a teoria mowy i teoria gier należą do jej ważnych podstaw teoretycznych.

Architektury poznawcze

Systemy produkcyjne

Allen Newell i Herb Simon byli jednymi z pierwszych zainteresowanych komputerowymi modelami rozwiązywania problemów u ludzi. Opisanojuż GPS, General Problem Solver, który można uznać za jedną z pierwszych architektur procesów poznawczych. W tej części opiszę kilka innych tak zwanych architektur poznawczych. Jak później ujęli twórcy jednej rodziny tych architektur, [Architektura poznawcza] stanowi stałą bazę ściśle powiązanych mechanizmów leżących u podstaw inteligentnego zachowania. Architektura [taka] stanowi następnie podstawę do szeroko zakrojonych badań podstawowych inteligentnych możliwości {takich jak rozwiązywanie problemów, planowanie, uczenie się, reprezentacja wiedzy, język naturalny, percepcja i robotyka -a także zastosowania w takich obszarach, jak systemy eksperckie i modelowanie psychologiczne

Po pracy nad GPS, Newell i Simon skupili się na "systemach produkcyjnych", modelach wykorzystujących reguły IF - THEN, zwane produkcjami. Aby wygenerować podzadania, Newell i Simon byli zainteresowani zastosowaniem tych reguł do tworzenia akcji. Część IF była, jak zwykle, warunkiem, a część THEN była akcją, która została wykonana, jeśli warunek został spełniony w modelu. Newell i Simon wymyślili architekturę składającą się z dwóch rodzajów struktur pamięci. Jedna, "pamięć długoterminowa", składa się z reguł produkcji. Druga, pamięć krótkotrwała lub "pamięć robocza", zawiera dynamiczne informacje o wykonywanym zadaniu. Pamięć długoterminowa utrzymuje się z czasem i może zawierają tysiące reguł. Pamięć robocza zawiera dane, które mają być testowane przez części warunków reguł. Gdy warunek jest częścią reguły , dopasowuje dane w pamięci roboczej, która reguła "odpala"; to znaczy wykonywana jest jego część akcji. Wykonanie może spowodować zapis lub usunięcie (lub oba) niektórych danych w pamięci roboczej lub podjęcie pewnych działań w środowisku zewnętrznym. Kiedy dane w pamięci roboczej są zmieniane, różne reguły są czerwone, co ponownie zmienia dane i tak dalej. W przypadku, gdy więcej niż jedna część warunku reguły pasuje do danych w pamięci roboczej (co byłoby normalne), "Conflict Resolver" wybiera, który z nich (lub w przypadku pracy równoległej) powinien zostać uruchomiony. W tej wersji architektury, która generuje działania w środowisku zewnętrznym, system "Percepcji" jest w stanie zapisywać dane w pamięci krótkotrwałej, reprezentując wszelkie istotne cechy aktualnego stanu środowiska. Newell i Simon przeprowadzili szeroko zakrojoną eksperymentalną pracę z ludzkimi podmiotami wykonującymi zadania rozwiązywania problemów {pokazując, że ich wydajność można dobrze modelować przez działanie wersji tego schematu architektonicznego. Ich książka Human Problem Solving jest opisem większości tej pracy. Przeważnie uważali, że ich architektura systemu produkcyjnego jest wkładem w badania naukowe nad poznaniem człowieka, a nie propozycją strukturyzowania systemów AI. Komentując swoją książkę, Newell napisał później: "Celem było wykazanie, że psychologia jest wykonywana, a nie coś, co można by zaszufladkować w powiązaniu z komputerami". Jednak inni kojarzyli systemy produkcyjne z komputerami, w szczególności za pomocą języka komputerowego OPS5. Późniejsze propozycje architektur poznawczych, a mianowicie ACT-R i SOAR, były pod wpływem modelu systemu produkcyjnego i były wykorzystywane zarówno jako modele rozwiązywania problemów, jak i architektury systemów AI. Opiszę następnie te systemy

ACT-R

John R. Anderson i inni opracowali szereg architektur poznawczych zwanych ACT (Adaptive Control of Thought) na Uniwersytecie Carnegie Mellon. Najnowsze z tej serii modeli jest ACT-R ("R" oznacza racjonalne). Według strony internetowej ACT-R jest architekturą poznawczą: teorią symulującą i rozumiejącą ludzkie poznanie. Badacze pracujący nad ACT-R starają się zrozumieć, w jaki sposób ludzie organizują wiedzę i wytwarzają inteligentne zachowania. W trakcie badań ACT-R ewoluuje coraz bliżej w system, który może wykonywać pełen zakres ludzkich zadań poznawczych: szczegółowo uchwycić sposób, w jaki postrzegamy świat, myślimy o nim i działamy na nim. Istnieją trzy główne elementy: moduły, bufory i dopasowywanie wzorców. Moduł silnika może oddziaływać na środowisko poprzez procedury silnika lub na bufory ACT-R. Oprócz pokazanego modułu wizualnego mogą istnieć inne moduły percepcyjne dla odsłuchu, dotyku i tak dalej. Istnieją dwa typy modułów pamięci w ACT-R. Pamięć deklaratywna składa się z faktów, takich jak "Waszyngton, DC jest stolicą Stanów Zjednoczonych, Francja jest krajem w Europie, lub 2 + 3 = 5".Wiedza deklaratywna jest reprezentowana w ACT-R przez jednostki zwane fragmentami. składa się z reguł produkcji reprezentujących "wiedzę o tym, jak to robimy: na przykład wiedzę o tym, jak wpisać literę "Q" na klawiaturze, o tym, jak prowadzić, lub jak wykonać dodawanie ". Często nie jesteśmy w stanie werbalizować naszej wiedzy o tym, jak robimy pewne rzeczy: po prostu to robimy; dlatego wiedza o nich jest uważana za proceduralną, a nie deklaratywną. Bufory w ACT-R służą jako interfejsy między modułami. "Zawartość buforów w danym momencie reprezentuje stan ACT-R w tym momencie. Moduł dopasowujący wyszukuje produkcję, która pasuje do bieżącego stanu buforów. Tylko jedna taka produkcja może być wykonana w w danym momencie. Ta produkcja, gdy jest wykonywana, może modyfikować bufory i tym samym zmieniać stan systemu. Zatem w ACT-R poznanie rozwija się jako seria pierścieni produkcyjnych. " Według jednej ze stron internetowych ACT-R

ACT-R to hybrydowa architektura poznawcza. Jego symboliczną strukturą jest system produkcyjny; struktura podsymboliczna jest reprezentowana przez zbiór masowo równoległych procesów, które można streścić za pomocą szeregu równań matematycznych. Równania subsymboliczne kontrolują wiele procesów symbolicznych. Na przykład, jeśli kilka produkcji pasuje do stanu buforów, równanie użyteczności podsymbolicznej szacuje względny koszt i korzyść związane z każdą produkcją i decyduje się wybrać do wykonania produkcję o najwyższej użyteczności. Podobnie to, czy (lub jak szybko) fakt można odzyskać z pamięci deklaratywnej, zależy od subymbolicznych równań wyszukiwania, które uwzględniają kontekst i historię użycia tego faktu. Mechanizmy subsymboliczne są również odpowiedzialne za większość procesów uczenia się w ACT-R.

Modele ACT-R zostały wykorzystane do wyjaśnienia i symulacji szerokiej gamy zachowań poznawczych u ludzi, w tym uczenia się, przetwarzania języka, percepcji, rozwiązywania problemów i podejmowania decyzji. Istnieją setki (jeśli nie tysiące) artykułów opisujących tę pracę. Zastosowania ACT-R obejmują szeroki zakres tematów, od na przykład "przewidywania wpływu wybierania numeru telefonu komórkowego na wydajność kierowcy" po inteligentne systemy nauczania. W aplikacjach bardziej bezpośrednio związanych z AI, Greg Trafton i Alan C. Schultz w marynarce wojennej , Centrum Badań Stosowanych w Inteligencji Sztucznej (NCARAI) buduje "wbudowanego robota poznawczego" przy użyciu wersji ACT-R, którą nazywają ACT-R / E. Obejmuje "moduły wizualne i słuchowe" oraz "moduły motoryczne i przestrzenne" do percepcji i działania. Oprócz roli w wyjaśnianiu procesów psychologicznych, badania funkcjonalnego obrazowania rezonansu magnetycznego (fMRI) zostały wykorzystane do powiązania elementów architektury ACT-R z regionami mózgu aktywnymi w złożonych zadaniach.

SOAR

Na początku lat osiemdziesiątych John Laird, Allen Newell i Paul Rosenbloom rozpoczęli opracowywanie serii architektur poznawczych o nazwie SOAR (która, jak się pierwotnie mówi, była akronim od stanu, operatora i wyniku). Twórcy SOAR powiedzieli, że "ich ostatecznym celem dla architektury SOAR jest to, że służy ona jako podstawa zarówno dla ludzkiego, jak i sztucznego poznania". Podobnie jak ACT, SOAR ewoluował z pracy Newella i Simona nad GPS i systemami produkcyjnymi i zawierał pomysły dotyczące przestrzeni problemowych, wyszukiwania heurystycznego, nabywania umiejętności poznawczych i uczenia się. Laird i Rosenbloom byli doktorantami Newella i mieli ukończone rozprawy na temat aspektów SOAR. Istnieje szereg architektur SOAR, SOAR1 (w 1982 r.) Do SOAR9 (2008), każda z ulepszeniami w stosunku do swojego poprzednika. Niektóre z najnowszych wersji oprogramowania SOAR można pobrać z Internetu. Dokładne zrozumienie, w jaki sposób te różne wersje SOAR można najlepiej uzyskać, śledząc niektóre przykłady w artykułach i artykułach na temat SOAR.. SOAR jest czymś w rodzaju języka programowania z zestawem stałych procedur . Za pomocą tych procedur można "zaprogramować" różne rodzaje zadań w SOAR. Przykłady obejmują zarówno ulubione problemy sztucznej inteligencji "zabawki" (takie jak ósma układanka), jak i aplikacje "rzeczywiste" (takie jak konfiguracja systemów komputerowych i sterowanie robotem). SOAR rozwiązuje każde powierzone mu zadanie, tworząc i rozwiązując hierarchię podzadania. Każde zadanie (w tym główne i każde podzadania) jest postawiony jako cel znalezienia pożądanego stanu w "przestrzeni problemowej" składającej się z zestawu operatorów, które odnoszą się do bieżącego stanu w celu wytworzenia nowego stanu. Aby skonfigurować przestrzeń problemową, SOAR musi znać jej aktualny stan i jakie operatory można zastosować do tego stanu. Jeśli nie zna tych rzeczy bezpośrednio, powiedzmy z wcześniejszych doświadczeń, tworzy pomocniczą przestrzeń problemów, której celem jest ich odkrycie (i tak dalej). Gdy SOAR zdefiniuje przestrzeń problemową, musi wybrać operatora, który zastosuje się do bieżącego stanu w tej przestrzeni. Jeśli nie wie już, który operator zastosować, tworzy pomocniczą przestrzeń problemów, której celem jest znalezienie. Jak stwierdzono w tomie dokumentów SOAR, "mechanizmy SOAR tworzą ściśle powiązaną hierarchię warstw - pamięć, decyzja i cel {w którym każda warstwa tworzy wewnętrzną pętlę warstwy nad nią. Te warstwy rosną stopniowo zarówno pod względem złożoności, jak i czasu skaluj od dołu do góry hierarchii. " Konfigurowanie pomocniczych obszarów problemowych nazywa się "uniwersalnym podzadaniem" co może skutkować głębokim drzewem podzadań i obszarów problemowych. Gdy dotyczą one decyzji kontrolnych (na przykład, który operator zastosować), można powiedzieć, że SOAR "odzwierciedla" swoje własne zachowanie związane z rozwiązywaniem problemów. Proces uniwersalnego subgoalingu może wywoływać różnorodne tak zwane słabe metody, takie jak wspinanie się na wzgórze, analiza środków i wyszukiwanie heurystyczne, w zależności od wiedzy, którą SOAR wcześniej nauczył się o rodzaju zadania, nad którym pracuje System produkcyjny, ze zwykłymi strukturami pamięci długo- i krótkoterminowej, służy do ustawiania przestrzeni problemowych. Pamięć długoterminowa (LTM) przechowuje informacje niezależne od bieżącej sytuacji. Pamięć krótkotrwała lub robocza (WM) zawiera informacje, które są najbardziej istotne w obecnej sytuacji. SOAR uczy się, buforując wyniki swoich doświadczeń związanych z rozwiązywaniem problemów, zarówno jako produkcje w LTM, jak i ogólne fakty w WM dotyczące poprzednich sytuacji, które mogą być przydatne w przyszłych sytuacjach. Zestawienie sekwencji uczenia się wcześniej doświadczonych śladów rozwiązywania problemów nazywa się "dzieleniem", czasem używanym do opisania analogicznego uczenia się u ludzi. Istnieją trzy rodzaje struktur LTM, a mianowicie: proceduralne, semantyczne i epizodyczne. Oto jak opisuje je jeden z artykułów SOAR:

Wiedza proceduralna dotyczy tego, jak i kiedy robić rzeczy - jak jeździć na rowerze, jak rozwiązać problem algebry lub jak przeczytać przepis i użyć go do upieczenia ciasta. Wiedza semantyczna składa się z faktów o świecie -rzeczy, które ogólnie uważasz za prawdziwe - rzeczy, które "znasz", takie jak rowery, mają dwa koła, mecz baseballowy ma dziewięć zmian, a zmiana ma trzy zmiany. Wiedza epizodyczna składa się z rzeczy, które "pamiętasz" - specyficzne sytuacje, których doświadczyłeś, takie jak chwila, w której wypadłeś z roweru i podrapałeś się w łokieć.

LTM nie jest bezpośrednio dostępny, ale należy go "przeszukać", aby znaleźć to, co jest istotne w obecnej sytuacji. Mówiąc to nieco bardziej intuicyjnie, warto pomyśleć o tym, że LTM zawiera to, co może być istotne w wielu różnych sytuacjach, ale musi zostać jawnie odzyskane, a WM jako zawierający to, co według modelu jest istotne dla konkretnej sytuacji, w której się obecnie znajduje. Jednym z kluczowych rozróżnień między WM i LTM jest to, że wiedza w pamięci roboczej może być wykorzystana do odzyskania innej wiedzy z LTM, podczas gdy LTM musi być najpierw odzyskane do WM. Wiedza przenosi się z LTM do WM zarówno poprzez automatyczne, jak i celowe wyszukiwanie odpowiednich struktur LTM. Architektura SOAR (w różnych wersjach) była używana przez naukowcy z całego świata do różnych zadań. Intencją osób pracujących nad SOAR jest :

•  praca nad pełnym zakresem zadań oczekiwanych od inteligentnego agenta, od rutynowych do niezwykle trudnych, otwartych problemów,
•  reprezentować i wykorzystywać odpowiednie formy wiedzy, takie jak proceduralna, deklaratywna, epizodyczna i być może kultowa,
•  stosować pełen zakres metod rozwiązywania problemów,
•  interakcja ze światem zewnętrznym, oraz •  poznać wszystkie aspekty zadań i ich wykonywania na nich.

To wysokie zamówienie, więc bądźcie czujni. Jednym z interesujących obszarów zastosowania SOAR było programowanie automatycznych agentów jako stand-in dla ludzi w symulowanych ćwiczeniach treningowych. Na przykład TacAir-SOAR symuluje inteligentne zachowanie pilota taktycznego myśliwca. W 1998 r. Laird założył SOAR Technology, firmę Ann Arbor (Michigan) specjalizującą się w tworzeniu autonomicznych jednostek AI wykoryzstujących architekturę SOAR. ACT-R i SOAR są prawdopodobnie najbardziej znanymi architekturami poznawczymi, ale są też inne.