Jak nauczyliśmy maszyny liczyć i myśleć za nas?

Obecnie używamy komputerów niemal do wszystkiego, ale gdy ta technika się rodziła, nawet twórcom tych pierwszych maszyn nie starczało wyobraźni, żeby wskazać dla nich sensowne zadania. Na początku tworzono tabele. Głównie dla wojska...

Aktualizacja: 08.07.2021 16:04 Publikacja: 08.07.2021 14:08

Wyświetlacz i klawiatura komputera modułu dowodzenia zamontowane na panelu głównym statku Apollo. Po

Wyświetlacz i klawiatura komputera modułu dowodzenia zamontowane na panelu głównym statku Apollo. Powodzenie misji sprawiło, że komputerowym sterowaniem zainteresowali się przemysłowcy

Foto: Wikipedia

Ludzie, którzy budowali pierwsze komputery, nie przewidzieli tego, jak wiele zastosowań będą one miały obecnie. Howard Aiken, twórca pierwszego komputera Mark I (pisałem o nim w poprzednim odcinku tego cyklu), wypowiedział podobno zdanie: „Jedynie sześć elektronicznych maszyn cyfrowych wystarczyłoby do zaspokojenia potrzeb obliczeniowych całych Stanów Zjednoczonych". W latach 40. XX wieku, kiedy informatyka dopiero się rodziła, nie była to wypowiedź odosobniona. Thomas Watson, prezes IBM, firmy, która miała się najsilniej przyczynić do rozwoju informatyki (o jej dziejach pisałem w „Rzeczy o Historii" w wydaniach z 14 i 28 maja br.), podobno powiedział: „Światowe zapotrzebowanie szacuję na jakieś pięć komputerów". Jak widać, twórcy pierwszych komputerów sami ich nie doceniali!

Dlaczego więc budowano te ogromne maszyny? Przypomnijmy z poprzedniego felietonu: Mark I był ogromną maszyną: długą na 17 metrów, na 2 metry wysoką i na metr szeroką. Pierwszy elektroniczny komputer ENIAC to też była ogromna maszyna: 42 szafy, które miały po 3 metry wysokości, 60 centymetrów szerokości i 30 centymetrów głębokości. Komu i do czego takie monstrum mogło się przydać?

Jak łatwo się domyślić, komputerów potrzebowało wojsko. Pierwszym zadaniem tych wielkich maszyn było więc obliczanie tzw. tabel artyleryjskich. Były to zestawienia pozwalające szybko ustalić nastawy na przyrządach celowniczych działa, które ma trafić w odległy (czasem o kilkanaście kilometrów!) i niewidoczny cel. W czasie II wojny światowej taki sposób ostrzału artyleryjskiego prowadzonego z odległego od pola walki stanowiska ogniowego stał się regułą, tabele były więc bardzo potrzebne. Komputery przeliczały nastawy dział na zasięg lotu pocisków, uwzględniając to, jakie to są pociski, biorąc także pod uwagę szybkość i kierunek wiatru, wysokość nad poziomem morza (w rzadszym powietrzu pociski lecą dalej) i mnóstwo innych czynników. Podczas studiów na AGH byłem przez cztery lata szkolony wojskowo jako artylerzysta, używałem więc takich tabel i pamiętam ich zawartość!

Szerokie zastosowanie tabel

Tabele sporządzane przez pierwsze komputery miały przeznaczenie wojskowe, ale nie była to jedyna możliwość. Teraz każdy ma smartfon, który może szybko dotrzeć do różnych danych albo przeprowadzić potrzebne obliczenia. Ale dawniej ludzie chętnie i do wielu celów korzystali z tabel. Pierwsze tabele matematyczne powstały na początku drugiego tysiąclecia przed naszą erą i były powszechnie używane w Chinach do uproszczenia mnożenia dużych liczb. Kolejnym zastosowaniem, dla którego potrzebne były stabelaryzowane wartości, była nawigacja morska. W celu jej uproszczenia Alfons X Mądry (król Kastylii i Leónu w latach 1252–1284) wprowadził w 1252 r. tablice określające położenie bardziej znaczących ciał niebieskich i przez ponad 200 lat wszyscy żeglarze wyruszali na morze wyposażeni właśnie w „tabele alfonsjańskie". Nowocześniejsze tabele astronomiczne (wraz z tablicami sinusów i kosinusów) wprowadził w 1475 r. niemiecki biskup, matematyk i astronom, znany jako Regiomontanus (w rzeczywistości nazywał się Johannes Müller i pochodził z Königsbergu w Bawarii), a tabele sześciu funkcji trygonometrycznych opublikował w 1551 r. inny Niemiec, znany jako Rheticus (prawdziwe nazwisko: Georg Joachim von Lauchen). Tablice Rheticusa były tak dokładne, że praktycznie bez żadnych zmian używane były do połowy XX w. Podobnie wprowadzone w 1594 r. przez Johna Napiera logarytmy zostały stabelaryzowane w 1617 r. przez Henry'ego Briggsa z taką dokładnością, że kolejne pokolenia matematyków korzystały z tych tablic praktycznie bez żadnych zmian.

Niestety, do większości tabel obliczanych „ręcznie" nie można było mieć zaufania. Zawierały one liczne błędy wprowadzone przez pomyłki rachmistrzów lub (częściej) wnoszone podczas drukowania. Tylko maszyna, która wykonuje całkiem automatycznie wszystkie obliczenia oraz sama (bez udziału człowieka!) drukuje wyniki, mogła być źródłem wiarygodnych tabel. W związku z tym przez długi czas komputery budowano i wykorzystywano głównie do tego celu. Taka była też motywacja budowy pierwszego programowalnego komputera (o czym pisałem w „Rzeczy o Historii" w wydaniu z 11 czerwca br.). Z dzisiejszej perspektywy, nacechowanej wszechobecnością komputerów, ciekawostką jest fakt, że przez długi czas nie znajdowano dla nich żadnego innego zastosowania!

Komputery w pracach biurowych

Cywilnym obszarem, który jako pierwszy docenił możliwości tkwiące w maszynowych obliczeniach, były urzędy statystyczne. Stało się to na długo przed zbudowaniem pierwszych komputerów (o czym szerzej pisałem w „Rzeczy o Historii" z 14 maja br.). Elektromechaniczne urządzenia wymyślone przez Hermana Holleritha, które stworzyły początki potęgi firmy IBM, w bardzo naturalny sposób mogły zostać zastąpione elektronicznymi komputerami. Pionierem w tym zakresie był komputer UNIVAC I opracowany w 1951 r. Zmechanizowane obliczenia statystyczne można było łatwo rozwinąć w kierunku automatyzacji bieżącej rachunkowości przedsiębiorstw. Komputery zaczęły więc obsługiwać księgowość banków, gospodarkę materiałową firm, ewidencję przychodów i rozchodów w handlu. Jednym słowem – trafiły do biur.

Należałoby jednak napisać, że to biura trafiły do komputerów, bo ówczesne (na początku lat 50. XX w.) komputery były ogromne, bardzo kosztowne i wymagały wysoko kwalifikowanej obsługi. Żadna instytucja w pojedynkę takiego „smoka" by nie utrzymała. Przyjęto w związku z tym model, w którym wyposażone w komputery centra obliczeniowe przyjmowały od firm dane (zwykle w postaci pudeł kart perforowanych), dokonywały wymaganych obliczeń na tych danych i dostarczały wyniki (np. bilanse) wydrukowane na szybkich drukarkach wierszowych. Taka praca „wsadowa" zupełnie dobrze zdawała egzamin, dlatego zapotrzebowanie na komputery rosło, wymuszając też ich ciągłe doskonalenie. Ponieważ prowadzenie centrum obliczeniowego było tym bardziej opłacalne, im więcej obliczeń dawało się wykonać w określonym czasie, to właśnie ten kierunek zastosowań informatyki stymulował budowę coraz potężniejszych (w sensie mocy obliczeniowej) komputerów, a także skłaniał do stosowania rozwiązań wielozadaniowych (jeden komputer mógł równocześnie prowadzić obliczenia dla kilku klientów). Komputery rozwijały się w kierunku dużych maszyn, zwanych „mainframe".

Komputery jako narzędzia naukowców i inżynierów

Obok zastosowań biurowych zaczęły się rozwijać także zastosowania naukowe i inżynierskie. Już w 1944 r. Uniwersytet Harvarda otrzymał specjalnie dla nich zbudowany komputer o nazwie Harvard Mark I. Wiodąca wtedy w produkcji komputerów firma IBM zauważyła, że potrzeby obliczeniowe naukowców i inżynierów są odmienne od potrzeb ekonomistów i specjalistów od zarządzania. Dlatego uruchamiając produkcję bardzo udanych komputerów systemu IBM 360 w każdej kategorii wielkości tych maszyn (a były tam modele o bardzo zróżnicowanej mocy obliczeniowej mające rozszerzenie numeru od 20 do 85), wprowadzała odrębne komputery dla biznesu oraz odrębne dla zastosowań naukowych i inżynierskich.

W tym okresie komputery lampowe zostały zastąpione maszynami opartymi na tranzystorach, a następnie układach scalonych. W efekcie rozmiary owych maszyn pozwalały na ich umieszczanie w laboratoriach uniwersyteckich oraz w pracowniach technicznych ośrodków badawczo-rozwojowych związanych z dużymi fabrykami. Miało to pozytywny wpływ na rozwój oprogramowania, bo zarówno naukowcy, jak i inżynierowie nie poprzestawali na korzystaniu z programów dostarczanych przez producenta, ale tworzyli własne oprogramowanie, które było sprzedawane innym użytkownikom. Na przykład w MIT (najlepszej na świecie politechnice) w 1961 r. Fernando Corbató wymyślił podział czasu komputera, umożliwiając tym samym kilku użytkownikom jednoczesną na nim pracę. Ta idea będzie miała zasadnicze znaczenie przy rozwoju komputerów „mainframe", które opiszę w następnym felietonie.

Przykładem kreatywnego przemysłowego ośrodka badawczego był Xerox PARC, w którym wynaleziono międzygraficzny interfejs użytkownika z oknami i ikonami – czyli to, czego na co dzień używamy w systemach Windows czy Android. Co więcej, właśnie w Xerox PARC wynaleziono myszkę komputerową. Tak, tak – ten stale przez wszystkich używany rekwizyt pochodzi z Xerox! Mógłbym jeszcze długo wyliczać, co ta firma wniosła do informatyki, ale myślę, że podane przykłady przekonują, iż udostępnienie komputerów naukowcom i inżynierom przyniosło znaczący postęp w informatyce.

Komputery jako urządzenia sterujące

Typowe zadania biznesowe, naukowe i techniczne były realizowane w ten sposób, że ludzie wprowadzali do komputera odpowiedni program, potem dostarczali dane do obliczeń, komputer te obliczenia wykonywał i podawał ludziom wyniki. W miarę jednak jak komputery stawały się coraz mniejsze, tańsze i – co najważniejsze – bardziej niezawodne, wzrastała chęć bezpośredniego sprzęgania ich z określonymi urządzeniami technicznymi, dla których owe komputery pełniłyby rolę sterowników. Obecnie jesteśmy oswojeni z tym, że obrabiarki są sterowane numerycznie, że korzystamy z robotów, których sterowniki są w istocie specjalizowanymi komputerami, że mamy autonomiczne samochody, w których komputer zastępuje kierowcę itp. Warto jednak przypomnieć, jak to się zaczęło.

Otóż pierwszym systemem, w którym zastosowano komputer jako narzędzie sterowania, był statek kosmiczny Apollo, przy użyciu którego USA zdobyły Księżyc. Przy realizacji programu Apollo nie liczono się z kosztami, dlatego w każdym ze statków Apollo były nawet dwa komputery nazywane Apollo Guidance Computers (AGC), służące odpowiednio do sterowania modułem dowodzenia oraz do sterowania modułem księżycowym. Powodzenie misji Apollo sprawiło, że komputerowym sterowaniem zainteresowali się różni przemysłowcy, zwłaszcza gdy dostępne stały się pierwsze minikomputery. Ale o tym napiszę już w następnym odcinku tego cyklu.

Autor jest profesorem AGH w Krakowie

Ludzie, którzy budowali pierwsze komputery, nie przewidzieli tego, jak wiele zastosowań będą one miały obecnie. Howard Aiken, twórca pierwszego komputera Mark I (pisałem o nim w poprzednim odcinku tego cyklu), wypowiedział podobno zdanie: „Jedynie sześć elektronicznych maszyn cyfrowych wystarczyłoby do zaspokojenia potrzeb obliczeniowych całych Stanów Zjednoczonych". W latach 40. XX wieku, kiedy informatyka dopiero się rodziła, nie była to wypowiedź odosobniona. Thomas Watson, prezes IBM, firmy, która miała się najsilniej przyczynić do rozwoju informatyki (o jej dziejach pisałem w „Rzeczy o Historii" w wydaniach z 14 i 28 maja br.), podobno powiedział: „Światowe zapotrzebowanie szacuję na jakieś pięć komputerów". Jak widać, twórcy pierwszych komputerów sami ich nie doceniali!

Pozostało 93% artykułu
2 / 3
artykułów
Czytaj dalej. Subskrybuj
Historia
Pomogliśmy im odejść z honorem. Powstanie w getcie warszawskim
Historia
Jan Karski: nietypowy polski bohater
Historia
Yasukuni: świątynia sprawców i ofiar
Historia
„Paszporty życia”. Dyplomatyczna szansa na przetrwanie Holokaustu
Historia
Naruszony spokój faraonów. Jak plądrowano grobowce w Egipcie