
{"id":429,"date":"2009-11-13T09:31:26","date_gmt":"2009-11-13T08:31:26","guid":{"rendered":"http:\/\/naukowy.blog.polityka.pl\/?p=429"},"modified":"2013-02-11T18:46:58","modified_gmt":"2013-02-11T17:46:58","slug":"biologia-a-informatyka","status":"publish","type":"post","link":"https:\/\/blog.polityka.pl\/naukowy\/2009\/11\/13\/biologia-a-informatyka\/","title":{"rendered":"Biologia a informatyka"},"content":{"rendered":"<p><a href=\"\/wp-content\/uploads\/2009\/11\/zegar.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-430\" title=\"zegar\" src=\"\/wp-content\/uploads\/2009\/11\/zegar.jpg\" alt=\"\" width=\"450\" height=\"494\" srcset=\"\/naukowy\/wp-content\/uploads\/2009\/11\/zegar.jpg 450w, \/naukowy\/wp-content\/uploads\/2009\/11\/zegar-273x300.jpg 273w\" sizes=\"(max-width: 450px) 100vw, 450px\" \/><\/a><\/p>\n<p><strong>Witam serdecznie wszystkich Czytelnik\u00f3w z nowej dla mnie pozycji autora, a nie tylko komentatora na tym blogu.<br \/>\n<\/strong><br \/>\nTemat: biologia a informatyka, ale nie na poziomie technicznym, gdzie wsp\u00f3\u0142praca kwitnie, tylko na og\u00f3lno-filozoficznym, gdzie obie nauki czasem mijaj\u0105 si\u0119 w pe\u0142nym p\u0119dzie, zmierzaj\u0105c w przeciwnych kierunkach.<br \/>\n<!--more--><br \/>\nSkojarzenie, o kt\u00f3rym chc\u0119 napisa\u0107, przysz\u0142o mi do g\u0142owy, gdy przeczyta\u0142em w programie tegorocznego warszawskiego Festiwalu Nauki zapowied\u017a debaty &#8222;Biologia syntetyczna os\u0105dzona&#8221;. Nie chodzi tu mi o os\u0105d, tylko o sam\u0105 biologi\u0119 syntetyczn\u0105, kt\u00f3ra, jak j\u0105 rozumiem, d\u0105\u017cy do tworzenia nowych, dot\u0105d nieistniej\u0105cych organizm\u00f3w w spos\u00f3b w pe\u0142ni kontrolowany przez badacza. Spodziewam si\u0119, \u017ce najwi\u0119kszym marzeniem jest zrobi\u0107 kom\u00f3rk\u0119 z jak najmniejszej liczby komponent\u00f3w, tak aby w pe\u0142ni m\u00f3c ogarn\u0105\u0107 wszystkie ich interakcje. Poczu\u0107 si\u0119 jej jak ongi\u015b zegarmistrz, kt\u00f3ry przypatrywa\u0142 si\u0119 finezyjnej wsp\u00f3\u0142pracy k\u00f3\u0142ek z\u0119batych w zegarku, wiedz\u0105c wszystko o wszystkich. To wida\u0107 te\u017c w ca\u0142ym pot\u0119\u017cnym nurcie biologii molekularnej, w kt\u00f3rym chodzi o identyfikowanie tych k\u00f3\u0142ek z\u0119batych, ich funkcji i wzajemnych zaz\u0119bie\u0144.<\/p>\n<p>Z drugiej strony informatyka, gdzie stworzenie prostego programu, nad kt\u00f3rym ma si\u0119 pe\u0142n\u0105 kontrol\u0119, nie jest wielkim wyzwaniem &#8211; uczymy tego student\u00f3w na pierwszym roku. Jednak w miar\u0119 wzrostu zapotrzebowa\u0144 i skali problem\u00f3w do rozwi\u0105zania, w naszym fachu jest silna potrzeba i tendencja do rezygnacji z postawy zegarmistrza. Coraz cz\u0119\u015bciej (a w zastosowaniach praktycznych ju\u017c prawie zawsze) informatyk tworz\u0105c program rezygnuje z pe\u0142nej wiedzy i kontroli nad nim.<\/p>\n<p>W najprostszej wersji jest to absolutnie powszechne, praktycznie wszystkie kompilatory j\u0119zyk\u00f3w programowania dokonuj\u0105 r\u00f3\u017cnych optymalizacji, tak \u017ce powsta\u0142y kod wykonywalny nie do ko\u0144ca odpowiada temu, co programista napisa\u0142, cho\u0107 ma dok\u0142adnie identyczn\u0105 funkcjonalno\u015b\u0107.<\/p>\n<p>Dalej id\u0105 deklaratywne j\u0119zyki programowania, w kt\u00f3rych programista ju\u017c tylko w formalny spos\u00f3b deklaruje co ma by\u0107 obliczone, a strategi\u0119 uzyskania tego wyniku pozostawia systemowi obliczeniowemu. Do tej kategorii nale\u017cy Prolog oraz standardowy j\u0119zyk zapyta\u0144 system\u00f3w relacyjnych baz danych SQL.<\/p>\n<p>Pisz\u0105c program wsp\u00f3\u0142bie\u017cny, sk\u0142adaj\u0105cy si\u0119 z wielu w\u0105tk\u00f3w wykonuj\u0105cych swoje obliczenia niezale\u017cnie, programista traci r\u00f3wnie\u017c kontrol\u0119 nad kolejno\u015bci\u0105 wykonania wielu czynno\u015bci. Jest ona oczywi\u015bcie zdeterminowana w pojedynczym w\u0105tku, ale nie ma sposobu, aby pe\u0142n\u0105 synchronizacj\u0119 osi\u0105gn\u0105\u0107 pomi\u0119dzy czynno\u015bciami wykonywanymi w r\u00f3\u017cnych w\u0105tkach. W rzeczywisto\u015bci, w kolejnych testach twego samego programu, wykonywanych w identycznych warunkach, te kolejno\u015bci mog\u0105 by\u0107 inne. Teraz za nas rozstrzyga ju\u017c nawet nie system realizuj\u0105cy nasze programy, ale przypadek. Programista musi si\u0119 zadowoli\u0107 instalowaniem w programach r\u00f3\u017cnych zabezpiecze\u0144, by poszczeg\u00f3lne w\u0105tki nie szkodzi\u0142y sobie nawzajem.<\/p>\n<p>Stosujemy te\u017c szeroko algorytmy heurytyczne i ucz\u0105ce si\u0119, kt\u00f3re dzia\u0142aj\u0105 w spos\u00f3b nie do ko\u0144ca dla nas przejrzysty. Popatrzmy na sztuczne sieci neuronowe, o kt\u00f3rych wiele os\u00f3b pewnie s\u0142ysza\u0142o. Sie\u0107 konstruuje si\u0119 z wielkiej liczby do\u015b\u0107 systematycznie powi\u0105zanych, bardzo prostych sztucznych neuron\u00f3w i tu w zasadzie ko\u0144czy si\u0119 rola tw\u00f3rcza programisty. Potem podaje jej si\u0119 pewn\u0105 liczb\u0119 przyk\u0142ad\u00f3w danych wej\u015bciowych z podan\u0105 oczekiwan\u0105 reakcj\u0105 i tu tw\u00f3rca jeszcze ma aktywn\u0105 rol\u0119, wybieraj\u0105c strategi\u0119 uczenia sieci i przyk\u0142ady, ale daleko mu ju\u017c do pe\u0142nej wiedzy, co si\u0119 &#8222;w \u015brodku&#8221; dzieje. Sie\u0107 uczy si\u0119 tych przyk\u0142ad\u00f3w, czyli gromadzi w swoich danych wewn\u0119trznych wiedz\u0119 o nich, by w przysz\u0142o\u015bci poprawnie reagowa\u0107 na nowe zadania, inne od tych szkoleniowych. Okazuje si\u0119, \u017ce sieci neuronowe zdolne s\u0105 do generalizacji, a tak\u017ce do uaktualniania swojej wiedzy kosztem wcze\u015bniej poznanych wzorc\u00f3w. Co najciekawsze, wiedza zgromadzona przez sie\u0107 jest absolutnie nieczytelna dla cz\u0142owieka, kt\u00f3ry mo\u017ce oczywi\u015bcie u\u017cy\u0107 jej jako narz\u0119dzia, ale nie mo\u017ce (w obecnym stanie wiedzy) prze\u0142o\u017cy\u0107 jej na w pe\u0142ni kontrolowalny algorytm realizuj\u0105cy to samo zadanie.<\/p>\n<p>Mamy wi\u0119c dwa pot\u0119\u017cne nurty: biologiczny, \u017ceby upro\u015bci\u0107, podda\u0107 kontroli i zrozumie\u0107, oraz biegn\u0105cy w przeciwnym kierunku informatyczny, \u017ceby zrezygnowa\u0107 z pe\u0142nego zrozumienia i kontroli w zamian za sprawne dzia\u0142anie. Pozdrawiam wszystkich p\u0142yn\u0105cych w przeciwnym kierunku!<br \/>\n<strong><br \/>\nJerzy Tyszkiewicz<\/strong><em><br \/>\n<\/em><\/p>\n<p><em>Fot. <\/em><a title=\"User:Hustvedt\" href=\"http:\/\/commons.wikimedia.org\/wiki\/User:Hustvedt\"><em>Hustvedt (CC SA)<\/em><br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Witam serdecznie wszystkich Czytelnik\u00f3w z nowej dla mnie pozycji autora, a nie tylko komentatora na tym blogu. Temat: biologia a informatyka, ale nie na poziomie technicznym, gdzie wsp\u00f3\u0142praca kwitnie, tylko na og\u00f3lno-filozoficznym, gdzie obie nauki czasem mijaj\u0105 si\u0119 w pe\u0142nym p\u0119dzie, zmierzaj\u0105c w przeciwnych kierunkach.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[60,43,6,1],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/posts\/429"}],"collection":[{"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/comments?post=429"}],"version-history":[{"count":2,"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/posts\/429\/revisions"}],"predecessor-version":[{"id":2167,"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/posts\/429\/revisions\/2167"}],"wp:attachment":[{"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/media?parent=429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/categories?post=429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.polityka.pl\/naukowy\/wp-json\/wp\/v2\/tags?post=429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}