Po co w ogóle liczymy Rozliczenia handlowe, finansowe itd.
Liczby całkowite, niewielka ilość danych Tradycyjne obliczenia inżynieryjne
Liczby rzeczywiste, niewielka ilość danych
Gdy mamy potrzebę zapanowania nad dużą liczbą poddanych…
Np. „ile w kraju jest mężczyzn w wieku poborowym” … albo gdy poddani mają potrzebę
zapanowania nad władzą Demokracja na skalę lokalną daje się zrealizować
„ręcznie” Na dużą skalę zaczyna już wymagać rozwiązań
technicznych – np. USA i wybory prezydenckie
Liczby całkowite, bardzo duża ilość danych
Spisy powszechne
Spisy powszechne organizowano od bardzo dawna (właśnie dlatego Chrystus narodził się akurat w Betlejem...).
Czym innym jest jednak policzenie liczby ludności, a czym innym zebranie danych statystycznych.
Szczególny przypadek – USA. Konieczność przeprowadzania spisów powszechnych zapisano tam w konstytucji, od obliczenia liczby ludności we wszystkich stanach zależy bowiem przebieg procedury wyborczej
Sytuacja na przełomie XVIII i XIX wieku:• 1790 – 3893637 obywateli
• 1860 – 31440000 obywateli
• 1880 – 50262000 obywateli (dziewięć lat na obróbkę danych!!!)
• 1890 – przewidywana klęska...
Cesus Bureau rozpisuje zatem konkurs...
Maszyna Holleritcha
Konkurs ogłoszony przez Census Bureau wygrywa Herman Hollerith (były pracownik Census Bureau) – dzięki jego propozycji udaje się „obliczyć” wyniki spisu z 1890 roku w ciągu siedmiu lat (62 mln. osób)
Hollerith zarabia pierwsze duże pieniądze (750 tysięcy dolarów za wynajem sprzętu) i zakłada firmę Tabulating Machines Company
Zaproponowane rozwiązanie oparte zostało o podstawowe elementy:
Karty perforowane służące do zbierania danych przez ankieterów spisowych
Elektromechaniczny licznik oraz sorter służący do obróbki statystycznej danych
Karty perforowane
Karty wielkości banknotu dolarowego Perforacje oznaczają zapis danych Same karty bez nadruku, należało
nałożyć szablon do odczytu danych W późniejszym okresie ankieterzy
spisowi otrzymują maszynki-dziurkacze
Karty perforowane A skąd Hollerith wziął pomysł na karty? … z przemysłu dziewiarskiego – od końca XVIII wieku (Henri Falcon,
Joseph Jacquard i in.) konstruowane są automatyczne krosna dziewiarskie Nie chodzi tu o sam proces tkania (to jest dość proste, choć żmudne…) a
o tworzenie wzorów na tkaninie, co wymaga przeplatania odpowiednich nitek w odpowiedniej kolejności
Sterowanie procesem tkania odbywa się poprzez zapisanie instrukcji dla krosna na karcie perforowanej
Sorter Holleritha Istotne przyspieszenie pracy – zawiera
sumator, oraz półautomatyczne urządzenie sortujące (otwiera samoczynnie odpowiednią przegródkę…).
Czytnik kart oparty o wykorzystanie rtęci…
Rozpowszechnienie mechanografii Firma Holleritha ma się dobrze – po sukcesie amerykańskim
zamówienia napływają także z Rosji Mechaniczne zbieranie i zliczanie danych statystycznych
okazuje się być przydatne także w przemyśle – na początek kolejowym (obliczenia rozkładów jazdy, frachtu itd.), następnie zaś ubezpieczeniowym
Powstają firmy konkurencyjne, rodzi się przemysł mechanograficzny, w 1924 Tabulating Machines zmienia nazwę na International Business Machines – IBM
Już przed wybuchem I wojny światowej maszyny mechanograficzne znajdziemy w większości biur nawet średniej wielkości firm.
Znaczenie mechanografii
Przygotowanie „gruntu” pod powstanie przemysłu komputerowego
Umożliwienie rozwoju przemysłu wymagającego „systemów” obliczeniowych – np. przemysł lotniczy
Znaczenie społeczne – zwiększenie zatrudnienia a następnie roli kobiet w korporacjach
Kontrola nad społeczeństwem – umożliwienie powstania systemów totalitarnych
Gospodarka centralnie planowana IBM a III Rzesza (zbieranie danych ubezpieczeniowych
w Francji w latach 40-tych XX wieku)
Powstanie nowoczesnych systemów ubezpieczeniowych
Inne potrzeby obliczeniowe Sama statystyka to nie wszystko - rozwój nauk
ścisłych powoduje wzrost zapotrzebowania na metody obliczeń, wykraczające poza prostą arytmetykę
Typowe zastosowania Obliczenia tablic balistycznych Obliczenia tablic pływów
Ponadto klasyczne metody obliczeń inżynierskich – np. wykorzystujące tablice logarytmów, funkcji trygonometrycznych itd. wymagają dobrych materiałów źrółowych
Typowa biblioteka uczonego w czasach wiktoriańskich zawierać mogła kilkaset woluminów tablic matematycznych
… z których wiele zawierało sporo błędów, np. popularne tablice mnożenia Huttona zawierają nawet i 40 błędów na stronę!
Przykład starannie wydanych tablic – raptem 3700 pomyłek w 40 tomach!
Metoda różnic skończonych Rzeczą pożądaną byłaby zatem automatyzacja przygotowania tablic matematycznych.
Czy jest to wykonalne? Można tu zastosować metodę różnic skończonych: Większość ciągów arytmetycznych
daje się sprowadzić do działań na rzędach kolejnych różnic (a zatem do prostego dodawania) np.
F(x) = 2*x + 3
X = 1 2 3 4 5
F(x)= 5 7 9 11 13
różnice= 2 2 2 2 2
F(x) = x^2 + 2x + 3
X = 1 2 3 4 5
F(x)= 6 11 18 27 38
Różnice 1-go rzędu= 5 7 9 11 13
Różnice 2-go rzędu= 2 2 2 2 2
Takimi ciągami można przybliżać np. funkcje trygonometryczne, logarytmy itp.
Charles Babbage
Charles Babbage (1791-1871) – pomysłodawca zmechanizowania metody różnicowej
Ponadto dość interesująca postać – matematyk, astronom, geograf, ekonomista, statystyk itd. – innymi słowy „typowy” wiktoriański naukowiec
Odziedziczył po ojcu spory majątek (100 tysięcy funtów) – co pozwoliło mu na zajęcie się działalnością naukową
Wykształcony w Cambridge (gdzie poza samą działalnością akademicką brał udział w wielu nie do końca akademickich klubach i stowarzyszeniach)
… już podczas studiów tłumacz (razem z Johnem Herschelem) podręcznika analizy matematycznej
itd.
Maszyna różnicowa
• Docelowo maszyna służąca do obliczania (i drukowania) dowolnych tablic matematycznych metodą różnic skończonych
• Konstrukcja całkowicie mechaniczna
Pojedyncza sekcja maszyny(prototyp Babbage’a) Rekonstrukcja z 1991 roku
(British Museum)
Maszyna różnicowa Projekt maszyny różnicowej dofinansowany z budżetu
państwa (po zaopiniowaniu przez Royal Society) Niestety – Babbage miał pecha…
Trafił na niezbyt uczciwego (choć niezłego) mechanika (Clement), którego wybrał do budowy części maszyny
Stan techniki w XIX wieku nie do końca pozwalał na realizację konstrukcji (kwestia dokładności wykonania części mechanicznych)
Postępujące opóźnienia w realizacji maszyny nie były zbyt ciepło przyjmowane przez przedstawicieli The Exchequer Office
Ostatecznie projekt przerwano w 1842 roku po wydaniu 17 tysięcy funtów (Babbage dołożył 20 tysięcy z własnej kieszeni) – co nie znaczy, iż były to pieniądze stracone. Babbage ( i cały projekt) był dość szeroko znany i inspirował wielu naśladowców…
Pierwsza rzeczywiście działająca maszyna różnicowa powstaje w końcu dla Akademii Szwedzkiej w 1853 – zbudowana przez George’a Scheutza według oryginalnego pomysłu (ale nie projektu) Babbage’a
Maszyna analityczna
W czasie wolnym od pracy nad maszyną różnicową (m.in. wtedy, gdy Clement ukradł plany maszyny różnicowej) Babbage rozmyśla nad uniwersalną maszyną liczącą – maszyną analityczną
Pomysł – wyposażenie maszyny w możliwość programowania i wykonywania dowolnych działań arytmetycznych
Taka maszyna byłaby znacznie bardziej „potężna” od maszyny różnicowej – można by ją wykorzystać do, w zasadzie dowolnych, obliczeń matematycznych
Babbage: „… I am myself astonished at the power I have been enabled to give to this machine; a year ago I should not have believed this result possible”
Maszyna analityczna
Widok z góry
Rejestry (pamięć)
Akumulatory
Czytniki kart
Bębny sterujące (mikrokod)
MMłyn (operacje arytmetyczne, CPU)
Licznik instrukcji (PC)
Maszyna analityczna - działanie
Działanie maszyny analitycznej znamy głównie dzięki artykułom Lady Ady Lovelace (kuzynki Lorda Byrona), którą można nazwać pierwszym informatykiem (a przynajmniej programistą)
Maszyna analityczna odczytuje program oraz dane z odpowiednio przygotowanych kart perforowanych – kart danych (powodujących „załadowanie” liczby do odp. rejestru), kart dyrektyw oraz kart operacji (programu)
Np. aby obliczyć wyrażenie a(b+c)/(d-e) należało „załadować” liczby a..e do rejestrów V1..V5; następnie przygotować następujące karty dyrektyw:
2, 3, 6, 6, 1, 7, 4, 5, 8, 7, 8, 9 I następujące karty operacji:
+, *, -, /
Efekt – sekwencja operacji: V2+V3 -> V6 V6*V1 -> V7 itd.
Maszyna analityczna Maszyna analityczna (jako całość)
zawsze traktowana była przez Babbage’a jako „ćwiczenie intelektualne”
Bardzo trudna do wykonania w XIX wieku – niezbędna dokładność obróbki części rzędu 1/500 cala, możliwa do osiągnięcia w czasach Babbage’a, ale bardzo kosztowna
Syn Babbage’a, Henry, podejmuje się jednak konstrukcji „procesora” maszyny (młyna) i w 1906 użyty zostaje do wydrukowania wielokrotności liczby pi. Nb. w tym czasie to samo zadanie może zostać wykonane lepiej i szybciej przez „standardowe” maszyny mechanograficzne.
Możliwości maszyny analitycznej Czy to byłby „komputer” w dzisiejszym rozumieniu
tego słowa? Byłoby to urządzenie:
Cyfrowe Programowalne „Turing-complete” – czyli, w sensie matematycznym,
równoważne współczesnym komputerom Pierwszy komputer spełniający powyższe warunki
powstaje dopiero w latach 40-tych XX wieku
Maszyna analityczna byłaby jednak powolna – mnożenie dwóch liczb trwałoby ok. minuty
Zasilanie (czy też raczej napęd) – nie zostało dopracowane przez Babbage’a; jedynym rozsądnym rozwiązaniem wydaje się być silnik parowy
Gdyby jednak została skonstruowana – to można sobie by wyobrażać nieco wcześniejsze nastanie „rewolucji informatycznej” (Bruce Sterling „Difference Engine”).