Komputer, program, algorytm

Wstęp do działu

Cała ta książka jest o sztucznej inteligencji, a sztuczna inteligencja jest — bez żadnych wyjątków — programem komputerowym. Zanim więc powiemy, co ją wyróżnia spośród innych programów (to Dział 3), musimy uczciwie odpowiedzieć na pytanie, które zwykle się przeskakuje: czym właściwie jest komputer i co to znaczy „napisać program".

Bez tego fundamentu każde następne zdanie o AI wisi w powietrzu. Nie zrozumiesz, dlaczego sieć neuronowa „pracuje tylko na liczbach", jeśli nie wiesz, że komputer nic innego niż liczby nie widzi. Nie zrozumiesz, czym różni się trenowanie modelu od klasycznego programowania, jeśli nie wiesz, jak wygląda klasyczne programowanie. I nie ocenisz sensownie zdania „AI myśli", jeśli nie wiesz, że pod spodem jest procesor wykonujący miliardy prostych operacji na zerach i jedynkach.

Zaczniemy od maszyny: co robi procesor, czym jest bit, do czego służy pamięć i co znaczy, że komputer „taktuje" kilka miliardów razy na sekundę. Potem zajmiemy się komunikacją: dlaczego programowanie to rozmowa z maszyną w języku, który ona rozumie, i po co między człowiekiem a procesorem stoi tłumacz zwany kompilatorem. Następnie oddzielimy algorytm od programu — pojęcia notorycznie mieszane, choć różnica jest tu tak istotna jak między przepisem na ciasto a upieczonym ciastem. Dział zamkniemy odkryciem, które będzie wracać przez całą książkę: wszystko, co komputer przetwarza — tekst, obraz, dźwięk — jest liczbą.

Mapa pojęć działu

                        KOMPUTER
                    (maszyna UNIWERSALNA)
                             |
        ┌────────────────────┼────────────────────┐
      SPRZĘT              JĘZYK               DANE
        |                    |                    |
   bit → bajt          język maszynowy       tekst → kody znaków
   procesor (ALU)      język wysokiego       obraz → piksele (RGB)
   pamięć (RAM/dysk)   poziomu (Python)      dźwięk → próbki
   takt (GHz)               |                    |
        |              kompilator /          „wszystko jest liczbą"
        |              interpreter                |
        └────────────────────┼────────────────────┘
                             |
                   ALGORYTM  →  PROGRAM
              (przepis)        (zapis przepisu
                                w języku maszyny)
                             |
                   trzy typy instrukcji:
                   • zrób to
                   • jeżeli…, to…, w przeciwnym razie…
                   • powtórz N razy
                             |
              (Dział 3: a co, jeśli przepisu
               NIE znamy i maszyna ma go
               znaleźć sama?)

Jednostki w tym dziale

  • 2.1 Co właściwie robi komputer: bit, procesor, pamięć, takt
  • 2.2 Jak rozmawiamy z maszyną: język maszynowy, kompilator, języki programowania
  • 2.3 Algorytm i program: przepis krok po kroku (i co znaczy „wykonalny")
  • 2.4 Wszystko jest liczbą: jak zapisujemy tekst, obraz i dźwięk