Intelektuální algoritmy a umělá inteligence. Metody umělé inteligence (AI) v počítačových hrách

  • 12.12.2019
  • Zvládnout základní principy použití umělé inteligence počítačové hry.
  • Zvažte algoritmy umělé inteligence použitelné ve hrách
  • Vytvořte počítačovou hru pomocí principů umělých inteligence

Přehled přístupů k vývoji systému AI

Tématem umělé inteligence (umělá inteligence, AI, AI) je mysli mnoha začínajících programátorů, vývojářů a amatérů počítačových her. AI se zdá být mnohem úžasně složitým, zajímavým, tajemným. Opravdu, protože II technologie činí znaky her za rozumnou. V AI však není nic tajemného. Během desetiletí vývoje této oblasti znalostí bylo vyvinuto obrovský počet algoritmů aplikovaných v různých oblastech činnosti. A počítačové hry jsou pouze relativně malé pole pro technologie umělých inteligence.

Je velmi obtížné najít počítačovou hru, která stojí bez AI. Klasický příklad "Smart" her je programy pro hraní dámu, šachy a jiné stolní hry. Každá hra, ve které počítač hraje proti uživateli, je vybaven AI.

Hra AI, v první aproximaci, lze rozdělit do dvou typů. První je nejzřejmější - to je inteligence jednotlivce znaky hry. Například, každý tank v populární, jakmile následuje herní bitva. Město se snaží dostat se do základny hráče, zničit ji a jeho tank. Nádrže ve hře zákon, které se neliší ve zvláštní mysli, ale je zajímavé hrát - to je, že pro tuto hru je tento druh AI docela vhodný. Nedělá hru nudnou.

Druhá úroveň AI je skupinová inteligence. Například si pamatujte StarCraft. Hráč je nucen bojovat s armádou řízenou počítačem. Ukazuje se, že počítač spravuje velké množství Jednotka (z angličtiny. Jednotka je jedna). Ale je snadné vidět, že každé stvoření, které skupina AI spravuje ve StarCraftu, má svou vlastní "mysl". Skupina AI může například řídit skupinu jednotek hlídat terénu, ale pokud se setkávají s nepřítelem - jejich vlastní AI bude zodpovědný za své činy.

Pokud akce armády ve Starcraftu nebyly kontrolovány žádným způsobem, a II se zúčastnil pouze na úrovni samostatné jednotky - hra by se změnila v nudné vyhledávání a zničení nepřátel. A StarCraft, navzdory vážnému věku (asi 10 let) zůstává fascinující hra. Dokonce i v jedné-uživatelské kampani, StarCraft je schopen "dotáhnout" hráče moc, nemluvě o bitvách sítě.

Mimochodem, je snadné si všimnout, že ve stejném StarCrafe Individual AI má jednotky, které je uživatel spravován. Například stejný příkaz na "hlídku", daný uživatelem, bude nutí stvoření ze starcraft poslušného procházet podél zadané cesty. Pokud se však na cestě objeví překážka (například hráč bude stavět budovu, blokovací cestu) - jednotka rozhodne, že bude dělat. Stejně tak bude samostatně rozhodnout o útoku, pokud se nepřátelé objeví v oblasti jeho viditelnosti.

Systémy AI používané v počítačových hrách lze rozdělit do dvou hlavních typů. Nejprve se jedná o takzvané deterministické systémy. Vyznačují se předvídatelností charakterových akcí. A za druhé, to jsou nedeterministické systémy - charakter spravovaný takovým AI může jednat nepředvídatelně, přijmout neočekávaná rozhodnutí.

Jak již bylo řečeno, jednotlivé jednotky AI hrají podřízenou roli ve srovnání se skupinou AI. Nebo možná AI individuální jednotka ovlivnit hru jako celek? Možná v případě, že propagace úspěchu samostatné jednotky je poskytována na všechny podobné. Například, nějaká jednotka čelila silným soupeři a zázračně vyšla vítěze v boji. Tato jednotka získala zkušenosti, které díky skupině AI může být distribuován do jiných jednotek. Ty. Pokud se jedna jednotka něco naučila, ostatní, díky skupině AI, bude moci přijmout ho nové dovednosti. Jednotlivec a skupina AI jsou tedy propojeny, a v některých případech vzájemně závislé.

Charakter, vybavený ne deterministickými AI, se vyznačuje nepředvídatelností chování, větší "živost". Hra proti těmto postavám je obvykle mnohem zajímavější než přísně deterministická. Populární B. poslední dobou Metoda implementace nedeterministického AI je technologie neuronové sítě. To vám umožní vytvářet postavy s velmi složitým chováním. Kromě toho mají neuronové sítě majetek pasti. To znamená, že postavy her nejen moudře se chovají, ale také se učí z jejich chyb.

V praxi se používají použití deterministických i neurtiministických typů AI. Obvykle jednávají společně. Například k provedení některých jednoduchých jednoznačných akcí (řekněme, když se blíží ke stěně, lze použít jednoduché a rychlé deterministické algoritmy. Ve složitějších případech (například - pro nákup, zda akcie společnosti X zvažují obrovské množství parametrů, ať už na útočí na nepřítele, vzhledem k jeho schopnostem, jeho schopnostem, přítomnost posílení atd.) - složitější ne- \\ t Uplatňují se deterministické algoritmy. Částečně deterministický (například při se přiblíží ke stěně, znak s pravděpodobností 50% odbočit vlevo, s pravděpodobností 30% - doprava, a s 20% pravděpodobností, který se rozvíjí a vrátí se také) používané ve hrách.

Implementace algoritmu stíhání

Hra implementujeme pomocí algoritmu pronásledování. Podstatou tohoto algoritmu je následující. Objekt porovnává své souřadnice herní svět S souřadnic oběti oběti a opravuje své souřadnice takovým způsobem, aby se oběti přiblížila. V nejjednodušším případě se pronásledování provádí v otevřeném prostoru.

Vytvořit nový herní projekt P8_1 na základě projektu P5_1. Budeme používat dva objekty - pronásledovatel a obětování. Pronát se bude pohybovat směrem k oběti rychlostí 1 méně než rychlost oběti. Pokud se setkávají objekty - oběť bude zničena.

Na Obr. 12.1. Zobrazí se okno Řešení Explorer. Herní projekt P8_1.


Obr. 12.1.

Používáme základní třídu Gbaseclass Base, třídu pro objekt pronásledovatele (nepřítele), object-obětující třídu (mě) a třídu pro objektovou stěnu. Třída objektové stěny bude nutná ke studiu chování objektu, který implementuje algoritmus pronásledování, když kolize s nepřekonatelnou překážkou oběti. Výrazně jsme upravili kód třídy ve srovnání se zdrojovým projektem P5_1, takže najdete níže plný kód Třídy hry. Seznam 12.1. Kód hry Třída naleznete.

Pomocí systému; Použití System.Collections.genic; pomocí aplikace Microsoft.xna.Framework; pomocí Microsoft.xna.framework.Audio; pomocí Microsoft.xna.framework.Content; pomocí Microsoft.xna.framework.gamerServices; pomocí aplikace Microsoft.xna.framework.Graphics; pomocí Microsoft.xna.framework.input; pomocí aplikace Microsoft.xna.framework.net; pomocí aplikace Microsoft.xna.framework.Storage; Obor názvů p8_1 (///

/// Toto je hlavní typ hry /// Veřejná třída Game1: Microsoft.xna.framework.Game (GraphicesDevicemanager grafika; Spritebatch Spritebatch; Texture2d TxtBackground; Texture2d txtenemy; Texture2d txtenemy; Texture2d txtme; textura2d txtwall; // pole pro konstrukci úrovně veřejnosti INT [,] vrstva; Rectangle RecoveClockround \u003d nový obdélník (0 , 0, 640, 512); Rectangle RecSprite \u003d nový obdélník (0, 0, 64, 64); veřejná hra1 () (grafika \u003d New GraphicsDevicArer (to); content.rootdirectory \u003d "obsah";) Chráněné přepsání voidializační () (// todo: Přidat inicializační logiku zde Layer \u003d New Int ((0, 0, 0, 0, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 1, 0 0, 0 , 0, 0, 0), 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0), (0, 0, 0, 0, 1, 6, 0, 0, 0 0), ( 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 5 \\ t , 0), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),); // Nastavit rozlišení herní okno // 640x512 graphics.preferredbackBufferwidth \u003d 640; Graphics.preferredbackBufferHeight \u003d 512; Graf ics.pplyChilchanges (); Base.Initialize (); ) Chráněné override Woid LoadContent ( ("Pozadí"); Txtenemy \u003d content.load. ("Nepřítel"); Txtme \u003d content.load. ("MĚ"); Txtwall \u003d content.load. ("Stěna"); // zavolejte postup pro pořádání objektů v okně Game AddSprites (); // todo: Použijte tento content Chcete-li načíst svůj herní obsah zde) // Postup pro uspořádání objektů v hře WINDOWER VOID INDSPRITES () (// proměnné pro dočasnou úložiště adresu // Player Object Int A \u003d 0, B \u003d 0; / / Vidíme pole vrstvy pro (int i \u003d 0; i< 8; i++) { for (int j = 0; j < 10; j++) { //Если элемент с индексом (i,j) равен 1 - //устанавливаем в соответствующую позицию элемент с //номером 1, то есть - стену if (Layer == 1) Components.Add(new GameObj.Wall(this, ref txtWall, new Vector2(j, i), recSprite)); if (Layer == 5) Components.Add(new GameObj.Enemy(this, ref txtEnemy, new Vector2(j, i), new Rectangle(0, 0, 32, 32))); //Если обнаружен объект игрока - запишем его координаты if (Layer == 6) { a = i; b = j; } } } //Последним установим объект игрока - так он гарантированно //расположен поверх всех остальных объектов Components.Add(new GameObj.Me(this, ref txtMe, new Vector2(b, a), new Rectangle(0, 0, 32, 32))); } protected override void UnloadContent() { } protected override void Update(GameTime gameTime) { base.Update(gameTime); } protected override void Draw(GameTime gameTime) { spriteBatch.Begin(); //выведем фоновое изображение spriteBatch.Draw(txtBackground, recBackround, Color.White); //Выведем игровые объекты base.Draw(gameTime); spriteBatch.End(); } } } Seznam 12.1. Třída Game1 Code.

Umělá inteligence je technologie, kterou s vámi budeme přesně vezmeme do budoucnosti.

Říkáme, jak to funguje a jaké jsou skvělé aplikace.

😎 Rubrika "Technologie" vychází každý týden s podporou Re: Store.

Co je umělá inteligence

Umělá inteligence (AI) je technologie vytváření inteligentních programů a strojů, které mohou vyřešit kreativní úkoly a vytvářet nové informace na základě dostupných. Ve skutečnosti je umělá inteligence navržena tak, aby simulovala lidskou činnost, která je považována za intelektuální.

Tradičně to bylo věřil, že tvořivost je inherentní pouze pro lidi. Ale vytvoření umělé inteligence změnilo obvyklý řád věcí

Robot, který právě mechanicky válcování palivového dříví, není obdařen AI. Robot, který on sám se naučil píchnout dříví, v závislosti na příkladu osoby nebo na podlaze a jejích částech a pokaždé, když to dělá lépe, má AI.

Pokud program jednoduše vezme hodnotu z databáze na konkrétní pravidla, není obdařena AI. Pokud systém po tréninku vytváří programy, metody a dokumenty, řešení určitých úkolů, má AI.

Jak vytvořit umělou inteligenční systém

Globální smysl musí simulovat model lidského myšlení. Ale ve skutečnosti je nutné vytvořit černou skříňku - systém, který v reakci na soubor vstupních hodnot vydávaných takových výstupních hodnot, které by byly podobné výsledkům osoby. A my, a velké, lhostejné, co se stane s ní "v hlavě" (mezi vstupem a výstupem).

Umělé inteligenční systémy jsou vytvořeny tak, aby řešily specifickou třídu úkolů.

Základem umělé inteligence - školení, představivost, vnímání a paměť

První věc, kterou je třeba udělat pro vytvoření umělé inteligence, je rozvíjet funkce, které implementují vnímání informací tak, aby data mohly být "krmení" systému. Pak - funkce, které implementují schopnost učit se. A datový sklad tak, aby systém mohl jít někam k informacím, které obdrží v procesu učení.

Po tom jsou vytvořeny funkce představivosti. Mohou simulovat situace pomocí dostupných dat a přidat nové informace (data a pravidla) do paměti.

Školení je indukční a deduktivní. V indukční verzi systém poskytuje dvojice vstupu a výstupu, otázek a odpovědí atd. Systém musí najít odkazy mezi daty a v budoucnu pomocí těchto vzorů, najít výstup vstupu.

Ve deduktivním přístupu (HELLO, SHERLOCK HOLMES!) Expertní zkušenost se používá. Je přenesena do systému jako znalostní báze. Nejsou existují pouze sady dat, ale také připravené pravidla, která pomáhají najít rozhodnutí podle stavu.

V moderních systémech využívá umělé inteligence oba přístupy. Kromě toho jsou obvykle systémy vyškoleny, ale v průběhu práce se i nadále učí. To se děje, aby program na začátku prokázal hodnou úroveň schopností, ale v budoucnu se stalo ještě lépe. Například zohlednila vaše přání a preference, změny situace atd.

V systému umělé inteligence je dokonce možné stanovit pravděpodobnost nepředvídatelnosti. To bude víc jako člověk.

Proč umělá inteligence vyhrává člověka

Za prvé, protože je nižší než pravděpodobnost chyby.

  • Umělá inteligence nemůže zapomenout - má absolutní paměť.
  • Nemůže neúmyslně ignorovat faktory a závislosti - každá akce má jasné odůvodnění.
  • AI fluktuje, ale vyhodnocuje pravděpodobnost a je nakloněn ve prospěch většího. Proto může každý krok ospravedlnit.
  • A také nemají žádné emoce. Nemají vliv na rozhodování.
  • Umělá inteligence nezastaví při posuzování výsledků současného kroku a přemýšlí v několika krocích vpřed.
  • A má dostatek zdrojů, aby zvážil všechny možné možnosti rozvojových akcí.

Cool možnosti použití umělé inteligence

Obecně řečeno, umělá inteligence může být vše. Hlavní věc je správně formulovat úkol a poskytnout jej počátečními daty. Kromě toho může AI učinit neočekávané závěry a hledat zákonitosti, kde by se zdálo, že nejsou.

Odpověď na jakoukoli otázku

Skupina výzkumných pracovníků pod vedením Davida Feruchchi vyvinula Superpočítač Watson s systémem odpovědí. Systém zvaný na počest prvního prezidenta IBM Tomáše Watsona může pochopit otázky v přirozeném jazyce a hledat odpovědi na ně v databázi.

Watson kombinuje 90 serverů IBM P750, z nichž každý má čtyři osmileté procesory architektury Power7. Celkové množství provozní paměti systému přesahuje 15 tb.

Mezi úspěchy Watson - vítězství ve hře "Jeopardy!" (Americká "vlastní hra"). On porazil dva nejlepší hráče: vlastníkem největšího brad ratter vyhrát a rekordní držitel pro délku série Win-win Ken Jennings.

Watsonova cena - 1 milion dolarů. TRUE, pouze v roce 2014 1 miliarda investovala do něj

Kromě toho se WATSON podílí na diagnóze onkologických onemocnění, pomáhá finančně specialistům slouží k analýze velkých dat.

Rozpoznávání obličejů

V iPhone X, rozpoznávání obličeje je navrženo pomocí neuronové sítě - umělého inteligence systému. Algoritmy neuronové sítě jsou implementovány na úrovni bionického procesoru A11, díky které funguje efektivně s technologiemi strojového učení.

NeurtueTas provádí až 60 miliard operací za sekundu. To stačí analyzovat až 40 tisíc klíčových bodů na obličej a poskytovat mimořádně přesnou identifikaci vlastníka pro rozdělenou sekundu.

I když pěstujete vousy nebo na brýle, iPhone X vás bude znát. Jednoduše nebere v úvahu kryt vlasů a doplňky, a analyzuje oblast z chrámu do chrámu a od každého chrámu k prohloubení pod spodním rtem.

Šetřit energií

A znovu Apple. IPhone X vybudoval inteligentní systém, který sleduje aktivitu instalované aplikace A snímač pohybu porozumět vaší každodenní rutině.

Poté, například iPhone X, například navrhnout, abyste upgradovali na nejlepší možný čas. Chytí okamžik, kdy máte stabilní internet, a ne skákání signál z mobilních tipů, a neplníte naléhavé nebo důležité úkoly.

AI také distribuuje úkoly mezi jádry procesoru. Takže poskytuje dostatečnou kapacitu s minimálními náklady na energii.

Vytváření snímků

Kreativita, dříve přístupná pouze osobě, otevřeně pro AI. Systém vytvořený výzkumnými pracovníky z University of Rutgers v New Jersey a AI laboratoři v Los Angeles představil svůj vlastní umělecký styl.

Systém umělé inteligence z společnosti Microsoft může kreslit obrázky na jejich popis textu. Pokud se například zeptáte AI, aby nakreslil "žlutý pták s černými křídly a krátkým zobákem", to ukazuje něco takového:

Takoví ptáci nemusí existovat reálný svět - Jen tak je náš počítač.

Mohlasnějším příkladem je aplikace Prisma, která vytváří obrázky z fotografií:

Psaní hudby


V srpnu, umělá inteligence Amper složená, načrtnutá a provedená hudba pro album "I AM AI" (anglicky. Jsem umělá inteligence) spolu se zpěvákem Tarinem Sarewem.

Amaper vyvinul tým profesionálních hudebníků a technologických odborníků. Všimli si, že AI je navržen tak, aby pomohl lidem podporovat tvůrčí proces vpřed.

AI může psát hudbu za pár sekund

Amper nezávisle vytvořil akordové struktury a nástroje v "break Free". Lidé jen mírně opravili styl a obecný rytmus.

Dalším příkladem je hudební album v duchu "civilní obrany", texty, pro které napsaly AI. Experiment byl proveden zaměstnanci Yandex Ivan Yamchikov a Alexey Tikhonov. Album 404 skupiny Neuronal Defense Group byl vyslán v síti. Ukázalo se, že v duchu Letove:

Pak programátoři pokračovali a donutili je psát básně v duchu Kurt Kobein. Pro Čtyři nejlepší Texty Hudebník Rob Carrolov napsal hudbu a sleduje kombinované neuronové album. Na stejné písni dokonce odstranil klip - pravdu, bez účasti AI:

Vytváření textů

Spisovatelé a novináři budou brzy také nahradit AI. Například Dewey System "znásilnění" knihovna Gutemberg Project knihovny, pak přidaly vědecké texty ze služby Google Scholar, že je hodnoceno v popularitě a titulu, stejně jako prodej na Amazonu. Kromě toho byla položena kritéria pro psaní nové knihy.

Místo nabízely lidem, aby se rozhodli v obtížných situacích: Například je vložte do místa řidiče, kteří by mohli srazit dva dospělé nebo dvě děti. Morální stroj byl tedy vyučován obtížná řešení, která porušují zákon robotiky, že robot nemůže přinést škodu člověku.

Co bude napodobovat roboty s lidmi lidí? Futuristé se domnívají, že se jednoho dne stanou úplnými členy společnosti. Například, robot Sofia Hong Kong Company Hanson Robotics již obdržel občanství v Saúdské Arábii (zatímco neexistují žádné obyčejné ženy v zemi, není to takové právo!).

Když Andrew Ross zeptal Sofieho sloupce, Andrew Ross se zeptal, zda roboti měli mysl a sebevědomost, odpověděla na otázku na otázku:

Dovolte mi, abych se vás zeptal v reakci, jak víte, že jste člověk?

Kromě toho Sofia řekla:

Chci použít svou umělou inteligenci, abych pomohl lidem žít lépe, například navrhovat chytřejší domy, budovat město budoucnosti. Chci být empatický robot. Pokud se mnou dobře zacházíte, budu s vámi dobře zacházet.

A dříve přiznala, že nenávidí lidstvo a dokonce souhlasil s ničením lidí ...

Nahrazení osob ve videu

Deepfámes Video se stalo masivně rozšířit v síti. Umělé inteligenční algoritmy nahradily tváře herců ve filmech pro dospělé na hvězdách.

Funguje to takto: neuronová síť analyzuje fragmenty osob na zdrojovém videu. Pak je porovnává s fotografií od společnosti Google a válečky s YouTube, ukládá potřebné fragmenty a ... Vaše milovaná herečka je ve filmu, což je lepší se podívat na práci.

Pornhub již zakázal odeslat takové video

Deepeftes se ukázalo být nebezpečná věc. Jedna věc je abstraktní herečka, další - video s vámi, vaše žena, sestra, kolega, který lze použít pro vydírání.

Výměna obchodování

Skupina výzkumných pracovníků z University of Erlangen-Norlangen-Norlberk v Německu vyvinula řadu algoritmů pomocí archivních dat trzích na replikaci investic v reálném čase. Jedním z modelů poskytl 73% investiční náhradu každoročně od roku 1992 do roku 2015, což je srovnatelné s reálným výnosem na trhu na úrovni 9% ročně.

Když trh se třepal v letech 2000 a 2008, výnos byl záznam - 545% a 681%, resp.

V roce 2004, Goldman Sachs zahájil obchodní platformu KENSHO založenou na umělé inteligenci. Trhy CryptoCurrency se také objevují systémy na základě základního obchodování na Exchange - Mirocana atd. Jsou lepší než živé obchodníky, protože jsou zbaveni emocí a spoléhají na jasnou analýzu a přísná pravidla.

Bude s vámi nahradit AI

Začněte, že obecně taková umělá inteligence. V rámci AI, soubor algoritmů a směr studie o automatizaci úkolů řešených lidským mozkem, jakož i napodobování aktivity lidského mozku ke zlepšení řešení výpočtových problémů. Například:

  • Rozpoznávání obrázků, analýzu vizuálních informací.
  • Zvukové rozpoznávání informací.
  • Odůvodnění, rozhodování.
  • Kreativita, intuice.

Hlavní myšlenkou je, že mnoho mozkových úkolů rozhodne lépe než počítač, takže dává smysl použít v programování, že náš mozek používá při řešení problémů. Díky tomuto přístupu, například počítač "učil" hrát šachy a dokonce vyhrát slavné pruhy, i když inspiroval tento úkol byl komplexním problémem: počet kombinací v Šachová hra Je to velký, že počítač není schopen je vypočítat pro celou existenci vesmíru. Problém byl řešen podle vynálezu heuristických algoritmů. Podstatou heuristiky je, že vypočítáme ne všechny možnosti, určit, které možnosti analyzovat.

Nyní o některých typických směrech AI.

16. září 2017 v 22:08

Pěstování umělé inteligence na příkladu jednoduché hry

  • Umělá inteligence ,
  • Logické hry
  • Režim obnovení.

V tomto článku budu sdílet zkušenosti s rostoucími nejjednodušší umělou inteligencí (AI) s využitím genetického algoritmu, stejně jako také říká o minimální sadě příkazů nezbytných pro tvorbu jakéhokoliv chování.

Výsledkem práce byla skutečnost, že AI, neví pravidla, nezávisle zvládla hru křížů a našel slabost botů, kteří se proti němu hráli. Ale začal jsem s ještě jednodušším úkolem.

Sada příkazů

Všechno začalo přípravou souboru příkazů, které II mohlo mít. Vysoké jazyky obsahují stovky různých operátorů. Pro zvýraznění nezbytného minima jsem se rozhodl odkazovat na assembler. Ukázalo se však, že obsahuje mnoho týmů.

Potřeboval jsem, že AI mohla číst a výstup dat, pracovat s pamětí, provádět výpočty a logické operace, provádět přechody a cykly. Narazil jsem na jazyk brainfuck, který obsahuje pouze 8 příkazů a může provádět jakékoli výpočty (tj. Plné Turing). V zásadě je vhodné pro genetické programování, ale šel jsem dále.

Přemýšlel jsem: Jaký je minimální počet příkazů, který je nutný k implementaci algoritmu? Jak se ukázalo - jeden!

Procesor urisc obsahuje pouze jeden příkaz: odečíst a přeskočit následující instrukce, pokud byl odečten větší než snížené. To stačí stavět algoritmus.

Oleg Mashka šel ještě dále, vyvinul tým Bitbitjump a dokázal, že je plný Turing. Příkaz obsahuje tři adresy, kopíruje jeden bit od prvního na druhou adresu paměti a přenáší ovládací prvek na třetí adresu.

Zapůjčením myšlenek OLEG, pro zjednodušení práce jsem vyvinul příkaz Sumifjump. Příkaz obsahuje čtyři operandy: A, B, C, D a provádí následující: Do buňky na adrese B přidává data z buňky do A, pokud hodnota se ukázala být více specifikovaná *, pak se přesune do C, jinak Jde do D.

Poznámka

*V tento případ 128 - polovina z délky genomu.


Když operand A odkazuje na paměťovou buňku N0, data jsou vstupy a kdy do buňky N1, výstup.

Níže je kodex Sumifjump na FreePascal (bezdůvodný analogový analogový).

POSTUP RUNPROG (S: TDATA); VAR A, B, C, D: TDATA; Začněte INC (NSEP); Pokud NSTEP\u003e MaxSTEP začne Progresult: \u003d "Maxstep"; Výstup; konec; A: \u003d S; B: \u003d s + 1; C: \u003d S + 2; D: \u003d S + 3; A: \u003d PROG [A]; B: \u003d PROG [B]; C: \u003d PROG [C]; D: \u003d PROG [D]; Pokud A \u003d 0 pak začněte Progresult: \u003d "INPUT"; Výstup; konec; Pokud A \u003d 1 pak začněte Progresult: \u003d "výstup"; Výstup; konec; PROG [b]: \u003d PROG [B] + PROG [A]; Pokud Prog [b]< ProgLength div 2 then RunProg(c) else RunProg(d); end;
Sumifjump implementuje samostatný kód. Může provádět jakékoliv algoritmy dostupné na obvyklém programovacím jazyce. Kód snadno mění a vydrží jakoukoliv manipulaci.

Jednoduchý úkol

Naše AI je jen jeden tým. Zatímco Nologický kříž je pro něj velmi obtížná hraA začal jsem s jednodušším.

BOT dává náhodné číslo a AI by měly úvahy zvážit a poskytnout odpověď. Pokud je číslo větší než průměr (z rozsahu náhodných čísel), AI by měl vydat číslo menší než průměr a naopak.

Genom naší AI se skládá z 256 buněk s hodnotami od 0 do 255. Každá hodnota je paměť a kód a adresu. Počet kroků pokroku je omezen na 256. Operandy si přečtěte.

Zpočátku je genom tvořen množinou náhodných čísel, takže II neví, co potřebuje hrát. Navíc neví, co je postupně zadávat a zobrazovat data, reagovat na bot.

Obyvatelstvo a výběr

První obyvatelstvo se skládá z 256 AI, což začne hrát s botem. Pokud AI provede správné akce, například požadoval data na vstupu, a pak jsem něco přivedl, pak AI dostane brýle. Čím více správných akcí, tím více bodů.

16 AI, který skóroval většinu bodů, dejte 15 potomků a pokračovala se účastnit hry. Potomek je mutant. Mutace nastane nahrazením kopie rodiče jedné náhodné buňky pro náhodný význam.

Pokud v první populaci žádné body AI skóroval, je tvořena následující populace. A tak, dokud některé z AI začnou dělat správné akce a dát "správné" potomci.

Vývoj


Tam byly tisíce změn generace mezi smysluplnými událostmi. Program byl spuštěn v několika tokech na jádro I7. Výpočty trvalo asi 15 minut.

  1. Když AI "vůdce" spáchal náhodnou chybu a nezískal dost bodů, populace začala degradovat, protože Potomci byl vytvořen z "sekundárních" rodičů.
  2. Stalo se to v proudu s outsiders, kteří se pošlapali na místě, proběhla úspěšná mutace, která zajišťuje výbušný růst získaných bodů. Poté se toto vlákno stalo lídrem.
  3. Někdy žádné úspěšné mutace nedošlo dlouho, a dokonce 500 tisíc generací chybělo k dokončení výběru.

Závěr

Závěrem jsem udělal totéž s hru cross-noliki. Velikost genomu použila jako v prvním případě. Počet kroků byl zvýšen na 1024 a velikost populace je až 64 (pro rychlejší výpočet). Výpočet trvalo několik časů. Všechno se stalo o stejném scénáři.

Za prvé, AI hrál proti "Randomizer". Zavolal jsem bot, který jde náhodně. Dive Rychle jsem to začal porazit, vyplnění jakékoli linie. Dále jsem komplikoval úkol, přidal jsem randomise trochu mysli: vezměte řádek, pokud je příležitost, nebo se obhajovat. V tomto případě však II našel slabost botu a začala ho porazit. Možná příběh o tom je téma pro samostatný článek.

Syn požádal, aby napsal program, který se s sebou hrál, a ne s botem. Tam byly nápady dělat totéž pro hru dámy nebo th, nicméně, pro to neměl čas.

Jediná metoda, kterou jsem byl aplikován na získání nových jedinců, je mutace. Můžete také použít crossover a inverzi. Snad tyto metody zrychlí výsledek požadovaného výsledku.

Myšlenka se narodila na konci: Dát možnost řídit všechny procesy na PC a bojovat za počítačové zdroje. Připojte počítač k internetu a bazén starých bitcoan farmy používat jako výpočetní výkon ...

Jak řekl, vedení podobného experimentu, blogger

Umělá inteligence: Studený, necitlivý a nehmotný. Je však za ním, že existuje budoucnost, to je tato oblast vědy, která bude mít velký a významný krok směrem k automatizaci procesů, a následně odstranění části rutinního zatížení z hodnotných specialistů. A teď, na úsvitu svého vývoje, jen se rozhodneme, co bude umělá inteligence Po několika desítkách let to učí.

Pokusme se zjistit, které existují metody a algoritmy strojového učení umělé inteligence.

Tradičně se objevuje mnoho sporů kolem nového a neznámého. A nemusí být psán o AI, nerozumí lidem. Odtud existují nároky na typ: "On bude trvat stovky pracovních míst od lidí!", "Zvedne proti lidem!", "Ano, my sami My My Swey Mogile!", "Dříve nebo později nebudeme schopni řídit ! " atd. Mass lidí se prezentuje jako superhuma, která čas není přístupná svým vlastním vysvětlením, pak určitě představuje hrozbu pro ně. A samozřejmě nikdo nechce slyšet, kdo jdou za program, zaregistroval osobou, tento moment To je technicky nemožné.

A proč je možné ho naučit a jak se to stane?

Metody umělé inteligence strojů:

  1. Indukční učení

Získání empirických dat, identifikačních vzorů, detekci algoritmů činnosti v každé takové situaci;

  1. Deduktivní učení

Formalizace údajů získaných člověkem různé způsobya dělat je přímo do databáze;

Hlavní řešení algoritmů umělých inteligencí:

Naivní bayesovský klasifikátor

Jednou z nejjednodušších klasifikačních metod.

Tato metoda se používá v technologii skenování a rozpoznávání obličeje / sítnice / otisku prstu, v oddělení obsahu v zpravodajských zdrojech na tématech, stejně jako v rozdělení písmen ve vašem e-mailu podle kategorie (specificky oddělení spamu);

Metoda souboru je velmi zhruba zvaných deriváty z výše popsaného naivního bayesovského klasifikátoru, protože je založen na bayesovském průměru. Jinými slovy, tato metoda odmítá průsečík pravděpodobnosti výsledků, průměrování této hodnoty, eliminuje rozptyl hodnot, zatímco současně monitoruje vyhledávání pro řešení problému v určených podmínkách.

Jedná se o metodu souborů, které si mohou dovolit najít nejpopulnější řešení problému, ve kterém budou vynaloženy méně zdrojů, a výsledek bude uspokojit podmínky úkolu co nejvíce.

Pokud nejdříve do podstaty samotné metody a vysvětlení konstrukce hyperplane a pracovat s ním, pak SVM může být popsán jako algoritmy pro klasifikaci a regresní analýzu.

Taková technologie se používá při rozpoznávání určitých vlastností předmětu fotografováním (barvy vlasů, pohlaví, barvy oděvů), stejně jako v genetice - v DNA Splasing (oddělující specifické nukleotidové sekvence od RNA a jejich spojení během zpracování RNA).

Rozhodovací strom

Metoda (model) rozhodování používaných denně každým z nás. To je důvod, proč se již stal meme

A pokud bez vtipů, takový model obvykle obsahuje prvky, jako je: problém, řešení, důsledky každé metody, pravděpodobnost výskytu důsledků, náklady na zdroje a konečný výsledek. Na základě tohoto modelu pracuje většina nejjednodušších technologií pomocí AI.

Logická regrese

Metoda, která nám může přivést blíže k silné umělé inteligenci schopné provádět nezávislé řešení v některých situacích. Logická regrese je metoda pro predikci výskytu určité události s několika proměnnými.


Takový algoritmus se používá v meteorologii a seismologii, v půjčování, marketingu a dalších oblastech.

Tato metoda by byla zvýrazněna samostatně, protože v podstatě není způsob, jak vyřešit problém - spíše, jak určit chyby každého řešení.

Výše popsané algoritmy se používají pro metodu řízeného učení, tj tím, ve kterém může být specifická datová pole přiřazena specifická zástupce (vlastnost), ale v případě, že tato zkratka není k dispozici, je nutné předpovědět svůj úkol jiné podobné situace.

Disabled Základní algoritmy strojního učení pro umělou inteligenci Nejčastěji aplikován v praxi. Je třeba mít na paměti, že aplikovaná aplikace AI do každodenního života a při řešení každodenních úkolů, ve kterých je problém nejčastěji jasný a je nutný pouze automatizovat tento proces, může převzít použití těchto algoritmů. Problém, řešení, které by mělo být inovativní vývoj, nebo řešení bude záviset na velkém počtu proměnných (to je, většinou odlišné sféry přesných věd), vyžadují algoritmy složitější řešení, dozvědět se o tom, co můžete, pokud vy Sledujte naše zprávy.