Kotiin / Mobiili käyttöjärjestelmä / Tietokoneohjelma, joka jäljittelee ihmisen käyttäytymistä 3 kirjainta

Tietokoneohjelma, joka jäljittelee ihmisen käyttäytymistä 3 kirjainta

Hei, Habr!

Suoritin äskettäin kurssityön geneettisistä algoritmeista Darwinbots-ohjelmassa ja päätin, että se olisi kiinnostava yhteisölle. Lisäksi sisään tällä hetkellä Projektiyhteisö on melko pieni. Artikkelit ovat puoliksi käännöksiä dokumentaatiosta ja puolet heidän omaa tutkimustaan ​​ohjelmasta.

1. Ensimmäinen tuttavuus

2.

Joten Darwinbots-ohjelma on keinotekoinen elämän simulaattori. Ensimmäiset versiot kirjoitti italialainen ohjelmoija Carlo Comis käyttäen Visual Basic -ohjelmointikieltä. Uusin versio Nykyinen ohjelma on 2.45.02D, julkaistu 21. elokuuta 2012. Tällä hetkellä kehitetään sovelluksen kolmatta versiota, joka on kirjoitettu kokonaan uudelleen C#:lla. Myös C++:ssa on portti. Projektin lähdekoodi julkaistaan ​​Subversion-versionhallintajärjestelmässä ja on kaikkien saatavilla.

Ohjelma simuloi organismien populaation elämää - botteja (robotteja), joiden DNA kuvataan manuaalisesti käyttämällä erityisesti kehitettyä kieltä. DNA on pohjimmiltaan suuri tilakone, joka lukee tietoa monista eri syötteistä, muokkaa sitä ja yhdistää sen toimiviin lähtöihin. Bottikoodi (jäljempänä DNA) on kuvattu kohdassa tekstitiedosto.txt-laajennuksella, jonka avulla voit työskennellä sen kanssa missä tahansa editorissa, mukaan lukien Notepad. Simuloinnin ydin on suorittaa DNA jokaiselle syklille ottaen huomioon organismien, mutaatioiden, virusten ja niin edelleen mahdolliset vuorovaikutukset.

Darwinbots-ohjelman käyttöliittymän pääelementti on bot-maailma (tai simulaatiokenttä). Bottien maailma on suuri ei-diskreetti taso (kyllä, sama sininen suorakulmio, joka oli aiemmin). Oletusarvoisesti robotit voivat liikkua koko maailman alueella. Maailman asetukset asetetaan simulaatioasetuksissa.

Jokaista bottia edustaa tietyn kokoinen ja värillinen ympyrä, jonka keskellä on kuvio. Botin "silmä" on merkitty valkoisella pisteellä. Sisältää 9 yksinkertaista silmää. Kun valitset botin simulaatiokentästä, näet ruudukon kunkin silmän näkökentistä. Silmät välittävät ohjelmalle arvon, joka vastaa suunnilleen näkökentässä olevan kohteen kokoa.

Botissa on yksinkertaisten tuntoaistien järjestelmä, jonka avulla se voi tuntea toisen botin törmäyksen tai hyökkäyksen. Bottien aistisyötteet analysoidaan DNA:han, joka on kirjoitettu kielellä, joka käyttää FILO (first in, last out) -abstraktiota pinottujen levyjen periaatteella. Useimmissa roboteissa on 6-20 DNA-menettelyä, joita kutsutaan geeneiksi ja jotka voivat suorittaa jopa 200 toimintoa. Jokainen operaatio voi muuntua.

Jokaisella robotilla on oma energiavarastonsa. Useimmat toimet vähentävät energian määrää. Kun energia saavuttaa nollan, botti kuolee, ja kun se nousee DNA:ssa määritetyn tason yläpuolelle, se alkaa lisääntyä. Energiaa voidaan täydentää absorboimalla muita botteja (vastaavasti kuin metsästys normaalissa ympäristössä) ja varastoimalla energiaa omasta "kehosta". Jos botti valitaan autotrofiksi, energiaa täydennetään automaattisesti pitkän ajan kuluessa.

Botti voi ampua aineettomia ammuksia, hyökätä, hakea roskat, saada tartunnan ja vaihtaa tietoja muiden robottien kanssa. Ammus on mallinnuskentän piste, jolla ei ole massaa tai fyysisiä mittoja.

Botti voi myös kommunikoida muiden botien kanssa muodostaen monimutkaisen monisoluisen rakenteen, jossa botit voivat vaihtaa energiaa, toimintoja ja liikkua kentällä.

Kun botti lisääntyy, sen DNA välittyy sen jälkeläisille, joskus muutamilla muutoksilla, jotka vaikuttavat botin käyttäytymiseen. Kuten todellisessa maailmassa, evoluutiota voi tapahtua DNA:n muutoksen myötä - seuraavan sukupolven botit voivat tulla paremmin hyökkäämään, lisääntymään, välttämään kontakteja ja niin edelleen. Tällaiset mutaatiot joko siirtyvät sukupolvelta toiselle tai katoavat. Ajan myötä DNA voi kerätä ei-toivottua koodia, joka ei tee mitään hyödyllistä. Se vie enemmän energiaa ja tekee DNA:sta kiireisemmän.

Koska ohjelma ei päätä, mitä organismia kasvattaa, botin kyvyt ilmenevät pitkällä aikavälillä liike-, energia- ja lisääntymisstrategioiden yhdistelmänä. DNA-koodin monimutkaisuutta ei ole rajoitettu.

Evoluutio Darwinbotsissa vaatii melko paljon pitkään aikaan. Bottien sukupolvi voi elää useita tuhansia jaksoja, ja useimmat simulaatiot toimivat noin 15 sykliä sekunnissa, joten voi kestää tunteista päiviin ennen kuin merkittävää luonnonvalintaa tapahtuu.

Tietenkin tässä esittelyartikkelissa tuskin voisin kiinnostaa sinua tästä projektista, mutta syöttinä voin kertoa, että ohjelmassa on Internet-tila (jonkinlainen PvP) ja bottikehittäjät voivat osallistua liigoihin - eräänlaiseen kilpailua.

Seuraavassa artikkelissa puhumme simulointiasetuksista ja botin ohjelmoinnista.

Ja lopuksi kuvia herättämään huomiota.

Tiede, tekniikka

Virtuaalinen keskustelukumppani (eng. chatterbot) on tietokoneohjelma, joka on luotu jäljittelemään ihmisen puhekäyttäytymistä kommunikoidessaan yhden tai useamman käyttäjän kanssa. Vuonna 1966 Joseph Weizenbaum loi ensimmäisen keskusteluohjelman, Eliza. Hän parodioi psykoterapeutin puhekäyttäytymistä, nimittäin: hän toteutti aktiivisen kuuntelun tekniikkaa, kysyi käyttäjältä uudelleen ja käytti lauseita, kuten "Jatka".

Ihanteellisen keskustelukumppaniohjelman odotetaan läpäisevän Turingin testin, joka kehitettiin vuonna 1950 määrittämään tekoälyprojektien menestys. Sen ydin on siinä, että henkilö vastaa kahden keskustelukumppanin kanssa, joista toinen on ihminen, toinen tietokoneohjelma. Jos ei ole mahdollista määrittää kuka on kuka, tietokoneen katsotaan läpäisevän testin. Yksikään virtuaalinen keskustelukumppani ei kuitenkaan ole vielä onnistunut tekemään tätä. Useimpien nykyaikaisten ohjelmien toiminnallisuus rajoittuu yksinkertaiseen keskusteluun.

Keskusteluohjelmat

Chatmaster

ChatMaster on yksi ensimmäisistä hyvistä venäjänkielisistä virtuaalisista keskustelukumppaneista. Se on itseoppiva ohjelma. Hänen vuoropuhelunsa henkilön kanssa voidaan arvioida "kunnolliseksi". ChatMaster käy kontekstikohtaista keskustelua, eli se ymmärtää aikaisempiin perustuvan replikan merkityksen. Mitä tahansa ei-hieroglyfistä kieltä (kaikki eurooppalaisia ​​ja joitakin aasialaisia) voidaan käyttää vuoropuheluun. Lisäksi ohjelmassa on käyttäjäystävällinen käyttöliittymä ja melko suuri sanatietokanta. ChatMasterin haittana on, että kaiken ajatteleminen ja muistaminen kestää liian kauan, jopa asioita, joita ei pitäisi muistaa.

Electronic Brain 1300

Electronic Brain 1300 on miellyttävä keskusteluohjelma. Sillä on hyvä tietokanta: melko suuri ja alkuperäisillä replikoilla. IN uusi versio Käytössä on puutietokanta. Lisäksi ohjelmassa voidaan helposti opettaa uusia lauseita. Electronic Brainin haittana on, että käyttöliittymä ei ole käyttäjäystävällinen: ohjauselementit sijaitsevat epätavallisissa paikoissa.


Puhuja

Chatterbox on hyvä keskustelukumppaniohjelma, jolla on hyvä pohja ja hyvä huumorintaju. Vastaukset täällä annetaan erittäin nopeasti. Keskustelija ei välttämättä tarvitse keskustelukumppania, joka voi puhua itselleen. Vaikka se on itseoppiva ohjelma, sen tietokantaa voidaan laajentaa lisäämällä päivitystiedostoja. Lisäksi Chatterbox tarjoaa käyttäjälle mahdollisuuden korvata kuvakkeet omilla kuvakkeillaan ikkunan otsikkorivillä ja työkalurivillä.


DIALA

Tämä ohjelma käy vuoropuhelua venäjänkielisen henkilön kanssa mistä tahansa aiheesta yrittäen jäljitellä tekoälyä. Kehittäjien mukaan DIALA pitää itseään naisena ja on melko kriittinen miehiä ja ihmiskuntaa kohtaan yleensä. Saadaksesi enemmän tai vähemmän yhdistetyn vuoropuhelun, sinun on syötettävä vain täysimittaiset lauseet, joista jokainen sisältää täydellisen ajatuksen. Dialogin aiheen äkillistä ja kohtuutonta vaihtamista ei suositella. DIALA on itseoppiva ohjelma, joten sille ei kannata sanoa mitään tyhmää, muuten se muistaa ne heti ja saat ne pian takaisin. Sitten on vaikeaa vieroittaa hänet tästä.


Virtuaalinen Putin

Ne, jotka haluavat keskustella V.V. Putin, kysy häneltä pari kysymystä tai yksinkertaisesti moiti häntä huonosta elämästään, he voivat kommunikoida hänen virtuaalisen tuplansa kanssa "Virtuaali Putin" -ohjelman kautta. Se on kätevä keskustelukumppaniohjelma miellyttävällä käyttöliittymällä. Virtuaali-Putinin kanssa jo kommunikoineiden käyttäjien mukaan ohjelma käy täysin älykästä ja monipuolista keskustelua henkilön kanssa, toisinaan yllättävää eruditiolla ja edistyksellisellä ajattelullaan. Lisäksi Virtual Putin voi helposti tukea mitä tahansa keskustelunaihetta. On vain yksi vaatimus - sinun on kommunikoitava normaalilla venäjällä, etkä käytä kiroilua. Virtuaalinen Putin voi helposti loukkaantua.