Daha üst düzey 'Saf AI' kavramları (Nöral Ağlar veya Genetik Algos gibi) ticari oyunlarda başarılı bir şekilde uygulanıyor mu?


18

Grafikler benim ana odak alanım olmasına rağmen, Game AI konseptleriyle uzun süredir uğraşıyorum; basit A ​​* yol bulmasından karmaşık Algılayıcılara ..

Sorum şu; Herkes büyük ölçekli ticari başlıklarda bazı üst düzey AI kavramlarının başarılı (veya belki de daha ilginç bir şekilde başarısız) uygulama örnekleri var mı?

Daha yüksek seviyeyle, genellikle Pure AI'de bulunan zekayı simüle etme yöntemlerini kastediyorum. Örneğin ..

  • Nöral ağlar
  • Genetik Algoritmalar
  • Karar Teorisi

Bir finansal bütçenin yanı sıra, geliştiricilerin de bir bellek kullanımı bütçesine sahip olduklarını anlıyorum (AI genellikle arka koltuk alıyor). Bu yöntemlerin çoğu uygulamak ve sınırlı getiriler sağlamak için pahalıdır .. Ben sadece kimse (veya söz etmeyi unuttum diğer herhangi bir üst düzey kavramlar) nerede veya ne zaman bilen olup olmadığını öğrenmek için merak ediyorum iyi bilinen oyunlar :)

Ayrıca bu endüstride ticari sırların hayatın bir gerçeği olduğunu biliyorum;) AAA başlıklarının yanı sıra, kendi başarı öykülerinizden (veya felaketlerden) herhangi biri varsa onları duymak güzel olurdu! : D

Yanıtlar:


18

Genel olarak konuşursak sinir ağları ve genetik algoritmalar oyunlarda kullanılmaz ve son zamanlarda derin öğrenme için sinir ağlarını kullanmaya olan ilgisinin dışında, çoğu zaman oyunların dışında da değildir.

Bunların AI akademisinde öğretilmesinin temel nedeni pratik uygulanabilirlikleri değil, aynı zamanda öğretim cihazları olarak açıklanması oldukça kolay olmalarıdır - her ikisinin de bir öğrencinin nasıl çalışabileceğini anlamalarını sağlayan matematiksel ve biyolojik analogları vardır.

Gerçek dünyada, genellikle güvenilirliğe ve öngörülebilirliğe ihtiyacınız vardır. Öğrenme yöntemleri ile ilgili sorun, 'vahşi doğada' öğrenmeleri durumunda yanlış kalıpları öğrenmeleri ve güvenilmez olmalarıdır. Bir NN veya GA, örneğin gerekli oyun deneyimini sağlayacak kadar iyi olacağı garanti edilmeyen bir yerel maksimuma ulaşabilir. Diğer zamanlarda, çok iyi olabilir ve rakipsiz mükemmel bir strateji bulabilir. Çoğu eğlence ürününde de arzu edilmez.

Çevrimdışı (hatta lansmandan önce değil, oyun sırasında değil) eğitiyor olsanız bile, görünüşte iyi görünen bir veri seti, bir oyuncu tarafından bulunduğunda sömürülmesi kolay olan anormallikleri gizliyor olabilir. Özellikle bir sinir ağı tipik olarak incelemesi oldukça opak olan bir dizi ağırlık geliştirir ve kararlarını akılda tutmak zordur. Bir tasarımcının böyle bir AI rutinini istediği gibi yapması zordur.

Ancak belki de en zarar verici sorun, GA'ların ve NN'lerin genellikle herhangi bir oyun geliştirme görevi için en iyi araç olmamasıdır. İyi öğretim araçları olsa da, konu alanı hakkında yeterli bilgiye sahip olan herkes genellikle benzer sonuçlar elde etmek için farklı bir yöntem kullanmak için daha donanımlıdır. Bu, destek vektör makineleri veya davranış ağaçları gibi diğer AI tekniklerinden, devlet makineleri veya hatta uzun bir koşullu koşullar zinciri gibi daha basit yaklaşımlara kadar her şey olabilir. Bu yaklaşımlar geliştiricinin alan bilgisini daha iyi kullanma eğilimindedir ve öğrenme yöntemlerinden daha güvenilir ve öngörülebilirdir.

Bununla birlikte, bazı geliştiricilerin, bir yarış pistinde iyi bir rota bulmak için bir sürücüyü eğitmek için geliştirme sırasında sinir ağlarını kullandıklarını duydum ve daha sonra bu rota oyunun bir parçası olarak gönderilebilir. Son oyunun, bunun çalışması için herhangi bir sinir ağı kodu gerektirdiğini, eğitimli ağın bile olmadığını unutmayın.

Yöntemin 'maliyeti' tesadüfen gerçekte sorun değildir. Hem NN'ler hem de GA'lar son derece ucuz bir şekilde uygulanabilir, NN özellikle ön hesaplama ve optimizasyona katkıda bulunur. Sorun gerçekten onlardan faydalı bir şey elde edebilmek.


3
Oyunların dışında GA'lar mühendislik problemlerine ezoterik çözümler bulma konusunda son derece başarılı olmuşlardır, örneğin Dr. Adrian Thompson'un genetik devreler üzerindeki erken çalışması, geri kalanları çalıştıracak şekilde akıyı etkileyen "yararsız" alt devrelerle sonuçlanmıştır. Sorun, etkili ezoterik çözümlerin oyunlarda mühendislikteki gibi değerli olmamasıdır. Oyun AI'nın gerçekten zor problemi, AI'nın sadece iyi oynamakla kalmayıp anlaşılabilir bir stratejiye sahip olmasını sağlamaktır.

4
AI sürücü değişkenlerini ayarlamak için GA kullandım. Ancak belirttiğiniz gibi bu, ayarlama verilerini oluşturmak için bir araçla çevrimdışı yapıldı. Oyun aktif GA ile gönderilmedi, sadece geliştirme sırasında elde edilen rakamlar.
wkerslake

@Joe - evet, GA'ları kendim seviyorum. Bir problem alanını, algoritmayı değiştiren kişiye oldukça sezgisel bir şekilde keşfetmenin oldukça etkili bir yolu olduğunu düşünüyorum. Onları gerçek zamanlı karar vermek için de kullandım, ancak alternatiflerden daha etkili veya daha etkili olduklarını iddia etmek zor.
Kylotan

Alan adı bilgisi için +1. Ayrıca iş durumunu da azaltmayın: Bir yarış hattını oluşturmak ve ayarlamak ve korumak için programcı zamanının haftaları NN, bir eğri döşemek için basit bir maksimum araçtan ve birkaç günlük tasarımcı süresinden daha düşük maliyetli olabilir.
tenpn

Sorun daha çok yararlı bir şey öğrenmek için, çok fazla hesaplama gücü gerektiren büyük bir sinir ağına ihtiyacınız var. Küçük bir ağınız varsa, dediğin gibi eğitmek ucuzdur, ancak sofistike davranışları öğrenme şansı yoktur. Gördüğüm başka bir problem, ML için çok sayıda eğitim örneğine ihtiyacınız olması, bu nedenle oyun sırasında antrenman yapamamanız çünkü düşmanların zeki olması çok uzun sürecek. Öte yandan, takviye Q-öğrenme bunun için iyi bir teknik gibi görünüyor. Bir numara bu yapay zekaya karşı sadece bir kez işe yarayacaktır. Oyunların bunu kullanıp kullanmadığından emin değilim.
danijar

7

Oyunlarda "akademik" AI uygulamaları, normalde oyun alanında AI olarak düşündüğü şeylerden çok daha ince olma eğilimindedir. Oyun AI profesörümün okuldayken odaklanmamın çoğu kamera kontrolü için AI idi. Diğer ilgi alanı, bildiğim kadarıyla hala akademiyle sınırlı olan AI anlatı yönetimi idi. Bu daha sonraki bölgenin dikkate değer bir örneği cephe olacaktır .

Oyunlarda "akademik" yapay zeka için ana sorun, farklı sorunları çözmeleridir. Oyunda genellikle gereksinimleri karşılamak istemezsiniz; sadece tatmin etmek istiyorsun. Daha önce ifade edildiği gibi: kolay olmak istemezsiniz, ancak AI rakibinizin de çok zor olmasını istemezsiniz.

Bununla birlikte, Lionhead'in Siyah Beyaz oyun serisi, yukarıdaki soru ile bahsettiğinize benzer AI'yı kullandı ve en azından bir netice yapmaları için yeterince başarılıydı .

"Yaşlı Parşömenler IV: Oblivion" un aslında bu davranış damarına bir örnek olduğu radyan yapay zekâ raporlarını hatırlıyorum, ancak NPC'ler gibi birbirlerini yiyecekler üzerinde öldüren garip beklenmedik davranışlar yüzünden düpedüz edilmesi gerekiyordu.


GA aynı zamanda yaratıklar serisinde de kullanılır: en.wikipedia.org/wiki/Creatures_(artificial_life_program) ancak daha önce bahsedilen siyah beyaz veya Oblivion kadar başarılı değil
lathomas64 7:10

Cevabınız için teşekkürler .. Oyun AI'daki dengenin ne kadar önemli olduğunu belirttiğiniz gibi ilginç, oyun geliştirmenin hemen hemen her alanında olduğu gibi, gerçekçi / inandırıcı olmadan önce eğlenceli olmalı. Çok 'zeki' bir AI hiç eğlenceli değil, hiç kimse akıllı alec'i sevmiyor :)
Bluestone

1

Hata ayıklamak zordur, bu nedenle (muhtemelen yanlışlıkla aşırı optimizasyondan kaynaklanan) bir aksaklık kolayca düzeltilemez. Bu nedenle, oyunlarda kullanılan herhangi bir sinir ağı, oyun sırasında gerçek zamanlı olarak öğrenmelidir. Ancak, örneğin NERO oyunu kullanılmıştır.



1

Endüstride örnekler sorduğunuz için, işte sizin için bir tane: Kullanılan sinir ağlarını bildiğim en eski başlık 1993 yılında yayınlanan bir D&D TBS / aksiyon oyunu Fantasy Empires'di. "akıllı" ama "öngörülemeyen" bir tarzda yapın ... oyunu çok oynadıysanız, katılmıyorsunuz! Animasyonlu zindan ustası figürü, NN kullanarak statik ses ısırıklarından oluşan bir koleksiyondan son hareketlerinize dayanarak oyun tarzınız hakkında rehberlik sunar. Gerçekten çok basit bir ağ olduğunu düşünüyorum.

( ayrıntılar için kılavuzun 57. sayfasına bakın)

resim açıklamasını buraya girin


Bu ilginç bir örnek olabilir, ancak bu oyunu oynamamış biri için pek yardımcı olmaz. Sinir ağı tarafından hangi oyun mekaniğinin kontrol edildiğini, neyin neye benzediğini ve ürettiği iyi ve kötü sonuçların bazı örneklerini verebilir misiniz?
Philipp

@Philipp Puanınız usulüne uygun olarak not edildi - ETA. Sonuçlar o kadar "kötü" değildi ki basitçe sinir ağlarının analog doğası çok sınırlı bir çıktı eylemleri kümesine nicelenmiş gibi boşa harcanmış gibiydi.
Mühendis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.