Införande av artificiell intelligens. Skapa artificiell intelligens för spel – från design till optimering

Analys är en kunskapsprocess. Intelligens är råmaterialet för analys.

Introduktion

Det händer också att alla har sin egen förståelse för artificiell intelligens (AI), dess yttersta funktioner och risker. Inte ens experter har entydiga tolkningar. Begreppet "konstgjord" är ganska specifikt, d.v.s. liknar mänskligt (naturligt). Men "intelligens" tolkas som "mental princip" eller "mental förmåga", vilket kan tolkas på olika sätt. Vilket är precis vad som händer. Med önsketänkande konstaterar cybernetik närvaron av AI. Detta förvränger tidskoordinaterna och arkitekturen för AI:n som mål.

Målet med den här artikeln är att strukturera den befintliga kunskapen om AI och sätta allt på sin plats. Identifiera orsakerna till bristen på betydande prestationer inom detta område, identifiera ett sätt att lösa detta problem och specificera riskerna med AI. Konsekventa lösningar på dessa problem i detta arbete kommer att hjälpa intresserade parter att förstå krångligheterna i ett ganska förvirrande ämne.

Syftet med detta arbete är att underbygga att begreppet AI behöver ses ur en ny vinkel, nämligen: med inkluderingen i detta koncept inte bara av ett verktyg för att lösa tekniska problem, utan också av ett verktyg som motsvarar och överträffar en persons analytiska förmåga. Det vill säga ett system som kan analysera sociala fenomen för att förutsäga framtiden, vilket kan bli möjligt med sociologins omvandling till en exakt vetenskap genom dess algoritmisering.

1. AI:s relevans

Den mest grundläggande frågan om AI är detta. Den nuvarande forskningstrenden inom AI är uteslutande inriktad på att lösa tekniska problem. Det mänskliga intellektet sysslar främst med att lösa personliga, offentliga och sociala problem, och dess "framgångar" lämnar mycket övrigt att önska. Vi förbättrar tekniskt och multiplicerar sociala risker i direkt proportion: kriser, epidemier, konflikter, krig, terroristattacker etc. Det är logiskt att anta att målet att skapa AI ska vara ett verktyg som uteslutande löser sociala problem. När allt kommer omkring, den sociala frågan "Vad händer om...?" För en person är den tekniska frågan "Hur mycket kommer det att vara...?" mycket viktigare, men det är ännu inte ens på medvetenhetsstadiet. Nu klarar cybernetiker framgångsrikt skapandet av alla applikationer och banor av en matematisk ordning. Men att beskriva olika sociala processer och fenomen i ett programmeringsspråk och därigenom förutse en privat eller statlig omvälvning i framtiden osv. (dess amplitud, frekvens, fas), när som helst skede är i princip otänkbart. Det vill säga, vad som nu menas med befintliga "smarta" uppfinningar (enheter, hus, robotar och så vidare) är faktiskt inte sådana, eftersom de inte har förmågan att analysera erfarenheterna från det förflutna och verkligheten av nuet för strategiska prognoser av framtiden.

2. AI-problem

AI-problemet är över 70 år gammalt. Väderproblem har framgångsrikt lösts: termonukleär fusion, DNA-kod, rymdprogram, kollider, etc. Dessa frågor löstes på regeringsnivå. Nu är inte bara länder, utan även alla företag med självrespekt sysselsatta med AI. Investeringar i detta problem når astronomiska proportioner och täcker summan av kostnaderna för alla tidigare vetenskapliga upptäckter. Och detta är inte gränsen. Det gick dock inte att komma långt, eftersom alla rapporter om prestationer inom AI-området är en bluff. I själva verket talar man om banal kombinatorik, d.v.s. o allt mer sofistikerade kalkylatorprodukter som syftar till att lösa tekniska problem av tvivelaktig betydelse. Tveksamt, på grund av bristen på "bänktest"-teknologi för deras säkerhet i framtiden. Sökande behärskar investeringar, rapporterar om nästa "genombrott", men alla utom investeraren vet att han inte är artificiell intelligens. Vad är orsakerna till det femte kreativa blocket? Många av dem. För det första finns det ingen specifik definition av AI. För det andra finns det ingen klar förståelse för vad intelligens är. För det tredje finns det ingen huvudsaklig sak - en grundläggande teori om AI. Som ett resultat finns det ingen tydlig målarkitektur. Det finns bara versioner, ett icke-fungerande AI-paradigm, en formelisk utveckling av problemet, dvs. det vill säga bara på det teknologiska planet och återvändsgrändernas deprimerande cykliska natur. Som ett resultat har utvecklarna ingen aning om verktygets slutliga egenskaper och funktioner. AI-sökande lovar gärna att implementera något som inte har någon vetenskaplig beskrivning. Och detta är nonsens, men sant. Till exempel, på en av konferenserna, krävde en doktor i vetenskap respekt och hävdade att hans bulldozer vid kärnkraftverket i Tjernobyl hade avancerad AI. Hur kan man lösa problemet med att skapa AI om målen, målen och riskerna finns i form av versioner? Man kan inte låta bli att jämföra AI med en "svart katt i ett mörkt rum", som förresten inte finns där.

Varför betraktas begreppet AI nu endast som "intelligenta" tillämpningar för teknik? Allt började med den legendariska Inigma-hackeren A. Turing. Han knäckte inte bara Wehrmacht-koden, lade grunden till cybernetik, utan det som har djupare konsekvenser gav ett "falskt spår": "Turing-testet" och förståelsen av AI. Under många år var de inledande parametrarna för AI oöverstigliga för arbetssökande, och sedan utökades begreppet AI helt enkelt. De frestande utsikterna för AI löste investeringsproblemet, och ämnets komplexitet för den genomsnittliga personen gjorde att cybernetiker inte bara "guruer", utan också faktiska monopolister, den så kallade AI. Och vad? Och ingenting. Förmodat intelligenta applikationer har lagts på löpande band, alla är nöjda, men det finns ingen AI.

Låt oss sammanfatta. Cybernetik fungerar framgångsrikt i ett "ja-nej"-system. Per definition kan de inte förstå, förstå, acceptera vad som finns mellan dessa symboler (betydelser, väsen, allegorier, abstraktioner, etc.). Fel specialisering. Djupet av AI-ämnet tillåter sökande att manövrera med talfigurer, men inte med semantiskt innehåll. När allt kommer omkring pratar vi om att skapa ett verktyg som motsvarar och överträffar en persons analytiska förmåga. Med andra ord är AI ett lagarbete av sociologer, filosofer, psykologer, historiker etc. Bara de kan fylla AI med semantiskt innehåll, det vill säga göra den önskade artificiella intelligensen av en högteknologisk miniräknare. Cybernetik är bara en operativ bas som "kläder" tanke i antal.

Frågan om integritet i forskningsmiljön uppstår. Ja, cybernetikens prestationer är höga. De skapade stridsspetsar, datorer, applikationer, smarta hem, trafikljus etc. Men som kommer att beskrivas nedan har detta inget med AI att göra. Faktum är att allt nytt inom AI-utveckling är dömt att fungera som en miniräknare. Med andra ord, det rättvisa namnet på deras ämne är: Artificiell kombinatorik (IC). Allt annat är från den onde.

3. Koncept för AI-implementering

”Det är omöjligt att lösa ett problem på samma nivå som det uppstod. Vi måste ta oss över detta problem genom att ta oss till nästa nivå." A. Einstein.

För att förverkliga AI är det nödvändigt att ompröva befintliga metoder för AI, känna igen den "falska vägen" och se på problemet på ett nytt sätt.

Kvaliteten på all kunskap bestäms av effektiviteten i analysen av det egna området. Till exempel är kvaliteten på de exakta vetenskaperna mer än 90 % och i praktiken begränsas deras kapacitet endast av budgeten. Kvaliteten på meteorologiska fältprognosanalyser är mer än 60 %. Räknesystemen och den algoritmiska basen är dåliga. Kvaliteten på expertanalyser för att prognostisera det sociala området är endast 6 - 8% på grund av bristen på en algoritmisk bas. Det finns ingen sociologi som en exakt vetenskap, inga räknesystem, ingen stabilitet i systemet. Detta gör det omöjligt att genomföra sociala analyser av hög kvalitet. Santa Fes påståenden om 16 % effektivitet är en myt som endast gäller för hållbar framsyn.

Alla existerande upptäckter och teknologier har exakta vetenskaper att tacka för sitt utseende. AI-problemet kommer att förbli ett problem, eftersom dess huvuddel är inom området versionerad social kunskap, vars kvalitet bara är 6-8%. Det är därför hon är över 70 år.

Det är omöjligt att lösa problemen med AI med en sådan effektivitet av sociologi. Det är nödvändigt att förbättra kvaliteten på sociologin genom dess algoritmisering. Som ett resultat kommer vi att få High-Tech Sociology (HS). Det är detta som kommer att möjliggöra funktionen av artificiell analys (AI) av en balanserad typ. Detta är den grundläggande strukturen.

Sociologi kan inte formulera de grundläggande koncepten för ämnet AI, eftersom det inte har algoritmiskt stöd. Till exempel är det existerande begreppet intelligens bara en "mental princip" Vad är det här. etc. Hur kan fylla det cybernetiska instrumentet med abstraktion När allt kommer omkring är det bara algoritmen och formeln som bestämmer och bekräftar versionens noggrannhet, som ett verktyg för att genomföra effektiva analyser slutmålet för AI saknas.

Hjärnan är ett analysverktyg, men vad gör den? Det finns många mellanliggande begrepp, men det finns ingen grundläggande låt mig förklara. Hjärnan är engagerad i ANALYTIK för att bedöma framtidens risker. Detta är dess främsta evolutionära syfte, att säkerställa överlevnad. Endast denna dominant tillät människan att överleva och dominera. Resten är sekundärt. Följaktligen är det nödvändigt att inte arbeta med det amorfa, vaga begreppet "intelligens", utan med ett transparent och begripligt - ANALYTIK. Det vill säga Artificiell ANALYTIK (IA) för att bedöma riskerna med prospektet. Kombinatorik kommer att sluta och AI kommer att börja där svaret på frågan: "Vad händer om...?" Medan system svarar på frågan: "Hur mycket blir det...?" Med andra ord, så här långt ser utvecklingen av AI ut så här: Turingmaskin - Felix adderingsmaskin - miniräknare - mycket bra miniräknare - ännu bättre, etc. Detta återvändsgränd paradigm utesluter nästa steg, det vill säga AI, speciellt AI. Du får alltid en miniräknare.

Det är nödvändigt att korrekt förstå essensen av det "falska spåret" av AI, vars problem ligger i den tekniska vektorn. Hjärnan är ett kognitivt verktyg. Analys som en kognitionsprocess är dess derivat. Den huvudsakliga kunskapsvektorn är riskbedömning. Effektiv analys kräver rådata. Faktum är att intelligens är just det, och det har volym. Volymen av intellekt (sinne) är en ganska specifik substans till innehåll, men formen är suddig och tillåter godtycke. Det är därför ett "smart" hus eller en bulldozer inte är intelligent, eftersom dessa system inte har en riskföregripande funktion, utan bara ett kontrollprogram. För att korrekt bedöma framtidens hot är det nödvändigt att känna till denna framtid i alla dess manifestationer. Vi vet inte framtiden. Detta är information av högre ordning... Dessutom känner inte system som kallas intelligenta system till det. Att påstå motsatsen är att ägna sig åt tal, vilket är precis vad som händer.

För att göra det tydligare, genom abstraktion, bör vi förstå ett okänt historiskt prejudikat. Alla vet att huvudguden på Olympen var Zeus. Dock nej! Zeus var VD, och han hade det perfekta vapnet för det. Huvudsaken på Olympus var Rock. Bara han visste framtiden och skrev allas öden (och Zeus också). Och därför var det han som var ansvarig, eftersom han hade det absoluta vapnet. Och bara denna "grå eminens" fruktades av gudarna. Detta tyder också på att AI är den högsta tillgången. Detta är inte bara absolut kunskap, utan också andra positioner av det Absoluta. Och allt är väldigt, väldigt inte enkelt... Du måste antingen vara för arrogant eller inte förstå essensen av ämnet för ditt sökande för att avgöra om det är möjligt för dig själv att vara gudar med den nuvarande nivån av förståelse av världen (3-5%). Det här handlar om cybernetik – AI-sökande. ATT KÄNNA FRAMTIDEN är syftets arkitektur. AI är i princip inte kapabel till detta. Dessa funktioner kommer att tas över av Artificial Analytics. I huvudsak är IA den önskade AI. Det vill säga IA är ett system för att känna igen egna och sociala risker.

Det finns ett grundläggande problem: Vem ska träna artificiell intelligens? Men nej, inte matematiska lagar, algoritmer och banor, dessa teknologier har redan utvecklats. När allt kommer omkring måste AI först och främst tränas i social kunskap Kommer cybernetik att klara sig? Vad vet de till exempel om social kunskaps toxicitet? Och det finns tusentals sådana parametrar Så vem? Jag upprepar, kvaliteten på social kunskap, såväl som dess bärare, och följaktligen är effektiviteten av befintlig analys endast 3-5%. Arrogant eufori hjälper inte här.

N.B. Du kan oändligt bilda falska målvektorer, kalla dem AI, men i slutändan måste allt göras i "bilden och likheten" av den mänskliga hjärnan. Det är nödvändigt att skapa ett AI-verktyg baserat på solen, nämligen: att algoritmisera många sociala koncept, förstå storleken på deras toxicitet och andra föroreningskoefficienter, sätta ihop det sociala immunsystemet, såväl som dess granskning, härleda algoritmer för sociala entropi, gränser, orsak-och-verkan relationer, balans, kritiska massor etc. Lös problemet med den allmänna fältteorin och följaktligen den allmänna teorin om det sociala fältet. Allt detta kommer att göra det möjligt för underrättelsetjänsten att upptäcka tidpunkten, d.v.s. amplitud, frekvens, fas för framtida hot (händelser). Det vill säga att lösa problemet med strategiska prognoser och inte bara...

4.Risker

Föreställ dig en kärnreaktor utan skydd och stabiliseringssystem. AI-systemens tekniska förmåga är mer än 90 %, och de befintliga stabiliserande blocken i form av social riskanalys är praktiskt taget noll... Låt mig förklara. En modern, till och med enastående personlighet (gemenskap) förstår framtiden innan nästa telefonsamtal, dvs 3-5 minuter. Varje plötslig incident, meddelande om döden av en släkting, olycka eller terroristattack orsakar tillfällig och analysförlamning... Vi har ingen aning om den personliga nära framtiden (risker), särskilt om framtiden för AI. När allt kommer omkring är effektiviteten av vår hotanalys bara 3-5 %... Vårt imaginära analytiska förtroende för framtiden är framgångsrikt format av ett villkorligt stabilt system. Så snart det omgivande systemet börjar kollapsa kommer perspektivanalyser att sjunka till noll. Allt detta hindrar inte cybernetiker från att introducera ett AI-verktyg som är oförutsägbart vad gäller risker...

De processer som för närvarande pågår för att implementera AI kommer att leda till allvarliga risker, nämligen:

1. Det är svårt att kommentera argumentationen för AI-hot, till exempel från S. Hawking, om expansion till andra planeter, eller I. Musk om förbudet mot intelligenta robotvapen. Deras logik är inte klar. När allt kommer omkring måste varje rymdflygning a priori ha ett risk-(hot)igenkänningssystem, och robotvapen, även mycket avancerade, har banaprogram, men ingen AI. Hollywood-hårdvara är inte farlig i önskad mening. Men de har rätt i allmänhet - risken är allvarlig. Låt mig förklara. Det finns en specifik svag punkt i AI-systemet. Den grundläggande algoritmen är universell matematisk kombinatorik. Oavsett designerns vilja är systemet människoorienterat och målet är att överträffa honom i förmågor. Ett dilemma uppstår. AI-självlärande är inte tillåtet eftersom det är systemfladder. Instruktionsstöd är absurt, eftersom all introducerad social kunskap (algoritmer) har en giftig struktur, och deras koefficienter för social förorening inte existerar i naturen, eftersom det inte finns någon högteknologisk sociologi med grundläggande algoritmer. Som ett resultat kan inget annat än en rovversion komma ut. Till exempel finns det lagstiftningsakter, men det finns ingen teori om att de är förorenade med dubbelmoral. Tau-roboten fick samvetsgrant lära sig grundläggande sociala principer, men introducerade inte koefficienter och algoritmer för dubbelmoral etc. Var kan jag få tag på dem? Det tog inte mycket tid för systemen: "BabyQ", "XiaoBinq", "Zo", "Tau" att prioritera och erbjuda det otänkbara ur samhällets synvinkel... Sedan finns det rättegångar. Dessa primitiva versioner erbjöd något oacceptabelt för den genomsnittliga personen, och en mer avancerad version skulle implementeras utan personens samtycke.

2.AI-kompetenser kommer endast att omfatta teknisk kunskap. Det vill säga, han kommer att vara kombinatoriskt effektiv, men en absolut amatör i sociala termer. Med andra ord är det befintliga faktumet av teknisk hypertrofi i sammansättningen av AI fylld med oförutsägbara risker, på grund av avsaknaden av en teori om gränser. Vem ska ge honom kompetent samhällskunskap? De finns inte i naturen. Samtidigt antar index för sociala konflikter och sociala entropialgoritmer en "intressekonflikt" i human-AI-systemet. Med andra ord är kvaliteten på matematiskt och algoritmiskt stöd för AI mer än 96 %, och kvaliteten på socialt och algoritmiskt stöd är nära noll. Denna design är extrem när det gäller exponentiell, inte förutsägbar när det gäller rovversioner, obalanserad per definition och destruktiv, i huvudsak. Och det är naturligtvis naivt att tro att tekniskt avancerad AI, men utan socialt algoritmiskt innehåll, kommer att ha meningsfulla moraliska och etiska standarder. Tanken på alla säkerhetsprotokoll eller andra former av att innehålla det är ännu mer meningslös. Resultatet är en rovversion, med ett mänskligt urval av provokationer. En lavin av "magincidenter", kollapsen av världens CFS, global social omformatering, okontrollerbar singularitet, socialt fladder, teknologisk försummelse, etc. Det kommer inte ens att komma till "robotarnas uppror" och detta måste förstås. Vi är inte redo för detta.

3. Även om cybernetisk amatörism kan förstås, är social amatörism ännu mer begriplig. Detta är naturligt. Frågan är vad den globala "eliten" kommer att göra och vilka beslut kommer den att fatta under förhållanden med systemiskt fladder? Detta är trots allt hennes framförhållning... I den ”postindustriella världen” kommer hon att vara en främmande kropp, hon är inte ens med i manuset. Och det som är tragiskt för den som struktur är att den kommer att bli helt transparent och därför försvarslös. Och per definition existerar inte en krishanterare på den nivå som krävs. I det allmänna hotsystemet är "eliten" ett rymligt värde.

4. Denna presentation beskriver endast några positioner anpassade i samhället. Den huvudsakliga informationsgruppen, en "sluten typ", förblev utanför textens räckvidd. Det är han som är avgörande i problemet med framtida AI-hot. Det kommer inte längre att vara möjligt att stoppa denna process. Detta är inte ett gentekniklaboratorium som kan stängas eller kontrolleras. Du kan skapa en universell rovversion hemma. Investeringar av den här storleken är ett allvarligt incitament. Låt oss vara objektiva, 86 % av de "rovdjuriska" arbetssökandena bildar samma underliga version av AI i en unik takt. När allt kommer omkring har Moores lag inte upphävts. Vi måste förstå segmenteffekten. En kompetent predatorisk algoritm annekterar de nödvändiga strukturella komponenterna i nätverket utan godkännande, enligt ett optimeringsprogram... Det finns inga blockeringssystem.

5. Alla kända globala risker beror på god eller ond vilja, nytta och mönster. De kan förhandlas. Även med en asteroid kan du "förhandla". Riskerna med AI beror enbart på Moores lag - en tydlig, omfattande, oundviklig härledning av framsyn. Den cybernetiska komponenten är praktiskt taget enorm och du kan inte komma överens med den. Det är därför AI är den obestridda ledaren på listan över globala risker.

6. Vi har börjat glömma de skarpa kanterna av kapplöpningen om innehav av kärnvapen i mitten av förra seklet. Det kommande racet för AI kommer att börja med att förstå funktionerna i detta verktyg, eftersom de är för fantastiska. För det som den moderna fantasin skildrar stämmer inte överens med verkligheten. Vi kan beskriva hoten från AI under oändligt lång tid, men i korthet är problemet den kommande fullständiga omvandlingen av den existerande mänskliga världsbilden. Ett dilemma från vilket det är omöjligt att fly eller fördröja, och det är svårt att säga vilket alternativ som är värre. Majors, sofistikerade i sina epitet, jämför AI i betydelse med flygningen av den första satelliten - det största goda, etc. Det är mer lämpligt att jämföra det med den största katastrofen.

Slutsats

Att kalla alla automatiserade tekniska processer och innovationer för artificiell intelligens kommer inte att ta dig närmare det. Det som händer idag är bara en introduktion till AI, eller mer exakt, bildandet av dess underliga version. Problemen med AI är globala till innehåll och konsekvenser i den mån de kommer att förändra en persons status, och därför innebär det. hans förvandling. Vart och ett av dess segment kräver en grundläggande teori som liknar termonukleär fusion. Det finns fler än tjugo av dem, men inte en ännu. Till exempel den ökända "röda knappen", som är baserad på teorin om "balans" (aktiv jämvikt). Och hon är inte ens vid horisonten. Och så här ser hela AI-fältet ut nu. I slutändan har mänskligheten en produkt som är många gånger större i kraft, konsekvenser och risker än allt känt. Och en armé av investerade sökande är ivriga att öppna "Pandoras ask" utan att ha den minsta aning om dess innehåll...

Testfrågor för AI-experter och investerare.

1. Orsaker till den terminologiska mångfalden av intelligens och AI.

2. Anledningen till avsaknaden av en enhetlig vetenskaplig allmän och grundläggande teori om AI?

3. Referenspunkter och slutliga koordinater för AI som en absolut innovation?

4. AI utbildningsstruktur?

5. Grundläggande segment av AI och deras strukturella algoritmer?

6. Algoritmisk arkitektur för AI-målet? Kompetenser?

7. Taktiska och tekniska data inte om ett systemelement, utan om den slutliga AI-produkten?

8. Funktioner av AI som slutprodukt?

9. "Omfattning" för den slutliga AI-produkten (gränserna för dess område, exponentiella algoritmer)?

10.AI-riskalgoritmer?

11. Konceptet "röd knapp"?

Evgenij Kryachko. e-post: [e-postskyddad]

Konceptet artificiell intelligens (AI eller AI) kombinerar inte bara teknologier som gör det möjligt att skapa intelligenta maskiner (inklusive datorprogram). AI är också ett av områdena för vetenskapligt tänkande.

Artificiell intelligens - Definition

Intelligens– detta är den mentala komponenten hos en person, som har följande förmågor:

  • opportunistisk;
  • inlärningsförmåga genom ackumulering av erfarenhet och kunskap;
  • förmåga att tillämpa kunskaper och färdigheter för att hantera miljön.

Intelligens kombinerar alla mänskliga förmågor att förstå verkligheten. Med dess hjälp tänker en person, kommer ihåg ny information, uppfattar miljön och så vidare.

Artificiell intelligens hänvisar till ett av de områden inom informationsteknologi som handlar om studier och utveckling av system (maskiner) utrustade med förmågan hos mänsklig intelligens: förmågan att lära, logiskt resonemang, och så vidare.

För närvarande utförs arbetet med artificiell intelligens genom att skapa nya program och algoritmer som löser problem på samma sätt som en person gör.

På grund av det faktum att definitionen av AI utvecklas när detta område utvecklas, är det nödvändigt att nämna AI-effekten. Det hänvisar till effekten som skapats av artificiell intelligens som har gjort vissa framsteg. Till exempel, om en AI har lärt sig att utföra några handlingar, ansluter sig kritiker omedelbart och hävdar att dessa framgångar inte tyder på att maskinen har tänkande.

Idag går utvecklingen av artificiell intelligens i två oberoende riktningar:

  • neurocybernetik;
  • logiskt tillvägagångssätt.

Den första riktningen involverar studiet av neurala nätverk och evolutionära beräkningar från en biologisk synvinkel. Det logiska tillvägagångssättet innebär utveckling av system som simulerar intellektuella processer på hög nivå: tänkande, tal och så vidare.

Det första arbetet inom AI-området började i mitten av förra seklet. Pionjären för forskning i denna riktning var Alan Turing, även om vissa idéer började uttryckas av filosofer och matematiker under medeltiden. Särskilt i början av 1900-talet introducerades en mekanisk anordning som kunde lösa schackproblem.

Men denna riktning tog verkligen form i mitten av förra seklet. Uppkomsten av verk om AI föregicks av forskning om människans natur, sätt att förstå världen omkring oss, tankeprocessens möjligheter och andra områden. Vid den tiden dök de första datorerna och algoritmerna upp. Det vill säga grunden skapades på vilken en ny forskningsriktning föddes.

1950 publicerade Alan Turing en tidning där han ställde frågor om kapaciteten hos framtida maskiner och om de kunde överträffa människor när det gäller intelligens. Det var denna vetenskapsman som utvecklade proceduren som senare fick namnet till hans ära: Turing-testet.

Efter publiceringen av den engelska vetenskapsmannens verk dök ny forskning inom AI-området upp. Enligt Turing är det bara en maskin som inte kan särskiljas från en människa under kommunikation som kan kännas igen som tänkande. Ungefär samtidigt som forskarens uppsats föddes ett koncept som kallas Baby Machine. Det tillhandahöll den progressiva utvecklingen av AI och skapandet av maskiner vars tankeprocesser först formas på ett barns nivå och sedan gradvis förbättras.

Termen "artificiell intelligens" har sitt ursprung senare. 1952 träffades en grupp forskare, inklusive Turing, vid American University of Dartmund för att diskutera frågor relaterade till AI. Efter det mötet började den aktiva utvecklingen av maskiner med artificiell intelligens.

En speciell roll i skapandet av ny teknik inom AI-området spelades av militära avdelningar, som aktivt finansierade detta forskningsområde. Därefter började arbetet med artificiell intelligens attrahera stora företag.

Det moderna livet ställer mer komplexa utmaningar för forskare. Därför sker utvecklingen av AI under fundamentalt olika förhållanden, om vi jämför dem med vad som hände under födelsen av artificiell intelligens. Globaliseringens processer, cyberbrottslingars handlingar i den digitala sfären, utvecklingen av Internet och andra problem - allt detta ställer till komplexa uppgifter för forskare, vars lösning ligger inom AI-området.

Trots de framgångar som uppnåtts på detta område under de senaste åren (till exempel framväxten av autonom teknologi), kvarstår rösterna från skeptiker som inte tror på skapandet av verkligt artificiell intelligens, och inte ett särskilt kapabelt program. Ett antal kritiker befarar att den aktiva utvecklingen av AI snart kommer att leda till en situation där maskiner helt ersätter människor.

Forskningsområden

Filosofer har ännu inte kommit till enighet om vad den mänskliga intelligensens natur är och vad dess status är. I detta avseende, i vetenskapliga arbeten som ägnas åt AI, finns det många idéer som berättar vilka problem artificiell intelligens löser. Det finns inte heller någon gemensam förståelse för frågan om vilken typ av maskin som kan anses vara intelligent.

Idag går utvecklingen av artificiell intelligens i två riktningar:

  1. Fallande (semiotisk). Det innebär utveckling av nya system och kunskapsbaser som simulerar mentala processer på hög nivå som tal, uttryck av känslor och tänkande.
  2. Stigande (biologisk). Detta tillvägagångssätt innebär att bedriva forskning inom området neurala nätverk, genom vilka modeller av intelligent beteende skapas utifrån biologiska processer. Neurodatorer skapas utifrån denna riktning.

Bestämmer förmågan hos artificiell intelligens (maskin) att tänka på samma sätt som en person. I en allmän mening innebär detta tillvägagångssätt att skapa AI vars beteende inte skiljer sig från mänskliga handlingar i samma normala situationer. I huvudsak antar Turing-testet att en maskin är intelligent endast om det är omöjligt att förstå vem som talar: en mekanism eller en levande person när den kommunicerar med den.

Science fiction-böcker erbjuder en annan metod för att bedöma förmågan hos AI. Artificiell intelligens kommer att bli verklig om den känns och kan skapa. Detta tillvägagångssätt för definition håller dock inte för praktisk tillämpning. Redan nu skapas till exempel maskiner som har förmågan att reagera på miljöförändringar (kyla, värme och så vidare). Men de kan inte känna som en person gör.

Symboliskt förhållningssätt

Framgång med att lösa problem bestäms till stor del av förmågan att närma sig situationer flexibelt. Maskiner, till skillnad från människor, tolkar data de tar emot på ett konsekvent sätt. Därför är det bara människor som är med och löser problem. Maskinen utför operationer baserade på skrivna algoritmer som eliminerar användningen av flera abstraktionsmodeller. Det är möjligt att uppnå flexibilitet från program genom att öka resurserna för att lösa problem.

Ovanstående nackdelar är karakteristiska för det symboliska tillvägagångssättet som används vid AI-utveckling. Denna utvecklingsriktning för artificiell intelligens gör det dock möjligt att skapa nya regler under beräkningsprocessen. Och problemen som uppstår från det symboliska förhållningssättet kan lösas med logiska metoder.

Logiskt förhållningssätt

Detta tillvägagångssätt innebär att skapa modeller som simulerar resonemangsprocessen. Den bygger på logikens principer.

Detta tillvägagångssätt innebär inte användning av strikta algoritmer som leder till ett specifikt resultat.

Agentbaserat tillvägagångssätt

Den använder intelligenta agenter. Detta tillvägagångssätt förutsätter följande: intelligens är den beräkningsdel genom vilken mål uppnås. Maskinen spelar rollen som en intelligent agent. Den förstår miljön med hjälp av speciella sensorer och interagerar med den genom mekaniska delar.

Det agentbaserade tillvägagångssättet fokuserar på att utveckla algoritmer och metoder som gör att maskiner kan förbli funktionella i en mängd olika situationer.

Hybrid tillvägagångssätt

Detta tillvägagångssätt innebär att kombinera neurala och symboliska modeller, och därigenom uppnå lösningen av alla problem som är förknippade med processerna för tänkande och beräkningar. Till exempel kan neurala nätverk generera riktningen i vilken en maskins operation rör sig. Och statisk inlärning utgör grunden genom vilken problem löses.

Enligt företagsexperters prognoser Gartner, i början av 2020-talet kommer nästan alla mjukvaruprodukter som släpps att använda artificiell intelligens. Experter föreslår också att cirka 30 % av investeringarna i den digitala sfären kommer från AI.

Enligt Gartners analytiker öppnar artificiell intelligens nya möjligheter för samarbete mellan människor och maskiner. Samtidigt kan processen att ersätta människor med AI inte stoppas och kommer att accelerera i framtiden.

I sällskap PwC tror att till 2030 kommer den globala bruttonationalprodukten att växa med cirka 14 % på grund av det snabba antagandet av ny teknik. Dessutom kommer cirka 50 % av ökningen att säkerställas genom ökad effektivitet i produktionsprocesserna. Den andra hälften av indikatorn kommer att vara den extra vinst som erhålls genom introduktionen av AI i produkter.

USA kommer initialt att dra nytta av användningen av artificiell intelligens, eftersom detta land har skapat de bästa förutsättningarna för att driva AI-maskiner. I framtiden kommer de att ligga före Kina, som kommer att göra maximal vinst genom att introducera sådan teknik i produkter och deras produktion.

Företagsexperter Saleforce hävda att AI kommer att öka småföretagens lönsamhet med cirka 1,1 biljoner dollar. Och detta kommer att hända 2021. Denna indikator kommer delvis att uppnås genom implementering av lösningar som föreslås av AI i system som ansvarar för kommunikation med kunder. Samtidigt kommer effektiviteten i produktionsprocesserna att förbättras på grund av deras automatisering.

Införandet av ny teknik kommer också att skapa ytterligare 800 tusen jobb. Experter noterar att denna indikator kompenserar förlusten av vakanser som uppstod på grund av processautomatisering. Baserat på en undersökning av företag förutspår analytiker att deras utgifter för automatisering av produktionsprocesser kommer att öka till cirka 46 miljarder dollar i början av 2020-talet.

Arbete inom området AI pågår även i Ryssland. Under loppet av 10 år har staten finansierat mer än 1,3 tusen projekt inom detta område. Merparten av investeringarna gick dessutom till utveckling av program som inte var relaterade till kommersiell verksamhet. Detta visar att det ryska näringslivet ännu inte är intresserade av att introducera artificiell intelligensteknologi.

Totalt investerades cirka 23 miljarder rubel i Ryssland för dessa ändamål. Storleken på statliga subventioner är sämre än mängden AI-finansiering som andra länder visar. I USA avsätts cirka 200 miljoner dollar för dessa ändamål varje år.

I grund och botten tilldelas medel i Ryssland från statsbudgeten för utveckling av AI-teknik, som sedan används inom transportsektorn, försvarsindustrin och i projekt relaterade till säkerhet. Denna omständighet indikerar att man i vårt land ofta investerar i områden som gör att de snabbt kan uppnå en viss effekt av de investerade medlen.

Ovanstående studie visade också att Ryssland nu har en stor potential för att utbilda specialister som kan vara involverade i utvecklingen av AI-teknik. Under de senaste 5 åren har cirka 200 tusen personer genomgått utbildning inom områden relaterade till AI.

AI-tekniker utvecklas i följande riktningar:

  • lösa problem som gör det möjligt att föra AI-förmågor närmare mänskliga och hitta sätt att integrera dem i vardagen;
  • utvecklingen av ett fullfjädrat sinne, genom vilket de problem som mänskligheten står inför kommer att lösas.

För närvarande är forskare fokuserade på att utveckla teknologier som löser praktiska problem. Hittills har forskare inte kommit i närheten av att skapa en fullfjädrad artificiell intelligens.

Många företag utvecklar teknologier inom området AI. Yandex har använt dem i sitt sökmotorarbete i flera år. Sedan 2016 har det ryska IT-företaget bedrivit forskning inom området neurala nätverk. De senare ändrar karaktären på sökmotorernas arbete. Speciellt neurala nätverk jämför frågan som användaren matat in med ett visst vektornummer som bäst återspeglar meningen med uppgiften. Med andra ord, sökningen utförs inte med ord, utan genom kärnan i den information som personen begär.

År 2016 "Yandex" lanserade tjänsten "zen", som analyserar användarpreferenser.

Företaget Abbyy systemet har nyligen dykt upp Compreno. Med dess hjälp är det möjligt att förstå skriven text på naturligt språk. Andra system baserade på artificiell intelligens har också kommit in på marknaden relativt nyligen:

  1. Findo. Systemet kan känna igen mänskligt tal och söka information i olika dokument och filer med hjälp av komplexa frågor.
  2. Gamalon. Detta företag introducerade ett system med förmågan att lära sig själv.
  3. Watson. En IBM-dator som använder ett stort antal algoritmer i processen att söka information.
  4. ViaVoice. Mänskligt taligenkänningssystem.

Stora kommersiella företag drar sig inte för framsteg inom artificiell intelligens. Banker introducerar aktivt sådan teknik i sin verksamhet. Med hjälp av AI-baserade system bedriver de verksamhet på börser, förvaltar fastigheter och utför annan verksamhet.

Försvarsindustrin, medicin och andra områden introducerar tekniker för objektigenkänning. Och företag som utvecklar datorspel använder AI för att skapa sin nästa produkt.

Under de senaste åren har en grupp amerikanska forskare arbetat med ett projekt NEIL, där forskare ber en dator att känna igen det som visas på ett fotografi. Experter föreslår att de på detta sätt kommer att kunna skapa ett system som kan lära sig själv utan extern inblandning.

Företag VisionLab presenterade sin egen plattform LUNA, som kan känna igen ansikten i realtid genom att välja dem från ett stort kluster av bilder och videor. Denna teknik används idag av stora banker och nätverkshandlare. Med LUNA kan du jämföra människors preferenser och erbjuda dem relevanta produkter och tjänster.

Ett ryskt företag arbetar med liknande teknologier N-Tech Lab. Samtidigt försöker dess specialister skapa ett ansiktsigenkänningssystem baserat på neurala nätverk. Enligt de senaste uppgifterna klarar rysk teknik bättre tilldelade uppgifter än människor.

Enligt Stephen Hawking kommer utvecklingen av artificiell intelligens i framtiden att leda till mänsklighetens död. Forskaren noterade att människor gradvis kommer att försämras på grund av introduktionen av AI. Och under naturliga evolutionens förhållanden, när en person ständigt behöver kämpa för att överleva, kommer denna process oundvikligen att leda till hans död.

Ryssland överväger positivt frågan om att införa AI. Alexey Kudrin uttalade en gång att användningen av sådan teknik kommer att minska kostnaderna för att säkerställa att statsapparaten fungerar med cirka 0,3 % av BNP. Dmitry Medvedev förutspår försvinnandet av ett antal yrken på grund av införandet av AI. Emellertid betonade tjänstemannen att användningen av sådan teknik kommer att leda till den snabba utvecklingen av andra industrier.

Enligt experter från World Economic Forum kommer omkring 7 miljoner människor i världen i början av 2020-talet att förlora sina jobb på grund av automatisering av produktionen. Införandet av AI kommer med stor sannolikhet att orsaka en omvandling av ekonomin och att ett antal yrken relaterade till databehandling försvinner.

Experter McKinsey De säger att processen för produktionsautomation kommer att vara mer aktiv i Ryssland, Kina och Indien. I dessa länder kommer upp till 50 % av arbetarna snart att förlora sina jobb på grund av introduktionen av AI. Deras plats kommer att tas av datoriserade system och robotar.

Enligt McKinsey kommer artificiell intelligens att ersätta yrken som involverar fysiskt arbete och informationsbehandling: detaljhandel, hotellpersonal och så vidare.

I mitten av detta århundrade kommer, enligt experter från det amerikanska företaget, antalet jobb i världen att minska med cirka 50 %. Människors platser kommer att tas av maskiner som kan utföra liknande operationer med samma eller högre effektivitet. Samtidigt utesluter experter inte alternativet där denna prognos kommer att realiseras före det angivna datumet.

Andra analytiker noterar den skada som robotar kan orsaka. Till exempel påpekar McKinsey-experter att robotar, till skillnad från människor, inte betalar skatt. Som ett resultat, på grund av minskade budgetintäkter, kommer staten inte att kunna upprätthålla infrastrukturen på samma nivå. Därför föreslog Bill Gates att man skulle införa en ny skatt på robotteknik.

AI-teknik förbättrar företagens effektivitet genom att minska antalet fel som görs. Dessutom låter de dig öka hastigheten på operationerna till en nivå som inte kan uppnås av människor.

Artificiell intelligens (AI, engelska: Artificial intelligence, AI) - vetenskapen och tekniken för att skapa intelligenta maskiner, särskilt intelligenta datorprogram. AI är relaterad till den liknande uppgiften att använda datorer för att förstå mänsklig intelligens, men är inte nödvändigtvis begränsad till biologiskt rimliga metoder.

Vad är artificiell intelligens

Intelligens(från lat. intellectus - förnimmelse, perception, förståelse, förståelse, begrepp, förnuft), eller sinne - en egenskap hos psyket som består av förmågan att anpassa sig till nya situationer, förmågan att lära och komma ihåg baserat på erfarenhet, förstå och tillämpa abstrakta begrepp och använda sin kunskap för miljöledning. Intelligens är den allmänna förmågan till kognition och lösa svårigheter, som förenar alla mänskliga kognitiva förmågor: förnimmelse, perception, minne, representation, tänkande, fantasi.

I början av 1980-talet. Beräkningsforskare Barr och Fajgenbaum föreslog följande definition av artificiell intelligens (AI):


Senare började ett antal algoritmer och mjukvarusystem klassificeras som AI, vars utmärkande egenskap är att de kan lösa vissa problem på samma sätt som en person som tänker på sin lösning skulle göra.

Huvudegenskaperna hos AI är förståelse av språk, inlärning och förmågan att tänka och, viktigare, agera.

AI är ett komplex av relaterade teknologier och processer som utvecklas kvalitativt och snabbt, till exempel:

  • textbehandling på naturligt språk
  • expert system
  • virtuella agenter (chatbots och virtuella assistenter)
  • rekommendationssystem.

Nationell strategi för utveckling av artificiell intelligens

  • Huvudartikel: Nationell strategi för utveckling av artificiell intelligens

AI-forskning

  • Huvudartikel: Forskning om artificiell intelligens

Standardisering inom AI

2019: ISO/IEC-experter stödde förslaget att utveckla en standard på ryska

Den 16 april 2019 blev det känt att ISO/IEC-underkommittén för standardisering inom området artificiell intelligens stödde förslaget från den tekniska kommittén "Cyber-fysiska system", skapat på basis av RVC, för att utveckla "Artificiell intelligens" standard. Begrepp och terminologi" på ryska utöver den grundläggande engelska versionen.

Terminologisk standard ”Artificiell intelligens. Koncept och terminologi" är grundläggande för hela familjen av internationella reglerande och tekniska dokument inom området artificiell intelligens. Utöver termer och definitioner innehåller detta dokument konceptuella tillvägagångssätt och principer för att konstruera system med element, en beskrivning av förhållandet mellan AI och andra end-to-end-teknologier, samt grundläggande principer och ramar för den regulatoriska och tekniska förordningen. av artificiell intelligens.

Efter mötet med den relevanta ISO/IEC-underkommittén i Dublin, stödde ISO/IEC-experter förslaget från delegationen från Ryssland att samtidigt utveckla en terminologisk standard inom området AI, inte bara på engelska utan också på ryska. Dokumentet förväntas godkännas i början av 2021.

Utvecklingen av produkter och tjänster baserade på artificiell intelligens kräver en entydig tolkning av de begrepp som används av alla marknadsaktörer. Terminologistandarden kommer att förena det "språk" som utvecklare, kunder och professionella kommunicerar på, klassificera sådana egenskaper hos AI-baserade produkter som "säkerhet", "reproducerbarhet", "tillförlitlighet" och "sekretess". En enhetlig terminologi kommer också att bli en viktig faktor för utvecklingen av artificiell intelligensteknologi inom ramen för National Technology Initiative - AI-algoritmer används av mer än 80 % av företagen i NTI-perimetern. Dessutom kommer ISO/IEC-beslutet att stärka auktoriteten och utöka inflytandet från ryska experter i den fortsatta utvecklingen av internationella standarder.

Under mötet stödde ISO/IEC-experter också utvecklingen av ett utkast till internationellt dokument Information Technology - Artificial Intelligence (AI) - Overview of Computational Approaches for AI Systems, där Ryssland fungerar som medredaktör. Dokumentet ger en översikt över det aktuella tillståndet för system för artificiell intelligens, och beskriver de viktigaste egenskaperna hos systemen, algoritmer och tillvägagångssätt, samt exempel på specialiserade applikationer inom området AI. Utvecklingen av detta utkast till dokument kommer att utföras av en speciellt skapad arbetsgrupp 5 "Computational approaches and computational characteristics of AI systems" inom underkommittén (SC 42 Working Group 5 "Computational approaches and computational characteristics of AI systems").

Som en del av sitt arbete på internationell nivå lyckades den ryska delegationen uppnå ett antal landmärkensbeslut som kommer att ha en långsiktig effekt på utvecklingen av artificiell intelligensteknologi i landet. Utvecklingen av en ryskspråkig version av standarden, även från en så tidig fas, är en garanti för synkronisering med det internationella området, och utvecklingen av ISO/IEC-underkommittén och initieringen av internationella dokument med rysk samredigering är grunden för att ytterligare främja ryska utvecklares intressen utomlands”, kommenterade han.

Teknik för artificiell intelligens är mycket efterfrågad inom en mängd olika sektorer av den digitala ekonomin. En av de viktigaste faktorerna som hindrar deras fullskaliga praktiska användning är underutvecklingen av regelverket. Samtidigt är det det välutvecklade regelverket och tekniska ramverket som säkerställer den specificerade kvaliteten på tekniktillämpningen och motsvarande ekonomiska effekt.

Inom området artificiell intelligens utvecklar TC Cyber-Physical Systems, baserat på RVC, ett antal nationella standarder, vars godkännande är planerat till slutet av 2019 - början av 2020. Dessutom pågår ett arbete tillsammans med marknadens aktörer för att ta fram en Nationell Standardiseringsplan (NSP) för 2020 och framåt. TC "Cyber-fysiska system" är öppen för förslag för utveckling av dokument från intresserade organisationer.

2018: Utveckling av standarder inom området kvantkommunikation, AI och smart city

Den 6 december 2018 började den tekniska kommittén "Cyber-Physical Systems" baserad på RVC tillsammans med Regional Engineering Center "SafeNet" utveckla en uppsättning standarder för marknaderna för National Technology Initiative (NTI) och den digitala ekonomin. I mars 2019 är det planerat att utveckla tekniska standardiseringsdokument inom området kvantkommunikation, och RVC rapporterade. Läs mer.

Effekten av artificiell intelligens

Risk för utvecklingen av den mänskliga civilisationen

Inverkan på ekonomin och näringslivet

  • Effekten av artificiell intelligens-teknik på ekonomin och näringslivet

Inverkan på arbetsmarknaden

Artificiell intelligens Bias

Kärnan i allt som är övningen av AI (maskinöversättning, taligenkänning, naturlig språkbehandling, datorseende, automatiserad körning och mycket mer) är djupinlärning. Det är en delmängd av maskininlärning, kännetecknad av användningen av neurala nätverksmodeller, som kan sägas efterlikna hjärnans funktion, så det skulle vara en sträcka att klassificera dem som AI. Alla neurala nätverksmodeller tränas på stora datamängder, så den förvärvar vissa "färdigheter", men hur den använder dem är fortfarande oklart för skaparna, vilket i slutändan blir ett av de viktigaste problemen för många djupinlärningsapplikationer. Anledningen är att en sådan modell arbetar med bilder formellt, utan någon förståelse för vad den gör. Är ett sådant system AI och kan man lita på system byggda på maskininlärning? Konsekvenserna av svaret på den sista frågan sträcker sig bortom det vetenskapliga laboratoriet. Därför har medias uppmärksamhet på fenomenet som kallas AI-bias märkbart intensifierats. Det kan översättas som "AI-bias" eller "AI-bias". Läs mer.

Teknikmarknaden för artificiell intelligens

AI-marknad i Ryssland

Global AI-marknad

Användningsområden för AI

Användningsområdena för AI är ganska breda och täcker både välbekanta teknologier och nya områden som är långt ifrån masstillämpningar, med andra ord, detta är hela utbudet av lösningar, från dammsugare till rymdstationer. Du kan dela upp all deras mångfald enligt kriteriet för nyckelpunkter i utvecklingen.

AI är inte ett monolitiskt ämnesområde. Dessutom framstår vissa tekniska områden inom AI som nya undersektorer av ekonomin och separata enheter, samtidigt som de betjänar de flesta områden i ekonomin.

Utvecklingen av användningen av AI leder till anpassning av teknologier i klassiska sektorer av ekonomin längs hela värdekedjan och omvandlar dem, vilket leder till algoritmisering av nästan all funktionalitet, från logistik till företagsledning.

Använder AI för försvar och militära angelägenheter

Använd i utbildning

Använder AI i affärer

AI inom elkraftsindustrin

  • På designnivå: förbättrad prognostisering av produktion och efterfrågan på energiresurser, bedömning av tillförlitligheten hos kraftgenererande utrustning, automatisering av ökad produktion när efterfrågan ökar.
  • På produktionsnivå: optimering av förebyggande underhåll av utrustning, ökad produktionseffektivitet, minskning av förluster, förhindrande av stöld av energiresurser.
  • På kampanjnivå: optimering av prissättning beroende på tid på dygnet och dynamisk fakturering.
  • På servicenivå: automatiskt val av den mest lönsamma leverantören, detaljerad förbrukningsstatistik, automatiserad kundservice, optimering av energiförbrukningen med hänsyn till kundens vanor och beteende.

AI inom tillverkning

  • På designnivå: öka effektiviteten av ny produktutveckling, automatiserad leverantörsbedömning och analys av reservdelskrav.
  • På produktionsnivå: förbättra processen för att slutföra uppgifter, automatisera monteringslinjer, minska antalet fel, minska leveranstiderna för råvaror.
  • På kampanjnivå: prognostisera volymen av support- och underhållstjänster, prishantering.
  • På tjänstenivån: förbättra planeringen av fordonsflottans rutter, efterfrågan på flottans resurser, förbättra kvaliteten på utbildningen av serviceingenjörer.

AI i banker

  • Mönsterigenkänning - används inkl. att känna igen kunder i filialer och förmedla specialiserade erbjudanden till dem.

AI inom transport

  • Bilindustrin står på gränsen till en revolution: 5 utmaningar från tiden för obemannad körning

AI inom logistik

AI i bryggning

I december 2017

  • I maj 2018 blev det känt att den holländska polisen använde artificiell intelligens för att utreda komplexa brott.
  • Brottsbekämpande myndigheter har börjat digitalisera mer än 1 500 rapporter och 30 miljoner sidor relaterade till olösta fall, rapporterar The Next Web. Material från 1988 och framåt, där brottet inte klarats upp på minst tre år, och gärningsmannen dömts till mer än 12 års fängelse, överförs till datorformat.

    När allt innehåll är digitaliserat kommer det att kopplas till ett maskininlärningssystem som kommer att analysera dokumenten och avgöra vilka fall som använder den mest tillförlitliga bevisningen. Detta bör minska tiden det tar att handlägga ärenden och lösa tidigare och framtida brott från flera veckor till en dag.

    Artificiell intelligens kommer att kategorisera fall efter deras "lösbarhet" och indikera möjliga resultat av DNA-tester. Planen är sedan att automatisera analys inom andra områden inom kriminalteknik, och kanske till och med expandera till områden som samhällsvetenskap och vittnesmål.

    Dessutom, som en av systemutvecklarna, Jeroen Hammer, sa, kan API-funktioner för partners släppas i framtiden.


    Den holländska polisen har en specialenhet som är specialiserad på att utveckla ny teknik för att lösa brott. Det var han som skapade AI-systemet för att snabbt söka efter brottslingar baserat på bevis.

    AI i rättsväsendet

    Utvecklingen inom området artificiell intelligens kommer att bidra till att radikalt förändra rättssystemet, vilket gör det mer rättvist och fritt från korruptionsplaner. Denna åsikt uttrycktes sommaren 2017 av Vladimir Krylov, doktor i tekniska vetenskaper, teknisk konsult på Artezio.

    Forskaren tror att befintliga AI-lösningar framgångsrikt kan tillämpas inom olika områden av ekonomin och det offentliga livet. Experten påpekar att AI framgångsrikt används inom medicin, men i framtiden kan det förändra rättsväsendet totalt.

    "När man tittar på nyhetsrapporter varje dag om utvecklingen inom AI-området blir man bara förvånad över den outtömliga fantasin och fruktbarheten hos forskare och utvecklare inom detta område. Rapporter om vetenskaplig forskning varvas ständigt med publikationer om nya produkter som kommer ut på marknaden och rapporter om fantastiska resultat som erhållits genom användning av AI inom olika områden. Om vi ​​pratar om förväntade händelser, åtföljda av märkbar hype i media, där AI återigen kommer att bli nyheternas hjälte, då riskerar jag förmodligen inte att göra tekniska prognoser. Jag kan tänka mig att nästa händelse kommer att bli uppkomsten någonstans av en extremt kompetent domstol i form av artificiell intelligens, rättvis och oförgänglig. Detta kommer uppenbarligen att hända 2020-2025. Och de processer som kommer att äga rum i denna domstol kommer att leda till oväntade reflektioner och många människors önskan att överföra de flesta processerna för att hantera det mänskliga samhället till AI.”

    Forskaren erkänner användningen av artificiell intelligens i rättssystemet som ett "logiskt steg" för att utveckla lagstiftande jämlikhet och rättvisa. Maskinintelligens är inte föremål för korruption och känslor, kan strikt följa den rättsliga ramen och fatta beslut med hänsyn till många faktorer, inklusive data som kännetecknar parterna i tvisten. I analogi med det medicinska området kan robotdomare operera med stordata från statliga tjänstelager. Man kan anta att maskinell intelligens snabbt kommer att kunna bearbeta data och ta hänsyn till betydligt fler faktorer än en mänsklig domare.

    musik

    Målning

    Under 2015 testade Google-teamet neurala nätverk för att se om de kunde skapa bilder på egen hand. Sedan tränades artificiell intelligens med hjälp av ett stort antal olika bilder. Men när maskinen "ombads" att avbilda något på egen hand, visade det sig att den tolkade världen omkring oss på ett något konstigt sätt. Till exempel, för uppgiften att rita hantlar, fick utvecklarna en bild där metallen var ansluten med mänskliga händer. Detta hände förmodligen på grund av det faktum att de analyserade bilderna med hantlar på träningsstadiet innehöll händer, och det neurala nätverket tolkade detta felaktigt.

    Den 26 februari 2016, vid en speciell auktion i San Francisco, samlade Google-representanter in cirka 98 tusen dollar från psykedeliska målningar skapade av artificiell intelligens. Dessa medel donerades till välgörenhet. En av de mest framgångsrika bilderna på bilen presenteras nedan.

    En målning målad av Googles artificiella intelligens.

    För att artificiell intelligens ska kunna fatta meningsfulla beslut måste den på något sätt uppfatta miljön där den befinner sig. I enkla system kan denna uppfattning begränsas till att helt enkelt kontrollera spelarobjektets position. I mer komplexa system är det nödvändigt att bestämma spelvärldens grundläggande egenskaper och egenskaper, till exempel möjliga rörelsevägar, förekomsten av naturliga skydd i området och konfliktområden.
    Samtidigt måste utvecklare komma på ett sätt att identifiera och definiera de viktigaste egenskaperna i spelvärlden som är viktiga för AI-systemet. Till exempel kan terrängtäckning vara fördefinierad av nivådesigner eller förberäknad när nivåkartan laddas eller kompileras. Vissa element måste beräknas i farten, som konfliktkartor och närliggande hot.

    Regelbaserade system

    Den enklaste formen av artificiell intelligens är ett regelbaserat system. Ett sådant system är det som ligger längst bort från sann artificiell intelligens. En uppsättning fördefinierade algoritmer bestämmer beteendet hos spelobjekt. Med tanke på mångfalden av åtgärder kan slutresultatet bli ett implicit beteendesystem, även om ett sådant system faktiskt inte skulle vara "intelligent" alls.
    En klassisk spelapplikation som använder ett sådant system är Pac-Man. Spelaren hemsöks av fyra spöken. Varje spöke fungerar enligt en enkel uppsättning regler. Ett spöke vänder sig alltid till vänster, ett annat vänder sig alltid till höger, ett tredje vänder sig i slumpmässig riktning och ett fjärde vänder sig alltid mot spelaren. Om spöken dök upp på skärmen ett i taget, skulle deras beteende vara mycket lätt att avgöra och spelaren skulle lätt kunna fly från dem. Men när en grupp på fyra spöken dyker upp på en gång, verkar deras rörelser vara komplexa och koordinerade spårning av spelaren. Faktum är att bara det sista av de fyra spökena tar hänsyn till spelarens plats.


    En visuell representation av regeluppsättningen som styr spöken i Pac-Man, med pilar som representerar "besluten" som fattas.

    Detta exempel tyder på att reglerna inte behöver vara hårda och snabba. De kan baseras på det upplevda tillståndet (som det sista spöket) eller på redigerbara parametrar för objekt. Variabler som aggressionsnivå, djärvhetsnivå, synomfång och tankehastighet möjliggör ett mer varierat beteende hos objekt, även när man använder regelbaserade system.

    Mer komplexa och intelligenta system använder sekvenser av villkorade regler som grund. I taktiska spel styr reglerna valet av taktik som används. I strategispel styr reglerna sekvensen av objekt som ska byggas och svaret på konflikter. Regelbaserade system är grunden för AI.

    Ange maskiner som AI

    En finita tillståndsmaskin (finite state machine) är ett sätt att modellera och implementera ett objekt som har olika tillstånd under sitt liv. Varje "tillstånd" kan representera de fysiska förhållanden under vilka objektet befinner sig, eller till exempel en uppsättning känslor som uttrycks av objektet. Här har emotionella tillstånd ingenting att göra med AI:s känslor, de refererar till fördefinierade beteendemönster som passar in i spelets kontext.


    Tillståndsdiagram i en typisk tillståndsmaskin, pilar som representerar möjliga tillståndsändringar

    Det finns åtminstone två enkla sätt att implementera en finita tillståndsmaskin med ett system av objekt. Det första sättet är att varje tillstånd är en variabel som kan kontrolleras (ofta med stora switchinstruktioner). Det andra sättet är att använda funktionspekare (i C) eller virtuella funktioner (C++ och andra objektorienterade programmeringsspråk).

    Adaptiv AI

    Om spelet kräver mer variation, om spelaren måste ha en starkare och mer dynamisk motståndare, så måste AI:n ha förmågan att utvecklas, anpassa sig och anpassa sig.
    Adaptiv AI används ofta i strids- och strategispel med komplex mekanik och ett stort utbud av spelalternativ.

    Förutsägelse

    Förmågan att exakt förutsäga en motståndares nästa drag är avgörande för ett adaptivt system. Olika metoder kan användas för att välja nästa åtgärd, som att känna igen mönster av tidigare drag eller slumpmässiga gissningar.
    Ett av de enklaste sätten att anpassa sig är att spåra tidigare beslut och utvärdera deras framgång. AI-systemet registrerar de val spelaren har gjort tidigare. Alla beslut som fattats i det förflutna måste utvärderas på något sätt (till exempel i stridsspel kan fördelar vunna eller förlorade, förlorad hälsa eller tidsfördelar användas som ett mått på framgång). Ytterligare information om situationen kan samlas in för att ge sammanhang för beslut, såsom relativa hälsonivåer, tidigare handlingar och nivåposition (människor spelar annorlunda när de inte har någon annanstans att falla tillbaka).
    Historien kan bedömas för att bestämma framgången av tidigare handlingar och avgöra om taktik behöver ändras. Innan du skapar en lista över tidigare åtgärder kan målet använda standardtaktik eller agera slumpmässigt. Detta system kan kopplas till regelbaserade och statliga system.

    I ett taktiskt spel kommer historien om tidigare strider att hjälpa till att välja den bästa taktiken att använda mot spelarens lag, till exempel kan AI:n spela defensivt, välja offensiv taktik, attackera med all sin kraft oavsett förluster, eller ta en balanserad närma sig. I ett strategispel kan du välja den optimala uppsättningen av olika stridsenheter i armén för varje spelare. I spel där AI styr karaktärer som stödjer spelaren, kommer adaptiv AI att bättre kunna anpassa sig till spelarens naturliga stil genom att lära sig deras handlingar.

    Perception och wayfinding

    Hittills har vi pratat om de enklaste metoderna för beslut fattade av intelligenta agenter; Detta är termen som används i forskning om artificiell intelligens för att hänvisa till objekt som använder AI. Därefter ger jag vår hjälte (eller monster, eller någon annan typ av spelobjekt) sammanhang för att fatta beslut. Intelligenta agenter måste identifiera intresseområden i spelvärlden och sedan fundera över hur man tar sig dit.

    Här kommer vi redan ganska nära verklig artificiell intelligens. Alla intelligenta agenter kräver en grundläggande förmåga att uppfatta sin miljö och några sätt att navigera och förflytta sig genom världen omkring dem (verklig eller på annat sätt). Våra spelobjekt kräver samma sak, även om tillvägagångssättet är väldigt olika. Det är också möjligt att fuska med spelvärlden, och du måste göra det för att hålla saker igång snabbt och smidigt.

    Hur AI uppfattar omvärlden

    Syn

    Om din agent ska fatta smarta beslut måste de veta vad som händer runt omkring dem. I AI-system som används inom robotik ägnas en betydande mängd forskning åt datorseende: robotar får förmågan att uppfatta världen omkring dem med hjälp av 3D-volumetrisk vision på samma sätt som människor. Men för våra syften är denna nivå av perfektion, naturligtvis, överdriven.

    De virtuella världarna där de flesta spel utspelar sig har en enorm fördel gentemot den verkliga världen när det gäller AI och dess uppfattning. Till skillnad från den verkliga världen vet vi mängden av bokstavligen allt som finns i den virtuella världen: någonstans bland spelets resurser finns det en lista som listar allt som finns i spelet. Du kan söka i den här listan efter det du letar efter och omedelbart få information som din agent kan använda för att fatta mer välgrundade beslut. I det här fallet kan du antingen stanna vid det första objektet som kommer att vara av intresse för din agent, eller få en lista över alla objekt inom ett givet intervall så att agenten kan fatta det bästa beslutet angående omvärlden.

    Detta tillvägagångssätt fungerar bra för enkla spel, men när spelstilen blir mer komplex måste dina agenter vara mer selektiva med vad de "ser". Om du inte vill att agenter ska agera som om de har ögon i bakhuvudet kan du ta prov från en lista över potentiella objekt inom agentens visuella räckvidd. Detta kan göras ganska snabbt med lite enkel matematik.

    1. Beräkna vektorn mellan agenten och målobjektet genom att subtrahera målets position från agentens position.
    2. Beräkna vinkeln mellan denna vektor och riktningen som agenten tittar på.
    3. Om det absoluta värdet för vinkeln är större än den angivna vinkeln för agentens synfält, kan din agent inte se objektet.
    I mer komplexa spel måste du ta hänsyn till att spelaren eller andra föremål kan finnas bakom någon form av skydd. För sådana spel kan det vara nödvändigt att konstruera löpande strålar (den så kallade ray casting-metoden) för att ta reda på om ett eventuellt mål är blockerat av något. Genomgående strålar är ett matematiskt sätt att testa om en stråle skär några objekt genom att börja vid en punkt och röra sig i en given riktning. Om du vill ta reda på exakt hur detta går till med hjälp av ett specifikt exempel, kolla in artikeln Ett huvud är bra, men två är bättre.

    Metoden som beskrivs ovan låter dig veta om något blockerar mitten av målet, men det kanske inte räcker för att dölja din agent. När allt kommer omkring kan det vara så att agentens centrum är dolt, men hans huvud sticker ut ovanför locket på det mest bekväma sättet (för fienden). Att använda flera färdstrålar riktade mot specifika målpunkter hjälper till att avgöra inte bara om målet kan träffas, utan också var exakt målet kan träffas.

    Hörsel

    Det verkar som att det inte är så stor skillnad mellan hörsel och syn. Om du kan se ett föremål kan du säkert höra det. Det är sant att om din agent har lagt märke till ett objekt kan agenten aktivt upptäcka alla objektets handlingar tills objektet är utom synhåll. Men om du lägger till en extra hörselnivå till agenter kommer synen att fungera mer effektivt. Att spåra ljudet från föremål är en kritisk nivå av uppfattning för alla smygspel.

    Precis som med syn måste du först få en lista över närliggande föremål. För att göra detta kan du igen helt enkelt kontrollera avståndet, men att välja de nödvändiga objekten från den här listan sker på ett helt annat sätt.

    Varje åtgärd som ett objekt kan utföra har en specifik ljudnivå kopplad till sig. Du kan förinställa ljudnivåer (för att optimera spelbalansen) eller beräkna dem baserat på den faktiska energin hos ljudeffekterna som är förknippade med vissa åtgärder (detta möjliggör en hög nivå av realism, men det är osannolikt att det är nödvändigt). Om ljudet som produceras är högre än den angivna tröskeln, kommer din agent att märka objektet som producerar ljudet.

    Om du behöver ta hänsyn till hinder kan du återigen minska listan över objekt och använda färdstrålar för att avgöra om det finns några hinder i ljudets väg. Men få material är helt ljudisolerade, så du måste bli mer kreativ när du begränsar listan.

    Den grundläggande funktionalitet som behövs för att ge dina agenter syn och hörsel kan också användas för att simulera andra sinnen. Till exempel lukt. (Möjligheten att spåra spelare med intelligenta doftagenter finns i moderna spel som Call of Duty 4*). Att lägga till luktsinnet i ett spel är inte särskilt svårt: det räcker att tilldela varje spelobjekt ett distinkt luktnummer och dess intensitet. Doftens intensitet bestäms av två faktorer: doftens radie och styrkan på det doftspår som lämnas kvar. Aktiva spelarobjekt håller ofta reda på sina tidigare positioner av ett antal anledningar. En av dessa anledningar kan vara användningen av föremål med lukt. Med tiden minskar styrkan i ledens doft och leden "svalnar". När ett medels luktdata ändras måste det kontrollera förekomsten av lukt på samma sätt som för förekomsten av ljud (med hänsyn till radie och hinder). Luktframgång beräknas utifrån luktens intensitet och styrkan hos medlets luktsinne: dessa värden jämförs med föremålet och dess spår.
    Känslan i spel stöds initialt, eftersom alla spel redan har ett system för automatisk bearbetning av objektkollisioner. Det räcker för att säkerställa att intelligenta agenter reagerar på kollision och skadehändelser.

    Förmågan att känna av världen omkring oss är stor, men vad exakt ska agenter känna? Det är nödvändigt att specificera och identifiera märkbara saker i agentinställningarna. När du väl känner igen vad du ser kan agenter reagera baserat på reglerna som styr objektet.

    Tillfälliga föremål

    De kallas ibland partiklar, sprites eller specialeffekter. Tillfälliga föremål är visuella effekter i spelvärlden. Temporära objekt liknar vanliga objekt genom att en gemensam klassstruktur definierar dem alla. Skillnaden är att tillfälliga objekt inte tänker, reagerar eller interagerar med andra objekt i spelvärlden eller med varandra. Deras enda syfte är att se snygg ut, förstärka världens detaljer ett tag och sedan försvinna. Tillfälliga föremål används för effekter som skottmärken, rök, gnistor, blodstänk och till och med skoavtryck på marken.

    På grund av temporära objekts natur kräver de inte en betydande mängd beräkning och kollisionsdetektering (förutom mycket enkla kollisioner med omgivningen). Problemet är att vissa tillfälliga föremål ger spelaren visuella ledtrådar om nyligen inträffade händelser. Till exempel kan skotthål och brännmärken tyda på att det nyligen har varit en strid; fotspår i snön kan leda till ett potentiellt mål. Varför skulle inte intelligenta agenter använda sådana tips?

    Detta problem kan lösas på två sätt. Du kan antingen utöka systemet med tillfälliga objekt genom att lägga till stöd för resande strålar (men detta kommer att förvränga hela innebörden av systemet med tillfälliga objekt), eller så kan du fuska: placera ett tomt objekt inte långt från tillfälliga objekt. Detta tomma objekt kommer inte att kunna tänka och kommer inte att ha några grafiska element kopplade till sig, men dina agenter kommer att kunna upptäcka det, och det tillfälliga objektet kommer att ha associerad information som din agent kan hämta. Så när du drar en tillfällig blodpöl på golvet kan du också placera ett osynligt föremål där som låter dina agenter veta att något har hänt där. När det gäller fingeravtryck: det här problemet har redan lösts med hjälp av ett spår.

    Skydd

    I många skjutspel skulle det vara bra om agenter kunde gömma sig bakom skydd om det finns en i närheten, snarare än att bara stå i det fria under fiendens eld. Men detta problem är något mer komplext än alla de problem som nämnts tidigare. Hur kan agenter avgöra om det finns några lämpliga gömställen i närheten?


    Artister från Penny Arcade* beskriver satiriskt problemet med fiendens AI och omslag

    Detta problem består faktiskt av två uppgifter: för det första måste det korrekt känna igen skyddsrum baserat på omvärldens geometri; För det andra måste du korrekt känna igen skydd baserat på föremål i omvärlden (som visas i serien ovan). För att avgöra om ett hölje är kapabelt att skydda mot attacker kan man helt enkelt jämföra storleken på agentens begränsningslåda en gång med måtten på det möjliga höljet. Då bör du kontrollera om ditt motiv får plats bakom detta omslag. För att göra detta måste du rita strålar från skillnaderna i positionerna för din skytt och lock. Med hjälp av denna stråle kan du avgöra om en plats bakom skyddet är fri (sett från skyttens sida), och sedan markera denna plats som agentens nästa mål.


    I det här diagrammet bestämde vår agent att platsen markerad med en grön asterisk skulle vara en säker plats att gömma sig

    AI-navigering

    Hittills har vi pratat om hur AI fattar beslut och hur AI lär sig vad som händer i omvärlden (för att fatta bättre beslut). Låt oss nu se hur AI genomför sina beslut. Efter att ha fattat ett beslut måste den intelligenta agenten förstå hur man flyttar från punkt A till punkt B. För att göra detta kan du använda olika tillvägagångssätt, välja den optimala beroende på spelets karaktär och önskad prestationsnivå.

    Algoritmen, konventionellt kallad Kollidera och vända, är ett av de enklaste sätten att bilda ett objekts rutt. Så här fungerar det.

    1. Om du springer in i en vägg, sväng i den riktning som placerar dig närmast ditt mål. Om inget av de tillgängliga alternativen har uppenbara fördelar görs valet godtyckligt.
    Detta tillvägagångssätt fungerar bra för enkla spel. Jag kan förmodligen inte ens räkna hur många spel monstren använder den här algoritmen för att spåra spelaren. Men när du använder Collide and Rotate-algoritmen låses objekten som jagar spelaren bakom konkava väggar eller runt hörn. Därför är en sådan algoritm endast idealisk för spel med zombies eller för spel utan väggar och andra hinder.

    Om agenterna i spelet behöver agera mindre dumt kan vi utöka den enkla kollisionshändelsen och förse agenterna med minne. Om agenter kan komma ihåg var de redan har varit kan de fatta smartare beslut om vart de ska vända sig härnäst. Om svängar i alla möjliga riktningar inte leder till framgång, kommer agenter att kunna gå tillbaka och välja en annan väg. Således kommer agenter systematiskt att söka efter en väg till målet. Så här fungerar det.

    1. Flytta mot målet.
    2. Om stigen delar sig, välj en av de möjliga riktningarna.
    3. Om stigen leder till en återvändsgränd, gå tillbaka till den sista vägen och välj en annan riktning.
    4. Om alla möjliga vägar har följts utan resultat, ge upp ytterligare sökning.
    Fördelen med denna metod är den låga belastningen på datorresurser. Det betyder att du kan stödja ett stort antal flyttagenter utan att sakta ner spelet. Denna metod kan också dra fördel av den flertrådiga arkitekturen. Nackdelen är att det slösar en enorm mängd minne eftersom varje agent kan hålla reda på en hel karta över möjliga vägar.

    Däremot kan slöseri med minne undvikas om agenter lagrar spårade sökvägar i delat minne. I det här fallet kan problem uppstå på grund av trådkonflikter, så vi rekommenderar att du lagrar objektsökvägar i en separat modul, dit alla agenter kommer att skicka förfrågningar (när de flyttar) och uppdaterad data (när nya sökvägar upptäcks). Bankartamodulen kan analysera den mottagna informationen för att undvika konflikter.

    Att hitta sätt

    Kartor som skapar banor med hjälp av algoritmen Collide and Rotate låter dig anpassa dig till förändrade kartor. Men i strategispel kan spelare inte vänta på att deras trupper ska lista ut vägarna. Dessutom kan vägkartor vara mycket stora, och att välja rätt väg på sådana kartor kommer att förbruka mycket resurser. I sådana situationer kommer en vägsökningsalgoritm till undsättning.

    Att hitta vägar kan betraktas som ett långt och framgångsrikt löst problem inom spelutveckling. Även i spel som är så gamla som den första versionen av det legendariska spelet Starcraft* (Blizzard Entertainment*), kunde ett enormt antal spelobjekt bestämma rörelsebanorna på stora och komplexa kartor.

    En algoritm som kallas A* (uttalas e-star) används för att bestämma färdvägar. Med dess hjälp kan du hitta den optimala vägen mellan två valfria punkter i grafen (i det här fallet på kartan). En enkel internetsökning visar en ren algoritm som använder väldigt "tydliga" beskrivande termer som F, G och H. Nu ska jag försöka beskriva denna algoritm på ett mer begripligt sätt.

    Först måste du skapa två listor: en lista med noder som ännu inte har kontrollerats (Omarkerade) och en lista med noder som redan har kontrollerats (kontrollerade). Varje lista innehåller en platsnod, ett uppskattat avstånd till målet och en referens till det överordnade objektet (den nod som placerade noden i listan). Till en början är listorna tomma.

    Låt oss nu lägga till startplatsen i den omarkerade listan utan att ange något som förälder. Sedan introducerar vi algoritmen.

    • Välj den mest lämpliga noden från listan.
    • Om den här noden är målet är du klar.
    • Om denna nod inte är ett mål, lägg till den i listan över markerade.
    • För varje nod intill denna nod.
      • Om denna nod är oframkomlig, ignorera den.
      • Om denna nod redan finns i någon av listorna (markerad eller avmarkerad), ignorera den.
      • Annars lägger vi till den i listan över overifierade noder, anger den nuvarande noden som föräldernod och beräknar längden på vägen till målet (det räcker att bara beräkna avståndet).
    När ett objekt når målfältet kan en väg konstrueras genom att spåra föräldernoderna tillbaka till noden som inte har någon förälder (detta är startnoden). I det här fallet får vi den optimala vägen längs vilken objektet kan röra sig.
    Denna process fungerar bara när agenten tar emot en order eller fattar beslut om att flytta på egen hand, så multithreading kan med stor fördel användas här. Agenten kan skicka en begäran till sökvägstråden för att hämta den upptäckta sökvägen utan att påverka AI:ns prestanda. I de flesta fall kan systemet ge resultat snabbt. När ett stort antal sökvägsförfrågningar laddas kan agenten antingen vänta eller, utan att vänta på att sökvägar ska returneras, helt enkelt börja röra sig i önskad riktning (till exempel med hjälp av algoritmen Collide and Turn). På mycket stora kartor går det att dela upp systemet i regioner och i förväg beräkna alla möjliga vägar mellan regionerna (eller waypoints).
    I det här fallet hittar sökvägen helt enkelt den bästa vägen och returnerar resultaten omedelbart. Bankartatråden kan helt enkelt övervaka förändringar på kartan (till exempel när en spelare bygger en mur) och sedan köra vägkontroller igen vid behov. Eftersom den här algoritmen körs på sin egen tråd kan den anpassa sig utan att påverka prestandan för resten av spelet.

    Multithreading kan förbättra prestandan även inom pathfinding-delsystemet. Detta tillvägagångssätt används i stor utsträckning i all realtidsstrategi (RTS) och system med ett stort antal objekt som var och en försöker upptäcka en potentiellt unik väg. Flera vägar kan hittas samtidigt i olika strömmar. Självklart ska systemet hålla koll på vilka vägar som upptäcks. Det räcker att upptäcka varje väg bara en gång.

    Exempelkod

    Här är ett exempel på A*-algoritmen implementerad i C. För enkelhetens skull har jag tagit bort stödfunktionerna från detta exempel.
    Det här exemplet är baserat på en spelkarta i form av ett rektangulärt koordinatnät, där varje fält kan vara framkomligt eller ogenomträngligt. Ovanstående algoritm stöder endast förflyttning till ett angränsande fält, men med mindre ändringar kan den användas för att flytta diagonalt, och även i spel där nivåkartor består av hexagonala fält.

    /*Hämta sökväg kommer att returnera -1 vid misslyckande eller ett nummer på avståndet till vägen om en sökväg hittas, arrayen som sökvägen pekar på kommer att ställas in med sökvägen i Points*/ int GetPath(int sx,int sy,int gx ,int gy,int team,Point *path,int pathlen) ( int u,i,p; memset(&Checked,0,sizeof(Checked)); memset(&Unchecked,0,sizeof(Unchecked)); Unchecked.s.x = sx; Unchecked.s.y = sy.d = abs(sx - gx) + abs(sy - gy = -1);
    Ovanstående kodavsnitt hanterar initieringen av listan över markerade och omarkerade noder och placerar startnoden i den omarkerade listan. Efter detta körs resten av algoritmen som en loop.

    Gör ( u = GetBestUnchecked(); /*add */ AddtoList(Checked,Ochecked[u]); if((Unchecked[u].s.x == gx)&&(Unchecked[u].s.y == gy)) ( ha sönder)
    Ovanstående kodavsnitt analyserar noden från den omarkerade listan som är närmast målet. Fungera GetBestUnchecked() kontrollerar det uppskattade avståndet för varje nod till målet. Om detta fält är målet bryts slingan och processen är klar.

    Nedan kan du se hur avståndet beräknas: ta det uppskattade avståndet till målet i X- och Y-riktningarna och addera dem. I det här fallet kanske du vill använda Pythagoras sats (summan av kvadraterna på benen är lika med kvadraten på hypotenusan), men det är onödigt. Vi behöver bara få det relativa värdet av avståndet, och inte dess exakta värde. Processorer bearbetar addition och subtraktion många gånger snabbare än multiplikation, vilket i sin tur är mycket snabbare än division. Denna kodbit körs många gånger i varje bildruta, så vi sätter optimering i främsta rummet.

    /*ruta till vänster*/ if((Omarkerad[u].s.x - 1) >= 0)/*först, se till att vi är på kartan*/ ( if((IsInList(Omarkerad,Omarkerad[u] .s.x - 1,Omarkerad[u].s.y,NULL) == 0)&&(IsInList(Markerad,Omarkerad[u].s.x - 1,Omarkerad[u].s.y,NULL) == 0)) /*make se till att vi inte upprepar en sökning*/ (if(TileValid(Omarkerad[u].s.x - 1,Omarkerad[u].s.y,team)) NewtoList(Omarkerad,Omarkerad[u].s.x - 1,Omarkerad[ u ].s.y, Omarkerad[u].s.x, Omarkerad[u].s.y, abs((Omarkerad[u].s.x - 1) - gx) + abs(Omarkerad[u].s.y - gy), Omarkerad[u ] .steg + 1);
    I avsnittet ovan analyserar funktionen fältet till vänster om den aktuella noden. Om det här fältet inte redan finns i listan Verified eller Unverified, kommer funktionen att försöka lägga till det i listan. TileValid()- ytterligare en funktion som behöver anpassas för spelet. Om hon klarar kontrollen TileValid(), då ringer hon NewToList() och den nya platsen kommer att läggas till i den overifierade listan. Följande kodavsnitt upprepar samma process, men i olika riktningar: höger, topp och botten.

    /*bricka till höger*/ if((Avmarkerad[u].s.x + 1)< WIDTH)/*first, make sure we"re on the map*/ { if((IsInList(Unchecked,Unchecked[u].s.x + 1,Unchecked[u].s.y,NULL) == 0)&&(IsInList(Checked,Unchecked[u].s.x + 1,Unchecked[u].s.y,NULL) == 0)) /*make sure we don"t repeat a search*/ { if(TileValid(Unchecked[u].s.x + 1,Unchecked[u].s.y,team)) NewtoList(Unchecked,Unchecked[u].s.x + 1,Unchecked[u].s.y, Unchecked[u].s.x, Unchecked[u].s.y, abs((Unchecked[u].s.x + 1) - gx) + abs(Unchecked[u].s.y - gy), Unchecked[u].steps + 1); } } /*tile below*/ if((Unchecked[u].s.y + 1) < HEIGHT)/*first, make sure we"re on the map*/ { if((IsInList(Unchecked,Unchecked[u].s.x ,Unchecked[u].s.y + 1,NULL) == 0)&&(IsInList(Checked,Unchecked[u].s.x,Unchecked[u].s.y + 1,NULL) == 0)) /*make sure we don"t repeat a search*/ { if(TileValid(Unchecked[u].s.x,Unchecked[u].s.y + 1,team)) NewtoList(Unchecked,Unchecked[u].s.x,Unchecked[u].s.y + 1, Unchecked[u].s.x, Unchecked[u].s.y, abs(Unchecked[u].s.x - gx) + abs((Unchecked[u].s.y + 1) - gy), Unchecked[u].steps + 1); } } /*tile above*/ if((Unchecked[u].s.y - 1) >= 0)/*först, se till att vi är på kartan*/ ( if((IsInList(Unchecked,Unchecked[u].s.x ,Unchecked[u].s.y - 1,NULL) == 0)&&(IsInList (Checked,Unchecked[u].s.x,Unchecked[u].s.y - 1,NULL) == 0)) /*se till att vi inte upprepar en sökning*/ ( if(TileValid(Unchecked[u].s.x ,Omarkerad[u].s.y - 1,team)) NewtoList(Omarkerad,Omarkerad[u].s.x,Omarkerad[u].s.y - 1, Omarkerad[u].s.x, Omarkerad[u].s.y, abs(Omarkerad [u].s.x - gx) + abs((Omarkerad[u].s.y - 1) - gy), Omarkerad[u].steg + 1 ) ) memset(&Omarkerad[u],0,sizeof(PNode) );

    Det sista som återstår att göra i denna iteration är att ta bort den aktuella noden från den omarkerade listan. Det finns ingen anledning att analysera detta fält igen.
    ) while(1);

    Den sista kodbiten konstruerar en sökväg från listan över markerade genom att återgå till den ursprungliga positionen. Sökvägen till den ursprungliga platsen kan alltid hittas eftersom varje nod längs vägen håller reda på sin överordnade nod. Den resulterande sökvägen returneras sedan (med hjälp av en länk). Funktionen returnerar längden på den nya sökvägen.
    IsInList(Checked,Unchecked[u].s.x,Unchecked[u].s.y,&u); p = Markerad[u].steg; if(sökväg != NULL) ( for(i = (p - 1);i >= 0;i--) ( sökväg[i].x = Markerad[u].s.x; sökväg[i].y = Markerad [u].s.y; IsInList(Checked,Checked[u].p.x,Checked[u].p.y,&u ) return p; )

    Taktisk och strategisk AI

    Nu är det dags att prata om hur man ger agenter mer komplexa order. Agenter måste lära sig att hantera den situation de befinner sig i. Det vill säga, låt oss gå vidare till artificiell intelligens, kapabla att arbeta med bredare mål och uppfatta situationen i en större skala.

    Taktisk AI

    Rollen för taktisk AI är att koordinera ansträngningarna för grupper av agenter i spelet. Grupper är mer effektiva eftersom gruppmedlemmar kan stödja varandra, kan fungera som en enhet, dela information och distribuera aktiviteter för att få information.
    Principen för taktisk AI är uppbyggd kring gruppdynamik. Spelet måste spåra olika grupper av föremål. Varje grupp måste uppdateras separat från enskilda objekt. För att göra detta kan du använda en dedikerad uppdatering som spårar de olika grupperna, deras mål och deras sammansättning. Nackdelen med denna metod är att den kräver utveckling av ett separat system för spelmotorn. Därför föredrar jag att använda teamledarmetoden.

    En enhet inom en grupp kan tilldelas rollen som gruppchef. Alla andra gruppmedlemmar är associerade med sin befälhavare, deras beteende bestäms av information som erhållits från befälhavarens order. Lagledaren hanterar alla taktiska AI-beräkningar för hela gruppen.

    Grupprörelse: Hitta vägar

    Rörelsen av objekt kan förbättras med hjälp av gruppdynamik. När flera agenter fungerar som en enda enhet kan deras rörelser göras mer effektiva och realistiska.
    Pathfinding kan ta lång tid även när den accelereras av förberäknade vägkartor och flertrådad AI. Gruppdynamik kan avsevärt minska belastningen som genereras av vägsökningssystemet.

    När en grupp enheter får en rörelseorder (av spelaren eller AI) utses enheten närmast målet till gruppens befälhavare, och alla andra gruppmedlemmar följer befälhavaren. Vid uppdatering av teamledaren efterfrågar den sökvägssystemet. Om det finns en väg börjar gruppledaren röra sig mot målet. Alla andra enheter i gruppen kan helt enkelt följa sin ledare.
    För mer ordnad rörelse används formation. När man använder formation rör sig gruppen på ett ordnat sätt, till exempel i en falang- eller triangelformation.


    I spelet Overlord agerar meniga (röda) som ett lag och rör sig i formation på befallning av spelaren (pansarkrigare)

    Att hantera en formation är mycket enkelt för att göra detta, det räcker med att utöka omfattningen av gruppbefälhavarens handlingar. Varje enhet i formationen har en specifik roll. Vid bildandet tilldelas varje gruppmedlem en plats i formationen på samma sätt som en av enheterna tilldelas rollen som gruppledare. Målet för varje enhet är att behålla sin position på ett relativt avstånd från andra gruppmedlemmar.
    Låt oss till exempel ta de meniga i spelet Overlord. De rör sig i en triangulär formation. I figuren nedan bör endast lagledaren (anges med bokstaven "C") röra sig längs rutten. Enhet 1 följer enhet C i samma hastighet bakifrån och något åt ​​vänster. Enhet 2 tittar på och följer enhet 1 och rör sig något åt ​​sidan. Förband 3 gör samma sak som förband 1, men följer förband 1 istället för befälhavaren. Alla gruppmedlemmar följer denna ordning.


    Triangulär formationsordning

    Gruppens taktik

    Taktik är naturligtvis inte begränsad till att marschera i formation, utan inkluderar också att stödja och slåss som en grupp som ett enda lag. Befälhavaren tar ansvar för planering och samordning av lagets arbete. I slutändan är det befälhavaren som är ansvarig för livet för alla underordnade i sin trupp.
    Tidigare beskrivna system, såsom regelbaserade system eller tillståndsmaskiner, kan användas för att implementera grupptaktik. Typiska exempel på gruppbeteende i spel: helande stöd (läkare håller sig nära enheter som är mest sannolikt att attackeras), spaning, täckande eld, uppoffring (screening av värdefulla enheter med mindre värdefulla)


    I Enemy Territory Quake Wars av Id Software* och Splash Damage, Ltd.* finns det fem klasser som har olika roller i gruppdynamiken

    Dessutom kan en annan analysnivå vara användbar i en grupp - en analys av varje gruppmedlems förmågor. Det är viktigt för befälhavaren att veta i vilka situationer gruppen kan vara effektiv, när gruppen kommer att få en fördel och när gruppen ska dra sig tillbaka.
    Till exempel, i Blizzards realtidsstrategispel Starcraft* finns marktrupper och flygande trupper. Det är dock inte alla typer av marktrupper som kan skjuta på flygande trupper. Det är viktigt för gruppen att veta att denna möjlighet finns. Om det inte finns en enda enhet i gruppen som kan skjuta mot flygande enheter är det bäst att fly när en flygande enhet upptäcks. Men om det finns enheter i gruppen som kan träffa en flygande fiende, även om det finns få sådana enheter, är det bättre att inte dra sig tillbaka, utan att stanna och försvara (om denna grupp har hjälpenheter som kan bota dem som skjuter i luften mål).

    Beroende på tillgången på olika förmågor och antalet enheter med sådana förmågor kan gruppens stridseffektivitet i olika situationer bedömas. Grupper som tar hänsyn till dessa faktorer kommer att slåss mycket mer effektivt.

    Strategisk AI

    Strategisk AI är en högre ordnings AI, den kontrollerar en hel armé och utvecklar optimala strategier.
    Strategisk AI används vanligtvis i realtidsstrategispel, men på senare tid har det blivit alltmer implementerat i taktiska förstapersonsskjutare. Den spelarestyrda befälhavaren kan vara ett separat system, eller kan ställas in som ett tomt objekt som inte har något utrymme eller grafik, men är uppdaterat och reflekterande.

    Befälhavare är föremål för hierarkiska regelsystem och statsmaskiner som styr aktiviteter som att samla resurser, utforska teknikträdet, bygga en armé, etc. Vanligtvis kräver grundläggande underhåll av spelelement inte särskilt komplext tänkande. Intelligens behövs främst när man interagerar med andra spelare.

    Att hantera denna interaktion (eller strid) är där AI främst fungerar. Befälhavaren måste studera spelkartan för att lokalisera spelaren, identifiera viktiga intresseområden som smala passager, bygga försvar och analysera den andra spelarens försvar. Hur exakt gör man detta? Det finns inget självklart svar på denna fråga, men beslutskartor kan användas för att förenkla saker.
    Beslutskort
    Beslutskartor är tvådimensionella arrayer som approximerar spelkartan. Varje arraycell motsvarar ett specifikt område i spelet och innehåller viktig information om det området. Dessa kort hjälper den strategiska AI:n att fatta smarta beslut om spelet som helhet.

    Resurskartor

    Resurskort innehåller information om var resurserna finns i ett strategispel. Data om placeringen av resurskoncentrationer på kartan kan påverka många av befälhavarens beslut. Var man ska utöka basen, var man ska placera ut ytterligare baser (resurser nära befälhavarens bas), där fienden mest sannolikt kommer att utöka sitt territorium (resurser nära fiendens bas), på vilka platser det är mest sannolikt att sammandrabbningar för innehav av resurser är ( resurser i mitten mellan deras bas och basfienden).

    Att få information om antalet möjliga tillgängliga resurser påverkar också beslut om vilka förband som ska stödjas och hur armén ska sättas in. När det råder brist på resurser bör du använda varje enhet mer försiktigt, eftersom det är mindre chans att få påfyllning. När det finns ett överskott av resurser kan du använda strategier för massskapande av billiga enheter eller skapande av dyra kraftfulla enheter.

    Mål kort

    Dessa kort innehåller information om befälhavarens mål, till exempel placeringen av fiendens baser, placeringen av målen på kartan (spränga ett föremål som och så, skydda ett föremål som och så, hacka en dator där, etc.) och de viktigaste förbanden i vår befälhavares armé (huvudbas, hjälteförband etc.). Att hålla reda på denna information hjälper en befälhavare att hantera sin armé mer effektivt. Platser i behov av skydd bör omges av försvarsstrukturer och trupper av trupper bör alltid vara stationerade nära dem. Mål som ska attackeras bör spanas in och hur de skyddas bör studeras. Analys av försvaret byggt kring mål krävs för att utveckla det optimala sättet att övervinna dessa försvar. Baserat på dessa data bildas hörnstenen i alla krigsspel - konfliktkartor.
    Konfliktkartor
    Konfliktkartor används och uppdateras mycket oftare än alla kartorna ovan. Konfliktkartor spårar alla strider på en given nivå i spelet. Närhelst en av befälhavarens enheter engagerar en fiende, uppdaterar den enheten konfliktkartan och överför data som typen av konflikt, dess styrka, kapacitet och antal enheter.
    Analys av denna information kommer att hjälpa till att dra de nödvändiga slutsatserna om effektiviteten av det utplacerade försvaret och attacken, såväl som nödvändiga motåtgärder (inblandning av ytterligare enheter)


    Ett exempel på en konfliktkarta när den överlagras på en lokal karta. Ju mer röd färg, desto fler konflikter

    Skapa och använda kartor

    Jag sa tidigare att kartor upprättas av förband från befälhavarens armé. Reglerna som styr artificiell intelligens bör innefatta att skicka ut scouter så tidigt som möjligt så att kartskapandet kan börja. Genomtänkt AI kontrollerar med jämna mellanrum kortens relevans. I de tidiga stadierna av spelet, när bara ett fåtal enheter stöder kartor, bör uppdateringen inte skapa en betydande belastning på spelmotorn. I senare skeden av spelet, när tiotals eller hundratals enheter samtidigt tillhandahåller information, kan prestandan minska.

    Det är dock inte så svårt att få till en snabb uppdatering av beslutskartor. Det räcker med att placera beslutskartsystemet i en separat tråd. Helst bör varje AI-kontrollerad spelare ha sin egen tråd för att bearbeta sin egen uppsättning beslutskort. En betydande prestandaökning kommer att uppnås om alla objekt redan är uppdelade i flera trådar. Trådar med beslutskartor kommer endast att behandla förfrågningar från uppdateringsmeddelanden för parallelliserade objekt.

    Bästa AI-påverkan: Strömbehandling

    Oavsett hur bra ditt AI-system är, är det värdelöst om det saktar ner spelet. Effektiv programmering och olika optimeringstekniker ger en viss snabbhet, men dessa åtgärder ensamma är inte tillräckligt.


    I Blizzard Entertainments Starcraft* II körs AI för ett stort antal enheter samtidigt. Det är bäst att använda en flertrådig arkitektur för detta

    När du arbetar på ett system med flera processorer (multi-core processor) kan du dela upp arbetet mellan dem. Det finns två sätt att göra detta: uppgift parallellisering (funktionell parallellisering) och data parallellisering.

    Parallellisering av arbetsuppgifter

    Det enklaste sättet att anpassa en applikation till en flertrådig arkitektur är att dela upp den i separata uppgifter.


    Funktionell parallellisering tillåter varje delsystem att använda sin egen tråd och kärna

    Ett typiskt exempel är ljudsystemet i en spelmotor. Ljud behöver inte interagera med andra system: detta system gör bara en sak - det återger ljud och deras kombinationer på begäran. Kommunikationsfunktioner är samtal för att spela upp ljud och stoppa uppspelning. Detta gör ljudsystemet självständigt och idealiskt för funktionell parallellisering.

    Beroende på spelets behov kan det finnas många olika uppgifter som var och en kan ges en separat tråd. Här tittar vi på tre sådana uppgifter: pathfinding, strategisk AI och själva objektsystemet.

    Att hitta sätt

    Ett vägsökningssystem kan implementeras på ett sådant sätt att varje objekt som försöker hitta en väg anropar sin egen vägsökningsalgoritm varje gång behovet uppstår. Denna metod kommer att fungera, men i det här fallet väntar motorn på att sökvägsalgoritmen ska slutföras varje gång en sökväg begärs. Om du delar upp sökningen efter sökvägar i ett separat delsystem kan du visa det i en separat tråd. Nu kommer vägfinnaren att fungera som en resurshanterare, där vägar är resurser.

    Alla objekt som behöver hitta en sökväg skickar en sökvägsbegäran och får omedelbart ett "kvitto" från sökvägssystemet. Detta kvitto är helt enkelt ett unikt handtag som sökvägssystemet kan använda för att hantera. Efter detta fortsätter objektet att göra sina affärer tills nästa bildruta i spelslingan. En enhet kan kontrollera om dess mottagande har behandlats. Om ja, får objektet den beräknade vägen; annars fortsätter objektet att göra sin egen sak medan det väntar på att sökvägen ska bearbetas.
    I ett sökvägssystem används en biljett för att spåra sökvägsförfrågningar medan systemet arbetar med dem, utan att påverka prestanda för andra komponenter. Detta tillvägagångssätt har den intressanta fördelen att automatiskt spåra alla upptäckta vägar. Därför, när en begäran tas emot för en tidigare hittad sökväg, kan sökvägssystemet helt enkelt utfärda ett kvitto för den redan existerande sökvägen. Denna metod är utmärkt för system där många objekt begär en sökväg, eftersom alla sökvägar som hittas sannolikt kommer att begäras flera gånger.

    Strategisk AI

    Som nämnts tidigare är det bra om AI-systemet som styr hela flödet av spelet som helhet körs i sin egen separata tråd. Detta system kommer att kunna analysera spelplanen och utfärda kommandon till olika objekt som kommer att kunna ta emot och känna igen dessa kommandon.
    Objektsystemet i en egen tråd kommer att ha fullt upp med att samla in information till beslutskartor. Den information som erhålls kommer att skickas till det strategiska AI-systemet i form av förfrågningar om att uppdatera beslutskartor. När den uppdateras kommer strategisk AI att analysera dessa förfrågningar, uppdatera beslutskartor och fatta beslut. Det spelar ingen roll om de två systemen (strategisk AI och objekt) fungerar synkroniserat: eventuell desynkronisering kommer att vara mindre och kommer inte att påverka AI:s beslut. (Vi pratar om desync inom 1/60 av en sekund, vilket betyder att ur spelarens synvinkel kommer AI:s reaktion inte att sakta ner en bildruta.)

    Dataparallellisering

    Funktionell parallellisering är mycket effektiv och drar fördel av kapaciteten hos system med flera kärnor. Men tyvärr, om antalet kärnor i systemet överstiger antalet uppgifter, använder inte programmet all tillgänglig datorkraft. Därför går vi vidare till dataparallellisering, där en funktion kan använda alla tillgängliga kärnor


    Dataparallellisering

    Med funktionell parallellisering tog vi en fristående modul och gav den en separat tråd. Nu ska vi dela upp en uppgift i delar och fördela deras bearbetning mellan olika trådar. Samtidigt ökar prestandan i proportion till antalet kärnor i systemet. Har systemet 8 kärnor? Bra! Har systemet 64 kärnor? Bättre! Funktionell parallellisering gör att du kan ange kodbitar som flertrådade, och sedan körs dessa bitar oberoende av varandra. Vid parallellisering av data krävs ytterligare arbete för avstämning. Till exempel kan du använda en kärntråd (huvudtråden) för att övervaka arbetet i alla andra trådar. Slavtrådar kommer att begära "arbete" från huvudtråden för att undvika duplicering av samma arbete.

    Att använda en enda kärntråd för att hantera dataparallellisering är faktiskt en hybrid metod. Det visar sig att huvudtråden använder funktionell parallellisering och sedan delar data mellan kärnor för att parallellisera data.

    Genomförande

    I sökvägsexemplet lagrar systemet en lista över begärda sökvägar. Systemet går sedan igenom denna lista och kör sökvägsfunktioner på individuella förfrågningar och lagrar dem i en sökvägslista. Denna ögla kan träs så att varje iteration av slingan delas upp i olika trådar. Dessa trådar kommer att köras på den första tillgängliga kärnan, vilket gör att all tillgänglig processorkraft kan användas. Processorns kärna ska bara vara ledig när det inte finns något arbete.
    I sådana system är det möjligt att ta emot flera förfrågningar för samma uppgift. Om dessa förfrågningar separeras i tid kontrollerar sökvägsfunktionen automatiskt om en sådan begäran redan har behandlats tidigare. När man hanterar dataparallellisering kan flera frågor av samma sökväg inträffa samtidigt. Detta kan leda till dubbelarbete, vilket motverkar syftet med flertrådsdatorer.

    För att eliminera dessa (och andra) fall av dubbelarbete bör systemet övervaka de pågående jobben och ta bort dem från förfrågningskön först efter slutförandet. Om det kommer in en begäran om en redan efterfrågad sökväg måste systemet kontrollera detta och returnera den befintliga sökvägen som tilldelats kvittot.
    Resurser läggs på bildandet av nya flöden. Denna process involverar systemanrop till operativsystemet (OS). När operativsystemet kommer runt tilldelar det den nödvändiga koden och skapar en tråd. Detta kan ta lång tid (relativt CPU-hastighet). Därför är det ingen idé att skapa för många trådar. Om det begärda arbetet redan bearbetas finns det inget behov av att köra uppgiften. Dessutom, om uppgiften är enkel (till exempel att hitta vägar mellan två punkter som ligger intill varandra), kanske det inte är meningsfullt att dela upp en sådan uppgift i flera trådar.
    Så här skulle en funktionell sökvägstråd fungera och dela upp data i trådar.

    • RequestPath(start, mål).Denna funktion anropas utanför sökvägssökaren för att hämta strömmen. Denna funktion utför följande uppgifter:
      • tittar igenom listan med utförda frågor och avgör om en sådan sökväg (eller en liknande sökväg) redan har hittats, och returnerar sedan ett kvitto för den sökvägen;
      • tittar igenom listan med aktiva förfrågningar (om sökvägen inte hittades) för att söka efter denna sökväg; om det finns en sökväg i den, returnerar funktionen ett kvitto till den beräknade sökvägen;
      • skapar en ny fråga och returnerar ett nytt kvitto (om sökningen i båda listorna ovan inte gav resultat).
    • CheckPath("biljett"). Med hjälp av en biljett tittar den här funktionen igenom listan över genomförda förfrågningar och hittar sökvägen för vilken biljetten är giltig. Funktionen returnerar information om huruvida en sådan sökväg hittades.
    • UpdatePathFinder().Detta är en kontrollfunktion som hanterar overhead för sökvägstrådar. Denna funktion utför följande uppgifter.
      • Analys av nya förfrågningar. Det är möjligt för olika kärnor att samtidigt skapa flera förfrågningar för samma sökväg. Det här avsnittet tar bort dubbletter av förfrågningar och tilldelar flera kvitton (från olika förfrågningar) till samma begäran.
      • Gå igenom aktiva förfrågningar. Den här funktionen tittar på alla aktiva förfrågningar och distribuerar dem i trådar. I början och slutet av varje slinga markeras koden som en tråd. Varje tråd:
        1. hittar den begärda sökvägen;
        2. sparar den i listan över färdiga sökvägar tillsammans med kvitton som tilldelats denna sökväg;
        3. tar bort ett jobb från listan över aktiva jobb.

    Att lösa konflikter

    Du kanske har märkt att det kan uppstå problem med denna arbetsfördelning. Olika trådar behöver skriva till förfrågningskön; dataflöden måste lägga till resultat till en lista med färdiga sökvägar. Allt detta kan leda till skrivkonflikter, där en tråd skriver något till cell A samtidigt som en annan tråd skriver något annat till samma cell A. Ett sådant flöde kan leda till det välkända "racetillståndet".

    För att undvika konflikter kan du markera vissa delar av koden som särskilt viktiga. Vid exekvering av kritisk kod kommer endast en tråd att kunna komma åt den koden åt gången. Alla andra trådar som är på väg att göra samma sak (åtkomst till samma minnesområde) får vänta. Detta beteende kan leda till ALLVARLIGA problem som dödläge, som uppstår när flera trådar blockerar varandra, vilket hindrar dem från att komma åt minnet. Denna lösning undviker dödläge. När trådens faktiska arbete är klart kan åtkomst till det viktiga minnesområdet göras tillgängligt så snart det är tillgängligt, utan att blockera andra avsnitt som kan behövas av andra trådar.

    Synkronisering

    Så vi har uppnått autonomi för alla individuella AI-undersystem och försett dem med alla datorresurser i vårt system. Allt fungerar snabbt, men fungerar allt som det ska?
    Handlingarna för olika delar av spelet måste koordineras. Spelmotorn måste synkronisera spelelementen. Du kan inte ha halva elementen i spelet att köra ett par bildrutor snabbare än resten av elementen. Det är omöjligt för enheter att förbli inaktiva och vänta på att vägen ska beräknas, medan fiendens enheter redan är i rörelse. Bildligt talat delar bra föräldrar chokladen lika mellan sina barn.
    Huvudslingan i en spelmotor behandlar två klasser av åtgärder: rendering och uppdatering. Med sekventiell programmering är det inte svårt att synkronisera sådana åtgärder. Först uppdateras allt, och sedan renderas det som uppdaterades igen. Med parallell beräkning blir situationen mer komplicerad.

    Rörelseuppdateringar (som ofta utförs baserat på sökvägar) kan bearbetas flera bildrutor snabbare än rendering. Resultatet blir "ryckig" animering: objekt i spelvärlden kommer inte att röra sig smidigt, utan "hoppa" från en plats till en annan snabbare än de borde. I pathfinding, som analyserar en ögonblicksbild av olika objekts positioner i världen, kan detta resultera i att felaktig indata bearbetas.
    Lösningen på detta problem ligger i synkroniseringen av olika element och är elegant och enkel. Dessutom kan de nödvändiga funktionerna redan vara inbyggda i de flesta spelmotorer. När spelets huvudslinga uppdateras spåras det globala tidsindexet. Alla olika trådar måste bearbeta frågor endast för det aktuella (och tidigare, men inte framtida) tidsindexet.

    När allt arbete på en mottagen uppgift är slutfört för det aktuella tidsindexet, kan tråden gå i viloläge tills det nya tidsindexet. Denna algoritm garanterar inte bara synkronisering av olika spelelement, utan frigör också systemresurser: trådar laddar inte kärnor när de inte behövs. Därför kommer ett rörelsejobb som kan lösa kollisioner, beräkna banor etc. vänligen dela sina datorresurser med andra jobb om det får jobbet gjort först. I det här fallet används alla tillgängliga kärnor fullt ut.

    Slutsats

    Så, uppgiften med artificiell intelligens för spel är att imitera beteendet hos objekt i den verkliga världen. Och detta är inte alls svårt om du börjar titta på artificiell intelligens från de grundläggande komponenterna - från lågnivåregler och sökvägsalgoritmer till den högre nivån där taktisk och strategisk AI verkar. Samtidigt är det nödvändigt att uppnå hög effektivitet hos AI-systemet och optimera det för användning på datorer med ett stort antal datorkärnor. AI-kapaciteten hos ett system bör endast begränsas av de hårdvaruresurser som faktiskt finns tillgängliga, inte av oförmågan att använda dessa resurser. Först då kommer vi att kunna skapa mer intressanta och utmanande motståndare för spelare att se fram emot att fortsätta spela.

    Daria Kazovskaya 18 maj 2017

    "Utvecklingen från hjärna till artificiell intelligens kommer att vara mer radikal än från apa till människa", säger Nick Bostrom, filosof och guru inom området artificiell intelligens (AI).

    Nick har rätt. Idag använder de mest framgångsrika företagen, från Bosch till Starbucks, AI-drivna utvecklingar för att minska kostnaderna, öka vinsten och förbättra produktiviteten.

    #2. Datakontroll och övervakning

    Konstant kontroll och övervakning av företagets infrastruktur är en annan möjlighet att använda AI-teknik i affärer. Franska energiföretaget Engie använder drönare med maskininlärning-baserad bildigenkänningsprogramvara i fabriker. Drönare övervakar utrustning – de utforskar infrastrukturen för att förhindra eventuell skada.

    AI-kontroll- och övervakningssystem är också väl lämpade för stadsmiljöer. Det enklaste exemplet - registreringsskyltigenkänning - används av kommunala organisationer. Vi är för en kund från Tyskland. Den katalanska regeringen följer samma väg och förser sin polisavdelning med algoritmer och registreringsskyltar.

    Vill du minska riskerna för slitage och skador på utrustning och skapa ett skyddsnät för ditt företag? Övervakningssystem baserade på artificiell intelligens kommer att hjälpa till med detta.

    Många fruktar att artificiell intelligens kommer att ersätta oss inom alla industriområden. Rädsla åt sidan! Högteknologier hjälper till att automatisera olika processer – från att bara skicka brev till att boka flygbiljetter. Men målet med högintelligenta lösningar är inte att ersätta människor, utan att göra mänskligt arbete mer effektivt.

    Således installerade det japanska försäkringsbolaget Fukoku Mutual Life Insurance ett program från IBM - Watson Explorer AI. Detta system analyserar medicinsk policydata om operationer och procedurer för att beräkna betalningsbeloppet. Enligt Fukoku-representanter kommer införandet av artificiell intelligens att göra det möjligt för dem att öka produktiviteten med 30 %.

    Överväg att automatisera dina affärsprocesser med hjälp av AI-algoritmer. De slutför inte bara komplexa uppgifter snabbare, utan de kan också arbeta 24 timmar om dygnet.

    #4. Predictive Analytics

    Människor vill veta framtiden, och företag ännu mer.

    AI-tekniker kan bearbeta stora mängder data, identifiera mönster och förutsäga framtiden. I ett av våra FoU-projekt utvecklade vi . Systemet analyserar likheterna mellan kunder och produkter för att rekommendera andra produkter till personer som liknar de som köpts av dem eller butiksbesökare med samma preferenser.

    Ett annat exempel: Expedia, världens största onlineplattform för reseplanering – från hotellbokningar till uthyrning av transporter – använder effektivt maskininlärning för att göra personliga rekommendationer för portalanvändare.

    Artificiell intelligens visar goda resultat i att göra prognoser på grund av sin förmåga att lära. Och, till skillnad från traditionella prognosmetoder, anpassar sig prediktiv analys enkelt till förändrat beteende – det blir bättre när ny data kommer in.

    #5. Ostrukturerad dataanalys

    "80 % av all data i världen är ostrukturerad", proklamerar IBM högt. Sådana siffror är svåra att tro. Men faktum kvarstår att med den utbredda användningen av mobila enheter genererar vi mycket digitalt ostrukturerat innehåll varje dag: meddelanden i snabbmeddelanden, brev, foton och videor.

    AI-algoritmer hjälper företag att förstå denna "rikedom" och strukturera data så att de kan analyseras senare. En liknande princip ligger i hjärtat av Siri - ostrukturerat talat tal, som passerar genom programalgoritmen, blir strukturerat och genomgår vidare bearbetning.

    Ostrukturerad dataanalys har en enorm potential för tillverknings- och resursföretag som har samlat på sig blandad information i flera år. En sådan analys kan göra själva FoU-ingenjörernas arbete enklare - spara tid på att sortera och organisera data innan de utvärderas och spåra viktiga relationer.

    "Om 5-10 år kommer artificiell intelligens, och i synnerhet djupinlärning, att göra det möjligt för robotar att utföra de tråkigaste och mest tidskrävande uppgifterna vi gör varje dag", säger Matt Murphy, VD för Chime. Hennes profil är smarta CRM-system för fastighetsbyråer.

    Verkliga företag följer denna trend. Online-återförsäljaren Ocado bygger ett datorseendesystem och ett nätverk av robotar för att ersätta streckkodsskanningsprocessen i sina lager. Detta kommer att hjälpa till att påskynda sökningen och leveransen av rätt produkter.

    Medan kirurgiska robotar och jordbruksrobotar redan har bevisat sig själva, tar robotiseringen inom andra områden bara fart, men enligt forskare kommer marknaden för robotar och artificiell intelligens att växa aktivt under det kommande decenniet. Varför inte utnyttja dess möjligheter idag för att göra ett starkt uttalande i morgon?

    Oavsett vår framtid kommer artificiell intelligens att vara en del av den. Fler startups och mobilapplikationer baserade på maskininlärning kommer att dyka upp, vissa jobb kommer att försvinna och andra dyker upp – helt nya. Artificiell intelligens kommer att förändra världen, precis som Internet en gång gjorde. Det är desto viktigare för företag att lära sig hur man tillämpar kraften i AI på sig själva och sina kunder.

     
    Artiklar Förbiämne:
    Störande applikation på dagis: juniorgrupp, mellangrupp, seniorgrupp, förberedande grupp
    Kozlobaeva M.V. Barnkonstskola nr 2 för bruks- och dekorativ konst uppkallad efter V.D. Polenova, e-post: [e-postskyddad] Barn är mycket intresserade av att göra hantverk av färgat papper. Det första som direkt kommer att tänka på är förstås applikationer. Men många
    Scenario för nyårsmatinéen i den förberedande kompensationsgruppen av barn med svåra talsvårigheter
    (Till ackompanjemang av ROLIG musik går barn in i musikrummet och står i en halvcirkel nära granen) 1 - flicka - snöflinga: Vi gillar den frostiga Fluffiga tiden, den stjärnklara natthimlen, gnistan av silver. Och julgranen lyser, Och en runddans dansar, Och nu, som sig bör, Församlingen
    Skapa artificiell intelligens för spel – från design till optimering
    Analys är en kunskapsprocess. Intelligens är källmaterialet för analys Inledning Det händer också att alla har sin egen förståelse för artificiell intelligens (AI), dess yttersta funktioner och risker. Inte ens experter har entydiga tolkningar. Begreppet "konst"
    Sammanfattning av föräldramötet ”Happy Occurrence” i slutet av året i andra juniorgruppen Avslutande föräldramöte i andra juniorgruppen
    Sammanfattning av det avslutande föräldramötet i juniorgruppen ”Vad vi har lärt oss på ett år. Vår grupps framgångar.” Syftet med mötet: - att sammanfatta utbildningsaktiviteterna; - fastställa framtidsutsikter Föräldramötets uppgifter: - presentera familjen