Data: 2004-11-16 22:33:48
Temat: Re: Odp: ludzka swiadomosc - a komputery.
Od: "sielim" <s...@p...onet.pl>
Pokaż wszystkie nagłówki
Użytkownik "Pawel" <N...@m...com> napisał w wiadomości
news:cn8sre$t6v$1@nemesis.news.tpi.pl...
> Jak ogolnie jest zrobiony algorytm. Albo gdy np. napisze sobie 'Formatuj
> dysk D', to program
> rozpozna ta komende i to zrobi, lub 'Odbierz poczte'.
> Mam nadzieje, ze teraz bedzie wiadomo, o co chodzi.
Więc może bardziej od podstaw. Dokonam tu pewnych uproszczeń,
więc niech specjaliści się nie denerwują (wystarczy już nerwów ...).
Każda maszyna cyfrowa ma już wbudowany pewien zrozumiały dla siebie
język. Jest to tzw. język maszynowy. Jest to język bardzo "nieludzki"
ponieważ posługuje się pojęciami mało dla człowieka zrozumiałymi.
Przykładowa komenda w tym języku brzmi tak: mov [3456],0.
Oznacza to, że do komórki pamięci o numerze 3456 należy wpisać
wartość 0. Prawda, że nie jest to zbyt życiowy język ? W dodatku takie
komendy mają swoje numery i jest ich dość ograniczona ilość - w końcu
ile może być komend, których zadaniem jest tylko przesyłanie liczb z
jednego miejsca w pamięci w inne, dodających te liczby, mnożących, robiących
też trochę bardziej zaawansowane operacje. Ale generalnie wszystko kręci
się wokół liczb w ramach ograniczonego zbioru kilkudziesieciu-kilkuset
ponumerowanych operacji w różnych wariantach. I teraz UWAGA:
znaki alfabetu także są ponumerowane. Każda litera siedzi w pamięci
komputera jako liczba i operacje na niej są wykonywane podobnie jak
na każdej innej liczbie - można ją np. przesłać z jednego miejsca w drugie
albo porównać z inną liczbą/literą.
Tak wygląda pierwotny program komputera - ciąg liczb, w których
mikroprocesor
w sposób "magiczny" :) rozpoznaje czytelne dla siebie rozkazy dotyczące
liczb
i nic więcej ... I jak po sznurku chodzi po tych komendach, porównuje,
skacze
w inne miejsce w zależności od wyniku porównania itp.
Skoro zaś może porównywać liczby, może je też wyszukiwać. Skoro potrafi
wyszukiwać liczby to potrafi również wyszukiwać litery alfabetu. Jeśli
potrafi
znajdywać pojedyncze litery to potrafi rónież znajdować słowa lub ich
fragmenty,
dokonywać kojarzenia jednych ciągów tekstowych z innymi, obliczać stopień
ich podobieństwa a także określać duuużo bardziej wyrafinowane relacje
między
nimi - w zależności od wyrafinowania programu, który gromadził (w postaci
liczb
rzecz jasna) wiedzę o słowach, zdaniach, gramatykach i potrafi tę wiedzę
zastosować.
Takimi programami są m.in. kompilatory języków programowania, które
analizują pliki tekstowe zawierające programy napisane w postaci znacznie
bliższej człowiekowi niż kod maszynowy. Ale analizują po to, by stworzyć
z nich kod czytelny dla maszyny, czyli znów maszynowy. Innymi słowy: każda
instrukcja
języka programowania wysokiego poziomu jest tłumaczona na ciąg instrukcji
w kodzie maszynowym.
Cechą charakterystyczną języków programowania jest to, że są wysoko
sformalizowane, tj. operują ściśle określonym, wąskim słownikiem
komend (np. for, while, if, set, call, execute, exit) oraz określają sztywne
reguły gramatyczne, w jakich te komendy należy używać. Jest trochę tak jak
w prawie: postawimy przecinek nie w tym miejscu a zapisana procedura jest
już zupełnie inaczej interpretowana. W różnych językach programowania
zestawy
komend różnią się, podobnie jak różni się gramatyka wg. której można je
łączyć,
ale generalnie różnice nie są duże (specjaliści nie burczeć ...).
Podobnie jest z językami skryptowymi. Np. komenda format d: jest analizowana
przez program-interpreter, rozpoznaje on słowo należące do słownika (format)
oraz jego parametr (zgodnie z gramatyką, która określa, że po słowie format
może znaleźć się parametr określający nazwę dysku). Ta komenda jest (gdzieś
na końcu złożonego procesu analizy i przekazywania w różne miejsca systemu)
ostatecznie tłumaczona na ścisle określony ciąg instrukcji kodu maszynowego,
które tylko i wyłącznie za pomocą liczb potrafią się precyzyjnie "dogadać"
z dyskiem twardym i go sformatować - tak się szczęśliwie składa, że dysk
twardy
potrafi porozumiewać się też tylko i wyłącznie za pomocą liczb - te liczby
określają
położenie głowicy, numer dysku, stopień obrotu itp. Nic, tylko liczby. Każdy
najmniejszy punkcik magnetyczny, których obecnie jest już na domowych
dyskach
biliony - ma swój niepowtarzalny, unikalny numer.
Na kompilatorach i interpreterach języków programowania ani na komendach
systemowych się jednak nie kończy. Są najróżniejsze odmiany programów,
które mają inaczej skonstruowane reguły gramatyczne, mają bardzo duże
słowniki, nierzadko otwarte (system uczy się), dynamicznie ustalają reguły
i zależności języka w trakcie np. konwersacji lub analizy dokumentów
dostępnych w sieci itp., gromadzą wiedzę, wyszukują powiązania, zależności
itp.
Jednak STOP. Jakkolwiek by złożone one nie były, to ich uruchamianie na
maszynie cyfrowej zawsze wiaże się z tłumaczeniem tego na kod zrozumiały
dla maszyny, np. na ciąg wywołań przygotowanych wcześniej elementarnych
procedur. Jest to proces wieloetapowy, którego całościowa analiza wymagałaby
stworzenia wielopiętrowych diagramów z całymi książkami opisu. Np.
opisać w jaki sposób ruch szachowy wyklikany myszką na ekranie skutkuje
odpowiedzią komputera - z pokazaniem, co się dzieje na poziomie
kodu maszynowego - nawet nie chcę myśleć, ile by zajęło opisanie tego
procesu
na tym poziomie szczegółowości. Myślę, że można to porównać
do próby opisu, jakie efekty kwantowe uczestniczą w procesie obróbki drewna
metodą skrawania. Albo ... jakie ładunki elektryczne powstają w
poszczególnych
neuronach w trakcie czytania porannej gazety.
Problemem jest tu odległość poziomów abstrakcji. We wszystkich podanych
przykładach odległości między problemami nisko i wysokopoziomowymi są
tak duże, że nie nadają się do ustalania praktycznych zależności przyczynowo
-skutkowych, które dawałyby możliwość prowadzenia jakiś wnioskowań,
przewidywań, odnoszenia problemów niskiego poziomu do problemów
wysokiego poziomu. Innymi słowy: mimo, że np. proces skrawania drewna
na pewnym poziomie abstrakcji zapewne da się opisać tylko i wyłącznie w
postaci statystyk ruchu kwantów w określonych obszarach energetycznych
- to opis ten nie daje absolutnie żadnej informacji na temat kształtu
rzeźby,
jaką uzyskamy z kawałka grubo ociosanej dębowej belki. Z komputerami
jest jeszcze stosunkowo łatwo - odległość poziomów abstrakcji NA RAZIE
jest jeszcze stosunkowo mała. Ale zwiększa się. Szczególnie tam, gdzie
wchodzi sztuczna inteligencja i komputer jest wykorzystywany tylko i
wyłącznie
jako platforma do symulacji bytów biologicznych, złożonych wielowarstwowych
sieci neuronowch - np. projekt CAM-BRAIN. Z drugiej zaś strony warstwa
kodu maszynowego też nie stoi w miejscu - można zarejestrować ciągły
rozwój przetwarzania rozproszonego i równoległego, a systemy operacyjne
składają sie z coraz większej ilości osobnych, równolegle pracujących
procesów, które komunikują się ze sobą w sposób asynchroniczny - czyli
coraz trudniejszy do przewidzenia w dłuższym okresie czasu, coraz
bardziej zależny od czynników zewnętrznych, np. sygnałów pochodzących
z globalnej sieci internetowej.
Czy w takim coraz bardziej złożonym systemie może powstać świadomość ?
Tylko pytanie: czy jesteśmy w stanie określić o co nam dokładnie chodzi ?
Czy np. zwierzęta mają świadomość ? Jeśli tak, to które ją mają, a które
już nie ? Małpa ? Pies ? Wiewiórka ? Pisklę, które dopiero wykluło się
z jaja ? Ośmiornica ? Żaba ? Duża ryba (rekin, płaszczka) ? Mała ryba ?
Krewetka ? Biedronka ?
Myślę, że czasem łatwiej przyjąć, że świadomość jest jedynie odpowiednio
odległym poziomem abstrakcji ... Człowieka odróżnia od zwierząt
to, że ma dużo większe możliwości myślenia abstrakcyjnego - po temu
ma specjalnie skonstruowany uklad nerwowy. Ale trudno ustalić
tu wyraźne granice i pomyłką byłoby stwierdzenie, że zwierzęta
w sposób abstrakcyjny nie myślą. Myśle, że czasem dobrze przyjać
jest postawę behawiorysty, którego świadomość właściwie mało
obchodzi. Behawioryści schodzą na taki poziom abstrakcji, w którym
opisują działania człowieka jako działania automatu zdeterminowanego
przez pamięć doświadczeń. I co ciekawe - taki model człowieka bardzo
dobrze się sprawdza. Czy to może oznacza, że świadomość jest naszą
osobistą iluzją ? Może warto odpowiedzieć na to w ten sposób: na pewnym
poziomie abstrakcji takie pojęcie nie istnieje. Tam gdzie istnieją fotony
i elektrony - tam nie ma kształtu drewnianego kołka. Tam gdzie istnieją
neurony i sygnały elektryczne - tam nie ma świadomości, wolnej woli,
emocji i cierpienia. Są to jednak nośniki dla wyższych struktur. Im
wyższe struktury - tym słabszy związek pojęciowy z pierwotnymi,
materialnym nośnikami, tym wyższa niezależność powstających tam
zjawisk.
My, zadając pytanie o świadomość - funkcjonujemy na wysokim
poziomie abstrakcji, na którym istnieje ona jako nasze doświadczenie
i pytanie o to, czy jest iluzoryczna, czy nie - ma mały sens. Każdy z nas
doświadcza wolnej woli i w tym, subiektywnym sensie - ona na pewno
istnieje. Podobne doświadczenie dzielimy z innymi istotami, także ze
zwierzętami.
Powstały jednak w naszym świecie konstrukcje, które są nam obce
pod względem filozofii działania - to maszyny niebiologiczne. Możemy się
pytać o to, czy maszyny te mają świadomość, czy nie, czy będą ją miały
i kiedy. Myśle, że uwierzymy w tę świadomość dopiero wtedy, gdy
maszyny same nam o tym powiedzą. Wydaje mi sie jednak, że
świadomość, to coś co powstanie znacznie wcześniej. Pies nigdy
nie zadał czlowiekowi pytania o sens istnienia. A jednak wielu z nas
oburzy się kiedy uznamy, że w związku z tym pies nie ma świadomości.
W moim osobistym mniemaniu pytanie powinno raczej brzmieć:
kiedy maszyny zaczną odczuwać subiektywne cierpienie. Najciekawsze
jest to, że bez większych oporów każdy z nas przyzna, że nawet prosta
krewetka cierpi, kiedy pozbawia się ją życia. Dla mnie jest to
wystarczający powód do tego, by przypisać krewetce pewną elementarną
świadomość. No właśnie ... A jak ma się złożoność dzisiejszych
maszyn do złożoności krewetki ?
Które z tych "organizmów" są bardziej naładowane funkcjami obronnymi,
komunikacyjnymi, decyzyjnymi ? Które z nich w większym stopniu komunikują
się z otoczeniem, realizują określone cele, same wyznaczają sobie cele
pośrednie, starają się unikać sytuacji "w swoim mniemaniu" niebezpiecznych,
reagować odruchami obronnymi na nieoczekiwane zdarzenia ?
Informatyk odpowie, że maszyna ...
Filip Sielimowicz
http://panda.bg.univ.gda.pl/~sielim/genetic/index.ht
m
|