21.09.2024
Rumah / OS Seluler / Program komputer yang meniru tingkah laku manusia 3 huruf

Program komputer yang meniru tingkah laku manusia 3 huruf

Halo, Habr!

Saya baru saja menyelesaikan kursus tentang algoritma genetika di program Darwinbots dan memutuskan bahwa kursus ini akan menarik bagi komunitas. Apalagi di saat ini Komunitas proyek cukup kecil. Artikel-artikel tersebut akan berupa separuh terjemahan dokumentasi, dan separuh lagi penelitian mereka sendiri terhadap program tersebut.

1. Kenalan pertama

2.

Jadi, program Darwinbots adalah simulator kehidupan buatan. Versi pertama ditulis oleh programmer Italia Carlo Comis menggunakan bahasa pemrograman Visual Basic. Versi terbaru Program saat ini adalah 2.45.02D, dirilis pada 21 Agustus 2012. Saat ini, versi ketiga aplikasi sedang dikembangkan, sepenuhnya ditulis ulang dalam C#. Ada juga port di C++. Kode sumber proyek diterbitkan dalam sistem kontrol versi Subversion dan tersedia untuk semua orang.

Program ini mensimulasikan kehidupan populasi organisme - bot (robot), yang DNA-nya dijelaskan secara manual menggunakan bahasa yang dikembangkan secara khusus. DNA pada dasarnya adalah mesin negara besar yang membaca informasi dari berbagai masukan, memodifikasinya, dan menghubungkannya ke keluaran yang dapat ditindaklanjuti. Kode bot (selanjutnya disebut DNA) dijelaskan dalam berkas teks dengan ekstensi .txt, yang memungkinkan Anda menggunakannya di editor apa pun, termasuk Notepad. Inti dari simulasi adalah melakukan DNA untuk setiap siklus, dengan mempertimbangkan kemungkinan interaksi organisme, mutasi, virus, dan sebagainya.

Elemen utama antarmuka program Darwinbots adalah dunia bot (atau bidang simulasi). Dunia bot adalah bidang non-diskrit besar (ya, persegi panjang biru yang sama seperti sebelumnya). Secara default, bot dapat bergerak ke seluruh wilayah dunia. Pengaturan dunia diatur dalam pengaturan simulasi.

Setiap bot diwakili oleh lingkaran dengan ukuran dan warna tertentu, dengan beberapa pola di tengahnya. "Mata" bot ditandai dengan titik putih. Ini mencakup 9 mata sederhana. Saat Anda memilih bot di bidang simulasi, Anda dapat melihat kotak bidang pandang setiap mata. Mata mengirimkan ke program nilai yang kira-kira sesuai dengan ukuran objek di bidang pandang.

Bot memiliki sistem sensasi sentuhan sederhana yang memungkinkannya merasakan benturan atau serangan dari bot lain. Masukan sensorik bot dianalisis menjadi DNA, yang ditulis dalam bahasa menggunakan abstraksi FILO (masuk pertama, keluar terakhir), berdasarkan prinsip pelat bertumpuk. Kebanyakan bot memiliki 6 hingga 20 prosedur DNA yang disebut gen, yang dapat melakukan hingga 200 operasi. Setiap operasi dapat bermutasi.

Setiap bot memiliki cadangan energinya sendiri. Sebagian besar tindakan mengurangi jumlah energi. Ketika energi mencapai nol, bot akan mati, dan ketika energinya melebihi tingkat yang ditentukan dalam DNA, ia akan mulai bereproduksi. Energi dapat diisi ulang dengan menyerap bot lain (sama dengan berburu di lingkungan normal) dan dengan menyimpan energi dari “tubuh” sendiri. Jika bot dipilih sebagai autotrof, maka energi diisi ulang secara otomatis dalam jangka waktu yang lama.

Bot dapat menembakkan proyektil tidak berwujud, menyerang, mengambil sampah, terinfeksi, dan bertukar informasi dengan bot lain. Proyektil adalah suatu titik pada bidang pemodelan yang tidak memiliki massa atau dimensi fisik.

Bot juga dapat berkomunikasi dengan bot lain, membentuk struktur multiseluler yang kompleks di mana bot dapat bertukar energi, melakukan operasi, dan bergerak di sekitar lapangan.

Saat bot bereproduksi, DNA-nya diturunkan ke keturunannya, terkadang dengan beberapa perubahan yang memengaruhi perilaku bot. Seperti di dunia nyata, evolusi dapat terjadi dengan perubahan DNA - bot generasi berikutnya bisa menjadi lebih mampu menyerang, bereproduksi, menghindari kontak, dan sebagainya. Mutasi seperti ini akan diwariskan dari generasi ke generasi atau hilang. Seiring waktu, DNA dapat mengumpulkan kode yang tidak diinginkan yang tidak berguna. Ini akan memakan lebih banyak energi dan membuat DNA lebih sibuk.

Karena program tidak menentukan organisme mana yang akan ditumbuhkan, kemampuan bot memanifestasikan dirinya dalam jangka panjang melalui kombinasi strategi pergerakan, manajemen energi, reproduksi, dll. Tidak ada batasan pada kompleksitas kode DNA.

Evolusi di Darwinbots membutuhkan waktu yang cukup lama untuk waktu yang lama. Satu generasi bot dapat hidup selama beberapa ribu siklus, dan sebagian besar simulasi berjalan dengan kecepatan sekitar 15 siklus per detik, sehingga diperlukan waktu berjam-jam hingga berhari-hari sebelum seleksi alam yang signifikan terjadi.

Tentu saja, dalam artikel pengantar ini saya hampir tidak membuat Anda tertarik dengan proyek ini, tetapi sebagai umpan saya dapat memberi tahu Anda bahwa program ini memiliki mode Internet (semacam PvP), dan pengembang bot dapat mengambil bagian dalam liga - semacam dari kompetisi.

Pada artikel selanjutnya kita akan membahas tentang pengaturan simulasi dan pemrograman bot.

Dan terakhir, gambar untuk menarik perhatian.

Sains, Teknologi

Teman bicara virtual (eng. chatterbot) adalah program komputer yang dibuat untuk meniru perilaku bicara manusia saat berkomunikasi dengan satu atau lebih pengguna. Pada tahun 1966, Joseph Weizenbaum menciptakan program percakapan pertama, Eliza. Ia memparodikan perilaku bicara seorang psikoterapis, yaitu: ia menerapkan teknik mendengarkan aktif, bertanya lagi kepada pengguna, dan menggunakan frasa seperti “Silakan lanjutkan”.

Program lawan bicara yang ideal diharapkan lulus Tes Turing, yang dikembangkan pada tahun 1950 untuk menentukan keberhasilan proyek kecerdasan buatan. Esensinya terletak pada kenyataan bahwa seseorang berkorespondensi dengan dua lawan bicaranya, yang satu adalah manusia, yang lainnya adalah manusia program komputer. Jika tidak dapat ditentukan siapa adalah siapa, komputer dianggap lulus ujian. Namun, belum ada satu pun lawan bicara virtual yang berhasil melakukan hal tersebut. Fungsionalitas sebagian besar program modern terbatas pada kemampuan melakukan percakapan sederhana.

Program lawan bicara

Pembicara

ChatMaster adalah salah satu lawan bicara virtual berbahasa Rusia pertama yang baik. Ini adalah program belajar mandiri. Kualitas dialognya dengan seseorang dapat dinilai “layak”. ChatMaster melakukan percakapan peka konteks, yaitu memahami arti replika berdasarkan replika sebelumnya. Bahasa non-hieroglif apa pun (semua bahasa Eropa dan sebagian Asia) dapat digunakan untuk dialog. Selain itu, program ini memiliki antarmuka yang ramah pengguna dan database kata yang cukup besar. Kekurangan dari ChatMaster adalah terlalu lama memikirkan dan mengingat segala sesuatu, bahkan hal-hal yang tidak seharusnya diingat.

Otak Elektronik 1300

Electronic Brain 1300 adalah program percakapan yang menyenangkan. Memiliki basis pengetahuan yang baik: cukup besar dan dengan replika asli. DI DALAM versi baru Basis data pohon digunakan. Selain itu, program ini dapat dengan mudah mengajarkan frasa baru. Kerugian dari Electronic Brain adalah antarmukanya tidak ramah pengguna: elemen kontrol terletak di tempat yang tidak biasa.


Pembicara

Chatterbox adalah program lawan bicara yang bagus dengan dasar yang bagus dan selera humor yang bagus. Tanggapan di sini diberikan dengan sangat cepat. Seorang yang suka mengobrol tidak selalu membutuhkan lawan bicara; dia bisa berbicara kepada dirinya sendiri. Meskipun merupakan program belajar mandiri, databasenya dapat diperluas dengan menambahkan file pembaruan. Selain itu, Chatterbox memberi pengguna kemampuan untuk mengganti ikon dengan ikonnya sendiri di bilah judul jendela dan tampilan bilah alat.


DIALA

Program ini melakukan dialog dengan seseorang dalam bahasa Rusia tentang topik apa pun, mencoba meniru kecerdasan buatan. Menurut pengembangnya, DIALA menganggap dirinya perempuan dan cukup kritis terhadap laki-laki, dan kemanusiaan pada umumnya. Untuk mendapatkan dialog yang kurang lebih koheren, Anda hanya perlu memasukkan frasa lengkap, yang masing-masing berisi pemikiran lengkap. Tidak disarankan untuk mengubah topik dialog secara tiba-tiba dan tidak wajar. DIALA adalah program belajar mandiri, jadi Anda tidak boleh mengatakan hal bodoh apa pun padanya, jika tidak maka program tersebut akan langsung mengingatnya dan Anda akan segera mendapatkannya kembali. Maka akan sulit untuk menghentikannya.


Putin Maya

Mereka yang ingin berbicara dengan V.V. Putin, ajukan beberapa pertanyaan atau cukup tegur dia karena kehidupannya yang buruk, mereka dapat berkomunikasi dengan kembaran virtualnya melalui program “Virtual Putin”. Ini adalah program lawan bicara yang nyaman dengan antarmuka yang menyenangkan. Menurut pengguna yang telah berhasil berkomunikasi dengan Putin virtual, program ini melakukan percakapan yang cukup cerdas dan serbaguna dengan seseorang, terkadang mengejutkan dengan pengetahuan dan pemikiran progresifnya. Selain itu, Virtual Putin dapat dengan mudah mendukung topik pembicaraan apa pun. Hanya ada satu persyaratan - Anda harus berkomunikasi dalam bahasa Rusia normal dan tidak menggunakan kata-kata kotor. Virtual Putin dapat dengan mudah tersinggung.