Niniejszym wpisem chciałbym wywołać dyskusję nad zagadnieniem obliczeń naturalnych. Zagadnienie to sytuuje się na pograniczu informatyki (badającej różne modele i/lub implementacje obliczeń) oraz nauk przyrodniczych (badających naturę, w obrębie której zachodzą pewne procesy obliczeniowe).
Nie jest to oczywiście zagadnienie sztuczne ( :-)).
Od dobrych kilkunastu lat toczą się realne badania nad natural computing, których dwoistą naturę streszcza następująca uwaga specjalisty:
„Natural computing has taught us to think ‘naturally’ about computation and also to think computationally about nature”
(L.N. de Castro 2007, przytaczam za przygotowanym do publikacji tekstem P. Polaka).
———–
Podstawą naszej dyskusji proponuję uczynić tekst przeglądowy G. Rosenberga i L. Kari „The Many Facets of Natural Computing”, a także moje robocze slajdy, które do tego tekstu częściowo nawiązują.
Chciałbym się skupić na następujących kwestiach (w kolejnych punktach zestawiam pytania główne, a pod nimi pytania sugerujące pewne kierunki odpowiedzi):
1) Czym są w ogóle obliczenia i obliczanie (ang. computing)?
— Czy mamy się zgodzić, na to że: a) w sensie bardzo ogólnym „obliczać” to tyle co „przetwarzać dane (kody) za pomocą pewnych dobrze określonych reguł”, zaś b) w sensie bardzo szczegółowym to tyle, co „realizować operacje zgodne z pewnym ściśle określonym, formalnym modelem obliczeń (jak uniwersalna maszyna Turinga)”?
2) Czym są obliczenia naturalne?
— Czy może nas zadowolić taka oto trójznaczność: A) obliczenia sztuczne, lecz inspirowane obserwacją natury, B) obliczenia sztuczne, lecz realizowane za pomocą pochodzących z natury nośników i/lub procesów, C) obliczenia występujące w naturze (czyli przyrodzie).
— Czy nie trafniej byłoby nazwać obliczenia typu A i B quasi-naturalnymi, bo w gruncie rzeczy są one sztuczne (projektowane przez ludzi), a ich związek z naturą polega na stosowaniu zaczerpniętych z natury reguł (forma) i/lub nośników (materia)?
3) Czy obliczenia naprawdę naturalne (typu C) naprawdę istnieją, czy też to człowiek opisuje odpowiadające im procesy w kategoriach obliczeniowych?
— Czy możemy wątpić w to, że np. kod DNA jest pewną paczką danych, i że kody takie podlegają (w sposób naturalny) pewnym rozpoznanym przez nas przekształceniom?
— Czy założenie o istnieniu obliczeń naprawdę naturalnych nie jest konieczne do tego, by móc wytwarzać obliczania quasi-naturalne?
4) Czy każdy proces w przyrodzie ma charakter obliczeniowy? Czy jego natura jest obliczeniowa?
— Czy nawet nie wierząc w Boga, możemy zaakceptować domysł Leibniza, że „Cum Deus calculat, fit mundus” (czyli: „Gdy Bóg rachuje/oblicza, staje się świat”)?
5) Czy dla skuteczności projektowanych przez nas obliczeń quasi-naturalnych wystarczy odwołać się do natury nieożywionej (układy fizyczne), czy też trzeba naśladować lub wykorzystywać naturę ożywioną (układy co najmniej biologiczne)?
— Przykładowo: czy mamy bardziej wierzyć w obliczenia kwantowe, czy bio-molekularne? (dwie wymienione kategorie nie wyczerpują oczywiście dostępnej palety możliwości).
Pozdrawiam wszystkich i zapraszam do dyskusji — Paweł Stacewicz.
Widzę zjawisko Obliczeń Naturalnych trochę inaczej:
ad 1) Czym są Obliczenia?
* Pojęcia danych i kodów wydają się być uzależnione od pojęcia umowy, więc i podmiotu (kodowanie!) – zatem tu nieużyteczne.
= Proponuję: Obliczenie – to realizacja ściśle określonej relacji (dynamicznej lub statycznej) w pewnym modelu fizycznym (więc też biologicznym, w tym ludzkim) homomorficznym z pewnym modelem abstrakcyjnym (jako uproszczeniem), ostatnim opisanym swoją teorią.
* Obliczeń cyfrowych (tj. na rozwinięciach wielomianowych liczb) ani Maszyny Turinga w przyrodzie nigdy nie zaobserwowano, i nie liczę na to.
Zwykle są to obliczenia (wg powyższej definicji) analogowe, czasami dyskretne (przeważnie przestrzennie, np. w chemii, hodowli owiec; też energetycznie, np. poziomy kwantowe).
ad 2) Czym są Obliczenia Naturalne?
* Warianty A i B wydają się obejmować wszelkie możliwe obliczenia bez wyjątku, są więc niekonstruktywne. Zgoda na C.
= Proponuję: Obliczenie Naturalne – to obliczenie bez naszego sprawstwa.
Gdzie: my – to np. Homo sapiens dla siebie, Sarny obserwujące polanę dla siebie (liczące ludzi wchodzących i wychodzących z namiotu), itd, itp.
ad 3) Istnienie Obliczeń Naturalnych (vs. tylko opis)?
* Uznanie istnienia obliczeń naturalnych jako koniecznego ratunku dla możliwości uznania istnienia obliczeń sztucznych – wydaje się zabiegiem rozpaczliwym, raczej z życzeniowych.
= Proponuję: Istnienie Opisu jest dowodem istnienia Przedmiotu Opisu. Zatem i istnienia Obliczeń Naturalnych.
ad 4) Czy każdy proces w przyrodzie jest obliczeniem?
* Skoro proces – to mowa tu o relacji czasowej, przyczynowo-skutkowej. Włączając modele probabilistyczne – to procesy są obliczeniami i są powszechne!
= Uogólniając pytanie – również na relacje przestrzenne – to są ich dwa rodzaje: sprowadzalne do powyższych, oraz układy silnie bezpośrednio izolowane (też relatywistycznie).
Te ostatnie bywają zwykle związane słabo (obl. rozmyte) lub pozornie wcale, jednak związek pośredni, wspólną, choćby dawną przyczyną (…ewolucja gatunków, supernowa, Big Bang) istnieje.
ad 5) Warunki skuteczności obliczeń sztucznych (quasi-naturalnych).
* Wykorzystanie nośników i/lub reguł naturalnych robiliśmy zawsze, bo innych nie ma. Decyduje pragmatyka – liczydło z dodatkiem biologicznym ustąpiło VLSI – niezawodność, szybkość, cena.
= Wydaje się, że lepszy jest optymalny wybór (j.w.) spośród serwowanych ofert (np. nośników, reguł) natury i myśli, niż wiara w taki czy inny rodzaj obliczeń.
Dodatkowo:
* [ostatni slajd] Obliczenia naturalne nie przeciwstawiają się formalnym – one je realizują (i odwrotnie).
= Proponuję: Program – to aranżacja (z, lub bez naszego sprawstwa) układu fizycznego (więc też biologicznego, w tym ludzkiego) dla realizacji obliczenia.
Pozdrawiam serdecznie, MPJ.
Co do punktu 5 -Chodzi chyba raczej o to czy można odwzorować obliczenia dokonujące się „w naturze” w układzie np. biologicznym poprzez układ obliczający opierający się na nie-biologicznych strukturach? (Czy realizacje ściśle określonej relacji w układzie biologicznym można można trafnie odwzorować za pomocą relacji w układzie niebiologicznym?)
Pewnie każdy z biologicznych układów można „rozłożyć na czynniki pierwsze” – niepodpadające pod domenę biologi: chemiczne i fizyczne cząstki.
Jednak pojęcie kodu może być tu jednak ważne – bo jego obecności we wszelkim przejawianiu się istnień w rzeczywistości dopatrujemy się. To dla nas – naturalne a mogło takie się stać, bo pozwala przewidywać przyszłe wyniki realizacji relacji w układach, od których zależy nasze przetrwanie…
Czy „optymalnym wyborem” w obliczeniu prognozy jutrzejszej pogody (lub zachowania się stad owiec) jest poczekanie na jutro?
O możliwości odwzorowania obliczeń dokonujących się „w naturze” np. w układach biologicznych, chemicznych, atmosferycznych, kosmologicznych, itd., na np. maszynach elektronicznych, wiadomo od dawna, i powszechnie robi się to. Typowy zarzut: że „wszystkiego nie wiemy” jest chybiony, bo „wszystko” jest zbędne – propaguje się w systemie tylko istotna mniejszość informacji zawartych w jego elementach. Doskonalenie modeli również cały czas następuje. Ta możliwość odwzorowania wynika z dowodu równoważności wszystkich tych typów obliczeń z obliczeniami Maszyn von Neumanna i Turinga. Stąd wynika też, że odwrotnie – pogodę można próbować przewidywać na komputerze biologicznym – z żywych komórek neuronowych. Ale na wynik trzeba by czekać milion razy dłużej, więc szybciej, taniej i dokładniej ten wynik pojawiłby się po prostu za oknem. O tym mówiłem, pisząc o optymalnym wyborze dostępnych technik, nośników, formalizacji, itp.
Komputer kwantowy wnosi nową jakość, ale też jest odwzorowywalny klasycznie (choć powoli). Termin „kod” jest często stosowany w kontekście transkrypcji DNA, można więc sformułować poprawną definicję sprawozdawczą jego pojęcia, tam stosowaną.
Wszystko jasne- ale ostrożnie z tą „nową jakością” kwantowego komputera.
Wszak jednym z typowych (i chybionych) zarzutów wobec możliwości odwzorowania biologicznych układów w innych modelach obliczeń, pozostaje jeszcze ten opierający się na argumencie o kwantowej niezawisłości fenomenów „wynikających” z funkcjonowania pewnych biologicznych struktur – w szczególności umysłu.
Od „klasycznej” próby obrony wolności woli umysłu
(poprzez orzeczenie jego nieprzewidywalności z powołaniem się na niezdeterminowanie kwantowych własności cząstek budujących neuronalne struktury mózgu)
po przekonanie (jak u Searl’a), że świadomość może posiadać emergentną własność/zdolność zmiany stanów kwantowych elementów budujących mózg – (na bieżąco) dostosowując fizyczne struktury do tego by zdołały ponieść wyniki jej wyborów.
Niezdeterminowanie wcale nie ma redukować się wraz ze wzrostem złożoności struktur. Gdzieś tam (właśnie w tym czego nie wiemy ) ma kryć się emergentna i nie „odwzorowywalna klasycznie” natura układu biologicznego tworzącego umysł
Przekonywujący dla wielu może okazać się jedynie dowód poprzez stworzenie funkcjonującego trafnie modelu umysłu – choć i tak pewnie„cyfrowy symulator” rozumu niektórzy wezmą jedynie za symulakrum.
Przypadkowo natrafiłem dziś na mój tekst http://www.calculemus.org/forum/1/marc01.html
dyskutujący z artykułem Lema „Moc obliczeniowa życia” (w książce „Chiński pokój”, 1996)
Lem określa molekuły biologiczne jako ,,naturalnie powstałe mikromaszyny Turinga”.
Pytanie do dra Stacewicza: czy proces opisany przez Lema podpada pod kategorię obliczeń naturalnych? Jeśłi tak, to otwiera się ciekawa ścieżka badań, których przykładem sa cytowane przez Lema prace (dawne, a napewno jest już multum nowych):
Molecular Computation of Solutions to Combinatorial Problem”
(Leonard M. Adelman)
,,On the Path to Computation with DNA” (David K. Gifford)
W układzie biologiczno-fizycznym, 'Achilles goniacy żółwia’ oblicza się odległość pomiędzy elementami tego układu wynikała z różnicy prędkości tych elementów. Ze względu na korpuskularno-falową naturę materii (Achillesowej i budujacej żółwia) pośród liczb wyrażających odległość w czasie pomiędzy jego elementami mogą byc i nieobliczalne- czy na cyfrowym kalkulatorze będę mógł policzyć kiedy Achilles dogoni żółwia?
Przepraszam.
Czy ogłoszenia o stworzeniu obliczeniowych modelòw komórki pozwalających „wyznaczyć zachwanie każdej molekuły” to tylko marketingowe chwyty? Jeśli potrafimy modelować funkcjonowanie komórki to kwestią mocy obliczeniowej jest możliwość stworzenia cyfrowego modelu oka trafnie odzwierciedlającego działanie oka. Tak, że oko robota mrugnęło by w takich samych okolicznościach jak naturalne- niezależnie od analogowo przetwarzanych nieobliczalnych liczb. Oko może mrugnąć lub nie, człowiek ruszyć ręką lub zostawiać ją nieruchomo, odezwać się lub zmilczeć. Czy wynik tego co sie mierzy, a co „się liczy”- konstruktywnie – bo w oddziaływaniu buduje jakis rezultat i jednocześnie składową kolejnych obliczanych rezultatów/wyników pomiaru/ mógłby być nieobliczalny? Czy nie byłby to kres możliwości poznania?
Dziękuję bardzo za powyższe komentarze, a ponadto za żywą (i pouczającą) dyskusję podczas seminarium na PW (w ubiegły czwartek), poświęconemu tematowi obliczeń naturalnych.
Cofnę się w tej chwili do komentarza MPJ z 9 listopada i poruszę (na razie) trzy kwestie.
Kwestia pierwsza.
Czy w definicji obliczeń pojęcia danych i kodów są bezużyteczne (jako uzależnione od pojęcia umowy)?
Wydaje mi się, że nie są bezużyteczne z dwóch powodów. Po pierwsze, jeśli chcemy uchwycić pojęcie obliczania od strony informatycznej (co znaczy ono dla informatyków), to kwestia umowy nie przeszkadza, bo odpowiednią umowę wyznacza informatyka. To jest nasza ścisła płaszczyzna odniesienia. W jej ramach określa się precyzyjnie, czym jest taka a taka struktura danych (np. lista), czy taki a taki kod (np. binarny). Obliczanie jest zatem przetwarzaniem danych — opisywanym ściśle za pomocą konwencjonalnych, ale precyzyjnych kategorii informatycznych.
Po drugie, jeśli odnieść pojęcie obliczania do świata fizycznego (otaczających nas realnych systemów: ożywionych i nieożywionych), to wydaje się, że pojęcie kodu (określające wspomniane przez MPJ relacje statyczne i dynamiczne w danym systemie) jest jednak użyteczne. W dawnej terminologii arystotelesowej ten kod to byłaby forma (forma jako dopełnienie materii). Pozostaje oczywiście pytanie za pomocą jakich kategorii informatycznych taki kod można trafnie opisać (i być może sztucznie odtworzyć); założenie o jego istnieniu wydaje się jednak racjonalne. Rozumiem, że tak samo sądzi km, pisząc: „ …pojęcie kodu może być tu jednak ważne – bo jego obecności we wszelkim przejawianiu się istnień w rzeczywistości dopatrujemy się” (komentarz z 9 listopada).
Kwestia druga.
Czy zgodnie z propozycją MPJ: „obliczenie jest to realizacja ściśle określonej relacji (dynamicznej lub statycznej) w pewnym modelu fizycznym (więc też biologicznym, w tym ludzkim) homomorficznym z pewnym modelem abstrakcyjnym (jako uproszczeniem), ostatnim opisanym swoją teorią?” (komentarz MPJ z 9.11).
Zgadzam się. Charakterystyka powyższa jest zbieżna z hasłem obecnym na slajdzie nr 3: „obliczać to znaczy: realizować operacje zgodne z pewnym teoretycznym modelem obliczeń (który – dopowiadam teraz – jest określony w precyzyjnym języku informatyki teoretycznej, silnie spokrewnionej z matematyką).”
Otrzymujemy tu wprawdzie relatywizację pojęcia obliczania do modelu obliczeń (których jest co najmniej kilka, w tym klasyczny turingowski, oparty na pojęciu uniwersalnej maszyny Turinga); niemniej w ramach każdego modelu możemy pytać o moc obliczeniową (zakres rozwiązywanych problemów) i zastanawiać się nad warunkami praktycznej realizowalności postulowanych operacji. Mamy zatem pewien „twardy” punkt odniesienia.
Kwestia trzecia.
Czy – jak pisze MPJ – określanie obliczeń naturalnych (lepiej: quasi-naturalnych lub semi-naturalnych) jako takich obliczeń sztucznych, które muszą być realizowane za pomocą pochodzących z natury nośników i/lub procesów, jest NIEKONSTRUKTYWNE (bo obejmuje wszystkie bez wyjątku obliczenia)?
Na pierwszy rzut oka wydaje się niekonstruktywne (tautologicznie bowiem: wszelka realizacja fizyczna wszelkich obliczeń wymaga czegoś fizycznego).
Proponuję jednak spojrzeć na sprawę łagodniej. Niektóre obliczenia wymagają do swojej realizacji absolutnego minimum (niezależnego ponadto od typu wykorzystywanej materii), a inne czegoś znacznie więcej.
Na przykład: dla realizacji obliczeń cyfrowych wystarczy posłużyć się jakimiś dwoma rozróżnialnymi stanami i pewnymi bardzo prostymi procesami (typu: przesuń czytnik w prawo lub w lewo), zaś w przypadku obliczeń kwantowych musimy skorzystać z pewnych bardzo szczególnych mikro-układów kwantowych (gdybyśmy nie wzięli ich z natury, nie uzyskalibyśmy efektu przełamania wykładniczej złożoności czasowej). W przypadku obliczeń bio-molekularnych sięgamy do natury jeszcze szerzej. Wydaje się zatem, że istnieje jakaś stopniowalna skala odniesień do natury. Im większe nasze „uzależnienie” — tym obliczenie bardziej naturalne.
Powstaje oczywiście wiele pytań: np. a) gdzie leży istotna granica (przed którą obliczenia są bardziej sztuczne niż naturalne)? , albo b) czy wszystko co realizowalne w istocie sprowadza się do turingowskich obliczeń cyfrowych (wtedy nie byłoby żadnych obliczeń naturalnych)?
Na razie tyle, choć i tak chyba sporo… Ciekaw jestem kolejnych komentarzy…
Racjonalności w doszukiwaniu się "formy kodu" w zjawiskach "naturalnych" broni sukces nauki. Trudno z naszej poznawczej perspektywy nie dostrzegać "formy" jako teoretycznej "granicy" – przybliżanej matematycznymi strukturami, którymi opisujemy regularności w przejawianiu się bytów w Rzeczywistości. A spoglądając na cokolwiek trudno – naturalnie – perspektywę porzucić.
Jeśli
malujący się (z ludzkiej perspektywy) obraz Rzeczywistości przestrzegającej "Praw" stanowi ramy dla trafnych predykcji,
to
wypada "być gotowym i na taką możliwość, że to na poważnie" ("zły duch" nie mistyfikuje poznania) i w relacjach między elementami naturalnych układów realizuje się KOD (my dostrzegając to tak to nazywamy).
Istotna granica rozdzielający naturalne od sztucznych obliczeń zawiera się także w naszej perspektywie – w której to my (sztuczne) bądź nie (naturalne) określamy "cel" realizacji obliczeń i układ obliczjacy aranżujemy bądź nie (wybierajac środki z dostępnego arsenału zjawisk, które – w naszej perspektywie -dzielimy fizyczne czy biologiczne).