*

Historia Sztucznej InteligencjiArtificial Intelligence Experts

Reprezentacja wiedzy

Aby system był inteligentny, musi posiadać wiedzę o swoim świecie i środki do wyciągania wniosków lub przynajmniej działania na podstawie tej wiedzy. Zarówno ludzie, jak i maszyny muszą zatem mieć sposoby na reprezentowanie tej potrzebnej wiedzy w strukturach wewnętrznych, niezależnie od tego, czy są zakodowane w białku, czy w krzemie. Kognitywistyczni i badacze AI rozróżniają dwa główne sposoby reprezentacji wiedzy: proceduralną i deklaratywną. U zwierząt wiedza potrzebna do wykonania wyszkolonego działania, takiego jak uderzenie piłką tenisową, jest nazywana proceduralną, ponieważ jest zakodowana bezpośrednio w obwodach neuronowych, które koordynują i kontrolują to określone działanie. Analogicznie, systemy automatycznego lądowania w samolotach zawierają w swoich programach kontroli wiedzę proceduralną o ścieżkach i prędkościach lądowania, dynamice samolotu i tak dalej. W przeciwieństwie do tego, kiedy odpowiadamy na pytanie, takie jak "Ile masz lat?", Odpowiadamy deklaracyjnym zdaniem, na przykład "Mam dwadzieścia cztery lata". Każda wiedza, która jest najbardziej naturalnie reprezentowana przez zdanie deklaratywne, nazywana jest deklaratywną. W badaniach AI (i ogólnie w informatyce) wiedza proceduralna jest reprezentowana bezpośrednio w programach, które wykorzystują tę wiedzę, podczas gdy wiedza deklaratywna jest reprezentowana w symbolicznych strukturach, które są mniej więcej oddzielone od wielu różnych programów, które mogą wykorzystywać informacje w tych strukturach. Przykładami struktur symboli wiedzy deklaratywnej są te, które kodują logiczne stwierdzenia (takie jak McCarthy zalecany do reprezentowania wiedzy o świecie) oraz te, które kodują sieci semantyczne (takie jak Rafael lub Quillian). Zazwyczaj reprezentacje proceduralne, specjalizujące się w konkretnych zadaniach, są bardziej wydajne (podczas wykonywania tych zadań), podczas gdy deklaratywne, które mogą być używane przez wiele różnych programów, są bardziej przydatne. W tym rozdziale opiszę niektóre pomysły przedstawione w tym okresie w celu uzasadnienia i reprezentowania wiedzy deklaratywnej.

Odliczenia w logice symbolicznej

Arystoteles zaczął logikę od analizy sylogizmów. W dziewiętnastym wieku George Boole rozwinął podstawy logiki zdań, a Gottlob Frege poprawił ekspresyjną moc logiki, proponując język, który mógłby zawierać elementy wewnętrzne (zwane "terminami") jako część zdań. Późniejsze osiągnięcia różnych logików dały nam tak zwane dziś rachunek predykatów {ten sam język, w którym McCarthy zaproponował reprezentację wiedzy potrzebnej inteligentnemu systemowi. Oto przykład jednego z sylogizmów Arystotelesa, wyrażonych w języku rachunku predykatu:

1. (∀(x)[Man(x) ⊃ Mortal(x)]

(Wyrażenie "∀(x) "jest sposobem pisania " dla wszystkich x"; oraz wyrażenie "⊃" to sposób pisania "implikuje to." "Man (x) "to sposób pisania "x to człowiek "; a "Mortal (x)" to sposób pisania "x jest śmiertelny. "Zatem całe wyrażenie jest sposobem pisania "dla wszystkich x, x jest mężczyzną, co oznacza, że x jest śmiertelny" lub, równoważnie, "wszyscy ludzie są śmiertelni")
2. Człowiek (Sokrates)
(Sokrates jest mężczyzną.)
3. Dlatego Mortal (Sokrates)
(Sokrates jest śmiertelny).
Instrukcja 3, po "Dlatego", jest przykładem dedukcji logicznej. McCarthy zaproponował, aby wiedzę, jakiej inteligentny agent może potrzebować w konkretnej sytuacji, można wywnioskować z ogólnej wiedzy przekazanej mu wcześniej. Zatem w przypadku sztucznej inteligencji w stylu McCarthy potrzebujemy nie tylko języka (być może rachunku predykatów), ale także sposobu na dokonanie niezbędnych dedukcji na podstawie wyciągów w języku. Logicy opracowali różne metody dedukcyjne oparte na tak zwanych "regułach wnioskowania". Na przykład jedna ważna zasada wnioskowania nazywa się modus ponens (z łaciny dla "trybu, który potwierdza"). Stwierdza się, że jeśli mamy dwie logiczne instrukcje P i P ⊃Q, uzasadnione jest wydedukowanie instrukcji Q. Do lat 60. powstały programy, które mogłyby wykorzystywać reguły wnioskowania do udowodnienia twierdzeń w rachunku predykatów. Głównymi z nich byli Paul Gilmore z IBM, Hao Wang z IBM, i Dag Prawitz, 3z Uniwersytetu Sztokholmskiego. Chociaż ich programy mogłyby udowodnić proste twierdzenia, udowodnienie, że te bardziej złożone wymagałyby zbyt wielu poszukiwań. Dr Harvard student, Fisher Black), później współtwórca równania Blacka -Scholesa dla opcji cenowych, wykonał wczesną pracę nad wdrożeniem niektórych pomysłów McCarthy′ego.

Ale to były doktorant Stanforda, badacz SRI, C. Cordell Green, zaprogramował system QA3, który w pełni zrealizował zalecenie McCarthy′ego. Chociaż nie było trudno przedstawić światową wiedzę jako logiczne stwierdzenia, w czasie pracy Blacka brakowało skutecznej mechanicznej metody wyciągania wniosków z tych stwierdzeń. Green był w stanie zastosować nową metodę efektywnego rozumowania opracowaną przez Johna Alana Robinsona. Na początku lat sześćdziesiątych angielski (i amerykański) matematyk i logik John Alan Robinson opracował metodę dedukcji szczególnie dobrze dostosowaną do implementacji komputerowej. Opierała się on na zasadzie wnioskowania, którą nazwał "rozdzielczością". Chociaż pełny opis rozdzielczości wymagałby zbyt wielu szczegółów technicznych, jest to reguła (jak jest modus ponens), której aplikacja tworzy nową instrukcję z dwóch innych instrukcji. Na przykład: rozdzielczość zastosowana do dwóch instrukcji: ¬P ∨ Q, a P tworzy Q. (Symbol ¬ "jest sposobem pisania "not", a symbol "∨"jest sposobem pisania "or"). Rozdzielczość może być uważane za anulowanie P i ¬P w dwóch instrukcjach. (Rozdzielczość jest rodzajem uogólnionego modusa ponens, co widać z faktu, że ¬P ∨ Q jest logicznie równoważne z P ⊃ Q.) Ten przykład był szczególnie proste, ponieważ stwierdzenia nie miały wewnętrznych terminów. Kluczowym wkładem Robinsona było pokazanie, w jaki sposób można zastosować rozdzielczość do wyrażeń ogólnych w rachunku predykatów, wyrażenia takie jak: ¬P(x)∨Q (x) z terminami wewnętrznymi. Zaletą rozdzielczości jest że można go łatwo wdrożyć w programach, aby dokonać dedukcji z zestawu dzienników oświadczenia. Aby to zrobić, należy najpierw przekonwertować instrukcje na specjalną formę składającą się z tego, co logicy nazywają "klauzulami".(Luźno mówiąc, klauzula jest formułą, która używa tylko ∨ i oraz ¬ chociaż niektórzy, na przykład John McCarthy, narzekają, że konwersja może wyeliminować wskazówki o tym, jak najlepiej wykorzystać wyciągi w logicznych wnioskach).

Pierwsze użycie rozdzielczości było w programach komputerowych w celu udowodnienia twierdzeń matematycznych. (Technicznie rzecz biorąc, "twierdzenie" to dowolne zdanie logiczne uzyskane poprzez sukcesywne stosowanie reguły wnioskowania, takiej jak rozdzielczość, do członków podstawowego zestawu zdań logicznych, zwanych "aksjomatami ", oraz do stwierdzeń wywodzących się z aksjomatów.) Grupy w Argonne National Laboratories (Lawrence Wos), na University of Texas w Austin (Woody Bledsoe) i na University of Edinburgh (Bernard Meltzer) wkrótce rozpoczęły prace nad opracowywaniem programów dowodzących twierdzeń na podstawie rezolucji. Programy te były w stanie udowodnić twierdzenia, które wcześniej zostały udowodnione "ręcznie", a nawet niektóre nowe, nigdy wcześniej niepotwierdzone, matematyczne twierdzenia. Jeden z nich dotyczył przypuszczenia Herberta Robbinsa, że algebra Robbinsa była logiczna, został udowodniony w 1996 r. przez Williama McCune′a, wykorzystując automatyczną weryfikację twierdzeń. Jednak naszym problemem jest wykorzystanie metod dedukcyjnych w celu zautomatyzowania wnioskowania potrzebnego przez inteligentne systemy. Około 1968 r. zaprogramował Green (wspomagany przez innego studenta ze Stanford, Roberta Yatesa), w LISP, oparty na rozdzielczości system dedukcji o nazwie QA3, który działał na współdzielonym w czasie komputerze SRI SDS 940. (QA1, pierwszy test Greena, kierowany przez Bertrama Raphaela w SRI, był próbą ulepszenia wcześniejszego systemu SIR Raphaela. QA2 był pierwszym systemem Greena opartym na rozdzielczości, a QA3 był bardziej wyrafinowanym i praktycznym potomkiem.) "QA" oznaczało "odpowiedź na pytanie", "jedną z motywujących aplikacji. Przedstawię krótki przykład ilustrujący pytanie QA3 - zdolność zwijania zaczerpnięta z doktora Greenforda . Po pierwsze, do systemu przekazywane są dwie instrukcje, a mianowicie:

1. ROBOT (Rob)
(Rob jest robotem.)
2. (∀x) [MASZYNA(x) ⊃¬ ZWIERZĘTA (x)]
(x oznacza maszynę, co oznacza, że nie jest zwierzęciem).
Następnie pytany jest system "Czy wszystko jest zwierzęciem? ", Próbując wydedukować stwierdzenie
3. (∀x) ZWIERZĘTA (x)
QA3 nie tylko odpowiada "NIE, "stwierdzając, że takie odliczenie jest niemożliwe, ale także daje "kontrprzykład" jako odpowiedź na pytanie:
4. x = Rob
(Oznacza to, że ¬ANIMAL (Rob) zaprzecza temu, co miało być wydedukowane.)

Zastosowanie rozdzielczości, podobnie jak dowolnej reguły wnioskowania, w celu wyciągnięcia pewnych konkretnych wniosków z dużej liczby logicznych stwierdzeń, wiąże się z koniecznością podjęcia decyzji, do których dwóch stwierdzeń, spośród wielu możliwości, należy zastosować regułę. Następnie trzeba podejmować podobną decyzję raz za razem, aż, jak można się spodziewać, ostatecznie uzyska się pożądany wniosek. Podobnie jak w przypadku programów do gry w warcaby, rozwiązywania zagadek i dowodzenia twierdzeń geometrii, programy dedukcyjne stoją przed koniecznością wypróbowania wielu możliwości w poszukiwaniu rozwiązania. Podobnie jak w przypadku innych programów, opracowano różne metody wyszukiwania heurystycznego dla programów dedukcyjnych

Rachunek sytuacyjny

Green zdał sobie sprawę, że "odpowiadanie na pytania" było dość szerokim tematem. Można zadawać pytania na prawie wszystko. Na przykład można zapytać: "Co to jest program do zmiany kolejności liczb, aby były one coraz bardziej uporządkowane liczbowo?" Albo można zapytać: "Jaką sekwencję kroków powinien podjąć robot, aby złożyć wieżę z klocków z zabawkami? "Kluczem do zastosowania QA3 do odpowiedzi na tego rodzaju pytania było użycie" rachunku sytuacji " McCarthy′ego. McCarthy zaproponował wersję logikę nazwał "rachunkiem sytuacyjnym", w którym można napisać logiczne instrukcje, które wyraźnie określają sytuację, w której coś lub coś jest prawdą. Na przykład, jeden blok zabawki może znajdować się nad drugim w jednej sytuacji, ale nie w innej. wersja logiki McCarth′yego, w której sytuacja, w której coś było prawdą, pojawiła się jako jeden z terminów w wyrażeniu stwierdzającym, że coś było prawdą. Na przykład, aby powiedzieć, że blok A znajduje się nad blokiem B w pewnej sytuacji S ( uwzględniając fakt, że może się tak nie zdarzyć w innych sytuacjach),

On (A; B; S);

by powiedzieć, że blok A jest niebieski we wszystkich sytuacjach,
(∀s) Niebieski (A; s);
i aby powiedzieć, że istnieje sytuacja, w której blok A znajduje się w bloku B,
(∃s) On (A; B; s):
Tutaj "(∃s) "jest sposobem pisania" istnieją pewne takie, że… "

QA3 był w stanie nie tylko wydedukować instrukcje, ale także, gdy wydedukował a tak zwane oświadczenie egzystencjalne (takie jak właśnie wspomniane), było w stanie obliczyć wystąpienie tego, co rzekomo istniało. "Tak więc, kiedy wydedukowano oświadczenie (∃s) On (A; B; s), to obliczył również, dla której sytuacji odliczenie było ważne. Green wymyślił sposób, w jaki wartość tę można wyrazić w postaci listy działań robota, które zmieniłyby pewną sytuację początkową w sytuację, w której stwierdzenie było prawdziwe. na przykład QA3 można wykorzystać do planowania działań robota, a później zobaczymy, jak został wykorzystany do tego celu.

Programowanie logiki

W ten sam sposób, w jaki QA3 może być wykorzystywany do tworzenia planów robotów, może również konstruować proste programy komputerowe. W swoim artykule z 1969 roku Green napisał

"Podana tutaj formalizacja może być użyta do precyzyjnego określenia i rozwiązania problemu automatycznego generowania programów, w tym programów rekurencyjnych, wraz z równoczesnym generowaniem dowodów poprawności tych programów. W związku z tym wszelkie programy pisane automatycznie tą metodą nie zawierają błędów. "

Praca Greena nad programowaniem automatycznym była pierwszą próbą pisania programów przy użyciu instrukcji logicznych. Mniej więcej w tym czasie Robert A. Kowalski, Amerykanin, który właśnie uzyskał stopień doktora. na Uniwersytecie w Edynburgu, i Donald Kuehner opracowali bardziej skuteczną wersję metody rozdzielczości Robinsona, którą nazwali "rozdzielczość-SL.

Latem 1972 r. Kowalski odwiedził Alaina Colmerauera, szef Groupe d'Intelligence Arti cielle (GIA), Centre National de la Recherche Scienti que i Universit e II Aix-Marseille w Marsylii . Kowalski napisał: "Podczas drugiej wizyty narodziło się programowanie logiki, jak to powszechnie rozumiemy." Colmerauer i jego doktorant Philippe Roussel opracowali w 1972 r. nowy język programowania PROLOG . (Roussel wybrał nazwę jako skrót dla "PROgrammation en LOGique ") .W PROLOG, programy składają się z uporządkowanej sekwencji instrukcji logicznych. Dokładna kolejność, w jakiej te instrukcje są pisane, wraz z niektórymi innymi konstrukcjami, jest kluczem do skutecznego wykonywania programu. PROLOG wykorzystuje kolejność na podstawie kolejności potrąceń w rozdzielczości SL. Kowalski, Colmerauer i Roussel wszyscy podzielili się kredytem dla PROLOG, ale Kowalski przyznaje "… prawdopodobnie słusznie jest powiedzieć, że mój własny wkład był głównie filozoficzny, a Alaina bardziej praktyczny". Język PROLOG stopniowo zyskiwał na znaczeniu dla rywalizującego z LISP, chociaż jest używany głównie przez ludzi AI spoza Stanów Zjednoczonych. Niektórzy amerykańscy badacze, szczególnie ci z MIT argumentowali przeciwko PROLOG (i innym systemom dedukcyjnym opartym na rozdzielczości), twierdząc (z pewnym uzasadnieniem), że obliczenia oparte na dedukcji nie były wydajne. Opowiadali się za obliczeniami kontrolowanymi przez osadzenie wiedzy o rozwiązanym problemie i jak najlepiej rozwiązać bezpośrednio w programach ograniczających wyszukiwanie. To "proceduralne osadzanie wiedzy" było cechą języków PLANNER opracowanych przez Carla Hewitta i współpracowników z MIT (Hewitt ukuł zdanie "procesowe osadzanie wiedzy" w artykule z 1971 r.).

Sieci semantyczne

Sieci semantyczne były (i nadal są) innym ważnym formatem reprezentujący wiedzę deklaratywną. Wspomniałem już o ich wykorzystaniu przez Rossa Quilliana jako modelu ludzkiej pamięci długotrwałej. W latach 70. psycholog poznawczy Stanford Gordon Bower i jego uczeń John Anderson przedstawili opartą na sieci teorię ludzkiej pamięci w książce "Human Associative Memory". Zgodnie ze szkicem biograficznym Andersona książka "natychmiast przyciągnęła uwagę wszystkich, którzy wówczas pracowali w polu. Książka odegrała ważną rolę w ustanowieniu zdań semantycznych jako podstawy reprezentacji w pamięci i rozpowszechnianie aktywacji poprzez łącza w takich sieciach jako podstawa do wyszukiwania informacji z pamięci". Teorię częściowo zaimplementowano w symulacji komputerowej o nazwie HAM (akronim od Human Associative Memory). HAM mógł analizować proste zdania zdań i przechowywać je w semantyczna struktura sieci w swojej nagromadzonej pamięci HAM mógł odpowiedzieć na proste pytania. Pod koniec lat 60. i na początku 70. zbadano kilka innych reprezentacji sieciowych. Robert F. Simmons, po przeprowadzce z SDC na University of Texas w Austin, zaczął wykorzystywać sieci semantyczne jako obliczeniową lingwistyczną teorię struktur i operacji przetwarzania wymaganych do komputerowego zrozumienia języka naturalnego. Napisał: "Sieci semantyczne są prostymi -nawet eleganckimi - strukturami reprezentującymi aspekty znaczenia angielskich ciągów znaków w wygodnej formie obliczeniowej, która obsługuje przydatne operacje przetwarzania języka na komputerach". W 1971 r. Stuart C. Shapiro, następnie z University of Wisconsin w Madison, wprowadził strukturę sieci o nazwie MENS (MEmory Net Structure) do przechowywania informacji semantycznych. System pomocniczy o nazwie MENTAL (MEmory Net That Answers and Learns) współdziałał z użytkownikiem i MEMS. MENTAL pomógł MEMS w wydedukowaniu nowych informacji z już zapisanych. Shapiro przewidział, że MENTAL będzie w stanie odpowiedzieć na pytania użytkowników przy użyciu informacji przechowywanych w MEMS. Shapiro później przeniósł się do State University of New York w Buffalo, gdzie wraz z kolegami kontynuuje rozwój serii systemów zwanych SNePS (Semantic NEtwork Processing System). SNePS łączy cechy reprezentacji logicznych z reprezentacjami sieciowymi i jest wykorzystywany do rozumienia i generowania języka aturalnego oraz innych aplikacji. W swoim doktoracie Roger C. Schank rozpoczął badania nad językoznawstwem na uniwersytecie w Teksasie w Austin, które nazwał "pojęciowymi reprezentacjami zależności dla zdań w języku naturalnym". Następnie, jako profesor w Stanford i Yale, on i koledzy kontynuowali rozwijanie tych pomysłów. Podstawą pracy Schanka było jego przekonanie, że ludzie przekształcają zdania w języku naturalnym na "struktury pojęciowe", które są niezależne od konkretnego języka, w którym zdania zostały pierwotnie wyrażone. Twierdził, że te struktury pojęciowe są sposobem rozumienia informacji w zdaniach i na przykład, kiedy tłumaczy się zdanie z jednego języka na inny, najpierw reprezentuje jego treść informacyjną jako strukturę pojęciową, a następnie wykorzystuje tę strukturę do uzasadnienia tego, co zostało powiedziane, lub do odtworzenia informacji jako zdania w innym języku Kiedy umieścił to w jednym ze swoich dokumentów, "…wszelkie dwie wypowiedzi, które można powiedzieć, że oznaczają to samo, niezależnie od tego, czy są w tym samym czy w różnych językach, powinny być scharakteryzowane tylko w jeden sposób przez struktury pojęciowe". Notację Schank wykorzystano dla jego struktur pojęciowych (czasami nazywaną" zależnością pojęciową " wykresy ") ewoluowały nieco w latach 70. Na przykład rysunek, zaczerpnięty z jednego z jego artykułów, pokazuje, jak reprezentowałby zdanie" John rzucił ołówkiem Samowi.



Struktura ta wykorzystuje trzy z "prymitywnych działań jakie Schank zdefiniował jako te reprezentacje: ATRANS, co oznacza przeniesienie własności; PTRANS, co oznacza przeniesienie fizycznej lokalizacji, oraz PROPEL, co oznacza zastosowanie siły do obiektu. Schank zdefiniował kilka innych prymitywnych działań które reprezentują ruch, opiekę, mówienie, przekazywanie pomysłów i tak dalej. Rozszerzone dosłowne odczytanie tego, co reprezentuje ta struktura, brzmiałoby: "John przyłożył siłę fizyczną do ołówka, co spowodowało, że przeleciał on w powietrzu z miejsca Johna do miejsca Sama, co spowodowało, że Sam go posiadał" lub coś w tym rodzaju. Schank, podobnie jak wielu innych zainteresowanych językami reprezentacyjnymi, zauważa, że reprezentacje te można wykorzystać bezpośrednio do dokonywania dedukcji i odpowiadania na pytania. Na przykład odpowiedzi na pytania typu "Jak Sam zdobył ołówek?" I " Kto był właścicielem ołówka po tym, jak John go rzucił? " są łatwe do wydobycia. Chociaż struktury sieci są zilustrowane graficznie w artykułach na ich temat, zostały one zakodowane przy użyciu LISP do przetwarzania komputerowego.

Skrypty i ramki

Graficzne reprezentacje wiedzy, takie jak sieci semantyczne i struktury koncepcyjne, łączą powiązane ze sobą byty w grupy. Takie grupowanie jest wydajne obliczeniowo, ponieważ powiązane rzeczy często uczestniczą w tym samym łańcuchu rozumowania. Uzyskując dostęp do jednego z takich podmiotów, można również łatwo uzyskać dostęp do tych pobliskich. Roger Schank i Robert Abelson rozwineli ten pomysł, wprowadzając pojęcie "skryptów". Skrypt jest sposobem reprezentowania tego, co nazywają "wiedzą specjalistyczną", to znaczy szczegółową wiedzą o sytuacji lub zdarzeniu, przez które przeszliśmy wiele razy. Kontrastują one wiedzę szczegółową z "wiedzą ogólną", z której ta ostatnia jest obszerną wiedzą podstawową lub zdrową, przydatną w wielu sytuacjach. Ich "restauracyjny" skrypt ("wersja Coffee Shop") stał się ich najbardziej znanym ilustracyjnym przykładem. Skrypt składa się z czterech "scen", a mianowicie: wchodzenia, zamawiania, jedzenia i wychodzenia. Jego "Rekwizyty" to: Tabele, Menu, F-Food, Czek i Pieniądze. Jego "Role" to S-Klient, W-Kelner, C-Cook, M-Kasjer i O-Właściciel. Jego "Warunki wejścia" to S jest głodny, a S ma pieniądze. Jego "Wyniki" są takie, że S ma mniej pieniędzy, O ma więcej pieniędzy, S nie jest głodny, a S jest zadowolony (opcjonalnie). Poniżej pokazan ich scenariusz dla sceny "Zamawianie".



Oprócz akcji PTRANS (przeniesienie lokalizacji) i ATRANS (przeniesienie posiadania), ten skrypt używa jeszcze dwóch swoich prymitywnych działań, mianowicie MTRANS (przekaz informacji) i MBUILD (tworzenie lub łączenie myśli). CP (S) oznacza "procesor koncepcyjny" S, w którym zachodzi myśl, a DO oznacza "działanie pozorowane" określone przez następujące. Linie na diagramie pokazują możliwe alternatywne ścieżki skryptu. Na przykład, jeśli menu jest już na stole, skrypt zaczyna się w lewym górnym rogu; w przeciwnym razie zaczyna się w prawym górnym rogu. Wierzę, że większość scenariusza nie wymaga wyjaśnień, ale pomogę, wyjaśniając, co dzieje się w środku. S przenosi "listę żywności" do swojego centralnego procesora, gdzie jest w stanie mentalnie zdecydować (zbudować) wybór żywności. S przekazuje następnie informacje do kelnera, aby podszedł do stołu, co robi kelner. Następnie S przekazuje informacje o swoim wyborze jedzenia kelnerowi. Trwa to do momentu, aż kucharz powie kelnerowi, że nie ma zamówionego jedzenia lub kucharz przygotuje jedzenie. Trzy pozostałe sceny w scenariuszu restauracji są podobnie zilustrowane w książce Schank i Abelsona. Możliwych jest kilka innych wariantów skryptu restauracji (dla różnych rodzajów restauracji itp.). Skrypty pomagają wyjaśnić niektóre z powodów, które robimy automatycznie po usłyszeniu historii. Na przykład, jeśli usłyszymy, że John poszedł do kawiarni i zamówił lasagne, możemy rozsądnie założyć, że lasagne była w menu. Jeśli później dowiemy się, że John musiał zamiast tego zamówić coś innego, możemy założyć, że w kawiarni nie było lasagne. Schank i Abelson przedstawiają anegdotyczne dowody, że nawet małe dzieci tworzą takie skrypty i że ludzie muszą mieć ich dużą liczbę, aby umożliwić im nawigację i uzasadnienie napotkanych sytuacji. Schank rozwinął później skrypty i pokrewne pomysły w innej książce, w której przedstawił ideę "pakietów organizacji pamięci "(MOPS), które opisują sytuacje w bardziej rozproszony i dynamiczny sposób niż skrypty. Później "ponownie zapoznał się" z niektórymi z tych pomysłów w książce na temat ich zastosowania w edukacji, dziedzinie, do której wniósł znaczący wkład. Schank i jego twierdzenia wywołały wiele kontrowersji wśród badaczy AI. Cytowany filozof Daniel Dennett z Tufts University powiedział: "Zawsze podobała mi się rola Schanka jako osoby złośliwej i jako pesymisty, partyzanta w dziedzinie kognitywistyki, zawsze zadającego duże pytania, zawsze gotowego odrzucić własne wcześniejsze wysiłki i powiedzieć były radykalnie niekompletne z interesujących powodów. Jest złoślwiy i dobrym". Myślę, że jego podstawowe wyobrażenie o skryptach było prorocze. Wyprodukował też świetną grupę studentów. Strona internetowa "AI Genealogy" wymienia prawie czterech tuzinów studentów Schank, z których wielu przeszło do wybitnych karier. Mniej więcej w czasie pracy Schanka Marvin Minsky zaproponował, aby wiedza o sytuacjach była reprezentowana w strukturach, które nazwał "ramkami". Wspomniał o pomysłach Schanka (między innymi) jako przykład odejścia od "próby reprezentowania wiedzy jako zbioru oddzielnych, prostych fragmentów", takich jak zdania w języku logicznym. Jak je zdefiniował. Ramka to struktura danych reprezentująca stereotypową sytuację, np. Przebywanie w jakimś salonie lub pójście na przyjęcie urodzinowe dziecka. Do każdej ramki dołączonych jest kilka rodzajów informacji. Niektóre z tych informacji dotyczą korzystania z ramki. Niektóre dotyczą tego, czego można się spodziewać. Niektórzy zastanawiają się, co zrobić, jeśli te oczekiwania nie zostaną potwierdzone. Kolekcje powiązanych ramek są połączone ze sobą w systemy ramek. Efekty ważnych działań odzwierciedlają transformacje między ramkami systemu. Są one używane, aby się upewnić jakie rodzaje obliczeń ekonomicznych, aby przedstawić zmiany nacisku i uwagi oraz w celu uwzględnienia skuteczności "zdjęć. "

W artykule Minsky'′ego opisano, w jaki sposób można zastosować systemy ramek do wizji i obrazów, rozumienia językowego i innych rodzajów rozumienia, akwizycji pamięci, odzyskiwania wiedzy i kontroli. Chociaż jego praca była bogata w pomysły, Minsky nie wdrożył żadnych systemów ramowych. Kilka lat później niektórzy jego studenci i byli studenci wdrożyli niektóre podobne systemy. Jeden, nazwany FRL (dla Frame Representation Language), został opracowany przez R. Bruce′a Robertsa i Irę P. Goldsteina. Daniel Bobrow i Terry Winograd (ten ostatni jest jednym ze studentów Paperta), wdrożyli bardziej ambitny system o nazwie KRL (for Knowledge Representation Language). Systemy ramowe były zgodne ze stylem rozumowania, w którym można zakładać szczegóły "niespecjalnie uzasadnione", a tym samym ominąć "logikę", jak by to zrobił Minsky. Ten styl był już wcześniej używany w systemie SIR Raphaela, a badacze opowiadający się za użyciem języków logicznych do reprezentacji wiedzy później rozszerzyliby logikę na różne sposoby, aby dostosować się również do tego stylu. Mimo to ostatnia sekcja (zatytułowana "Krytyka podejścia logistycznego") w pracy Minsky'ego na temat ram daje wiele powodów, dla których można wątpić (wraz z Minskim) "w możliwość skutecznego reprezentowania zwykłej wiedzy w formie wielu małych, niezależnych" prawdziwe "propozycje".