Obecny wpis jest pomyślany jako krótkie wprowadzenie do tematu następnego seminarium na PW, które będzie poświęcone urządzeniom/komputerom analogowym (w odróżnieniu od cyfrowych).
W ramach tego wprowadzenia chciałbym:
1) po pierwsze, przypomnieć slajdy z poprzedniego posiedzenia seminaryjnego pt. Cyfrowość i analogowość (by je obejrzeć, proszę kliknąć w link obok),
2) po drugie, poczynić pewne dopowiedzenie do wspomnianych wyżej slajdów, które dotyczy wieloznaczności terminu analogowość (i terminów pochodnych, jak: obliczenia analogowe czy maszyny/komputery analogowe).
Rozwijając punkt 2) skupię się na pewnych technikach (metodach) rozwiązywania problemów, które z punktu widzenia ich informatycznej (szerzej: sztucznej) realizacji można rozumieć jako techniki przetwarzania danych (a nie tylko: zapisu czy transmisji).
Pośród ogółu wspomnianych wyżej technik wyróżnia się grupę technik analogowych, czyli takich, których cechą szczególną jest analogowość.
Jak jednak rozumie się ową analogowość? Na jeden sposób czy kilka?
Otóż wydaje mi się, że mówiąc ogólnie o technikach analogowych, ma się na myśli co najmniej trzy ich rodzaje (które dopiero po bliższym zbadaniu mogą, pod pewnymi warunkami, zostać uznane za podobne).
Są to:
a) analogowe techniki nieobliczeniowe – oparte na bezpośrednim modelowaniu/symulowaniu badanego zjawiska fizycznego Z przez bardzo podobne, choć łatwiej obserwowalne, zjawisko ZP. Zjawisko ZP można nazwać analogonem (inaczej: modelem realnym lub fizycznym) zjawiska Z. Na przykład: gdy układ planetarny UP, modeluje się za pomocą analogicznego doń miniaturowego układu fizycznego UF, to pewne problemy dotyczące UP rozwiązuje się poprzez fizyczną manipulację modelem UF i (realną) obserwację jego zachowania.
b) analogowe techniki obliczeniowe – czyli takie metody rozwiązywania problemów, które wymagają wstępnego opisu danego problemu za pomocą liczb (szerzej: obiektów matematycznych), a następnie wykonania odpowiednich operacji na tych liczbach (szerzej: obiektach matematycznych).
Nazywając obliczenia realizowane w przypadku b) analogowymi, nie unikamy kolejnej dwuznaczności, która polega na braku wskazania, o jaki typ obliczeń chodzi.
Możemy bowiem mieć na myśli:
b1) obliczenia ciągłe (w odróżnieniu od dyskretnych), niekoniecznie jednak analogiczne
albo
b2) obliczenia naturalne i analogiczne zarazem (bez przesądzania o ich ciągłości)
W przypadku b1) mamy do czynienia z działaniami na ciągłych wielkościach fizycznych (ich teoretycznym odpowiednikiem są liczby rzeczywiste, ewentualnie: funkcje zmiennej rzeczywistej), które dają w wyniku inne ciągłe wielkości fizyczne. Obliczenia tego typu definiuje się w ramach różnych modeli uniwersalnych komputerów analogowych (np. GPAC czy BSS), które mają określoną architekturę (np. obejmują integrator i wzmacniacz), a ponadto są programowalne (program określa odpowiednią sekwencję operacji podstawowych, przypisanych do odpowiednich elementów architektury). Do wykonania obliczeń jest zatem potrzebny kod.
Cechami szczególnymi obliczeń typu b1) są zatem: ciągłość (gwarantowana na poziomie modelu teoretycznego) i fizyczność rozumiana w sposób ciągły (przetwarzane wielkości fizyczne rozumie się jako ciągłe).
W przypadku b2) z kolei mamy do czynienia z fizyczną realizacją obliczeń za pomocą naturalnych procesów fizycznych, które są odpowiednikami (analogonami) określonych operacji matematycznych. Na przykład: jeśli obliczenie polega na rozwiązywaniu układu równań liniowych, to z układem równań można związać wstępnie pewien układ ciał i wiążących je sił, a procedurę rozwiązywania układu zaimplementować jako proces ustalania się równowagi między ciałami po wcześniejszej zmianie ich konfiguracji.
Obliczenia typu b2) realizuje się zwykle za pomocą wyspecjalizowanych urządzeń i maszyn analogowych (a nie komputerów rozumianych jako uniwersalne maszyny analogowe). Maszyny takie działają na zasadzie analogii: ich wewnętrzne operacje są bowiem fizycznymi odpowiednikami (analogonami) przeprowadzanych obliczeń (np. operacji całkowania czy różniczkowania). Nie jest tu potrzebny żaden kod sterujący sekwencją obliczeń, gdyż urządzenie realizuje bezpośrednio konkretny typ obliczenia.
Cechami szczególnymi analogowych obliczeń typu b2) są zatem: fizyczność (dla danego typu obliczeń szuka się realizującego go bezpośrednio, nie zaś symbolicznie, procesu) oraz analogiczność (ów proces jest analogonem obliczenia). Obliczeniom tego typu może, ale nie musi, przysługiwać także cecha ciągłości – przysługuje ona pod warunkiem, że realizowane fizycznie obliczenia są obliczeniami ciągłymi (jak np. różniczkowanie i całkowanie), a ponadto przetwarzane wielkości fizyczne są faktycznie ciągłe.
Z powyższych zestawień wyłania się dość zaskakująca puenta.
1) Cechą wspólną opisanych wyżej technik analogowych, czyli cechą konstytutywną analogowości w najszerszym znaczeniu, jest nie analogiczność (co mógłby sugerować przymiotnik „analogowe”), a także nie ciągłość (co mogłyby sugerować modele tzw. uniwersalnych obliczeń analogowych), lecz FIZYCZNOŚĆ (w odróżnieniu od właściwej technikom cyfrowym: SYMBOLICZNOŚCI).
[Kwestię tę dostrzegł na ostatnim seminarium prof. Lubacz – za co mu bardzo dziękuję]
2) Drugą cechą wspólną technik analogowych (a przynajmniej tych, które nazwaliśmy obliczeniowymi) jest CIĄGŁOŚĆ. To jednak pod warunkiem, że ciągłości przewidzianej w teoretycznym modelu obliczeń (operacje na liczbach rzeczywistych) odpowiada faktyczna ciągłość przetwarzanych wielkości fizycznych (nośników danych).
Tyle tytułem uzupełnienia slajdów, które zalinkowałem na początku wpisu.
Z wielką ciekawością czekam na ewentualne uwagi, a także referat Jarka przewidziany na najbliższy czwartek.
Podejrzewam, że będzie on dotyczył obliczeń typu b2.
Pozdrawiam wszystkich – Paweł Stacewicz.