Internet Windows Android
Kengaytirish

Inson xatti-harakatini simulyatsiya qiluvchi kompyuter o'yini 3 harf. Butler botlari yoki konsyerj botlari

Salom, Xabr!

Men yaqinda Darwinbots dasturida genetik algoritmlar bo'yicha kurs ishini tugatdim va bu jamiyat uchun qiziqarli bo'lishiga qaror qildim. Bundan tashqari, hozirda loyiha hamjamiyati juda kichik. Maqolalar hujjatlarning yarmi tarjimasi va dastur bo'yicha o'z tadqiqotining yarmi bo'ladi.

1. Birinchi tanishuv

2.

Shunday qilib, Darvinbots dasturi sun'iy hayot simulyatoridir. Birinchi versiyalar italiyalik dasturchi Karlo Komis tomonidan Visual Basic dasturlash tilidan foydalangan holda yozilgan. Hozirgi vaqtda dasturning eng so'nggi versiyasi 2.45.02D bo'lib, 2012 yil 21 avgustda chiqarilgan. Hozirda dasturning C# tilida to'liq qayta yozilgan uchinchi versiyasi ishlab chiqilmoqda. C++ da port ham mavjud. Loyihaning manba kodi Subversion versiyani boshqarish tizimida nashr etilgan va hamma uchun mavjud.

Dastur organizmlar populyatsiyasi - botlar (robotlar) hayotini simulyatsiya qiladi, ularning DNKsi maxsus ishlab chiqilgan til yordamida qo'lda tasvirlangan. DNK aslida turli xil kirishlardan ma'lumotni o'qiydi, uni o'zgartiradi va uni amalda bo'ladigan chiqishlarga ulaydigan katta holat mashinasidir. Bot kodi (keyingi o'rinlarda DNK deb yuritiladi) .txt kengaytmali matn faylida tasvirlangan bo'lib, u bilan istalgan muharrirda, jumladan, Notepadda ishlash imkonini beradi. Simulyatsiyaning mohiyati organizmlar, mutatsiyalar, viruslar va boshqalarning mumkin bo'lgan o'zaro ta'sirini hisobga olgan holda har bir tsikl uchun DNKni bajarishdir.

Darwinbots dasturi interfeysining asosiy elementi bot dunyosi (yoki simulyatsiya maydoni) hisoblanadi. Botlar dunyosi - bu diskret bo'lmagan katta tekislik (ha, avvalgi ko'k to'rtburchak). Odatiy bo'lib, botlar butun dunyo bo'ylab harakatlanishi mumkin. Dunyo sozlamalari simulyatsiya sozlamalarida o'rnatiladi.

Har bir bot ma'lum o'lcham va rangdagi doira bilan ifodalanadi, markazda qandaydir naqsh mavjud. Botning "ko'zi" oq nuqta bilan ko'rsatilgan. U 9 ​​ta oddiy ko'zni o'z ichiga oladi. Simulyatsiya maydonida botni tanlaganingizda, har bir ko'zning ko'rish maydonlarining panjarasini ko'rishingiz mumkin. Ko'zlar dasturga ko'rish sohasidagi ob'ektning o'lchamiga mos keladigan qiymatni uzatadi.

Botda boshqa botning to‘qnashuvi yoki hujumini his qilish imkonini beruvchi oddiy taktil sezgilar tizimi mavjud. Botlarning sensorli ma'lumotlari DNKga tahlil qilinadi, u FILO (birinchi kiruvchi, oxirgi chiqadi) abstraktsiyasidan foydalangan holda tilda yozilgan plastinkalar printsipiga asoslanadi. Ko'pgina botlarning DNKsida genlar deb ataladigan 6 dan 20 gacha protseduralar mavjud bo'lib, ular 200 tagacha operatsiyani bajarishi mumkin. Har bir operatsiya mutatsiyaga uchrashi mumkin.

Har bir bot o'zining energiya zaxirasiga ega. Aksariyat harakatlar energiya miqdorini kamaytiradi. Energiya nolga yetganda, bot o'ladi va u DNKda belgilangan darajadan yuqoriga ko'tarilgach, u ko'paya boshlaydi. Energiyani boshqa botlarni o'zlashtirish (oddiy muhitda ov qilish uchun o'xshash) va o'z "tanasi" dan energiyani saqlash orqali to'ldirish mumkin. Agar bot avtotrof sifatida tanlangan bo'lsa, u holda energiya uzoq vaqt davomida avtomatik ravishda to'ldiriladi.

Bot nomoddiy snaryadlarni otish, hujum qilish, axlatni olish, infektsiyani yuqtirish va boshqa botlar bilan ma'lumot almashishi mumkin. Snaryad - bu modellashtirish maydonidagi massa yoki jismoniy o'lchamlarga ega bo'lmagan nuqta.

Bot boshqa botlar bilan ham bog‘lanib, murakkab ko‘p hujayrali tuzilmani hosil qiladi, uning doirasida botlar energiya, operatsiyalar almashishi va maydon bo‘ylab harakatlanishi mumkin.

Bot ko'payganda, uning DNKsi avlodlariga o'tadi, ba'zida botning xatti-harakatlariga ta'sir qiladigan ba'zi o'zgarishlar mavjud. Haqiqiy dunyoda bo'lgani kabi, evolyutsiya DNKning o'zgarishi bilan sodir bo'lishi mumkin - botlarning keyingi avlodi hujum qilish, ko'payish, aloqa qilishdan qochish va hokazolar qobiliyatiga ega bo'lishi mumkin. Bunday mutatsiyalar avloddan-avlodga o'tadi yoki yo'qoladi. Vaqt o'tishi bilan DNK hech qanday foyda keltirmaydigan keraksiz kodni to'plashi mumkin. Bu ko'proq energiya oladi va DNKni band qiladi.

Dastur qaysi organizmni o'stirishni hal qilmagani uchun, botning qobiliyatlari uzoq muddatda harakat, energiyani boshqarish, ko'payish va hokazo strategiyalar kombinatsiyasi orqali o'zini namoyon qiladi. DNK kodining murakkabligi bo'yicha hech qanday cheklovlar yo'q.

Darvinbotlardagi evolyutsiya ancha uzoq davom etadi. Botlarning avlodi bir necha ming tsikl davomida yashashi mumkin va ko'pchilik simulyatsiyalar soniyasiga taxminan 15 tsiklda ishlaydi, shuning uchun sezilarli tabiiy tanlanish sodir bo'lgunga qadar bir necha soatdan bir necha kungacha vaqt ketishi mumkin.

Albatta, ushbu kirish maqolasida men sizni ushbu loyihaga qiziqtira olmadim, ammo o'lja sifatida shuni aytishim mumkinki, dastur Internet rejimiga ega (qandaydir PvP) va bot ishlab chiquvchilari ligalarda ishtirok etishlari mumkin. musobaqa.

Keyingi maqolada simulyatsiya sozlamalari va bot dasturlash haqida gapiramiz.

Va nihoyat, diqqatni jalb qilish uchun rasmlar.

Fan, texnologiya

Virtual suhbatdosh (ing. chatterbot) - bu bir yoki bir nechta foydalanuvchi bilan muloqot qilishda inson nutqining xatti-harakatlariga taqlid qilish uchun yaratilgan kompyuter dasturi. 1966 yilda Jozef Vayzenbaum Eliza nomli birinchi suhbat dasturini yaratdi. U psixoterapevtning nutq xatti-harakatiga parodiya qildi, xususan: u faol tinglash, foydalanuvchidan yana so'rash va "Iltimos, davom eting" kabi iboralarni qo'llash texnikasini qo'lladi.

Ideal suhbatdosh dasturi 1950 yilda sun'iy intellekt loyihalari muvaffaqiyatini aniqlash uchun ishlab chiqilgan Tyuring testidan o'tishi kutilmoqda. Uning mohiyati shundaki, odam ikkita suhbatdosh bilan yozishadi, ulardan biri shaxs, ikkinchisi kompyuter dasturi. Agar kimning kimligini aniqlashning iloji bo'lmasa, kompyuter testdan o'tgan hisoblanadi. Biroq, hali bironta ham virtual suhbatdosh buni uddalay olmadi. Ko'pgina zamonaviy dasturlarning funksionalligi oddiy suhbatni o'tkazish qobiliyati bilan cheklangan.

Suhbatdosh dasturlari

Chatboshi

ChatMaster - rus tilida so'zlashadigan birinchi yaxshi virtual suhbatdoshlardan biri. Bu o'z-o'zini o'rganish dasturi. Uning odam bilan muloqot sifatini "munosib" deb baholash mumkin. ChatMaster kontekstga bog'liq suhbatni olib boradi, ya'ni avvalgilariga asoslangan nusxaning ma'nosini tushunadi. Har qanday ieroglif bo'lmagan til (barcha Yevropa va ba'zi Osiyo) dialog uchun ishlatilishi mumkin. Bundan tashqari, dastur foydalanuvchilar uchun qulay interfeys va so'zlarning juda katta ma'lumotlar bazasiga ega. ChatMaster-ning kamchiligi shundaki, hamma narsani, hatto eslab qolish kerak bo'lmagan narsalarni ham o'ylash va eslab qolish juda uzoq davom etadi.

Elektron miya 1300

Electronic Brain 1300 - yoqimli suhbat dasturi. Yaxshi bilim bazasiga ega: juda katta va original nusxalari bilan. Yangi versiyada daraxtga asoslangan ma'lumotlar bazasidan foydalaniladi. Bundan tashqari, dasturni yangi iboralarni osongina o'rgatish mumkin. Elektron miyaning kamchiligi shundaki, interfeys foydalanuvchilarga qulay emas: boshqaruv elementlari noodatiy joylarda joylashgan.


Chatterbox

Chatterbox - bu yaxshi asosga va yaxshi hazil tuyg'usiga ega bo'lgan yaxshi suhbatdosh dasturi. Bu erda javoblar juda tez beriladi. Suhbatdoshga suhbatdosh kerak emas, u o'zi bilan gaplasha oladi. Bu o'z-o'zini o'rganish dasturi bo'lsa-da, uning ma'lumotlar bazasini yangilash fayllarini qo'shish orqali kengaytirish mumkin. Bundan tashqari, Chatterbox foydalanuvchiga oyna sarlavhasi va asboblar paneli ko'rinishida piktogrammalarni o'zlari bilan almashtirish imkoniyatini beradi.


DIALA

Ushbu dastur sun'iy intellektga taqlid qilishga urinib, rus tilida istalgan mavzuda odam bilan suhbat o'tkazadi. Ishlab chiquvchilarning so'zlariga ko'ra, DIALA o'zini ayol deb hisoblaydi va erkaklar va umuman insoniyatni juda tanqid qiladi. Ko'proq yoki kamroq bog'langan dialogga ega bo'lish uchun siz faqat to'liq iboralarni kiritishingiz kerak, ularning har biri to'liq fikrni o'z ichiga oladi. Suhbat mavzusini keskin va asossiz ravishda o'zgartirish tavsiya etilmaydi. DIALA - bu o'z-o'zini o'rganish dasturi, shuning uchun siz unga ahmoqona narsa aytmasligingiz kerak, aks holda u ularni darhol eslab qoladi va siz ularni tez orada qaytarib olasiz. Shunda uni bu holatdan ajratish qiyin bo'ladi.


Virtual Putin

V.V bilan suhbatlashishni istaganlar. Putin, unga bir nechta savol bering yoki shunchaki yomon hayoti uchun uni tanbeh qiling, ular "Virtual Putin" dasturi orqali uning virtual dubloni bilan muloqot qilishlari mumkin. Bu yoqimli interfeysga ega bo'lgan qulay suhbatdosh dasturi. Virtual Putin bilan allaqachon muloqot qilishga muvaffaq bo'lgan foydalanuvchilarning fikriga ko'ra, dastur odam bilan mutlaqo aqlli va ko'p qirrali suhbatni olib boradi, ba'zida o'zining bilimdonligi va ilg'or fikrlashi bilan ajablantiradi. Bundan tashqari, Virtual Putin har qanday suhbat mavzusini osongina qo'llab-quvvatlaydi. Faqat bitta talab bor - siz oddiy rus tilida gaplashishingiz va haqoratli so'zlarni ishlatmasligingiz kerak. Virtual Putin osongina xafa bo'lishi mumkin.