Polskie Towarzystwo Informatyczne
NUMER ARCHIWALNY:     12 / 92 rok VIII | grudzień 1989
Archiwum
Menu chronologiczne Menu tematyczne


Polskie Towarzystwo Informatyczne

Algorytmika. Rzecz o istocie informatyki
 
                Blisko rok temu, w listopadowym numerze biuletynu ukazała się entuzjastyczna recenzja książki Davida Harela pt. “Algorithmics. The Spirit of Computing” (Addison–Wesley 1987, 425 s.) pióra prof. W. M. Turskiego. Z recenzji tej przypomnijmy tylko jedno zdanie: książka Harela jest to “fascynujący przegląd tematyki informatycznej, wyłożony modo sistematico przez specjalistę dla niespecjalistów”.
                Recenzję uzupełniono wówczas w biuletynie obiecującą notatką, że Wydawnictwa Naukowo–Techniczne — po długotrwałych pertraktacjach z prawodawcą oryginału angielskiego — przystępują do przekładu książki Harela na język polski.
                Przekład jest już w rękach Redakcji Informatyki WNT. Dokonali go panowie Piotr Carlson i Zbigniew Weiss z Instytutu Informatyki Uniwersytetu Warszawskiego. Na półkach księgarskich, a raczej chyba tylko pod księgarskimi ladami, książka Harela ukaże się nieprędko (skład i druk co u nas niestety procesy długotrwałe). Aby zapowiedzieć tę książkę i zaostrzyć apetyt czytelników, zamieścimy w biuletynie niewielkie fragmenty zaczerpnięte ze wspomnianego przekładu, z rozdziału o sztucznej inteligencji. Dziś pierwszy z nich.
 
Algorytmiczna inteligencja?
 
                Czym jest inteligencja? Konkurowanie w sprawie tego pytania z filozofami, psychologami lub badaczami sztucznej inteligencji nic nam nie da. Z punktu widzenia laika wydawałoby się jednak, że samo pojęcie sztucznej inteligencji czy, jak w tej książce pisać wygodniej, algorytmicznej inteligencji, jest sprzecznością terminologiczną. Jesteśmy skłonni widzieć inteligencję jako naszą cechę w istocie swej nieprogramowalną, a zatem i niealgorytmizowalną. Dla wielu ludzi już sama idea inteligentnej maszyny brzmi niewłaściwie.
                Aby koncepcję myślącej maszyny uczynić niemożliwą do pomyślenia, wysuwano różne argumenty. Myślenie, mówią niektórzy, z konieczności wiąże się z emocjami i odczuwaniem, a żaden komputer nie może nienawidzieć, kochać czy się złościć. Inni twierdzą, że myślenie inteligentne siłą rzeczy pociąga za sobą oryginalność, a żaden komputer nie może zrobić nic oryginalnego, jeśli wcześniej nie został po temu odpowiednio zaprogramowany; jeśli zaś tak się stało, to już wcale nie jest oryginalny. Dla wielu tego rodzaju argumentów można sformułować odpowiednie kontrargumenty, ale omawiać ich tutaj nie będziemy. Wydaje się jednak pewne, że maszyna, o której się twierdzi, iż jest inteligentna, musi przynajmniej być w stanie wykazać się zachowaniem intelektualnym podobnym do ludzkiego. Wymagamy przy tym nie żeby chodziła, widziała lub mówiła jak człowiek, lecz żeby wnioskowała i odpowiadała tak jak on. Ponadto, cokolwiek przyjmie się za kryterium inteligencji, ktoś powinien móc sprawdzić, czy proponowana maszyna je spełnia. A kto, jeśli nie inteligentna istota ludzka ma kwalifikacje, aby taki test przeprowadzić? Dochodzimy w ten sposób do wniosku, że maszyna powinna zostać uznana za inteligentną, jeśli potrafi przekonać przeciętnego człowieka, iż w kategoriach jego intelektu nie różni się od innego przeciętnego człowieka.
 
Test Turinga
 
                Jak można taki test przeprowadzić? W roku 1950 Alan Turing[1] zaproponował następującą metodą, nazywaną teraz powszechnie testem Turinga. Test odbywa się w trzech pokojach. W pokoju pierwszym znajduje się osoba przesłuchująca A, w drugim jest ktoś inny, a w trzecim — testowany komputer. Przesłuchujący A zna tylko nazwy dwóch pozostałych, B i C, ale nie wie, kto jest kim. Wszystkie pokoje są wyposażone w końcówki komputerowe, przy czym końcówka osoby A jest połączona z końcówkami B i C. Przesłuchujący A może zadać dowolne pytanie lub wyrazić dowolne stwierdzenie skierowane do któregokolwiek z B i C, a komputer musi się starać, jak może najlepiej, oszukać osobę A, sprawiając wrażenie istoty ludzkiej. Mówimy, że komputer przeszedł przez ten test, jeśli A nie rozpozna go w wyznaczonym czasie. (Faktycznie wymagamy, aby komputer przeszedł pewną liczbę testów z różnymi przesłuchującymi, żeby zminimalizować możliwość, że osoba A po prostu odgadnie, kto jest kim.).
                Zanim przejdziemy dalej, warto powiedzieć, iż żaden komputer nigdy nie zbliżył się nawet o krok do zdania tego testu, i wielu badaczy twierdzi, że jeśli przesłuchujący będzie próbował wystarczająco usilnie, nigdy się żaden nie zbliży.
                Postarajmy się pojąć niezmierną trudność, która się z tym wiąże. Rozważmy, na ile inteligentny musiałby być program, aby reagować na następujące pytania zadawane przez osobę A:
(1)   Czy jesteś komputerem?
(2)   Która godzina?
(3)   Kiedy zamordowano prezydenta Kennedy’ego?
(4)   Ile jest 2276 498 razy 7896?
(5)   Czy białe mogą dać mata w jednym posunięciu w takiej to a takiej sytuacji na szachownicy?
(6)   Opisz swoich rodziców.
(7)   Jakie wrażenie wywiera na tobie następujący wiersz: …?
(8)   Co myślisz o Karolu Dickensie?
(9)   Jaka jest twoja opinia o wyścigu zbrojeń wobec faktu, że miliony ludzi na całym globie cierpią głód?
                Zauważmy, że zaprogramowany komputer musi umieć swobodnie rozmawiać w języku naturalnym, takim jak angielski. Nie wymagamy przy tym, aby słyszał i mówił, stąd połączenia elektroniczne. Jednak rozumienie i syntetyzowanie języka uważa się za podwaliny ludzkiej inteligencji, dlatego są tutaj potrzebne jak warunki wstępne.
                Dwa pierwsze pytania są raczej łatwe. Odpowiedź na pierwsze powinna brzmieć “nie”, a do drugiego program może wykorzystać wbudowany zegar, który jest w większości komputerów. Pytanie (3) wymaga, aby komputer miał dostęp do bardzo dużego zasobu wiedzy porównywalnej z wiedzą istoty ludzkiej. Pytanie (4) wygląda na łatwe — komputery wydają się być najlepsze do takich pytań — ale pomimo to jest ono subtelne, ponieważ komputer musi chwilę zaczekać zanim odpowie; natychmiastowa odpowiedź zdradziłaby jego tożsamość. Pytanie (5) wymaga oczywiście, aby miał jakąś wiedzę o szachach, wraz ze zdolnością określania nowej pozycji. Chociaż odpowiedź na takie pytanie, jak (6), mogłaby być przygotowana zawczasu, osoba A mogłaby zareagować na odpowiedź dodając jakiś niespodziewany szczegół, na który komputer nie miałby już gotowej odpowiedzi. Pytania (7), (8) i (9) są o wiele trudniejsze, ponieważ ilustrują potrzebę wyrażenia preferencji, opinii, stanowiska i emocji, wyjaśnienia ich i odnoszenia do innych osób. Krótko mówiąc, komputer współzawodniczący z człowiekiem musi być wyposażony w prawdziwą osobowość.
                Jedną z trudności w zaprogramowaniu komputera tak, aby przeszedł test Turinga, jest olbrzymia różnorodność tematów, do których może prowadzić rozmowa. Istnieją już widoczne osiągnięcia w naśladowaniu ludzkiej konwersacji w bardzo wąskim zakresie. Program o nazwie ELIZA, napisany w roku 1966, potrafił stworzyć wrażenie, że jest psychoanalitykiem. Był tak przekonujący, że ludzie “ufali” mu w sposób, w jaki nigdy nie zaufaliby człowiekowi! Oto próbka typowej wymiany zdań:
Osoba: Moja żona mówi, że często jestem przygnębiony.
ELIZA: Przykro mi słyszeć, że jesteś przygnębiony.
Osoba: Prawdę mówiąc, jestem całkiem nieszczęśliwy.
ELIZA: Czy myślisz, że po przyjściu tutaj przestaniesz być nieszczęśliwy?
Osoba: Być może rozmawiając z tobą odkryję, dlaczego nienawidzę swojego brata.
ELIZA: Opowiedz mi coś więcej o swojej rodzinie.
                Ciekawą rzeczą dotyczącą programu ELIZA jest fakt, że na podstawie żadnego rozsądnego kryterium nie można powiedzieć o nim, iż jest inteligentny. Mimo widocznego wyrafinowania, program ELIZA jest w rzeczywistości wyjątkowo bezmyślny, tak że — sprawiając wrażenie myślącego terapeuty, jest sprytnym oszustwem. Czasami po prostu skupia uwagę na szczególnym słowie lub wyrażeniu, które nauczono ją wyławiać, i odpowiada, wybierając właściwie losowo, jedną z niewielu ustalonych odpowiedzi. Doskonałym przykładem tego jest odpowiedź “Opowiedz mi coś o swojej rodzinie” jako reakcja na słowo “brat”[2]. Innym razem ELIZA jedynie przekształca otrzymane zdanie w pytanie lub we właściwie bezkontekstowe stwierdzenie, jak w wymianie zdań dotyczącej ludzkiego nieszczęścia. Aby to zrobić, wykorzystuje prosty mechanizm wyznaczania zgrubnej struktury zdań wejściowych.
                Dziwne rzeczy się dzieją, gdy, zamiast zwierzać się z kłopotów, próbujemy sprawdzić inteligencję programu ELIZA. Jeśli powiemy “Byłam siostrą zakonną w klasztorze w Birmie” czy nawet “Podziwiam siostrę Teresę”, program może równie dobrze odpowiedzieć tym samym, nie mającym nic wspólnego zdaniem “Opowiedz mi coś więcej o swojej rodzinie”. Jego odpowiedź na pytanie o wyścig zbrojeń musi być równie zabawna. Oczywiście ELIZA nie ma żadnych szans przejścia przez test Turinga. Nie po to ją zresztą napisano. Celem stworzenia programu ELIZA było pokazanie, że łatwo można uchodzić za inteligentnego, przynajmniej przez krótką chwilę, wobec przychylnie nastawionego obserwatora i w ramach rozmowy o wąskim zakresie. Jednak zupełnie inną rzeczą jest być rzeczywiście inteligentnym.
                Abyśmy mogli lepiej docenić różnicę między prawdziwą inteligencją wymaganą do przejścia przez tekst Turinga a płytką, chociaż wprowadzającą w błąd naturą możliwości konwersacyjnych programu ELIZA, przedstawiamy hipotetyczną wymianę zdań między osobą A przeprowadzającą test Turinga a rzeczywiście inteligentnym kandydatem, powiedzmy B:
A: Co to jest subczyk?
B: Nie mam pojęcia.
A: Subczyk jest latającym, piszącym powieści wielorybem.
Przez wiele pokoleń hodowano go pieczołowicie w laboratorium doprowadzając do tego, iż jego płetwy przekształciły się w członki przypominające skrzydła, które umożliwiają mu latanie. Stopniowo uczono go także czytania i pisania. Ma gruntowną wiedzę o współczesnej literaturze i umie pisać powieści sensacyjne nadające się do publikacji.
A: Niesamowite!
A: Czy myślisz, że subczyki istnieją?
B: Nie, w żadnym wypadku. Nie mogą istnieć.
A: Dlaczego?
B: Z wielu powodów. Po pierwsze, możliwości naszej inżynierii genetycznej są dalece niewystarczające, gdy chodzi o przekształcenie płetw w skrzydła, nie mówiąc już o niemożności sprawienia, aby dziesięciotonowy stwór nie wyposażony w silnik przeciwstawił się sile ciążenia przez zwykłe trzepotanie tymi częściami ciała. Po drugie, historia o pisaniu powieści nie zasługuje nawet na komentarz, gdyż pisanie dobrej powieści wymaga o wiele więcej niż samej tylko technicznej zdolności czytania i pisania. Cały pomysł wydaje się dość absurdalny. Nie masz nic bardziej interesującego, o czym moglibyśmy porozmawiać?
                Aby przeprowadzić tę rozmowę, B, będąc czy to człowiekiem, czy komputerem, musi wykazać się bardzo wyszukanymi zdolnościami. Musi mieć duży zasób wiedzy na określone tematy — o wielorybach, lataniu, pisaniu powieści i ciążeniu. Musi mieć zdolność uczenia się całkowicie nowych pojęć: rozumieć definicje i odnosić je do tego, co już wie. Wreszcie musi być w stanie wywodzić ze swojej nowo zdobytej wiedzy takie fakty jak to, że inżynieria genetyczna jest bliższa subczykom niż, powiedzmy, matematyka czy chińska filozofia. (W tym szczególnym wypadku musi mieć także poczucie humoru).


[1] Tak, to ten sam Turing, od tezy i maszyny.
[2] ELIZA prowadziła konwersację w języku angielskim, w którym nie ma odmiany przez przypadki, nie ma więc problemu wyodrębniania tematów i końcówek wyrazów (przypis tłum.).
Archiwum PTI Ewa Łukasik ( elukasik@cs.put.poznan.pl) Grzegorz Przybył ( grzegorz.przybyl@wp.pl ) www.pti.org.pl Kontakt PTI ( pti@pti.org.pl )
Tutorial


Tutorial

Wyszukiwanie

Całość
tylko prodialog
tylko biuletyny
tylko konferencje
tylko multimedia
tylko sprawozdania
tylko uchwały
tylko zawody
tylko zjazdy
pozostałe treści

Rodzaj przeszukiwania
Słowa kluczowe
Pełen tekst

pelen zakres dat
ograniczony zakres
od:

do:




Kontakty

Instytut Informatyki

Polskie Towarzystwo Informatyczne

Nasz Skrzynka Pocztowa

+ - D A