Shakey i STRIPS: robot, który planuje

🎯 Po co Ci to?

Do tej pory poznawałeś programy, które rozwiązywały problemy „w swojej głowie" — dowodziły twierdzeń, diagnozowały choroby, klasyfikowały cząsteczki. Ale co z maszyną, która musi fizycznie działać w prawdziwym świecie — poruszać się po pokoju, otwierać drzwi, przesuwać przedmioty? To wymaga czegoś więcej niż wnioskowania — wymaga planowania sekwencji działań. Poznaj Shakeya — pierwszego robota, który naprawdę planował, zanim ruszył.

✅ Czego się nauczysz

Po tej lekcji potrafisz:

  • opisać, czym był robot Shakey i dlaczego uznaje się go za przełomowy;
  • wyjaśnić zasadę działania systemu planowania STRIPS;
  • podać przykład sekwencji działań generowanej przez system planujący na podstawie stanu początkowego i celu.

🔁 Przypomnij sobie

W jednostce 6.2 poznałeś General Problem Solver i strategię „środki–cel" — porównywanie stanu obecnego z celem i redukowanie różnicy między nimi. STRIPS, który poznasz w tej jednostce, jest bezpośrednim potomkiem tej idei, tyle że zastosowanym do fizycznego robota działającego w realnym środowisku.

📘 Wyjaśnienie — Shakey

W latach 1966–1972 zespół ze Stanford Research Institute, kierowany przez Charlesa Rosena, zbudował robota o nazwie Shakey (od angielskiego „chwiejny" — bo robot rzeczywiście lekko się trząsł podczas jazdy). Shakey był pierwszym mobilnym robotem zdolnym do samodzielnego rozumowania i podejmowania decyzji — nie tylko wykonywał proste, zaprogramowane z góry komendy, lecz analizował otoczenie za pomocą kamery i czujników, planował sekwencję ruchów potrzebną do wykonania zadania, a następnie realizował ten plan, potrafiąc też zareagować, gdy coś poszło niezgodnie z oczekiwaniami. Magazyn „Life" ogłosił Shakeya w 1970 r. „pierwszą elektroniczną osobą" — dziennikarska przesada, która irytowała samych badaczy, ale dobrze oddaje ówczesne emocje.

Robot Shakey (SRI, 1969) w Computer History Museum · źródło: fot. The wub, Wikimedia Commons, CC BY-SA 4.0
Robot Shakey (SRI, 1969) w Computer History Museum · źródło: fot. The wub, Wikimedia Commons, CC BY-SA 4.0
Archiwalny film SRI o Shakeyu (1972)

💭 Pomyśl: Wyobraź sobie zadanie dla robota: „przesuń skrzynkę z pokoju A do pokoju B". Jeśli drzwi między pokojami są zamknięte, jaki dodatkowy krok musi „wymyślić" robot, zanim w ogóle zacznie przesuwać skrzynkę?

Sprawdź odpowiedź

Robot musi najpierw dodać do swojego planu krok „otwórz drzwi" (albo „podjedź do drzwi i je otwórz"), zanim będzie mógł kontynuować przesuwanie skrzynki do pokoju B. To pozornie oczywiste dla człowieka — ale dla maszyny wymaga systematycznego rozumowania o warunkach wstępnych każdej akcji: żeby przejść przez drzwi, drzwi muszą być otwarte; jeśli nie są, trzeba wstawić do planu akcję, która ten warunek spełni. Właśnie tę logikę formalizuje STRIPS, opisany niżej.

📘 Wyjaśnienie — STRIPS

Mózgiem planistycznym Shakeya był system o nazwie STRIPS (Stanford Research Institute Problem Solver), opracowany w 1971 roku przez Richarda Fikesa i Nilsa Nilssona. STRIPS generował sekwencję działań prowadzących od aktualnego stanu świata do stanu docelowego, opisując każde możliwe działanie za pomocą trzech elementów: warunków wstępnych (co musi być prawdą, żeby dane działanie było możliwe do wykonania), efektów pozytywnych (co staje się prawdą po wykonaniu działania) i efektów negatywnych (co przestaje być prawdą po jego wykonaniu).

💭 Pomyśl: Opisz działanie „zaparz herbatę" w stylu STRIPS: jakie są warunki wstępne (co musi być prawdą, żeby dało się to zrobić), a jakie efekty (co się zmienia po wykonaniu)?

Sprawdź odpowiedź

Warunki wstępne: masz czajnik z wodą, masz torebkę herbaty, masz kubek, źródło ciepła jest dostępne. Efekty pozytywne: istnieje gorąca herbata w kubku. Efekty negatywne: torebka herbaty (w formie suchej, nieużytej) już nie istnieje jako zasób dostępny do ponownego użycia; woda w czajniku ubywa. System planujący, mając cel „mam gorącą herbatę" i stan początkowy bez gorącej wody, wygenerowałby sekwencję poprzedzających działań: „zagotuj wodę" (co samo w sobie ma własne warunki wstępne — czajnik musi być podłączony do prądu lub postawiony na kuchence), a dopiero potem „zaparz herbatę". Dokładnie tak działa STRIPS — rekurencyjnie „rozpakowuje" cel na warunki wstępne, aż dotrze do działań możliwych do wykonania od razu w bieżącym stanie świata.

📐 DEFINICJA — STRIPS (system planowania): system opracowany przez Fikesa i Nilssona (1971), generujący sekwencję działań prowadzących od aktualnego stanu świata do stanu docelowego; każde możliwe działanie opisane jest warunkami wstępnymi (co musi być prawdą, by je wykonać) i efektami (co zmienia się po jego wykonaniu).

Po ludzku: to systematyczny sposób „rozkładania" dużego celu na mniejsze kroki, sprawdzając za każdym razem, czy dany krok jest w ogóle wykonalny w aktualnym stanie rzeczy — a jeśli nie, dodając wcześniejsze kroki, które ten stan zmienią.

⚠️ Uwaga, pułapka

Łatwo pomyśleć, że Shakey był „inteligentnym robotem" w sensie ogólnej, elastycznej inteligencji — w rzeczywistości działał wyłącznie w bardzo uproszczonym, kontrolowanym środowisku laboratoryjnym: kilka pokoi z prostymi, jednokolorowymi przedmiotami (klockami, bramami), zaprojektowanymi tak, by kamera i czujniki mogły je łatwo rozpoznać. Prawdziwy, nieprzewidywalny świat — z cieniami, odbiciami, przedmiotami niestandardowego kształtu — pozostawał poza jego zasięgiem. To ograniczenie — działanie tylko w wyidealizowanym, uproszczonym środowisku — jest częstym wzorcem w historii AI: sukces demonstracyjny w laboratorium nie zawsze przekłada się na sukces w prawdziwym, chaotycznym świecie. Ten sam wzorzec zobaczysz przy okazji pierwszej zimy AI w kolejnej jednostce.

📌 Najważniejsze w pigułce

  • Shakey (1966–1972, SRI, kierowany przez Charlesa Rosena) był pierwszym mobilnym robotem zdolnym do samodzielnego rozumowania i planowania działań.
  • STRIPS (Fikes i Nilsson, 1971) generował sekwencje działań prowadzących do celu, opisując każde działanie warunkami wstępnymi i efektami.
  • Ta logika jest bezpośrednim rozwinięciem strategii „środki–cel" z General Problem Solver (jednostka 6.2).
  • Pułapka: Shakey działał wyłącznie w uproszczonym środowisku laboratoryjnym — realny, chaotyczny świat pozostawał poza jego zasięgiem.

🎒 Zadania

Zadanie 7.3.1. Opisz w stylu STRIPS (warunki wstępne, efekty pozytywne, efekty negatywne) działanie „wyjmij książkę z plecaka".

Sprawdź odpowiedź

Warunki wstępne: książka znajduje się w plecaku; plecak jest otwarty (lub da się go otworzyć). Efekty pozytywne: książka znajduje się teraz w ręce (lub na stole, poza plecakiem). Efekty negatywne: książka przestaje znajdować się w plecaku. Jeśli plecak byłby zamknięty na zamek, system planujący musiałby dodać wcześniejsze działanie „otwórz plecak" jako warunek wstępny dla „wyjmij książkę" — dokładnie tak, jak w przykładzie z drzwiami w treści lekcji.

Zadanie 7.3.2. Robot musi przewieźć skrzynkę z pokoju A do pokoju C, przechodząc przez pokój B. Drzwi między A i B są otwarte, ale drzwi między B i C są zamknięte. Zaplanuj sekwencję działań, jaką wygenerowałby system typu STRIPS.

Sprawdź odpowiedź

Sekwencja działań: (1) przejedź z pokoju A do pokoju B, ciągnąc lub pchając skrzynkę (warunek wstępny „drzwi A–B otwarte" jest już spełniony); (2) sprawdź stan drzwi B–C — są zamknięte, więc warunek wstępny dla przejścia do C nie jest spełniony; (3) otwórz drzwi B–C (nowe działanie wstawione, by spełnić brakujący warunek wstępny); (4) przejedź z pokoju B do pokoju C ze skrzynką. System planujący „odkrywa" konieczność kroku 3 dopiero wtedy, gdy próbuje zweryfikować warunki wstępne kroku 4 i stwierdza, że nie są spełnione — to właśnie mechanizm rekurencyjnego „rozpakowywania" celu na warunki wstępne, o którym mówi definicja STRIPS.

🔍 Sprawdź, czy umiesz

  • [ ] Opisać robota Shakey i wyjaśnić, dlaczego był przełomowy w porównaniu z wcześniejszymi maszynami.
  • [ ] Wyjaśnić trzy elementy opisu działania w systemie STRIPS: warunki wstępne, efekty pozytywne, efekty negatywne.
  • [ ] Samodzielnie zaplanować prostą sekwencję działań w stylu STRIPS dla zadanego celu.

Ucz się tej jednostki z asystentem