Z zagadnień ontologicznych informatyki

Z zagadnień ontologicznych informatyki
Nakładem wydawnictwa UAM ukazała się interesująca książka Izabeli Bondeckiej-Krzykowskiej pt. Z zagadnień ontologicznych informatyki (Poznań 2016).
Wstęp
Informatyka jest stosunkowo młodą dyscypliną naukową, wywodzącą się z matematyki, logiki i inżynierii, zajmującą szczególne miejsce w naszej rzeczywistości. Z osiągnięć informatyki korzystamy na każdym kroku: systemy komputerowe – rozumiane jako połączenie maszyn nazywanych komputerami oraz oprogramowania – stanowią nieodłączną część współczesnego życia. Kolejnym pokoleniom coraz trudniej jest wyobrazić sobie świat bez całej gamy komputerów przenośnych, telefonów komórkowych, Internetu, sklepów on-line, komunikatorów, portali społecznościowych czy też bankowości internetowej. Znacząca część naszego życia związana jest z wytworami informatyki – komputerami oraz z ich oprogramowaniem.
Systemy komputerowe stają się również nieodłączną częścią wielu gałęzi nauki. Wykorzystywane są nie tylko do wykonywania skomplikowanych obliczeń, lecz także do eksperymentowania, a nawet do dowodzenia twierdzeń matematycznych. Mówi się często o nowym paradygmacie w nauce – paradygmacie obliczeniowym lub informacyjnym.
Spoglądając na wszechobecne wytwory informatyki okiem filozofa, zadajemy sobie pytania o naturę samej informatyki, o to, jakie obiekty bada, jakimi metodami posługują się (lub powinni się posługiwać) w tych badaniach informatycy. Pytamy zatem o kwestie filozoficzne związane z informatyką – o to, jakie szczegółowe problemy filozoficzne z nią się wiążą.
Jednym z pierwszych tematów rozważań filozoficznych związanych z informatyką była szeroko rozumiana sztuczna inteligencja. Co to jest sztuczna inteligencja? Jakie są jej rodzaje? Czy istnieje związek, a jeśli tak, to jaki, pomiędzy obliczaniem a poznaniem? Czy komputery mogą myśleć? A jeśli mogą, to jak je rozpoznać? – to tylko niektóre z licznych pytań związanych z tą tematyką. Wydaje się, że również dziś powyższe zagadnienia są często podejmowane przez badaczy, pomimo że istnieje już bogata literatura z nimi związana.
Rozważania filozoficzne dotyczące informatyki nie ograniczają się jednak wyłącznie do badań nad sztuczną inteligencją. Szuka się bowiem również odpowiedzi na pytanie o status informatyki jako nauki, o to, jakie obiekty ona bada, oraz jakimi metodami posługują się informatycy. Bada się również związki pomiędzy podstawowymi obiektami i pojęciami związanymi z informatyką: programem i algorytmem, algorytmem i procedurą, programem i jego specyfikacją, programem i implementacją, modelem i programem, jak również – komputerem i oprogramowaniem. Analizuje się ich definicje i własności. Stawia się pytania o to, czy istnieją dziedziny życia, w których komputery nie powinny podejmować decyzji oraz – czy można decyzjom tym zaufać, kto (lub co) ponosi za nie odpowiedzialność.
Wśród kwestii filozoficznych związanych z informatyką można zatem znaleźć zarówno zagadnienia ontologiczne, jak i metodologiczne czy etyczne. Obecnie powstaje wiele prac filozoficznych dotyczących różnych, często bardzo od siebie odległych, zagadnień. Monografie i prace zbiorowe poświęcone tej tematyce noszą tytuły, w których termin „filozofia” w odniesieniu do informatyki pojawia się najczęściej w połączeniach typu „informatyka a filozofia” lub też „filozofia i informatyka”. Dotychczas jednak żaden z autorów nie zatytułował swojej monografii „Filozofia informatyki”. Jaka może być tego przyczyna?
Informatyka jest dość „młodą” dyscypliną. Obecnie trudno jest odróżnić filozofię informatyki od filozofii umysłu, filozofii sztucznej inteligencji, filozofii informacji, filozofii obliczeń, filozofii techniki, a nawet filozofii matematyki. Zdarza się również, że autorzy stosują niektóre z tych pojęć zamiennie. I tak na przykład mówi się o filozofii informatyki i filozofii informacji, bądź też o filozofii informatyki i filozofii obliczeń. Twierdzi się nawet, że pojęcie „filozofia informatyki” jest zbędne, ponieważ taka dyscyplina nie istnieje; informatyka jest bowiem jedynie kolejnym działem inżynierii lub też jedną z wielu dyscyplin matematycznych, a zagadnienia filozoficzne z nią związane mieszczą się w rozważaniach filozofii techniki czy też filozofii matematyki. Czym zatem jest albo – czym powinna być filozofia informatyki?
Rapaport (2005a) pisze: „definiujemy 'filozofię X-a’ jako badanie fundamentalnych założeń i głównych celów dyscypliny X” (s. 322). Zgodnie z tą definicją można uważać filozofię informatyki za rozważania dotyczące podstawowych założeń i celów informatyki. Wśród nich powinny się zatem znaleźć tematy ontologiczne, epistemologiczne i etyczne dotyczące tej dyscypliny.
W niniejszej książce przedstawiono główne kwestie związane z ontolo- gią informatyki, a w szczególności rozważania dotyczące przedmiotu jej badań. Czym są obiekty zainteresowań informatyków? Jaka jest ich natura? Jakie istnieją między nimi związki?
Mówiąc o ontologii informatyki, należy rozpocząć od refleksji na temat samej tej nauki. Czy jednak mówiąc o informatyce, jesteśmy zgodni co do tego, o czym właściwie mówimy? Czy wiemy, co to jest informatyka i jaka jest jej istota? Co dokładnie mamy na myśli, kiedy mówimy: informatyka lub computer science?
Wydaje się, że odpowiedzi na to podstawowe pytanie już dawno udzielono, gdyż wytwory informatyki towarzyszą nam od dziesięcioleci. Wiemy zatem, jaką gałąź nauki nazywamy informatyką, choć nie zawsze rozumiemy, czym dokładnie zajmują się informatycy. Czy wiemy jednak cokolwiek o naturze tej dziedziny wiedzy i o tym, jakie jest jej miejsce wśród innych nauk?
To podstawowe pytanie ontologiczne – o tożsamość informatyki jako nauki – nie jest tylko problemem czysto filozoficznym, ma bowiem również swoje konsekwencje praktyczne. Pozwala bowiem odpowiadać na pytania: gdzie i w jaki sposób kształcić informatyków?, czy wydziały informatyki powinny znajdować się na uniwersytetach, obok wydziałów matematyki (lub nawet w ich obrębie), czy też na politechnikach i w innych szkołach technicznych?
Szukając odpowiedzi na pytanie, czym jest informatyka sama w sobie, warto przyjrzeć się pochodzeniu słów określających tę dyscyplinę. Polskie słowo informatyka zaproponował w 1968 roku Romuald Marczyński na odbywającej się w Zakopanem ogólnopolskiej konferencji poświęconej „maszynom matematycznym” (jak wtedy nazywano komputery). Pochodzenie tego słowa sugeruje bliski związek informatyki z informacją. Podobnie rzecz ma się w przypadku wyrazów określających tę dziedzinę nauki w języku francuskim (informatique) i niemieckim (Informatik). Jednakże angielska nazwa informatyki – computer science – nasuwa zupełnie inne skojarzenia. Budzi ona wiele kontrowersji i rodzi rozmaite pytania, nie tylko natury filozoficznej, lecz także praktycznej. Po pierwsze, pierwszy człon tej nazwy (icomputer) podkreśla związek definiowanej dyscypliny z komputerami, a nie z informacją (inaczej niż w języku polskim, francuskim czy niemieckim). Po drugie, słowo science sugeruje, że jest to dziedzina nauk ścisłych. Dlatego też wiele prac filozoficznych, szczególnie anglojęzycznych, poświęcono próbom odpowiedzi na pytanie, czy informatyka jest nauką ścisłą [science), czy też gałęzią inżynierii.
Do definiowania dyscypliny naukowej można podejść na dwa sposoby: poprzez zdefiniowanie obiektu jej badań bądź też – przez określenie metod i technik, jakimi się posługuje. W książce tej wybraliśmy pierwszą możliwość – próbując spojrzeć na informatykę przez pryzmat badanych przez nią obiektów. W każdym z czterech rozdziałów omówione zostały kwestie filozoficzne związane z jednym z obiektów najczęściej uważanych za przedmiot badań informatyki: z komputerem, programem komputerowym, informacją oraz z rzeczywistością wirtualną.
W rozdziale pierwszym przeanalizowano problemy filozoficzne związane z twierdzeniem, że przedmiotem zainteresowań informatyków jest komputer, rozumiany dwojako: jako urządzenie oraz jako obiekt abstrakcyjny. Przedstawiono próby odpowiedzi na pytania związane z jego historią: która z maszyn liczących była pierwszym komputerem?, czy wynalazek ten został opatentowany?, a także – kogo można nazwać jego twórcą? Najwięcej miejsca poświęcono jednak kwestiom ontologicznym związanym z komputerami. Jakie cechy odróżniają komputer od innych maszyn? Czy jest to zawsze samodzielne urządzenie, czy też część innych, większych systemów? Często mówi się bowiem o komputerach wbudowanych w telefony, samochody, a nawet w sprzęt gospodarstwa domowego. Jakie cechy komputerów powinna uwzględniać ich ontologia? Czy możliwe jest zastosowanie do komputerów istniejących już ontologii artefaktów technicznych oraz jak rozwiązać związane z tym trudności, na przykład w jaki sposób określić ich funkcję i kryteria poprawnego działania. W rozdziale tym omówiono również konsekwencje definiowania komputera w terminach czysto syntaktycznych – jako obiektu matematycznego, gdzie nacisk położono na problem uniwersalnej realizowalności. Przedstawiono też inne, ciekawe z filozoficznego punktu widzenia charakterystyki komputera, w tym te, które oparte są na pojęciu obliczania.
Komputery, określane często jako „hardware”, nieodłącznie związane są z wykonywanymi na nich programami – „software”. Badanie związków pomiędzy terminami „hardware” i „software” oraz próby ich zdefiniowania jako odrębnych, jednoznacznie zaklasyfikowanych bytów są również jednym z tematów rozważań rozdziału pierwszego.
Programom komputerowym, rozumianym jako przedmiot badań informatyki, poświęcono rozdział drugi. Wielu informatyków twierdzi bowiem, że ich głównym zadaniem jest tworzenie programów i badanie ich własności, komputery natomiast interesują ich tylko jako maszyny, na których się je wykonuje. Czy program ma zatem pewnego rodzaju pierwszeństwo onto- logiczne przed komputerami? Co to jest program i jakie są jego podstawowe cechy?
Pojęcie programu pojawia się w informatyce w różnych kontekstach, które przeanalizowano w rozdziale drugim. Dokonano w nim, między innymi, odróżnienia programu jako obiektu abstrakcyjnego od programu jako procesu fizycznego (wykonywanego na komputerze). Spróbowano również odpowiedzieć na pytanie, czy owa dualna natura programu – obiektu abstrakcyjnego i fizycznego jednocześnie – stawia w nowym świetle klasyczne problemy filozofii, takie jak związek pomiędzy umysłem a ciałem czy też podział bytów na abstrakcyjne i konkretne. Czy programy komputerowe są przykładami obiektów o szczególnym statusie ontologicznym, które nie są ani konkretne, ani abstrakcyjne? Czym w istocie są programy komputerowe? Gdzie szukać ich ontologii – w filozofii muzyki czy też w filozofii matematyki? Jakie jest kryterium rozróżniania programów? Co o nich samych można wywnioskować z analizy procesu ich tworzenia?
Tworzenie programu nie jest prostą czynnością, lecz złożonym procesem, który rozpoczyna się sformułowaniem wymagań przed nim stawianych (stworzeniem specyfikacji), a kończy sprawdzeniem jego poprawności. W rozdziale drugim omówiono więc kwestie filozoficzne związane z różnymi rodzajami specyfikacji, próbując tym samym odpowiedzieć na pytania: jak rozróżnić specyfikacje od opisywanych przez nie programów?, czym są specyfikacje – definicjami warunkowymi artefaktów czy też odpowiednikami teorii naukowych? Przeanalizowano również wieloznaczny termin „implementacja”, pojawiający się w informatyce w kontekście tworzenia programów.
Jednym z najszerzej dyskutowanych w literaturze zagadnień związanych z programami komputerowymi jest sprawdzanie ich poprawności. Jest to również historycznie jeden z pierwszych tematów refleksji filozoficznej związanej z informatyką, nie sposób więc go pominąć. W rozdziale drugim znalazły się zatem również rozważania związane z badaniem poprawności programów, mimo że wykraczają one poza ramy rozważań ściśle ontolo- gicznych. Jak rozumieć termin „poprawny” w odniesieniu do programu komputerowego? Jakimi metodami badać „poprawność” programu? Czy tworzyć odpowiednie dowody formalne czy też ograniczyć się do testowania?
Współcześnie dominuje pogląd, że informatyka jest nauką o procesach przetwarzania informacji bądź też nauką o samej informacji. Czym zatem jest informacja? Jaka jest jej natura? Rozważania przedstawione w rozdziale trzecim są próbą odpowiedzi na pytania filozoficzne związane właśnie z informacją. Termin „informacja” jest bowiem używany w różnych kontekstach, zarówno w mowie potocznej, jak i w wielu dyscyplinach nauki – począwszy od informatyki, a skończywszy na naukach społecznych – często mówi się nawet o „nauce informacyjnej”. Czy termin ten oznacza zawsze to samo? Czy informacja dla informatyka jest tym samym, czym informacja dla biologa zajmującego się genetyką? Jak rozumie się to pojęcie w informatyce? W rozdziale trzecim omówiono aspekty filozoficzne wybranych teorii informacji, kładąc szczególny nacisk na wykorzystywane w informatyce teorie matematyczne. Przedstawiono również próby odpowiedzi na pytania filozoficzne dotyczące natury informacji, wykraczające poza jej aspekt czysto ilościowy: czy informacja może być fałszywa?, jaki jest związek pomiędzy informacją, dezinformacją a informacją błędną?, co czyni informację użyteczną?, jaki jest jej związek z wiedzą? Omówiono ponadto filozofię informacji: czym jest, jakimi zagadnieniami się zajmuje oraz jakie są jej podstawowe cele badawcze.
Rozdział czwarty natomiast poświęcono wirtualnej rzeczywistości, zjawisku związanemu z informatyką, które uważa się współcześnie – w dobie wszechobecnego Internetu oraz gier komputerowych – za jedno z podstawowych zainteresowań informatyków. W rozdziale tym przeanalizowano zagadnienia ontologiczne dotyczące wirtualnej rzeczywistości. Czym jest wirtualność i jak ją zdefiniować? Czy jest to nowe zjawisko, które pojawiło się wraz z rozwojem technologii komputerowych i które jest od nich całkowicie zależne? Jakie cechy ma wirtualna rzeczywistość? Jakim rodzajem rzeczywistości jest świat wirtualny? Jaki jest status ontologiczny jego obiektów? Co wiemy na temat związków wirtualności z realnością (światem rzeczywistym)? I wreszcie – czy pojawienie się wirtualnej rzeczywistości wpłynęło na zmiany pewnych klasycznych pojęć metafizyki?
Rozstrzygnięcia przedstawionych w niniejszej książce kwestii ontologicznych związanych z informatyką są istotne nie tylko dlatego, że pogłębiają nasze zrozumienie jej istoty, ale również z tego względu, że wpływają bezpośrednio na kwestie epistemologiczne i etyczne dotyczące tej stosunkowo młodej dziedziny wiedzy.
Dziękuję recenzentowi prof. Adamowi Olszewskiemu za cenne uwagi, które pozwoliły mi uniknąć pewnych błędów, oraz pani mgr Ewie Korek za ważne komentarze i korektę maszynopisu.
Składam wyrazy wdzięczności Ewie, Ani, Lilianie oraz Agacie, których wsparcie pomogło mi przetrwać trudne chwile mojego życia i dokończyć prace nad niniejszą książką.
Książkę tę dedykuję mojemu Mistrzowi, Profesorowi Romanowi Murawskiemu, który przez wiele lat, cierpliwie i z wielką życzliwością, wprowadzał mnie w świat filozofii. Bez Niego ta książka by nie powstała. Dziękuję.
Spis treści
Wstęp 7
Rozdział 1. Komputer 15
- Komputer jako urządzenie fizyczne 16
- Komputer jako artefakt 20
- Hardware versus software 29
- Weryfikacja komputerów jako urządzeń 34
- Komputer jako obiekt abstrakcyjny 38
- Inne koncepcje komputera 40
- Podsumowanie 43
Rozdział 2. Program komputerowy 48
- Ontologia 51
- Dualna natura programów komputerowych 52
- Programy jako obiekty matematyczne 57
- Programy jako wzorce 60
- Kryteria identyczności programów 64
- Specyfikacja 70
- Implementacja 76
- Epistemologia 82
- Poprawność programów 83
- Testowanie programów 85
- Dowodzenie poprawności programów 92
- Podsumowanie 114
Rozdział 3. Informacja 127
- Definicje informacji 128
- Wybrane teorie informacji 133
- Matematyczna teoria komunikacji 133
- Algorytmiczna teoria informacji 144
- Teoria informacji Mazura 147
- Teoria informacji semantycznej 154
- Teoria informacji silnie semantycznej Floridiego 157
- Teoria systemowa 172
- Informacja jako wynik procesu 179
- Filozofia informacji 184
- Podsumowanie 187
Rozdział 4. Rzeczywistość wirtualna 198
- Wprowadzenie 199
- Cechy wirtualnej rzeczywistości 202
- Symulacja 202
- Interaktywność 204
- Sztuczność 205
- Immersja 206
- Teleobecność 208
- Komunikacja sieciowa 209
- Fikcjonalizacja 209
- Hipertekst 210
- Czas 211
- Obiekty wirtualne jako symulacje 212
- Wirtualność a fikcja 214
- Ontologia rzeczywistości wirtualnej Gurczyńskiego 218
- Ontologia obiektów wirtualnych Breya 222
- Wirtualność a realność 227
- Podsumowanie 231
Zakończenie 235
Bibliografia 248
From ontological issues of computer science (Summary) 265