Historia informatyki Wykład 3 – Machiny do liczenia Piotr Gawrysiak pgawrysiak@supermedia.pl 2007
Maszyna licząca Co to w ogóle jest „maszyna”? Wikipedia – Maszyna - urządzenie zawierające mechanizm lub zespół mechanizmów, służące do przetwarzania energii lub wykonywania pracy mechanicznej. Może lepiej w potocznym rozumieniu? Maszyna – coś wykonujące pracę, którą mógłby wykonać człowiek Pracę zarówno fizyczną, jak i umysłową… Przykład – kalkulator… Ale czy to jest maszyna licząca?
Starożytne kalkulatory Istotne jest tu zatem wykonanie części procesu myślowego związanego z wykonywaniem obliczeń przez mechanizm – nawet bardzo prosty Ponieważ zaś wykonywanie obliczeń jest czynnością żmudną i trudną – a jednocześnie potrzebną – toteż pierwsze mechanizmy wspomagające liczenie pojawiają się już bardzo dawno… Astrolabium – starożytność, przed średniowieczem Głównie obliczenia astronomiczne Cyrkiel proporcjonalny – znany już w czasach rzymskich Operacje arytmetyczne Kwadrant – odrodzenie Uniwersalny kalkulator naukowy Sektor – późne odrodzenie Specjalizowany kalkulator inżynierski (lub wojskowy) Przyrządy analogowe – których dokładność zależy od dokładności wykonania
Przewidywacze przypływów To inny przykład analogowego kalkulatora - specjalizowanego Pozwala on określić wysokość wody w porcie w zależności od pory roku i dnia Nb. Problem przewidywania przypływów sprowadza się do obliczenia złożenia szeregu funkcji trygonometycznych. Ta umiejętność przydaje się zaś w wielu innych zastosowaniach, zwykle wojskowych. Wrócimy do tego omawiając czasy zbliżone do okresu wojen światowych…
Współczesne kalkulatory analogowe Współcześnie także wykorzystuje się tego rodzaju analogowe kalkulatory Przykład – Flight Computers Pozwalają na wykonanie typowych obliczeń niezbędnych pilotowi samolotowemu (poprawka na wiatr, zużycie paliwa, obliczenia wysokości, przeliczenia systemów miar itd.) Taki przyrząd nie psuje się, nie wymaga zasilania itp.
Astrolabium Właściwie instrument astronomiczny Popularność zyskał za czasów świetności imperium arabskiego, ale musiał istnieć wcześniej… Prawdopodobnie wymyślony przez Greków, wspomina o nim Ptolemeusz Najstarszy zachowany egzemplarz datowany na 1062 r. n.e. Co można zrobić mając astrolabium? Sporo. Np.: obliczyć pozycję słońca i najważniejszych gwiazd o danej godzinie dowolnego dnia w roku – to istotne dla postawienia horoskopu Obliczyć liczbę godzin pomiędzy wchodem i zachodem słońca Obliczyć czas (znając pozycję słońca i gwiazd) itd. (niektóre traktaty podają, iż możliwe jest wykonanie 1000 różnych operacji) Niezbędny instrument wykształconego człowieka w średniowieczu Instrukcja obsługi – np. A Treatise on the Astrolabe, Bred and Mylke for Childeren (Geoffrey Chaucer, 1392) – napisany dla „lytle sonne Lowis”
Astrolabium Istniały też i wcześniejsze od astrolabium instrumenty – np. laska Jakuba
Kwadrant Rozwinięcie idei astrolabium Urządzenie bardziej praktyczne – nie wymaga znajomości astronomii, a za to przeznaczone do wykonywania codziennych obliczeń (takich jak… projektowanie zegarów słonecznych) Popularność od około XVI wieku, powstaje wiele różnych wersji opracowanych głównie przez profesorów ówczesnych uczelni wyższych (np. Edmund Gunter z Gresham College) Przykład – kwadrant Williama Leybourna (1626-1700) Obliczenia trygonometryczne (ale wg. „starego” systemu trygonometrycznego) Kątomierz, pomiary wysokości itd. Obliczenia kwadratów, sześcianów oraz pierwiastków Mnożenie i dzielenie Obliczenia niezbędne do budowania zegarów słonecznych na powierzchniach poziomych i pionowych (art of dialling) Itd. (instrukcja obsługi – autorstwa Leybourne’a – liczy 260 stron)
Kwadrant Np. Mnożenie: Leybourn: „Take the lesser of the two Numbers to be multiplied out of the line and with that distance the Compasses, set one foot in the term of the greater Number; and bring the thread to the nearest distance; Then from 10 at the end of the line, take the nearest distance to the thread; this distance shall reach from the beginning of the line to the Product of those two Numbers being multiplied together…” Nb. Tu potrzebny jest jakiś cyrkiel (Compasses)
Sektor Skoro i tak czasami właścicielowi kwadrantu potrzebny jest cyrkiel, to można pomyśleć o przyrządzie który go wymaga – jest to sektor Wywodzi się z jeszcze wcześniejszego przyrządu – cyrkla proporcjonalnego (być może znali go już Rzymianie) Narzędzie czysto obliczeniowe – już zupełnie niezwiązane z astronomią Pierwsze wersje – dla artylerzystów (puszkarzy) – obliczenia ilości prochu, ciężaru kuli, kąta nachylenia lufy itd. Jedną z wersji opracował Galileusz
Sektor
Obliczenia przy użyciu sektora Np. 100/7 = ? Odmierzamy b=100 Znajdujemy dwie liczby x i a takie że x*7=a (np. 20 i 140) Odpowiednio otwieramy sektor tak aby odległość pomiędzy punktami M i N (odległymi o 140 od osi sektora) była równa 100 Odległość pomiędzy punktami Q i P (odległymi o 20 od osi sektora) daje nam wynik y=14.28
Suwak logarytmiczny Aby mógł powstać suwak logarytmiczny, potrzebne są logarytmy John Napier (1550-1617), szkocki baron, wynalazca – logarytmów oraz „kości Nepera” Logarytmy: Logarytmowanie jest operacją odwrotną do potęgowania. Najbardziej istotna własność – logarytm iloczynu jest równy sumie logarytmów. A zatem – mając tablicę wartości logarytmów – można sprowadzić operację mnożenia do samego dodawania W 1614 Napier publikuje opis logarytmów „Mirifici Logarithmorm Canonis Descriptio”. W 1624 Henry Briggs i Kepler publikują pierwsze tablice logarytmiczne. Wykorzystanie logarytmów do obliczeń zaczyna zaś być coraz popularniejsze.
Suwak logarytmiczny Aby jednak móc liczyć wykorzystując logarytmy, trzeba posiadać tablice logarytmiczne Dwa problemy przygotowanie tablic jest pracochłonne (co zresztą było inspiracją do wynalazków automatyzujących te prace – Charles Babbage; we Francji próbowano także tworzyć „manufaktury” obliczeniowe – 1794-1799 Charles de Prony) Tablice są nieporęczne W 1624 Gunter (ten od kwadrantu) wymyśla „line of numbers” – linijkę z podziałką logarytmiczną. Mając cyrkiel można już używać jej do mnożenia… W 1633 William Oughtred oraz niezależnie Charles Delamain opisują przyrząd, będący „fizyczną” reprezentacją tablic logarytmicznych – (u Oughtreda - Koła Proporcji). Przyrząd ten to właściwie współczesny suwak logarytmiczny – tyle że „zwinięty” w kółko Jedna z głównych zalet eg. Delamaina – suwaka można używać jadąć konno.
Suwak logarytmiczny Od około 1650 istnieje już suwak logarytmiczny w formie współczesnej – ale bardzo rzadko jest używany „Zwykli” ludzie posługują się sektorem; uczeni – tablicami logarytmicznymi Dopiero wraz z nastaniem ery przemysłowej gwałtownie wzrasta zapotrzebowanie na inżynierów, oni zaś potrzebują przyrządu szybkiego i dokładnego w użyciu Pod koniec XVIII wieku suwaki zaczyna produkować James Watt, pod koniec XIX wieku upowszechniają się w Stanach Zjednoczonych, zaś do połowy XX wieku suwak logarytmiczny staje się niezbędnym narzędziem każdego przedstawiciela nauk technicznych…
Suwak logarytmiczny Przykład użycia - mnożenie Drugi czynnik Pierwszy czynnik Wynik Zwykle suwak posiada też dodatkowe skale – np. funkcji trygonometrycznych
Pierwsze maszyny Maszyna z Antykihera Odnaleziona we wraku okrętu, który około 150 r p.n.e. płynął w okolicach greckiej wyspy Antykithera Mechanizm bardzo mocno zniszczony – od 1970 badany, najpierw aparatami rentgenowskimi, ostatnio przy wykorzystaniu tomografii komputerowej Wszystko wskazuje na to, iż jest to analogowy komputer, który obliczał pozycje księżyca, gwiazd i planet oraz działał jako zmechanizowany kalendarz Mógł być poruszany siłą wody – a zatem „liczyć” mógł zupełnie „sam”.
Wilhelm Shickard i jego kalkulator Maszyna z Antykithera nie jest jednak uniwersalna. Można by powiedzieć, iż jest swego rodzaju specjalizowanym komputerem. Miano twórcy pierwszego mechanicznego kalkulatora przypada Wilhelmowi Shickardowi (1592-1635). Był to profesor hebrajskiego, języków wschodu, matematyki, astronomii, geografii na uniwersytecie w Tubingen oraz – w chwilach wolnych – malarz, rytownik i ksiądz protestancki. Przyjaciel Keplera – co jest nie bez znaczenia, z racji potrzeb obliczeniowych związanych z pracami nad dziełami takimi jak Harmonices Mundi Kalkulator Shickarda jest uniwersalny – co prawda służy jedynie do dodawania liczb, ale mogą to być dowolne liczby
Kalkulator Shickarda Tablica mnożeń (kości Nepera) Sumator Aide memoire
Problem przeniesień Kalkulator Shickarda reprezentuje kolejne cyfry liczby poprzez pozycję kół zębatych. Dodanie jedności = obrót koła Po przekroczeniu wartości 10 należy dokonać przeniesienia wartości do kolejnej „kolumny” To działa dobrze dopóki nie ma zbyt wielu kół do obrócenia. Np.. Gdyby próbować wykonać działanie 999999+1, pierwsze koło musi poruszyć wszystkie elementy mechanizmu maszyny…
Kalkulator Pascala Blaise Pascal (1623-1662) także był (w wolnych chwilach) twórcą maszyny liczącej – sumatora (pascalina) Ojciec Pascala był poborcą podatkowym w Normandii – co m.in. wiązało się z koniecznością dokonywania obliczeń wysokości zebranych podatków W ciągu życia zbudował około 50-ciu różnych maszyn liczących (a nawet próbował zarabiać na ich sprzedaży) których konstrukcja podobna była do maszyny Shickarda, z ulepszonym jednak znacznie mechanizmem przeniesień Mechanizm przeniesień oparty o opadające ciężarki – brak ograniczenia długości „słowa”, ale delikatny i podatny na wstrząsy
Maszyna Pascala
Maszyna Leibniza Wilhelm Leibniz (1646-1716) także konstruował maszyny liczące Dokładniej – pierwszą maszynę, która była w stanie nie tylko dodawać (lub odejmować) lecz także mnożyć liczby Podstawowy wynalazek Leibniza – „bęben schodkowy” – wykorzystywany potem aż po wiek XX w większości maszyn liczących
Bęben schodkowy Leibniza Aby pomnożyć 789 przez 2: Ustawiamy na bębnach 789 Kręcimy korbą dwa razy „Ręczny” mechanizm przeniesień
Maszyny nowsze Pomysł Leibniza ulepszył i skomercjalizował Thomas de Colmar tworząc arytmometr około roku 1820 To właściwie „porządnie” zaprojektowana i produkowana masowo maszyna Leibniza Pod koniec XIX wieku używany powszechnie w ówczesnych korporacjach handlowych – choć było to dość drogie urządzenie (50 gwinei – np. dziennikarz zarabiał około gwinei za stronę tekstu) Arytmometr daje początek przemysłowi obliczeniowemu – wkrótce pojawiają się konkurenci np. popularne i w Polsce maszyny Baldwina, Odhnera, czy też Brunsviga
Comptometer Wkrótce (1886 – Dorr E. Felt) udaje się opracować maszynę, uruchamianą w pełni naciśnięciami klawiszy – Comptometer. Dla użytkownika nie różni się ona już wiele od współczesnego kalkulatora … Typowe maszyny „korbowe” (w stylu Leinbniza) spotykamy jednak nawet aż do lat 80-tych XX wieku – choćby w Polsce, jako kasy sklepowe.
Pierwsze maszyny polskie Abraham Stern (1762-1842) Protegowany Stanisława Staszica Około 1810 roku buduje serię maszyn liczących czterodziałaniowych, niektóre z nich mogły także wyciągać pierwiastki Co istotne: jedna z maszyn Sterna wyposażona została w mechanizm sterujący jej pracą i pozwalający wykonać kilka operacji jedna po drugiej, po wprowadzeniu danych wejściowych – co można by określić mianem prostego programowania…