Thursday, May 9, 2013

Evolutionary Algorithm

Evolutionary Algorithm (Algoritma Evolusioner)

Sejarah dan Ikhtisar

Dalam kecerdasan buatan, algoritma evolusioner (EA) adalah bagian dari komputasi evolusioner, algoritma optimasi metaheuristik berbasis populasi generik. EA menggunakan mekanisme terinspirasi oleh evolusi biologis, seperti reproduksi, mutasi, rekombinasi, dan seleksi. Solusi calon untuk masalah optimasi memainkan peran individu dalam suatu populasi, dan fungsi fitness menentukan lingkungan dimana solusi "hidup" (lihat juga fungsi biaya). Evolusi penduduk kemudian terjadi setelah aplikasi berulang dari operator di atas. Buatan evolusi (AE) menggambarkan proses yang melibatkan algoritma evolusioner individu, EA merupakan komponen individu yang berpartisipasi dalam AE.



Algoritma evolusioner sering melakukan solusi baik yang mendekati semua jenis masalah karena mereka idealnya tidak membuat asumsi tentang lanskap kebugaran mendasari; umum ini ditunjukkan oleh keberhasilan dalam bidang beragam seperti teknik, seni, biologi, ekonomi, pemasaran, genetika, operasi penelitian, robotika, ilmu sosial, fisika, politik dan kimia. Teknik dari algoritma evolusioner diterapkan pada model evolusi biologis umumnya terbatas pada eksplorasi proses evolusi mikro. Komputer simulasi Tierra dan Avida upaya untuk memodelkan dinamika macroevolutionary. Dalam aplikasi yang paling nyata dari EA, kompleksitas komputasi merupakan faktor melarang. Bahkan, kompleksitas komputasi ini adalah karena evaluasi fungsi fitness. Kebugaran pendekatan adalah salah satu solusi untuk mengatasi kesulitan ini. Namun, EA tampaknya sederhana dapat memecahkan masalah sering kompleks, sehingga mungkin tidak ada hubungan langsung antara kompleksitas algoritma dan kompleksitas masalah.

           
Sebuah kemungkinan pembatasan banyak algoritma evolusioner adalah kurangnya yang jelas perbedaan genotipe-fenotip. Di alam, yang dibuahi sel telur mengalami proses yang kompleks yang dikenal sebagai embriogenesis menjadi fenotipe matang. Ini encoding tidak langsung diyakini membuat pencarian genetik lebih kuat (yaitu mengurangi kemungkinan mutasi fatal), dan juga dapat meningkatkan evolvability organisme tidak langsung (alias generatif atau perkembangan) pengkodean tersebut. Juga memungkinkan evolusi untuk mengeksploitasi keteraturan dalam lingkungan. Penelitian terbaru di bidang embryogeny buatan, atau sistem perkembangan buatan, berusaha untuk mengatasi masalah ini. Dan gen pemrograman ekspresi berhasil mengeksplorasi sistem genotipe-fenotip, di mana genotipe terdiri dari kromosom multigenic linear panjang tetap dan fenotipe terdiri dari beberapa pohon ekspresi atau program komputer ukuran dan bentuk yang berbeda.




Pelaksanaan Proses Biologi




Dalam hal melakukan pelaksanaan proses biologinya, algoritma evolusioner dibagi - bagi menjadi beberapa tahapan, diantaranya adalah sebagai berikut :

1.      Menghasilkan populasi awal individu secara acak - Generasi pertama

2.      Mengevaluasi kebugaran masing-masing individu dalam populasi yang 
3.      Ulangi pada generasi ini sampai terminasi (batas waktu, cukup kebugaran dicapai, dll):
            1.Pilih individu terbaik cocok untuk reproduksi - orang tua
       2.Berkembang biak individu baru melalui crossover dan mutasi operasi untuk melahirkan  keturunan
            3.Mengevaluasi kebugaran individu individu baru
            4.Ganti populasi paling-fit dengan individu baru


Teknik Algoritma Evolusioner


            Teknik yang mirip berbeda dalam rincian pelaksanaan dan sifat dari masalah diterapkan tertentu.

  • Algoritma genetika - ini adalah jenis yang paling populer dari EA. Satu mencari solusi dari masalah dalam bentuk string nomor (tradisional biner, meskipun representasi terbaik biasanya yang mencerminkan sesuatu tentang masalah yang dipecahkan), dengan menerapkan operator seperti rekombinasi dan mutasi (kadang-kadang satu, kadang-kadang keduanya) . Jenis EA sering digunakan dalam masalah optimasi.

  • Pemrograman genetik - Berikut solusi dalam bentuk program komputer, dan kebugaran mereka ditentukan oleh kemampuan mereka untuk memecahkan masalah komputasi.

  • Evolusi pemrograman - Serupa dengan pemrograman genetik, tetapi struktur dari program ini adalah tetap dan parameter numerik yang diizinkan untuk berkembang.

  • Gene pemrograman ekspresi - Seperti pemrograman genetik, PMP juga berkembang program komputer tetapi mengeksplorasi sistem genotipe-fenotip, di mana program komputer dengan ukuran yang berbeda dikodekan dalam kromosom linear panjang tetap.

  • Strategi Evolusi - Bekerja dengan vektor bilangan real sebagai representasi dari solusi, dan biasanya menggunakan tingkat mutasi diri adaptif.

  • Algoritma memetic - Ini adalah bentuk hibrida metode berbasis populasi. Terinspirasi oleh kedua prinsip-prinsip evolusi Darwin alam dan gagasan Dawkins meme yang dipandang sebagai bentuk algoritma berbasis populasi ditambah dengan prosedur pembelajaran individu mampu melakukan perbaikan lokal. Fokus dari penelitian demikian untuk menyeimbangkan telah eksplorasi dan eksploitasi dalam pencarian.
  • Evolusi Diferensial - Berdasarkan perbedaan vektor dan karena itu terutama cocok untuk masalah optimasi numerik.

  • Neuroevolution - Mirip dengan pemrograman genetik tetapi genom merupakan jaringan syaraf tiruan dengan menggambarkan struktur dan koneksi bobot. Pengkodean genom dapat langsung atau tidak langsung.



Teknik Terkait atau Teknik yang memiliki kemiripan dalam Implementasinya




  • Algoritma Swarm, termasuk :

1.Ant koloni optimasi - Berdasarkan gagasan semut mencari makan dengan komunikasi feromon untuk membentuk jalur. Terutama cocok untuk optimasi kombinatorial dan masalah grafik.

2.Algoritma lebah didasarkan pada perilaku mencari makan lebah madu. Telah diterapkan di banyak aplikasi seperti routing dan penjadwalan.

3.Pencarian Cuckoo terinspirasi oleh parasitisme merenung dari spesies cuckoo. Ia juga menggunakan penerbangan Retribusi, sehingga cocok untuk masalah optimasi global.

4.Partikel swarm optimasi - Berdasarkan gagasan hewan berkelompok perilaku. Juga terutama cocok untuk masalah optimasi numerik.

  • Metode metaheuristik berbasis populasi lainnya :

1.Algoritma Firefly terinspirasi oleh perilaku kunang-kunang, menarik satu sama lain dengan lampu berkedip. Hal ini sangat berguna untuk optimasi multimodal.

2.Harmony search - Berdasarkan gagasan perilaku musisi dalam mencari harmoni yang lebih baik. Algoritma ini cocok untuk optimasi kombinatorial serta optimasi parameter.
3.Gaussian adaptasi - Berdasarkan teori informasi. Digunakan untuk memaksimalkan hasil manufaktur, berarti kebugaran atau informasi rata-rata. Lihat misalnya Entropi dalam termodinamika dan teori informasi.

Sumber :
  1. G.S. Hornby and J.B. Pollack. Creating high-level components with a generative representation for body-brain evolution. Artificial Life, 8(3):223–246, 2002.
  2. Ferreira, C., 2001. Gene Expression Programming: A New Adaptive Algorithm for Solving Problems. Complex Systems, Vol. 13, issue 2: 87-129.

Sunday, May 5, 2013

Neural Network

Neural Network (Jaringan Syaraf)


Sejarah dan ikhtisar

Sebuah jaringan saraf biologis terdiri dari kelompok atau kelompok neuron kimia tersambung atau fungsional terkait. Sebuah neuron tunggal dapat dihubungkan ke banyak neuron lain dan jumlah neuron dan koneksi dalam jaringan mungkin luas. Connections, yang disebut sinapsis, biasanya terbentuk dari akson ke dendrit, meskipun microcircuits dendrodendritic dan koneksi lain yang mungkin. Terlepas dari sinyal listrik, ada bentuk-bentuk lain dari sinyal yang muncul dari difusi neurotransmitter. Kecerdasan buatan, pemodelan kognitif, dan jaringan saraf adalah paradigma pemrosesan informasi terinspirasi oleh cara biologis saraf sistem proses data. Kecerdasan buatan dan pemodelan kognitif mencoba untuk mensimulasikan beberapa sifat jaringan saraf biologis. Di bidang kecerdasan buatan, jaringan saraf tiruan telah berhasil diterapkan untuk pengenalan suara, analisis citra dan kontrol adaptif, dalam rangka untuk membangun agen perangkat lunak (dalam permainan komputer dan video) atau robot otonom. Secara historis, komputer digital berkembang dari model von Neumann, dan beroperasi melalui pelaksanaan instruksi eksplisit melalui akses ke memori oleh sejumlah prosesor.  

Di sisi lain, asal-usul jaringan saraf didasarkan pada upaya untuk memodelkan pengolahan informasi dalam sistem biologi. Tidak seperti model von Neumann, komputasi jaringan syaraf tidak memori dan pengolahan terpisah. Teori jaringan saraf telah melayani baik untuk lebih mengidentifikasi bagaimana neuron dalam fungsi otak dan untuk memberikan dasar bagi upaya menciptakan kecerdasan buatan. Para awal dasar teoritis untuk jaringan saraf kontemporer secara independen diusulkan oleh Alexander Bain (1873) dan William James (1890). Dalam pekerjaan mereka, baik pikiran dan aktivitas tubuh dihasilkan dari interaksi antar neuron dalam otak.

Simulasi komputer dari arsitektur percabangan dendrit neuron piramidal. Untuk Bain, setiap kegiatan menyebabkan penembakan dari satu set tertentu dari neuron. Ketika kegiatan diulang, hubungan antara neuron diperkuat. Menurut teorinya, pengulangan ini adalah apa yang menyebabkan pembentukan memori. Komunitas ilmiah umum pada saat itu adalah skeptis. Teori Bain karena diperlukan apa yang tampaknya menjadi jumlah yang banyak sekali koneksi saraf dalam otak. Sekarang jelas bahwa otak sangat kompleks dan bahwa hal yang sama otak "kabel" dapat menangani beberapa masalah dan masukan dari James. Teori ini mirip dengan Bain. Namun, ia menyarankan bahwa kenangan dan tindakan yang dihasilkan dari arus listrik yang mengalir di antara neuron di otak. Modelnya, dengan berfokus pada aliran arus listrik, tidak membutuhkan koneksi saraf individu untuk setiap memori atau tindakan. CS Sherrington (1898) melakukan percobaan untuk menguji teori James. Dia berlari arus listrik menuruni tali tulang belakang tikus. Namun, daripada menunjukkan peningkatan arus listrik seperti yang diproyeksikan oleh James, Sherrington menemukan bahwa kekuatan arus listrik menurun sebagai pengujian terus dari waktu ke waktu. Yang penting, karya ini menyebabkan penemuan konsep pembiasaan.
             
McCulloch dan Pitts (1943) menciptakan model komputasi untuk jaringan saraf berdasarkan matematika dan algoritma. Mereka menyebut model ini logika ambang batas. Model ini membuka jalan untuk penelitian jaringan saraf untuk membagi menjadi dua pendekatan yang berbeda. Salah satu pendekatan yang berfokus pada proses biologis di otak dan yang lainnya berfokus pada penerapan jaringan saraf untuk kecerdasan buatan. Pada akhir 1940-an psikolog Donald Hebb menciptakan hipotesis pembelajaran berdasarkan mekanisme plastisitas saraf yang sekarang dikenal sebagai Hebbian belajar. Hebbian belajar dianggap aturan belajar 'khas' tanpa pengawasan dan varian kemudian perusahaan adalah model awal untuk potensiasi jangka panjang. Ide-ide ini mulai diterapkan untuk model komputasi pada tahun 1948 dengan B-tipe mesin Turing. Farley dan Clark (1954) pertama kali digunakan mesin komputasi, kemudian disebut kalkulator, untuk mensimulasikan jaringan Hebbian di MIT. Jaringan saraf mesin komputasi lainnya diciptakan oleh Rochester, Belanda, Kebiasaan, dan Duda (1956). Rosenblatt (1958) menciptakan perceptron, algoritma untuk pengenalan pola berdasarkan pada jaringan komputer belajar dua lapisan menggunakan penambahan dan pengurangan sederhana. Dengan notasi matematika, Rosenblatt juga menggambarkan sirkuit tidak dalam perceptron dasar, seperti eksklusif-atau sirkuit, sirkuit yang perhitungan matematis tidak dapat diproses sampai setelah algoritma backpropagation diciptakan oleh Werbos (1975). 

Penelitian jaringan saraf mengalami stagnasi setelah publikasi penelitian pembelajaran mesin dengan Minsky dan Papert (1969). Mereka menemukan dua masalah utama dengan mesin komputasi yang diproses jaringan saraf. Masalah pertama adalah bahwa jaringan saraf single-layer yang mampu memproses eksklusif-atau sirkuit. Isu penting kedua adalah bahwa komputer tidak cukup canggih untuk secara efektif menangani waktu jangka panjang yang dibutuhkan oleh jaringan saraf besar. Penelitian jaringan saraf melambat sampai komputer mencapai kekuatan pemrosesan yang lebih besar. Juga kunci dalam kemajuan kemudian adalah algoritma backpropogation yang secara efektif memecahkan eksklusif-atau masalah (Werbos 1975). Paralel didistribusikan pengolahan pertengahan 1980-an menjadi populer dengan nama koneksionisme. Teks oleh Rumelhart dan McClelland (1986) memberikan penjelasan lengkap tentang penggunaan koneksionisme dalam komputer untuk mensimulasikan proses saraf.
                        

Jaringan Saraf dan Kecerdasan Buatan

Jaringan saraf, seperti yang digunakan dalam kecerdasan buatan, secara tradisional telah dipandang sebagai model yang disederhanakan dari proses syaraf di otak, meskipun hubungan antara model ini dan arsitektur biologis otak diperdebatkan, karena tidak jelas untuk apa gelar saraf jaringan otak cermin buatan fungsi. Sebuah jaringan saraf (NN), dalam kasus neuron buatan yang disebut jaringan saraf tiruan (JST) atau neural network simulasi (SNN), adalah kelompok yang saling berhubungan neuron alami atau buatan yang menggunakan model matematis atau komputasi untuk pemrosesan informasi berdasarkan pada Pendekatan connectionistic untuk perhitungan. Dalam kebanyakan kasus JST merupakan sistem adaptif yang mengubah strukturnya berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan. Dalam istilah yang lebih praktis jaringan saraf yang non-linear pemodelan data statistik atau alat pengambilan keputusan. Mereka dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output atau untuk menemukan pola dalam data. Namun, paradigma jaringan saraf - yaitu, implisit, tidak eksplisit, belajar ditekankan - tampaknya lebih sesuai dengan beberapa jenis kecerdasan alami daripada tradisional berbasis simbol Artificial Intelligence, yang akan menekankan, sebaliknya, pembelajaran berbasis aturan.
             
Jaringan saraf tiruan melibatkan jaringan elemen pemrosesan sederhana (neuron buatan) yang dapat menunjukkan perilaku global yang kompleks, ditentukan oleh hubungan antara unsur-unsur pengolahan dan parameter elemen. Neuron buatan pertama kali diusulkan pada tahun 1943 oleh Warren McCulloch, neurofisiologi, dan Walter Pitts, ahli logika, yang pertama kali berkolaborasi di University of Chicago. Salah satu jenis klasik jaringan syaraf tiruan Hopfield adalah jaring berulang. Dalam jaringan saraf Model node sederhana (yang dapat dipanggil oleh sejumlah nama, termasuk "neuron", "neurodes", "Pengolahan Elemen" (PE) dan "unit"), yang dihubungkan bersama untuk membentuk jaringan node - maka istilah "neural network". Sementara jaringan saraf tidak harus adaptif per se, penggunaan praktisnya dilengkapi dengan algoritma yang dirancang untuk mengubah kekuatan (bobot) dari koneksi dalam jaringan untuk menghasilkan aliran sinyal yang diinginkan. Konsep jaringan saraf tampaknya telah pertama kali diusulkan oleh Alan Turing pada tahun 1948 makalahnya Mesin Cerdas yang menyebut mereka "mesin terorganisir tipe B".   
       
Pemanfaatan model jaringan syaraf tiruan terletak pada kenyataan bahwa mereka dapat digunakan untuk menyimpulkan fungsi dari pengamatan dan juga untuk menggunakannya. Jaringan saraf Unsupervised juga dapat digunakan untuk mempelajari representasi dari masukan yang menangkap karakteristik penting dari distribusi input, misalnya, melihat mesin Boltzmann (1983), dan baru-baru, belajar algoritma yang mendalam, yang secara implisit dapat mempelajari fungsi distribusi mengamati data. Belajar dalam jaringan saraf sangat berguna dalam aplikasi dimana kompleksitas data atau tugas membuat desain fungsi tersebut dengan tangan praktis.

Tugas yang jaringan syaraf tiruan yang diterapkan cenderung jatuh dalam kategori berikut:
•Fungsi pendekatan, atau analisis regresi, termasuk waktu prediksi series dan pemodelan
•Klasifikasi, termasuk pola dan pengakuan urutan, deteksi kebaruan dan pengambilan keputusan berurutan.
•Pengolahan data, termasuk penyaringan, pengelompokan, pemisahan sinyal buta dan kompresi.

Area aplikasi dari ANNs meliputi identifikasi sistem dan kontrol (kontrol kendaraan, kontrol proses), game-playing dan keputusan (backgammon, catur, balap) keputusan, pengenalan pola (sistem radar, identifikasi wajah, pengenalan obyek), pengakuan urutan (gesture, ucapan , pengenalan teks tulisan tangan), diagnosa medis, aplikasi keuangan, data mining (atau penemuan pengetahuan dalam database, "KDD"), visualisasi dan e-mail penyaringan spam.

Neural Jaringan dan Neuroscience      

Teoritis dan komputasi neuroscience adalah bidang yang bersangkutan dengan analisis teoritis dan pemodelan komputasi sistem saraf biologis. Karena sistem saraf sangat erat terkait dengan proses kognitif dan perilaku, lapangan berkaitan erat dengan pemodelan kognitif dan perilaku. Tujuan dari lapangan adalah untuk menciptakan model sistem saraf biologi untuk memahami bagaimana sistem biologis bekerja. Untuk mendapatkan pemahaman ini, ahli saraf berusaha untuk membuat hubungan antara proses biologis yang teramati (data), mekanisme biologis yang masuk akal untuk proses syaraf dan pembelajaran (model jaringan saraf biologis) dan teori (teori belajar statistik dan teori informasi). Banyak model yang digunakan, didefinisikan pada berbagai tingkat abstraksi, dan pemodelan aspek yang berbeda dari sistem saraf. Mereka berkisar dari model perilaku jangka pendek neuron individu, melalui model dinamika sirkuit saraf yang timbul dari interaksi antara neuron individu, model-model perilaku yang timbul dari saraf modul abstrak yang mewakili subsistem lengkap. Ini termasuk model plastisitas jangka panjang dan jangka pendek sistem saraf dan hubungannya dengan belajar dan memori, dari Kritik. Sebuah kritik umum jaringan saraf, terutama dalam robotika, adalah bahwa mereka membutuhkan keragaman besar pelatihan untuk operasi dunia nyata. Hal ini tidak mengherankan, karena setiap mesin belajar membutuhkan contoh perwakilan cukup untuk menangkap struktur dasar yang memungkinkan untuk menggeneralisasi kasus-kasus baru. 

Dean Pomerleau, dalam penelitiannya disajikan dalam kertas "Pelatihan berbasis Pengetahuan Jaringan Syaraf Tiruan untuk Otonomi Robot Mengemudi," menggunakan jaringan saraf untuk melatih sebuah kendaraan robot untuk drive pada beberapa jenis jalan (jalur tunggal, multi-lane, kotoran , dll). Sejumlah besar penelitian ditujukan untuk ekstrapolasi beberapa skenario pelatihan dari pengalaman pelatihan tunggal, dan pengawetan keanekaragaman pelatihan masa lalu sehingga sistem tidak menjadi overtrained (jika, misalnya, disajikan dengan seri dari kanan bergantian - tidak harus belajar untuk selalu belok kanan). Isu-isu yang umum dalam jaringan saraf yang harus memutuskan dari antara berbagai macam tanggapan, tetapi dapat ditangani dengan beberapa cara, misalnya dengan secara acak mengocok contoh pelatihan, dengan menggunakan algoritma optimasi numerik yang tidak mengambil langkah terlalu besar ketika mengubah koneksi jaringan mengikuti contoh, atau dengan mengelompokkan contoh dalam apa yang disebut mini-batch. 

AK Dewdney, mantan kolumnis Scientific American, menulis pada tahun 1997, "Meskipun jaring saraf lakukan memecahkan masalah mainan beberapa, kekuatan mereka perhitungan begitu terbatas bahwa saya terkejut siapa pun membawa mereka serius sebagai alat pemecahan masalah umum." (Dewdney, hal. 82) Argumen untuk posisi Dewdney adalah bahwa untuk melaksanakan jaringan software besar dan efektif saraf, banyak sumber daya pengolahan dan penyimpanan harus berkomitmen. Sementara otak telah hardware disesuaikan dengan tugas pengolahan sinyal melalui grafik neuron, simulasi bahkan bentuk yang paling sederhana tentang Von Neumann teknologi dapat memaksa seorang desainer NN untuk mengisi jutaan baris basis data untuk koneksi - yang dapat mengkonsumsi sejumlah besar memori komputer dan ruang hard disk. Selain itu, perancang sistem NN akan sering perlu untuk mensimulasikan transmisi sinyal melalui banyak koneksi ini dan neuron yang terkait - yang harus sering dicocokkan dengan jumlah yang luar biasa kekuatan pemrosesan CPU dan waktu. Sementara jaringan saraf sering menghasilkan program yang efektif, mereka terlalu sering melakukannya pada efisiensi biaya (mereka cenderung untuk mengkonsumsi sejumlah besar waktu dan uang). Argumen terhadap posisi Dewdney adalah bahwa jaring saraf telah berhasil digunakan untuk menyelesaikan banyak tugas yang kompleks dan beragam, mulai dari pesawat terbang mandiri untuk mendeteksi penipuan kartu kredit.
           
Penulis teknologi Roger Bridgman mengomentari pernyataan Dewdney tentang jaring saraf: Jaringan saraf, misalnya, berada di dermaga tidak hanya karena mereka telah hyped surga tinggi, (apa yang tidak?) Tetapi juga karena Anda bisa membuat jaring yang sukses tanpa memahami cara kerjanya: dengan sekelompok angka yang menangkap nya perilaku akan dalam semua kemungkinan menjadi "buram, terbaca meja ... berharga sebagai sumber daya ilmiah". Meskipun deklarasi tegas bahwa sains bukanlah teknologi, Dewdney tampaknya sini untuk membikin malu jaring saraf sebagai ilmu buruk ketika sebagian besar dari mereka karangan mereka hanya mencoba untuk menjadi insinyur yang baik. Tabel terbaca bahwa mesin yang berguna bisa membaca masih akan layak memiliki. Dalam menanggapi kritik semacam ini, perlu diingat bahwa meskipun benar bahwa menganalisis apa yang telah dipelajari oleh jaringan syaraf tiruan adalah sulit, itu jauh lebih mudah untuk melakukannya daripada untuk menganalisis apa yang telah dipelajari oleh jaringan saraf biologis. Selanjutnya, peneliti yang terlibat dalam mengeksplorasi belajar algoritma untuk jaringan saraf secara bertahap mengungkap prinsip-prinsip umum yang memungkinkan mesin belajar untuk menjadi sukses. Misalnya, Bengio dan LeCun (2007) menulis sebuah artikel tentang pembelajaran lokal vs non-lokal, serta dangkal vs arsitektur yang mendalam . Beberapa kritik lain datang dari orang percaya model hybrid (menggabungkan jaringan saraf dan pendekatan simbolik). Mereka mendukung mencampurkan dua pendekatan ini dan percaya bahwa model hybrid dapat lebih menangkap mekanisme dari pikiran manusia (Minggu dan Bookman, 1990).

Sumber :
1J. J. HOPFIELD Neural networks and physical systems with emergent collective   computational abilities. Proc. NatL Acad. Sci. USA Vol. 79, pp. 2554-2558, April 1982 Biophysics