Zad. 1. Nikt nie rozstrzygnął dotychczas, co było pierwsze; jajko czy kura. A co było pierwsze: hardware czy software, tzn. komputer, czy język programowania?
Zad. 2. Pierwszy jezyk programowania powstał jako rozwiązanie pewnego klasycznego problemu matematycznego. Co to za problem? Kto go postawił i kiedy?
Zad. 3. Na czym polegał test Turinga w oryginalnym zamyśle jego twórcy?
W grudniu punkty zdobyli:
- 2 pkt: Daria Bumażnik - studentka chemii i toksykologii sądowej na UWr, Zygmunt Krawczyk - nauczyciel w SLO Żary, Krystyna Lisiowska - redaktor z Warszawy, Bolesław Mokrski - emerytowany nauczyciel z Przyszowic, Tomasz Tomiczek - nauczyciel z Lipowej,
- 1 pkt: Krzysztof Danielak - student informatyki przemysłowej na PWr.
Zad. 1. Na początku XIX w. angielski matematyk-samouk Charles Babbage rozpoczął prace nad maszyną analityczną napędzaną silnikiem parowym, która zgodnie z instrukcjami zapisanymi na kartach perforowanych, wykonywała działania arytmetyczne, pętle, instrukcje warunkowe i podprocedury; była też wyposażona w pamięć do przechowywania danych. Matematycznie był to pierwszy komputer, gdyby... kiedykolwiek powstał. Babbage nie otrzymał jednak dotacji rządowych na swoje projekty i działającego modelu nigdy nie zbudował (projekt maszyny Babbage'a został opisany przez Adę Lovelace - córkę lorda Byrona - która napisała także dla niego pierwszy program obliczający liczby Bernoulliego i została pierwszym programistą w historii matematyki - nie był to jednak jeszcze język programowania). Pierwszy mechaniczny komputer zdolny, jak się później okazało, do wykonywania wszystkich algorytmów, powstał w 1936-1938 w Niemczech, nazywał się Z1, a jego twórcą był niemiecki inżynier Konrad Zuse. W tej sytuacji pierwszy był zdecydowanie język programowania. Był nim tzw. rachunek lambda wymyślony w 1930 roku przez Alonzo Churcha. Można w nim przeprowadzić dowolne obliczenia.
Zad. 2. Alan Turing, który wymyślił abstrakcyjny model komputera zwany maszyną Turinga, udowodnił w 1936 roku, że wszystkie algorytmy, jakie da się zapisać w rachunku lambda, dadzą się zaimplementować na maszynie Turinga i na odwrót. Oba te podejścia niezależnie dostarczyły negatywnego rozwiązania tzw. problemu decyzji (Entscheidungsproblem) postawionego w 1928 roku przez Davida Hilberta (a z grubsza nawet 200 lat wcześniej przez Gottfrieda Liebniza). Chodziło o to, czy istnieje algorytmiczna (mechaniczna) procedura rozstrzygania prawdziwości twierdzeń logiki, czyli metody określania, czy dana formuła jest dowodliwa w pewnym systemie formalnym. Rachunek lambda (a także każdy system, w którym można wyrazić arytmetykę liczb naturalnych) okazał się systemem formalnym, do którego stosuje się twierdzenia Gödla o niezupełności, a zatem odpowiedź na pytanie Hilberta brzmi "nie".
Zad. 3. W 1950 roku Alan Turing, prowadząc badania nad sztuczną inteligencją, zaproponował test, który miał definiować, co oznacza stwierdzenie, że "maszyny myślą". Test wygląda następująco: człowiek prowadzi rozmowę w języku naturalnym z podmiotem testu. Jeśli nie jest w stanie wiarygodnie określić, czy druga strona jest maszyną czy człowiekiem, mówimy, że maszyna przeszła test. Zakłada się, że zarówno człowiek, jak i maszyna próbują przejść test, zachowując się w sposób możliwie zbliżony do ludzkiego. W pierwotnym pomyśle Turinga test polegał na zgadywaniu płci potencjalnego rozmówcy za pomocą serii pytań i odpowiedzi pisanych na kartkach papieru, przy czym człowiek musiał udawać płeć przeciwną do własnej (więc oba obiekty postawione były w warunkach, kiedy nie mówią prawdy). Test był ograniczony do pięciominutowej rozmowy.