230 likes | 493 Views
Piotr Gawrysiak pgawrysiak@supermedia.pl. Historia informatyki Wykład 4 – Mechanografia. 2007. 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
E N D
Piotr Gawrysiak pgawrysiak@supermedia.pl Historia informatykiWykład 4 – Mechanografia 2007
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 Bębny sterujące (mikrokod) Akumulatory Licznik instrukcji (PC) Rejestry (pamięć) Młyn (operacje arytmetyczne, CPU) M Czytniki kart Widok z góry
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”).