Үй / Мобильді ОЖ / Адамның мінез-құлқына еліктейтін компьютерлік бағдарлама 3 әріп

Адамның мінез-құлқына еліктейтін компьютерлік бағдарлама 3 әріп

Сәлем, Хабр!

Мен жақында Darwinbots бағдарламасында генетикалық алгоритмдер бойынша курстық жұмысты аяқтадым және бұл қоғамдастық үшін қызықты болады деп шештім. Оның үстіне, в қазірЖоба қауымдастығы өте аз. Мақалалар құжаттаманың жарты аудармасы, ал жартысы бағдарлама бойынша өз зерттеулері болады.

1. Алғашқы танысу

2.

Сонымен, Darwinbots бағдарламасы өмірдің жасанды симуляторы болып табылады. Алғашқы нұсқаларды итальяндық бағдарламашы Карло Комис Visual Basic бағдарламалау тілін пайдаланып жазған. Соңғы нұсқаАғымдағы бағдарлама 2012 жылдың 21 тамызында шығарылған 2.45.02D. Қазіргі уақытта C# тілінде толығымен қайта жазылған қосымшаның үшінші нұсқасы әзірленуде. Сондай-ақ C++ тілінде порт бар. Жобаның бастапқы коды Subversion нұсқасын басқару жүйесінде жарияланған және барлығына қолжетімді.

Бағдарлама ағзалар популяциясының - боттардың (роботтардың) өмірін имитациялайды, олардың ДНҚ-сы арнайы әзірленген тілдің көмегімен қолмен сипатталады. ДНҚ – бұл көптеген әртүрлі кірістерден ақпаратты оқитын, оны өзгертетін және әрекет ететін шығыстарға қосатын үлкен күй машинасы. Бот коды (бұдан әрі - ДНҚ) бөлімінде сипатталған мәтіндік файл.txt кеңейтімімен, онымен кез келген редакторда, соның ішінде Блокнотта жұмыс істеуге мүмкіндік береді. Модельдеудің мәні организмдердің, мутациялардың, вирустардың және т.б. ықтимал өзара әрекеттесулерін ескере отырып, әрбір цикл үшін ДНҚ-ны орындау болып табылады.

Darwinbots бағдарламасы интерфейсінің негізгі элементі бот әлемі (немесе модельдеу өрісі) болып табылады. Боттар әлемі - үлкен дискретті емес жазықтық (иә, бұрынғы көк тіктөртбұрыш). Әдепкі бойынша, боттар бүкіл әлем бойынша қозғала алады. Әлемдік параметрлер симуляция параметрлерінде орнатылады.

Әрбір бот ортасында белгілі бір үлгі бар белгілі бір өлшемдегі және түсті шеңбермен бейнеленген. Боттың «көзі» ақ нүктемен белгіленеді. Оған 9 қарапайым көз кіреді. Модельдеу өрісінде ботты таңдаған кезде әр көздің көру өрістерінің торын көре аласыз. Көздер бағдарламаға көру өрісіндегі объектінің өлшеміне шамамен сәйкес келетін мәнді жібереді.

Боттың басқа боттың соқтығысуы немесе шабуылын сезінуіне мүмкіндік беретін қарапайым тактильді сезімдер жүйесі бар. Боттардың сенсорлық кірістері қабатталған пластиналар принципіне негізделген FILO (бірінші кірген, соңғы шыққан) абстракциясы арқылы тілде жазылған ДНҚ-ға талданады. Көптеген боттарда гендер деп аталатын 6-20 ДНҚ процедурасы бар, олар 200-ге дейін операцияны орындай алады. Әрбір операция мутацияға ұшырауы мүмкін.

Әрбір боттың өзінің энергия қоры бар. Көптеген әрекеттер энергия мөлшерін азайтады. Энергия нөлге жеткенде, бот өледі, ал ДНҚ-да анықталған деңгейден жоғары көтерілгенде, ол көбейе бастайды. Энергияны басқа боттарды сіңіру (қалыпты ортадағы аңшылыққа ұқсас) және өз «денесінің» энергиясын сақтау арқылы толықтыруға болады. Егер бот автотроф ретінде таңдалса, онда энергия ұзақ уақыт бойы автоматты түрде толтырылады.

Бот материалдық емес снарядтарды атып, шабуыл жасай алады, қоқыс шығара алады, вирус жұқтырады және басқа боттармен ақпарат алмаса алады. Снаряд - модельдеу өрісіндегі массалық немесе физикалық өлшемдері жоқ нүкте.

Бот сонымен қатар басқа боттармен байланыса алады, күрделі көп жасушалы құрылымды құрайды, оның ішінде боттар энергиямен, операциялармен алмаса алады және өрісте қозғала алады.

Бот көбейген кезде оның ДНҚ-сы ұрпақтарына беріледі, кейде боттың мінез-құлқына әсер ететін кейбір өзгерістер бар. Нақты әлемдегі сияқты, эволюция ДНҚ-ның өзгеруімен болуы мүмкін - боттардың келесі ұрпағы шабуылдауға, көбейтуге, байланыстан аулақ болуға және т.б. Мұндай мутациялар ұрпақтан ұрпаққа беріледі немесе жойылады. Уақыт өте келе ДНҚ пайдалы ештеңе жасамайтын қажетсіз кодты жинақтай алады. Ол көбірек энергия алады және ДНҚ-ны белсенді етеді.

Бағдарлама қандай ағзаны өсіру керектігін шешпейтіндіктен, боттың қабілеттері қозғалыс, энергияны басқару, көбею және т.б. стратегиялардың үйлесімі арқылы ұзақ мерзімді перспективада көрінеді. ДНҚ кодының күрделілігіне ешқандай шектеулер жоқ.

Дарвинботтардағы эволюция көп уақытты қажет етеді узақ уақытқа. Боттардың ұрпағы бірнеше мың циклдар бойы өмір сүре алады және көптеген модельдеу секундына шамамен 15 циклмен жұмыс істейді, сондықтан маңызды табиғи іріктеу пайда болғанға дейін бірнеше сағаттан бірнеше күнге дейін кетуі мүмкін.

Әрине, бұл кіріспе мақалада мен сізді бұл жобаға қызықтыра алмадым, бірақ мен сізге бағдарламада Интернет режимі (PvP-тің қандай да бір түрі) бар екенін айта аламын, ал бот әзірлеушілер лигаларға қатыса алады - бір түрі. бәсеке.

Келесі мақалада модельдеу параметрлері және боттарды бағдарламалау туралы айтатын боламыз.

Соңында, назар аудару үшін суреттер.

Ғылым, технология

Виртуалды сұхбаттасушы (ағыл. chatterbot) — бір немесе бірнеше пайдаланушылармен сөйлескен кезде адамның сөйлеу әрекетіне еліктеу үшін жасалған компьютерлік бағдарлама. 1966 жылы Джозеф Вайзенбаум «Элиза» атты алғашқы сөйлесу бағдарламасын жасады. Ол психотерапевттің сөйлеу әрекетіне пародия жасады, атап айтқанда: ол белсенді тыңдау техникасын енгізді, пайдаланушыдан қайтадан сұрап, «Жалғастыруды өтінемін» сияқты тіркестерді қолданды.

Идеал сұхбаттасушы бағдарламасы жасанды интеллект жобаларының сәттілігін анықтау үшін 1950 жылы әзірленген Тьюринг сынағынан өтеді деп күтілуде. Оның мәні адамның екі сұхбаттасушымен хат алмасуында жатыр, олардың бірі адам, екіншісі компьютерлік бағдарлама. Кімнің кім екенін анықтау мүмкін болмаса, компьютер сынақтан өтті деп есептеледі. Дегенмен, бірде-бір виртуалды сұхбаттасушы мұны әлі жасай алмады. Қазіргі заманғы бағдарламалардың көпшілігінің функционалдығы қарапайым сөйлесу мүмкіндігімен шектеледі.

Әңгімелесу бағдарламалары

Чатмастер

ChatMaster - орыстілді алғашқы жақсы виртуалды әңгімелесушілердің бірі. Бұл өздігінен білім алатын бағдарлама. Оның адаммен диалогының сапасын «лайықты» деп бағалауға болады. ChatMaster контекстке байланысты әңгіме жүргізеді, яғни алдыңғыларға негізделген репликаның мағынасын түсінеді. Диалог үшін кез келген иероглифтік емес тілді (барлығы еуропалық және кейбір азиялықтар) пайдалануға болады. Сонымен қатар, бағдарламада ыңғайлы интерфейс және сөздердің жеткілікті үлкен дерекқоры бар. ChatMaster-тің кемшілігі - бәрін, тіпті есте сақтауға болмайтын нәрселерді де ойлау және есте сақтау тым ұзақ уақыт алады.

Электрондық ми 1300

Electronic Brain 1300 - жағымды әңгімелесу бағдарламасы. Жақсы білім базасы бар: өте үлкен және түпнұсқа көшірмелері бар. IN жаңа нұсқасыАғаш деректер базасы пайдаланылады. Сонымен қатар, бағдарламаны жаңа сөз тіркестерін оңай үйретуге болады. Электрондық мидың кемшілігі интерфейстің пайдаланушыға ыңғайлы еместігінде: басқару элементтері әдеттен тыс жерлерде орналасқан.


Сөйлесуші

Chatterbox - жақсы негізі және жақсы юмор сезімі бар жақсы сұхбаттасушы бағдарламасы. Мұнда жауаптар өте жылдам беріледі. Сөйлесушіге міндетті түрде сұхбаттасушы қажет емес, ол өзімен сөйлесе алады. Бұл өздігінен оқытылатын бағдарлама болса да, оның дерекқорын жаңарту файлдарын қосу арқылы кеңейтуге болады. Сонымен қатар, Chatterbox пайдаланушыға терезе тақырыбы жолағында және құралдар тақтасының көрінісінде белгішелерді өздеріне ауыстыру мүмкіндігін береді.


ДИАЛА

Бұл бағдарлама кез келген тақырыпта жасанды интеллектке еліктеуге тырысатын адаммен орыс тілінде диалог жүргізеді. Әзірлеушілердің айтуынша, DIALA өзін әйелмін деп санайды және ер адамдарға, жалпы адамзатқа сыни көзқараспен қарайды. Азды-көпті байланысты диалогты алу үшін тек толыққанды сөз тіркестерін енгізу керек, олардың әрқайсысында толық ой бар. Диалог тақырыбын кенеттен және негізсіз өзгерту ұсынылмайды. DIALA - бұл өздігінен білім алатын бағдарлама, сондықтан оған ақымақ ештеңе айтпау керек, әйтпесе ол оларды бірден есте сақтайды және сіз оларды тез арада қайтарып аласыз. Содан кейін оны одан арылту қиын болады.


Виртуалды Путин

В.В.-мен сөйлескісі келетіндер. Путин, оған бір-екі сұрақ қойыңыз немесе жай ғана оның нашар өмірі үшін сөгіңіз, олар «Виртуалды Путин» бағдарламасы арқылы оның виртуалды дубляжымен сөйлесе алады. Бұл жағымды интерфейсі бар ыңғайлы сұхбаттасушы бағдарламасы. Виртуалды Путинмен сөйлесіп үлгерген қолданушылардың пікірінше, бағдарлама адаммен толық интеллектуалды және жан-жақты әңгіме жүргізеді, кейде өзінің эрудициясы мен прогрессивті ойлауымен таң қалдырады. Сонымен қатар, Виртуалды Путин әңгіменің кез келген тақырыбын оңай қолдай алады. Бір ғана талап бар – кәдімгі орыс тілінде сөйлесіп, балағат сөздер қолданбау керек. Виртуалды Путин оңай ренжіп қалуы мүмкін.