Pavel Kroupka 01.07.2021

Maszyna Babbage'a - komputer, którego nie było

Maszyna Babbage’a – komputer, którego nie było

Wiek XIX był epoką wiary w potęgę rozumu i nauki. Świat opierał się na liczbach. Zapotrzebowanie na wszelkiego rodzaju obliczenia płynęło zewsząd. Inżynierowie, bankierzy, geodeci, księgowi, dowódcy wojskowi, nawigatorzy okrętowi, naukowcy, wszyscy coś chcieli policzyć. Do swych obliczeń potrzebowali tablic matematycznych, logarytmicznych, astronomicznych. Tablice były publikowane i dostępne, niestety na ówczesnych tablicach nie można było polegać. Zawierały one bowiem liczne błędy, powstałe często na etapie składania do druku. Zirytowany sytuacją Charles Babbage przystąpił do projektowania maszyny, która w wyniku mechanicznych operacji miała obliczać i prezentować wyniki bezbłędnie. Wymagane miało być jedynie “wprowadzenie danych” i obroty korbą. 

Charles Babbage
Charles Babbage

W umyśle Babbage'a pojawiały się różne idee. Po dłuższej chwili zadumy miał ponoć kiedyś zakrzyknąć: “[...] gdybyż udało się takie obliczenia wykonać za pomocą pary!”. Nie wybrzmiało jeszcze echo tego okrzyku, a Babbage już pochylał się nad projektem maszyny analitycznej, która w założeniach miała w ten właśnie sposób dokonywać obliczeń. Żadna z maszyn, o których mówimy nigdy jednak nie powstała w formie takiej jaka wynikała z założeń projektowych. Kopia maszyny róznicowej nr 2 oparta na założeniach konstruktora zbudowana została dopiero pod koniec XX wieku w ramach projektu realizowanego na zamówienie Muzeum Nauki w Londynie z okazji dwusetnej rocznicy urodzin wynalazcy. Zdaniem niektórych, myśl techniczna przerosła w tym przypadku możliwości dziewiętnastowiecznej technologii. Pozwolimy sobie jednak postawić inną tezę.

Od projektu do… nierealizacji

Powodem nieurzeczywistnienia planów Babbage'a (przynajmniej początkowo) nie mógł być także brak odpowiednich funduszy. Rząd brytyjski hojnie wspierał projekt, gdy jednak podczas prac nad jego realizacją pojawiły się trudności z podwykonawcami, konieczność reorganizacji zniechęciła sponsorów i napływ środków przeznaczonych na budowę maszyny różnicowej numer 1 po prostu wstrzymano. Konstruktor miał już zresztą pomysł znacznie lepszego urządzenia, który powoli zaczęło wyłaniać się z rysunków projektowych - maszyny analitycznej. Ale po kolei.

Maszyna różnicowa
Maszyna różnicowa

Prace nad projektem i konstrukcją maszyny różnicowej rozpoczęte zostały w 1819 roku. Cała konstrukcja miała składać się z wielu tysięcy części i ważyć nawet kilkanaście ton. Pierwotny projekt przewidywał wykorzystanie maszyny do obliczeń wielomianów do 6 stopnia z dokładnością do 20 cyfr. Prace zarzucone zostały jednak w 1833, a w pracowni Babbage’a pojawiły się rysunki wspomnianego już projektu maszyny analitycznej, konstrukcji znacznie bardziej zaawansowanej (napędzanej parą i programowalnej). I ona jednak nie została zrealizowana. W latach 1847-1849 Babbage powrócił do udoskonalania maszyny różnicowej - powstał nr 2. Obliczenia wielomianów 7 stopnia z dokładnością do 31 cyfr można byłoby w tym przypadku realizować dzięki mechanizmowi składającemu się z mniejszej liczby części, a co za tym idzie także dużo lżejszemu konstrukcyjnie. Udoskonalenia wykorzystywały ulepszone i uproszczone mechanizmy arytmetyczne opracowane dla potrzeb maszyny analitycznej.

Widzimy, iż kolejne projekty i modyfikacje powstawały szybciej niż realizacje. Wydaje się, iż Babbage nie mógł zaprzestać ulepszeń. Podobno często wstrzymywał prace konstrukcyjne, do momentu opracowania idei jakiejś kolejnej poprawki. Charles Babbage po prostu nie potrafił skończyć. Kolejne pomysły zaprzątały wciąż jego uwagę. Perfekcjonizm i pogoń za coraz nowszymi i doskonalszymi pomysłami nie pozwoliły na realizację zadania. Być może nawet bardziej interesowała go strona teoretyczna przedsięwzięcia niż możliwość jego fizycznego skonkretyzowania.

Nie do końca prawdą jest natomiast, iż do czasów maszyny wykonanej na zlecenia londyńskiego Muzeum Nauki nic nie zbudowano w oparciu o pomysły Babbage'a. Według jego wciąż udoskonalanych projektów powstały jednak pewne konstrukcje. I tak, w latach 1837 - 1853 wynalazcy Georg i Edward Scheutz zbudowali kilka różnych wersji Maszyny Różnicowej w oparciu o plany konstrukcyjne Babbage'a. Maszyny Scheutz’ów ustępowały mocą obliczeniową projektom Babbage’a, będąc przy tym jednak znacznie mniejszymi i lżejszymi, dzięki czemu można je określić mianem urządzeń stołowych. Konstrukcje Scheutz’ów ulepszał Martin Wiberg (obliczenia odsetek i logarytmów), zaś swoją wersję maszyny różnicowej przedstawił w 1860 roku Alfred Deacon (3 stopnie, 20 cyfr). Idee Babbage'a rozwijał także George B. Grant, amerykański inżynier, realizujący projekty kalkulatorów mechanicznych. Zaprezentowany na wystawie Centennial Exposition w Filadelfii w 1876 roku projekt maszyny różnicowej zbudowany był z 15 000 ruchomych części. Wydaje się zatem, iż uwagi na temat wyprzedzenia możliwości technologicznych swoich czasów przez projekty Babbage’a należy uznać za mocno przesadzone. 

Sam wynalazca podjął zresztą próbę realizacji własnego projektu. Od 1823 roku pracował nad nim wraz z Joseph’em Clement, czołowym ślusarzem narzędziowym swoich czasów. Zdołali zbudować okrojoną wersję demonstracyjną, będącą, zdaniem ówczesnych i współczesnych, jawnym i znamienitym przykładem inżynierii precyzyjnej pierwszej połowy XIX wieku. Liczne nieporozumienia pomiędzy konstruktorem i wykonawcą wynikające z “różnicy charakterów” oraz niedomówień na tle finansowym doprowadziły jednak do zakończenia współpracy nad projektem. Ale Babbage pochłonięty był już wówczas swą maszyną analityczną.

Konstrukcja, budowa, działanie

Jak zbudowana była zatem (a w zasadzie miała być zbudowana) maszyna Babbage’a i w jaki sposób miał pracować. Obie wersje maszyny różnicowej działać miały w oparciu o metodę różnic dzielonych (podczas różnicowania zmniejsza się stopień wielomianu o 1, aż do stopnia zerowego, czyli określonej stałej wartości pełniącej istotną rolę w obliczeniach). Wybrana metoda nie wymaga stosowania mnożenia i dzielenia, operacji skomplikowanych do wykonania sposobami mechanicznymi, opierając się jedynie na samym dodawaniu. 

Maszynę różnicową tworzyło kilka podstawowych segmentów: kolumny kół cyfrowych (0-9), mechanizm sektorowy z dźwigniami, ręczna korba oraz sekcja drukująca (końcowy wynik pracy miał być bowiem podawany w forme drukowanej). W każdej kolumnie mieściła się jedna liczba (od 1 do n). Kolumna n zawierała stałą (wynikającą z działania algorytmu różnic dzielonych), kolumna 1 - obliczoną wartość. Wprowadzenie wartości początkowych wymagało ustawień ręcznych w kolumnach mechanizmu maszyny, reszta operacji wykonywana była automatycznie w wyniku obracania korbą. W pierwszym takcie wszystkie kolumny parzyste są sumowane z kolumnami nieparzystymi i zerowane. Po wyzerowaniu kółka liczbowe przenoszą ich wartość na mechanizm sektorowy pomiędzy kolumnami, dodając do kolumn nieparzystych. W momencie osiągnięcia przez kolumnę nieparzystą wartości zero, dźwignia podnosi się. W takcie drugim ramiona unoszą wszystkie dźwignie, mechanizm sektorowy wraca do pierwotnej pozycji, a wartości odtwarzane są w kolumnach parzystych. W takcie trzecim kolumny nieparzyste są dodawane do parzystych (odwrotnie niż w pierwszym). Mechanizm sektorowy przekazuje wyliczone wartości z kolumny 1 do sekcji drukującej. W takcie czwartym (jak w drugim) kolumny nieparzyste powracają do pierwotnych wartości. W skrócie rzecz ujmując tak właśnie przebiegać miał proces obliczeniowy. Skomplikowane?

Wynik obliczeń prezentowany miał być w formie atramentowego druku - sekcja miała działać w oparciu o płyty stereotypowe (bez konieczności ręcznego składania), z możliwością regulacji wysokości linii, liczby kolumn i szerokości marginesów.

Maszyna analityczna
Maszyna analityczna

Maszyna analityczna - wyobrażony komputer

Kolejny z pomysłów Babbage’a był dużo bardziej wizjonerski. Maszyna analityczna miała być napędzana silnikiem parowym i być programowana za pomocą kart perforowanych. Pomysł wprowadzania danych nie był jednak nowy - karty perforowane zastosowane zostały przez Josepha Jacquarda podczas automatyzacji produkcji z wykorzystaniem nowatorskiego krosna jego konstrukcji. Dane otrzymywane na wyjściu miały być prezentowane w formie wydruków realizowanych przez urządzenie na kształt współczesnych ploterów, ewentualnie za pomocą dziurkowanych kart. Widzimy więc, iż w tym przypadku komputerowe analogie zaczynają być coraz bardziej wyraźne. Co więcej, podobnie jak w przypadku współczesnych komputerów, Babbage zaproponował architektoniczne rozdzielenie jednostki obliczeniowej i pamięci. Maszyna analityczna pomyślana została w ten sposób aby obsługujący ją proces programowania składał się z charakterystycznych struktur (pętle, sekwencje), które także obecnie występują w ramach funkcjonujących języków asemblerowych. Była pierwszym urządzeniem posiadającym własne oprogramowanie - m.in. algorytm obliczający liczby Bernoulliego, którego autorem była Ada Lovelace. Oprogramowanie powstało jednak do nieistniejącej i nigdy niezrealizowanej maszyny obliczeniowej - z wymienionych już powodów zbudować udało się jedynie fragment jednostki obliczeniowej, tzw. “młyna”. Pozostało ponad dwieście szczegółowych, pięknych i kosztownych rysunków technicznych przedstawiających elementy maszyny. Przez lata Babbage wykonał różne warianty projektu, podążając najczęściej w kierunku uproszczenia mechanizmu, choć także i przyspieszenia obliczeń. Konstruktor był świadomy prędkości działania swojej maszyny. Ale szybkość obliczeń nie mogła rosnąć kosztem ich niezawodności. Z doświadczenia podczas prac nad maszyną różnicową wiedział, że precyzja działań wymaga aby kółka nie obracały się zbyt szybko, stąd kolejne udoskonalenia nie wynikały z mocy, ale sprytnych rozwiązań konstrukcyjnych.

Uważa się, że podstawy metody pracy maszyny analitycznej powstały do końca 1837 roku, późniejsze prace projektowe trwające wiele lat wiązały się z dopracowaniem szczegółów i alternatywnymi sposobami realizacji.

Jego dzieło kontynuował syn Henry. Okroił jednak konstrukcję i tym samym funkcjonalność urządzenia. Udało mu się w końcu skonstruować prosty kalkulator (bez pamięci i możliwości programowania) wykonujący cztery podstawowe działania (w konkretnym przypadku chodziło o wyliczenie wielokrotności liczby pi). 

Projekt 28

W roku 1878 kolegium British Association for the Advancement of Science opisało maszynę analityczną tytułując „cudem mechanicznego geniuszu”. Koszt jej realizacji uznano jednak za trudny do oszacowania, a poprawność działania za wysoce niepewną. W roku 2010 ogłoszono Projekt 28 mający doprowadzić do budowy i uruchomienia maszyny według, niekiedy trudnych do rozszyfrowania, założeń konstrukcyjnych i rysunków Babbage'a. Największy wynalazek, którego nie było, ma wreszcie szansę zostać zrealizowanym - zasilany parą, z mosiądzu i stali, Praojciec wszystkich komputerów.

Napisz komentarz (bez rejestracji)

sklep

Najnowsze wpisy

kontakt