Kamień węgielny informatyki
Wiele dziedzin nauki ma swój „dokument założycielski”. Na przykład Principia Izaaka Newtona są podstawą mechaniki klasycznej, a monografia O powstawaniu gatunków Karola Darwina zapoczątkowała biologię ewolucyjną. Tylko „fundamenty” informatyki zawarte są w przypisach końcowych.
Augusta Ada King, hrabina Lovelace, lepiej znana jako Ada Lovelace, otrzymała w 1842 roku zlecenie przetłumaczenia artykułu o pierwszym na świecie komputerze ogólnego przeznaczenia. Do tej publikacji dołączyła własne notatki trzykrotnie dłuższe od oryginalnego artykułu, które go całkiem przyćmiły, pod względem szczegółów technicznych i filozoficznej głębi. Dzięki imponującej dalekowzroczności tych rozważań uznano ich autorkę za pierwszą osobę, która przewidziała uniwersalne możliwości komputerów, co dziś stanowi pewnik.
Ojciec Ady Lovelace jest znany na całym świecie, ale ona nigdy nie poznała go osobiście. To lord Byron, ceniony jako poeta okresu romantyzmu, ale według wszystkich relacji marny mąż i nieobecny ojciec (po poznaniu Byrona w 1812 roku arystokratka Caroline Lamb nazwała go „szalonym, złym i niebezpiecznym”). Krótkie i burzliwe małżeństwo rodziców Lovelace zakończyło się oskarżeniem męża przez żonę Annabellę Milbanke o znęcanie się i niewierność zaledwie pięć tygodni po narodzinach córki. Chociaż nigdy więcej się nie spotkali, lord Byron miał „wirtualny” wpływ na córkę, co zaowocowało dwojako. Po pierwsze, interesowała się nim i jego twórczością, a jej światopogląd naukowy był silnie związany z poezją. Po drugie, matka próbowała uchronić Adę przed odziedziczeniem kapryśnego temperamentu ojca, odciągając ją od studiów literackich i nakłaniając do zainteresowania naukami ścisłymi, głównie matematyką.
Kluczowa dla umysłowości Lovelace była znajomość z erudytą Charlesem Babbagem, którego poznała w roku 1833 jako 17-latka. Babbage rozpoczął wówczas projektowanie pierwszego uniwersalnego komputera mechanicznego, zwanego maszyną analityczną. Pomysł zafascynował Lovelace. Zostali bliskimi przyjaciółmi i współpracownikami.
Gdyby Babbage kiedykolwiek zbudował swoją maszynę analityczną, byłaby ona podziwiana jako cud techniki. Szkice i arkusze specyfikacyjne przedstawiają skomplikowaną bestię o wysokości ponad 4,5 m, z grzechoczącymi kolumnami przekładni, panelami dźwigni wirującymi w równym tempie i tysiącami ruchomych części obracających się synchronicznie niczym w steampunkowej orkiestrze. Choć maszyna w niczym nie przypominała pierwowzoru dzisiejszego laptopa, większość jej części była odpowiednikami podzespołów znajdujących się we współczesnych komputerach. Dysponowała centralną jednostką przetwarzającą do wykonywania obliczeń zwaną młynem, pamięcią masową, możliwością wprowadzania danych i programów, a nawet drukarką.
Nie znano wówczas elektroniki, więc maszyna miała być napędzana silnikiem parowym. Każda kolumna przekładni składała się z 40 kół zębatych z 10 zębami, oznaczonymi cyframi od 0 do 9. Pozycje kół zębatych odpowiadały 40-cyfrowej liczbie, podobnie jak tarcze w zamku szyfrowym. Młyn mógł przetwarzać te liczby za pomocą skomplikowanych procedur obejmujących obrót i zamianę kół, jednak kluczowym elementem odróżniającym maszynę analityczną od podobnych wcześniejszych konstrukcji była jej programowalność.
W tym zakresie inspirację stanowiła maszyna Jacquarda stosowana w krosnach tkackich, która zrewolucjonizowała przemysł włókienniczy w XIX wieku, automatyzując tkactwo dzięki zastosowaniu kart perforowanych. W maszynie analitycznej możliwe było, podobnie jak w maszynie Jacquarda, odczytywanie instrukcji podanych w formie otworów wybitych w kartonie. Wcześniej Babbage zbudował prototyp urządzenia zwanego maszyną różnicową (obecnie eksponowanego w Muzeum Nauki w Londynie), które mogło mechanicznie obliczać wartości wcześniej określonych funkcji, na przykład logarytmicznej lub trygonometrycznych. Zaniechał dalszych prac nad tym urządzeniem, ponieważ dostrzegł większy potencjał w maszynie, którą można zaprogramować do wykonywania dowolnych obliczeń.
Programowalność oznacza awans maszyny analitycznej z poziomu zwykłego kalkulatora do poziomu komputera. Byłaby więc w stanie wybrać właściwą instrukcję do wykonania na podstawie wyniku poprzedniego obliczenia. Ta umiejętność, zwana rozgałęzieniem warunkowym, pozwalałaby na realizację zaawansowanych instrukcji, na przykład „if-else”, oraz pętli występujących we współczesnych językach programowania. Chociaż Babbage rozumiał wagę programowalności, wciąż uważał maszynę analityczną za urządzenie czysto matematyczne. Tylko Lovelace przewidziała prawdziwy jej potencjał jako komputera.
Dziesięć lat po tym, jak Lovelace po raz pierwszy dowiedziała się o maszynie analitycznej, zlecono jej przetłumaczenie artykułu na ten temat, którego autorem był włoski matematyk i inżynier Luigi Federico Menabrea (późniejszy premier Włoch). Dysponując znacznie bardziej szczegółową wiedzą na temat maszyny niż Menabrea, Lovelace poprawiła jego błędy i dodała siedem własnych notatek, które same w sobie stanowią przełomowy dokument w historii technik obliczeniowych.
Zwykle za najistotniejszą uważa się tzw. Notatkę G, ponieważ zawiera ona pierwszy opublikowany program komputerowy. Program ten służy do obliczania ważnych w analizie matematycznej liczb Bernoullego. Zastosowana metoda obliczeń zawiera więcej kroków, niż jest to konieczne, ale Lovelace zrobiła to celowo, aby wyeksponować moc i elastyczność maszyny. Chociaż wielu uznaje ją za pierwszą osobę, która napisała program komputerowy, zdaniem części historyków nieopublikowane programy istniały wcześniej, a pod względem technicznym Notatka G nie zawiera programu w takiej formie, jaka jest dziś przyjęta, lecz algorytm w postaci zapisu każdej czynności wykonywanej w trakcie całej operacji. Moim zdaniem są to sprawy drugorzędne, bo określenie „pierwsza programistka komputerowa” nie oddaje tego, co świadczy o mądrości Ady Lovelace, a zawarte jest w pozostałych notatkach.
Babbage uważał maszynę analityczną za urządzenie matematyczne, bo przede wszystkim dysponowała i operowała liczbami. Jednak zdaniem Lovelace maszyna zaprojektowana do przetwarzania liczb mogłaby robić o wiele więcej, gdyby liczby reprezentowały inne desygnaty. Napisała na przykład: „Jeśli założyć, że podstawowe relacje między wysokością dźwięków w nauce harmonii i kompozycji udałoby się odpowiednio zaadaptować, wtedy maszyna mogłaby komponować skomplikowane, naukowe utwory o dowolnej złożoności”. Dziś, po blisko 180 latach, narzędzia generatywnej sztucznej inteligencji, takie jak Suno i Udio, mogą komponować muzykę, korzystając z podpowiedzi w postaci interfejsów tekstowych.
Wnikliwe refleksje Lovelace oznaczają znaczący skok koncepcyjny sformalizowany dopiero 100 lat później przez Alana Turinga: w gruncie rzeczy obliczenia stanowią podlegającą określonym regułom manipulację symbolami – bez ograniczeń dotyczących tego, co te symbole reprezentują. Ta idea jest wbudowana w matematyczny model obliczeń Turinga, ale zapoczątkowała ją Lovelace. Dzisiaj przyjmujemy za pewnik, że te same bity o wartości zer i jedynek kodują każdy rodzaj mediów – tekst, obraz, dźwięk, wideo – ale trudno pojąć, że taka przyszłość została przewidziana, zanim powstał pierwszy komputer.
Lovelace również wyraźnie nawiązała do sztucznej inteligencji, inicjując temat typowy dla współczesności. W swoich notatkach zauważyła, że maszyna analityczna nie będzie inteligentna, ponieważ niczego nie wymyśli – „może zrobić wszystko, co jej nakażemy, jeśli znamy sposób, w jaki należy to nakazać”. Turing rzucił wyzwanie Lovelace w swoim pionierskim artykule na temat „myślących maszyn”. Przyznał, że komputery po prostu robią to, co im się każe, ale zasugerował, że mimo to potrafią nas zaskakiwać. Zaznaczył, że Lovelace nigdy nie korzystała z komputera, więc nie mogła doświadczyć takich zaskoczeń. Przy obecnym stanie SI nierzadki jest pogląd, że maszyny mogą wykazywać inteligencję. Fakt, że Lovelace rozważała kwestię, czy terkoczący układ trybików naszkicowany tylko na papierze, byłby inteligentny, pokazuje, jak bardzo wyprzedzała swoje czasy.
Sceptycyzm i brak wsparcia finansowego ze strony rządu sprawił, że Babbage nigdy nie skonstruował maszyny analitycznej. Znamienne jest zestawienie proroczych notatek Lovelace o potencjalnych możliwościach komputerów z wypowiedzią ówczesnego premiera Wielkiej Brytanii Roberta Peela: „Co mamy przeciw panu Babbage i jego maszynie liczącej? Czyż to nie oczywiste, że gdyby ją skonstruować, byłaby bezwartościowa dla nauki?
***
Jack Murtagh pisze o matematyce i łamigłówkach, w tym o ciekawostkach matematycznych w „Scientific American” i o łamigłówkach na portalu Gizmodo. Uzyskał doktorat z informatyki teoretycznej na Harvard University. Aktywny w serwisie X (@JackPMurtagh).