internet pencereler Android
Genişletmek

İnsan davranışını simüle eden bilgisayar oyunu 3 harf. Uşak botları veya konsiyerj botları

Merhaba Habr!

Yakın zamanda Darwinbots programında genetik algoritmalar üzerine bir dersi tamamladım ve bunun topluluk için ilginç olacağına karar verdim. Üstelik şu anda proje topluluğu oldukça küçük. Makalelerin yarısı belgelerin çevirisi, yarısı da programla ilgili kendi araştırmalarından oluşacaktır.

1. İlk tanışma

2.

Yani Darwinbots programı bir yapay yaşam simülatörüdür. İlk versiyonlar İtalyan programcı Carlo Comis tarafından Visual Basic programlama dili kullanılarak yazılmıştır. Programın şu anda en son sürümü 21 Ağustos 2012'de yayınlanan 2.45.02D'dir. Şu anda uygulamanın üçüncü versiyonu geliştiriliyor ve tamamen C# ile yeniden yazılıyor. C++'da da bir port bulunmaktadır. Projenin kaynak kodu Subversion sürüm kontrol sisteminde yayınlanır ve herkesin kullanımına açıktır.

Program, DNA'sı özel olarak geliştirilmiş bir dil kullanılarak manuel olarak tanımlanan botlar (robotlar) organizma popülasyonunun yaşamını simüle eder. DNA aslında birçok farklı girdiden gelen bilgiyi okuyan, onu değiştiren ve eyleme geçirilebilir çıktılara bağlayan büyük bir durum makinesidir. Bot kodu (bundan sonra DNA olarak anılacaktır), Not Defteri dahil herhangi bir düzenleyicide onunla çalışmanıza olanak tanıyan .txt uzantılı bir metin dosyasında açıklanmaktadır. Simülasyonun özü, organizmaların, mutasyonların, virüslerin vb. olası etkileşimlerini hesaba katarak her döngü için DNA gerçekleştirmektir.

Darwinbots program arayüzünün ana unsuru bot dünyasıdır (veya simülasyon alanıdır). Botların dünyası ayrık olmayan büyük bir düzlemdir (evet, daha önceki mavi dikdörtgenin aynısı). Varsayılan olarak botlar dünyanın her yerinde hareket edebilir. Dünya ayarları simülasyon ayarlarında yapılır.

Her bot, ortasında bir desen bulunan, belirli boyut ve renkte bir daire ile temsil edilir. Botun "gözü" beyaz bir noktayla gösterilir. 9 basit göz içerir. Simülasyon alanında bir bot seçtiğinizde, her bir gözün görüş alanlarının bir ızgarasını görebilirsiniz. Gözler, görüş alanındaki nesnenin boyutuna yaklaşık olarak karşılık gelen bir değeri programa iletir.

Bot, başka bir bottan gelen bir çarpışmayı veya saldırıyı hissetmesine olanak tanıyan basit bir dokunsal duyum sistemine sahiptir. Botların duyusal girdileri, istiflenmiş plakalar ilkesine dayanan FILO (ilk giren, son çıkan) soyutlaması kullanılarak bir dilde yazılan DNA'ya analiz edilir. Çoğu botta, gen adı verilen ve 200'e kadar operasyon gerçekleştirebilen 6 ila 20 DNA prosedürü bulunur. Her operasyon mutasyona uğrayabilir.

Her botun kendi enerji rezervi vardır. Çoğu eylem enerji miktarını azaltır. Enerji sıfıra ulaştığında bot ölecek, DNA'da belirlenen seviyenin üzerine çıktığında ise üremeye başlayacak. Enerji, diğer robotları emerek (normal bir ortamda avlanmaya benzer şekilde) ve kişinin kendi "bedeninden" enerji depolayarak yenilenebilir. Bot ototrof olarak seçilirse, enerji uzun bir süre boyunca otomatik olarak yenilenir.

Bot, soyut mermiler atabilir, saldırabilir, çöpleri alabilir, virüs bulaştırabilir ve diğer botlarla bilgi alışverişinde bulunabilir. Mermi, modelleme alanı üzerinde kütlesi veya fiziksel boyutu olmayan bir noktadır.

Bot aynı zamanda diğer botlarla da iletişim kurarak, robotların enerji alışverişinde bulunabileceği, operasyon yapabileceği ve sahada hareket edebileceği karmaşık, çok hücreli bir yapı oluşturabilir.

Bir bot çoğaldığında, DNA'sı yavrularına aktarılır ve bazen botun davranışını etkileyen bazı değişiklikler olur. Gerçek dünyada olduğu gibi evrim, DNA'daki bir değişiklikle gerçekleşebilir; yeni nesil botlar saldırma, üreme, temastan kaçınma vb. konularda daha yetenekli hale gelebilir. Bu tür mutasyonlar ya nesilden nesile aktarılır ya da ortadan kaybolur. Zamanla DNA, hiçbir işe yaramayan istenmeyen kodlar biriktirebilir. Daha fazla enerji harcayacak ve DNA'yı daha yoğun hale getirecek.

Program hangi organizmanın büyüyeceğine karar vermediğinden, botun yetenekleri uzun vadede hareket, enerji yönetimi, üreme vb. stratejilerin bir kombinasyonu yoluyla kendini gösterir. DNA kodunun karmaşıklığı konusunda herhangi bir kısıtlama yoktur.

Darwinbotların evrimi oldukça uzun zaman alıyor. Bir robot nesli birkaç bin döngü boyunca yaşayabilir ve simülasyonların çoğu saniyede yaklaşık 15 döngü hızında çalışır, dolayısıyla önemli bir doğal seçilimin gerçekleşmesi saatler hatta günler alabilir.

Tabii ki, bu tanıtım makalesinde bu projeyle pek ilginizi çekemezdim, ancak yem olarak size programın bir İnternet moduna (bir tür PvP) sahip olduğunu ve bot geliştiricilerin liglerde yer alabileceğini - bir tür - söyleyebilirim. yarışma.

Bir sonraki yazımızda simülasyon ayarları ve bot programlamadan bahsedeceğiz.

Ve son olarak dikkat çekecek resimler.

Bilim teknolojisi

Sanal muhatap (eng. chatterbot), bir veya daha fazla kullanıcıyla iletişim kurarken insan konuşma davranışını taklit etmek için oluşturulmuş bir bilgisayar programıdır. 1966'da Joseph Weizenbaum ilk konuşma programı Eliza'yı yarattı. Bir psikoterapistin konuşma davranışının parodisini yaptı: aktif dinleme tekniğini uyguladı, kullanıcıya tekrar sordu ve "Lütfen devam edin" gibi ifadeler kullandı.

İdeal bir muhatap programının, yapay zeka projelerinin başarısını belirlemek için 1950 yılında geliştirilen Turing Testini geçmesi bekleniyor. Özü, bir kişinin biri kişi, diğeri bilgisayar programı olan iki muhatapla örtüşmesi gerçeğinde yatmaktadır. Kimin kim olduğunu tespit etmek mümkün değilse bilgisayar testi geçmiş sayılır. Ancak henüz tek bir sanal muhatap bunu yapmayı başaramadı. Çoğu modern programın işlevselliği, basit bir konuşma yürütme yeteneğiyle sınırlıdır.

Muhatap programları

Sohbet yöneticisi

ChatMaster, Rusça konuşan ilk iyi sanal muhataplardan biridir. Kendi kendine öğrenen bir programdır. Bir kişiyle olan diyaloğunun kalitesi “iyi” olarak değerlendirilebilir. ChatMaster bağlama duyarlı bir konuşma yürütür, yani öncekilere dayanan bir kopyanın anlamını anlar. Hiyeroglif olmayan herhangi bir dil (tümü Avrupa ve bazı Asya) diyalog için kullanılabilir. Ayrıca programın kullanıcı dostu bir arayüzü ve oldukça geniş bir kelime veritabanı vardır. ChatMaster'ın dezavantajı, her şeyi, hatta hatırlanmaması gereken şeyleri bile düşünmenin ve hatırlamanın çok uzun sürmesidir.

Elektronik Beyin 1300

Electronic Brain 1300 keyifli bir sohbet programıdır. İyi bir bilgi tabanına sahiptir: oldukça geniştir ve orijinal kopyalara sahiptir. Yeni sürüm ağaç tabanlı bir veritabanı kullanıyor. Ayrıca programa yeni ifadeler kolaylıkla öğretilebilmektedir. Elektronik Beynin dezavantajı, arayüzün kullanıcı dostu olmamasıdır: kontrol elemanları alışılmadık yerlere yerleştirilmiştir.


Sohbet kutusu

Chatterbox, iyi bir temele ve iyi bir mizah anlayışına sahip, iyi bir muhatap programıdır. Burada yanıtlar çok hızlı bir şekilde verilmektedir. Bir sohbet kutusunun mutlaka bir muhataba ihtiyacı yoktur; kendi kendine konuşabilir. Kendi kendine öğrenen bir program olmasına rağmen, güncelleme dosyaları eklenerek veritabanı genişletilebilir. Ayrıca Chatterbox, kullanıcıya pencere başlık çubuğunda ve araç çubuğu görünümünde simgeleri kendi simgeleriyle değiştirme olanağı sağlar.


DIALA

Bu program, herhangi bir konuda Rusça konuşan bir kişiyle diyalog kurarak yapay zekayı taklit etmeye çalışıyor. Geliştiricilere göre DIALA kendisini bir kadın olarak görüyor ve hem erkekleri hem de genel olarak insanlığı oldukça eleştiriyor. Az çok bağlantılı bir diyaloga sahip olmak için, yalnızca her biri tam bir düşünce içeren tam teşekküllü ifadeler girmeniz gerekir. Diyalog konusunu aniden ve mantıksız bir şekilde değiştirmeniz önerilmez. DIALA kendi kendine öğrenen bir programdır, bu yüzden ona aptalca bir şey söylememelisiniz, aksi takdirde onları hemen hatırlayacak ve kısa sürede geri alacaksınız. O zaman onu bundan vazgeçirmek zor olacak.


Sanal Putin

V.V. ile konuşmak isteyenler. Putin'e birkaç soru sorun ya da sadece kötü hayatı nedeniyle onu azarlayın, sanal ikiziyle “Sanal Putin” programı aracılığıyla iletişim kurabilirler. Hoş bir arayüze sahip, kullanışlı bir muhatap programıdır. Zaten sanal Putin ile iletişim kurmayı başaran kullanıcılara göre program, bir kişiyle tamamen akıllı ve çok yönlü bir konuşma gerçekleştiriyor, bazen bilgililiği ve ilerici düşüncesiyle şaşırtıcı. Ayrıca Sanal Putin herhangi bir konuşma konusunu kolayca destekleyebilir. Tek bir gereklilik var - normal Rusça iletişim kurmanız ve küfür kullanmamanız gerekiyor. Sanal Putin kolayca kırılabilir.