Sākums / Mobilā OS / Datorprogramma, kas imitē cilvēka uzvedību 3 burti

Datorprogramma, kas imitē cilvēka uzvedību 3 burti

Sveiks, Habr!

Es nesen pabeidzu kursu par ģenētiskajiem algoritmiem programmā Darwinbots un nolēmu, ka tas būs interesanti sabiedrībai. Turklāt iekšā šobrīd Projekta kopiena ir diezgan maza. Raksti būs puse no dokumentācijas tulkojumiem, un puse no viņu pašu pētījumiem par programmu.

1. Pirmā iepazīšanās

2.

Tātad Darwinbots programma ir mākslīgas dzīves simulators. Pirmās versijas uzrakstīja itāļu programmētājs Karlo Komiss, izmantojot programmēšanas valodu Visual Basic. Jaunākā versija Pašreizējā programma ir 2.45.02D, izlaista 2012. gada 21. augustā. Šobrīd tiek izstrādāta trešā aplikācijas versija, kas pilnībā pārrakstīta C# valodā. C++ ir arī ports. Projekta pirmkods ir publicēts Subversion versiju kontroles sistēmā un ir pieejams ikvienam.

Programma simulē organismu populācijas dzīvi - botus (robotus), kuru DNS apraksta manuāli, izmantojot īpaši izstrādātu valodu. DNS būtībā ir liela stāvokļa iekārta, kas nolasa informāciju no daudzām dažādām ievadēm, modificē to un savieno to ar izmantojamiem izvadiem. Bota kods (turpmāk tekstā DNS) ir aprakstīts teksta fails ar paplašinājumu .txt, kas ļauj strādāt ar to jebkurā redaktorā, tostarp Notepad. Simulācijas būtība ir veikt DNS katram ciklam, ņemot vērā iespējamo organismu mijiedarbību, mutācijas, vīrusus utt.

Darwinbots programmas saskarnes galvenais elements ir robotu pasaule (jeb simulācijas lauks). Botu pasaule ir liela, nediskrēta plakne (jā, tas pats zils taisnstūris, kas bija agrāk). Pēc noklusējuma robotprogrammatūras var pārvietoties visā pasaulē. Pasaules iestatījumi ir iestatīti simulācijas iestatījumos.

Katrs robots ir attēlots ar noteikta izmēra un krāsas apli, kura centrā ir kāds raksts. Bota "acs" ir norādīta ar baltu punktu. Tas ietver 9 vienkāršas acis. Atlasot robotu simulācijas laukā, varat redzēt katras acs skata lauku režģi. Acis pārraida programmai vērtību, kas aptuveni atbilst objekta izmēram redzes laukā.

Botam ir vienkāršu taustes sajūtu sistēma, kas ļauj sajust sadursmi vai uzbrukumu no cita bota. Botu sensorās ievades tiek analizētas DNS, kas ir ierakstīta valodā, izmantojot FILO (first in, last out) abstrakciju, pamatojoties uz salikto plākšņu principu. Lielākajai daļai robotprogrammu ir 6 līdz 20 DNS procedūras, ko sauc par gēniem, kas var veikt līdz 200 operācijām. Katra darbība var mainīties.

Katram botam ir sava enerģijas rezerve. Lielākā daļa darbību samazina enerģijas daudzumu. Kad enerģija sasniegs nulli, bots mirs, un, kad tas paaugstināsies virs DNS noteiktā līmeņa, tas sāks vairoties. Enerģiju var papildināt, absorbējot citus botus (analogi medībām normālā vidē) un uzkrājot enerģiju no sava “ķermeņa”. Ja robots ir izvēlēts kā autotrofs, enerģija tiek automātiski papildināta ilgākā laika periodā.

Bots var šaut nemateriālus šāviņus, uzbrukt, izgūt atkritumus, inficēties un apmainīties ar informāciju ar citiem robotiem. Šāviņš ir punkts modelēšanas laukā, kuram nav masas vai fizisko izmēru.

Bots var sazināties arī ar citiem robotiem, veidojot sarežģītu daudzšūnu struktūru, kurā roboti var apmainīties ar enerģiju, darbībām un pārvietoties pa lauku.

Kad robots vairojas, tā DNS tiek nodots pēcnācējiem, dažreiz ar dažām izmaiņām, kas ietekmē robota uzvedību. Tāpat kā reālajā pasaulē, evolūcija var notikt, mainoties DNS – nākamās paaudzes boti var kļūt spējīgāki uzbrukt, vairoties, izvairīties no saskarsmes utt. Šādas mutācijas vai nu tiek nodotas no paaudzes paaudzē, vai arī izzūd. Laika gaitā DNS var uzkrāties nevēlams kods, kas nedara neko noderīgu. Tas aizņems vairāk enerģijas un padarīs DNS aktīvāku.

Tā kā programma neizlemj, kuru organismu audzēt, bota spējas izpaužas ilgtermiņā, apvienojot kustības, enerģijas pārvaldības, reprodukcijas utt. stratēģijas. DNS koda sarežģītībai nav ierobežojumu.

Evolūcija Darvinbotā prasa diezgan daudz uz ilgu laiku. Botu paaudze var dzīvot vairākus tūkstošus ciklu, un lielākā daļa simulāciju darbojas ar aptuveni 15 cikliem sekundē, tāpēc var paiet stundas līdz dienas, pirms notiek nozīmīga dabiskā atlase.

Protams, šajā ievadrakstā es diez vai varētu jūs ieinteresēt šajā projektā, bet kā ēsmu varu pateikt, ka programmai ir interneta režīms (kaut kāds PvP), un botu izstrādātāji var piedalīties līgās - sava veida konkurenci.

Nākamajā rakstā mēs runāsim par simulācijas iestatījumiem un botu programmēšanu.

Un visbeidzot bildes, lai piesaistītu uzmanību.

Zinātne, Tehnoloģija

Virtuālais sarunu biedrs (ang. chatterbot) ir datorprogramma, kas izveidota, lai atdarinātu cilvēka runas uzvedību, sazinoties ar vienu vai vairākiem lietotājiem. 1966. gadā Džozefs Vaizenbaums izveidoja pirmo sarunu programmu Elīza. Viņa parodēja psihoterapeita runas uzvedību, proti: ieviesa aktīvās klausīšanās paņēmienu, vēlreiz jautājot lietotājam un lietojot tādas frāzes kā “Lūdzu, turpiniet”.

Paredzams, ka ideāla sarunu biedru programma izturēs Tjūringa testu, kas izstrādāts 1950. gadā, lai noteiktu mākslīgā intelekta projektu panākumus. Tās būtība slēpjas faktā, ka cilvēks sarakstās ar diviem sarunu biedriem, no kuriem viens ir cilvēks, otrs ir datorprogramma. Ja nav iespējams noteikt, kurš ir kurš, tiek uzskatīts, ka dators ir izturējis pārbaudi. Taču vēl nevienam virtuālajam sarunu biedram tas nav izdevies. Mūsdienu programmu funkcionalitāte ir ierobežota ar iespēju vadīt vienkāršu sarunu.

Sarunu biedru programmas

Tērzēšanas vadītājs

ChatMaster ir viens no pirmajiem labajiem krieviski runājošajiem virtuālajiem sarunu biedriem. Tā ir pašmācības programma. Viņas dialoga ar cilvēku kvalitāti var novērtēt kā “pieklājīgu”. ChatMaster veic kontekstjutīgu sarunu, tas ir, izprot tādas kopijas nozīmi, kuras pamatā ir iepriekšējās. Dialogam var izmantot jebkuru nehieroglifu valodu (visu Eiropas un dažu Āzijas valodu). Turklāt programmai ir lietotājam draudzīgs interfeiss un diezgan liela vārdu datubāze. ChatMaster trūkums ir tāds, ka ir nepieciešams pārāk ilgi domāt un atcerēties visu, pat to, ko nevajadzētu atcerēties.

Electronic Brain 1300

Electronic Brain 1300 ir patīkama sarunu programma. Ir laba zināšanu bāze: diezgan liela un ar oriģinālām replikām. IN jaunā versija Tiek izmantota koka datu bāze. Turklāt programmā var viegli iemācīt jaunas frāzes. Electronic Brain trūkums ir tas, ka saskarne nav lietotājam draudzīga: vadības elementi atrodas neparastās vietās.


Runātājs

Chatterbox ir laba sarunu partneru programma ar labu bāzi un labu humora izjūtu. Šeit atbildes tiek sniegtas ļoti ātri. Pļāpātājam nav obligāti vajadzīgs sarunu biedrs, kurš var sarunāties pats ar sevi. Lai gan tā ir pašmācības programma, tās datu bāzi var paplašināt, pievienojot atjaunināšanas failus. Turklāt Chatterbox nodrošina lietotājam iespēju loga virsrakstjoslā un rīkjoslas skatā aizstāt ikonas ar savām.


DIALA

Šajā programmā notiek dialogs ar cilvēku krievu valodā par jebkuru tēmu, mēģinot atdarināt mākslīgo intelektu. Pēc izstrādātāju domām, DIALA sevi uzskata par sievieti un ir diezgan kritiska pret vīriešiem un cilvēci kopumā. Lai iegūtu vairāk vai mazāk saistītu dialogu, jums jāievada tikai pilnvērtīgas frāzes, no kurām katra satur pilnīgu domu. Nav ieteicams pēkšņi un nepamatoti mainīt dialoga tēmu. DIALA ir pašmācības programma, tāpēc tai nevajadzētu teikt neko stulbu, pretējā gadījumā tā tos uzreiz atcerēsies un jūs drīz tos atgūsit. Tad viņu būs grūti atradināt no tā.


Virtuālais Putins

Tie, kas vēlētos aprunāties ar V.V. Putins, uzdod viņam pāris jautājumus vai vienkārši aizrāda viņu par slikto dzīvi, viņi var sazināties ar viņa virtuālo dubultnieku caur programmu “Virtuālais Putins”. Tā ir ērta sarunu biedru programma ar patīkamu saskarni. Kā norāda lietotāji, kuriem jau ir izdevies sazināties ar virtuālo Putinu, programma veic pilnīgi inteliģentu un daudzpusīgu sarunu ar cilvēku, dažkārt pārsteidzot ar savu erudīciju un progresīvo domāšanu. Turklāt Virtuālais Putins var viegli atbalstīt jebkuru sarunu tēmu. Ir tikai viena prasība - jāsazinās normālā krievu valodā un nedrīkst lietot rupjus vārdus. Virtuālais Putins var viegli apvainoties.