Sissejuhatus. Kuidas tehisintellekti reaalses äris kasutatakse Tehisintellekti juurutamine

Kas tehisintellekti (AI) võimalustega on seotud juba enneolematu tehnoloogiline areng? Nutikad tehnoloogiad on juba kasutusel paljudes valdkondades. Kuid masinate inimestega tõeliselt võrdseks või paremaks muutumine võtab veel palju aega. Kuni teadlased pole välja arendanud üliintelligentsi – “tugevat tehisintellekti”, jätkame meie, inimesed, kooseksisteerimist ja kasutame masinat “nõrga AI”.

“Tugev tehisintellekt” asendab tulevikus inimesi ja “nõrk AI” on inimese kognitiivsete võimete laiendus ning täna aitab see lahendada täpseid probleeme. Tehisintellektist saab peamine ühiskonna ja majanduse moderniseerimine. Tehisintellekt aitab toime tulla ka globaalsemate väljakutsetega – näiteks nutikate linnade arendamine, sõidukite turvalisema ja sujuvama liikumise tagamine, energiatarbimise vähendamine, elektrivõrkude optimeerimine, süsihappegaasi emissiooni vähendamine ja veelgi tõhusam Interneti-juurdepääsu kaitsmine.

Arvestades demograafilisi arenguid, on üldise tootlikkuse parandamine nutikate tehnoloogiate kasutamise kaudu ettevõtete jaoks suur konkurentsieelis.

Intelligentsust tuleb stimuleerida

Nõrk tehisintellekt ja traditsioonilised reeglipõhised infosüsteemid toovad juba täna ettevõtetele käegakatsutavat kasu. Nad juhivad finantstehinguid, teevad eelarvutusi ja modelleerivad majandusarengut. Tehisintellekt on hea erinevate rikkumiste, näiteks krediitkaardipettuste äratundmisel.

Lisaks on nutikad tööriistad meditsiinis suurepärased diagnooside ja ennustuste tegemiseks. Eelkõige suudab masinluure hinnata röntgenipilte enne, kui radioloog teeb lõpliku järelduse.

Tekstimustrite, kujutiste, käekirja, materjalide ja ainete äratundmisel saab tehisintellekt sellega paremini hakkama kui inimene. Kõik see on ennetava hoolduse ja remondi puhul oluline.

Tehisintellektil on suur potentsiaal majanduses ja äris. AI mitte ainult ei päästa kasutajaid rutiinsete toimingute või ohtlike toimingute tegemisest, vaid võimaldab neil ka palju kiiremini analüüsida suuri andmemahtusid ja teha otsuseid saadud prognooside põhjal. Lisaks leiavad robotid laialdast rakendust tööstusautomaatikas ja see avab palju uusi võimalusi. Näiteks sellised riigid nagu Saksamaa muutuvad tootmise loomisel atraktiivsemaks, tehisintellekt muudab selle konkurentsivõimeliseks. Ei ole enam majanduslikku põhjust tellida tootmine madalamate palkadega riikidesse. Tänu intelligentsematele toodetele, protsessidele ja masinatele (asjade internet, IoT) tekivad uued ärisuunad.

AI on kujunemas murranguliseks aluseks olevaks tehnoloogiaks, mis muudab traditsioonilisi tööviise ja tarkvararakendusi. Kuid me peame mõistma, et nagu inimesed, teevad ka masinad mõnikord vigu. Kuni inimese tervis ja elu kaalul pole, on vead aktsepteeritavad. Hinnates ülesannete korrektse täitmise protsenti, saame määrata algoritmi õige arvutamise tõenäosuse. Enam ei pea me ülesandeid käsitsi täitma, vaid peame jälgima töötlemise tulemusi ja vajadusel reguleerima masina tööd.

Teave on võti

Inimese kognitiivsed võimed on piiratud. Me ei kasuta isegi 80% kogu saadavast teabest. Samas muutub see info päev-päevalt kättesaadavamaks. Tööstuse 4.0 ja asjade interneti ajastu suurendab 2020. aastaks globaalsete andmete mahtu 10 korda.

Tänapäevane infotung on tehisintellekti rakenduste jaoks ideaalne. Kuid näiteks ERP-süsteemid ei ole võimelised töötlema suuremat osa ettevõtte teabest. Selleks on vaja kontekstiteadlikku tarkvara, mis suudab tõhusalt hallata ja salvestada suuri andmemahtusid ning skaleerida andmebaase horisontaalselt vastavalt vajadusele. Kõik see oli ja jääb ettevõtte sisuhaldussüsteemide - ECM - funktsioonideks.

Juba 20 aastat tagasi oli suurem osa teabest, umbes 80%, ärilises kontekstis struktureerimata. Olukord pole endiselt muutunud: meilid, dokumendid, sotsiaalmeedia sisu, veebisaidid, masinaandmed, pildid, videod jne.

Tehisintellekti ajastul tunnustatakse teavet lõpuks tootmise olulise osana. Infologistikast saab tulevikus üks võtmetegureid, mis mõjutab tootekulude kujunemist. Infoladu on ECM-i tuum ja just selle klassi süsteemid töötavad vabalt äri uue valuuta – teabega.

Infohaldus on ettevõtetele tehnoloogiliselt keeruline ülesanne. Lisaks ECM- ja ERP-süsteemidele kasutatakse palju teisi ärirakendusi, mille sisu hoitakse eraldi andmebaasides ja struktuurides. Kõik see mõjutab ettevõtte töötajate tootlikkust. Lisaks raskendab selline olukord tehisintellekti rakendamist. AI vajab õppimiseks ja prognooside tegemiseks andmeid mitmest allikast, seega on ettevõtte infosüsteemide integreerimine strateegilisem kui kunagi varem.

Kontakt uue tehnoloogiaga

Inimese ja arvuti liides ei piirdu enam ainult klaviatuuri, hiire, skanneri ja kaameraga. Peagi saavad kõik tüüpi seadmed, lahendused ja tarkvararakendused vastata kasutajate päringutele mitte tehnilises keeles, vaid samamoodi, nagu inimesed omavahel suhtlevad. Me suudame masinaga luua humanoidse dialoogi. Paljud ettevõtted tegelevad praegu ECM-is loomuliku inimkeele töötlemise võimalusega.

Pole enam kasutajaliideseid

Erinevalt inimestest ei vaja virtuaalsed agendid kasutajaliidest. Edaspidi ei ole enam traditsioonilisi kasutajaliideseid andmete kogumiseks, otsimiseks ja edastamiseks. Nagu finantstehingute puhul, kaasatakse inimesed äriprotsessi ainult siis, kui süsteem registreerib kõrvalekalde või läheb kontrolli alt välja. Algoritmipõhiste süsteemide (nt ECM) abil saab äriprotsesse ja paljusid otsuseid suures osas automatiseerida. Tulevikku vaadates muutub infohaldus mõnevõrra teistsuguseks: kasutaja vajadusi ennustades kuvab süsteem infot jooksva töö, tegevuste, otsuste kontekstis, s.t. Te ei pea enam käsitsi otsima.

Tõenäoliselt on esimesed AI-põhiste ECM-süsteemidega töötavad ettevõtted finantsteenuste sektorist, kus administratiivpersonali funktsioonid koosnevad peamiselt teabe töötlemisest. Raamatupidamine tegeleb ka tohutute andmemahtudega, mis on uute õigusnormide ja rangemate nõuete tõttu üha keerukamaks muutumas. Sissetulevate arvete automaatne töötlemine juba täna koosneb täielikult automatiseeritud protsessist või isegi automaatsest konteeringute loomisest arvete väljastamisel.

Tehisintellekt peaks olema kasulik ja kasulik

Tehisintellekt on tõeline kunst, sest ühest küljest peaks tehnoloogia inimesi teenima ja teisest küljest mitte kahandama inimtöö väärtust. Oleme alles tohutu teekonna ja huvitavate sündmuste alguses ning lõppu pole veel näha. Vaatamata digitaliseerimise ümber käivale kõmule ei saa enamikku ettevõtteid selles küsimuses edasijõudnuteks nimetada. Kuid digitaliseerimine on tehisintellekti juurutamise eeldus.

Kuni tehisintellekt areneb, tuleb ettevõtteid digitaliseerida. ECM-süsteemid peaksid olema enamiku ettevõtete päevakorras, nende väärtust on raske mõõta, kuid praktilisuses ei kahtle keegi – need tuleb lihtsalt kasutusele võtta.

Tõlge –Jekaterina Mikheeva, DIRECTUM

Analüütika on teadmiste protsess. Intelligentsus on analüütika tooraine.

Sissejuhatus

Juhtub ka seda, et igaühel on oma arusaam tehisintellektist (AI), selle ülimatest funktsioonidest ja riskidest. Isegi ekspertidel pole ühemõttelisi tõlgendusi. Mõiste “kunstlik” on üsna spetsiifiline, s.t inimese (loodusliku) sarnane. Kuid "intelligentsust" tõlgendatakse kui "vaimset printsiipi" või "vaimset võimet", mida saab tõlgendada erineval viisil. Mis täpselt juhtubki. Võttes arvesse soovmõtlemist, väidab küberneetika AI olemasolu. See moonutab ajakoordinaate ja tehisintellekti kui sihtmärgi arhitektuuri.

Selle artikli eesmärk on struktureerida olemasolevaid teadmisi tehisintellekti kohta ja panna kõik oma kohale. Tehke kindlaks selles valdkonnas oluliste saavutuste puudumise põhjused, leidke viis selle probleemi lahendamiseks ja täpsustage tehisintellektiga seotud riske. Nende probleemide järjekindlad lahendused selles töös aitavad huvitatud isikutel mõista üsna segase teema keerukust.

Selle töö eesmärk on põhjendada, et tehisintellekti kontseptsiooni tuleb käsitleda uue nurga alt, nimelt: lisades sellesse kontseptsiooni mitte ainult tööriist tehnoloogiliste probleemide lahendamiseks, vaid ka tööriist, mis on samaväärne ja ületab inimese analüüsivõime. See tähendab, süsteem, mis on võimeline analüüsima sotsiaalseid nähtusi, et ennustada tulevikku, mis võib saada võimalikuks sotsioloogia muutumisel täppisteaduseks selle algoritmiseerimise kaudu.

1. AI asjakohasus

AI kõige olulisem küsimus on see. Praegune tehisintellekti uurimissuund on suunatud eranditult tehnoloogiliste probleemide lahendamisele. Inimintellekt tegeleb peamiselt isiklike, avalike ja sotsiaalsete probleemide lahendamisega ning selle „edu“ jätab soovida. Me täiustume tehnoloogiliselt ja korrutame otseses proportsioonis sotsiaalseid riske: kriisid, epideemiad, konfliktid, sõjad, terrorirünnakud jne. On loogiline eeldada, et tehisintellekti loomise eesmärk peaks olema tööriist, mis lahendab eranditult sotsiaalseid probleeme. Lõppude lõpuks on sotsiaalne küsimus "Mis juhtub, kui...?" Inimese jaoks on palju olulisem tehnoloogiline küsimus “Palju saab...?”, kuid see pole veel teadvustamise staadiumis. Nüüd tulevad küberneetikud edukalt toime mistahes matemaatilise järjestuse rakenduste ja trajektooride loomisega. Aga programmeerimiskeeles kirjeldada erinevaid ühiskondlikke protsesse ja nähtusi ning seeläbi aimata tulevikus era- või riiklikku murrangut jne. (selle amplituud, sagedus, faas), mis tahes ajajärk on põhimõtteliselt mõeldamatu. See tähendab, et see, mida praegu mõeldakse olemasolevate "nutikate" leiutiste (seadmed, majad, robotid jne) all, ei ole tegelikult sellised, kuna neil puudub võimalus analüüsida mineviku kogemust ja tegelikkust. olevik tuleviku strateegiliseks prognoosimiseks.

2. AI probleemid

AI-probleem on üle 70 aasta vana. Ilmaprobleemid on edukalt lahendatud: termotuumasüntees, DNA kood, kosmoseprogrammid, põrkur jne. Need küsimused lahendati valitsuse tasandil. Nüüd ei tegele tehisintellektiga mitte ainult riigid, vaid ka kõik endast lugupidavad ettevõtted. Investeeringud sellesse probleemi on saavutamas astronoomilisi mõõtmeid ja katavad kõigi varasemate teaduslike avastuste kulude summa. Ja see pole piir. Kaugele aga edasi liikuda ei saanud, kuna kõik aruanded tehisintellekti valdkonna saavutuste kohta on bluff. Tegelikult räägitakse banaalsest kombinatoorikast, s.t. o üha keerukamad kalkulaatoritooted, mis on suunatud kaheldava tähtsusega tehnoloogiliste probleemide lahendamisele. Kahtlane, kuna nende ohutuse tagamiseks tulevikus puudub "pingitesti" tehnoloogia. Kuna põhjus-tagajärg seoste testimise algoritme pole olemas.. Ettevõtete eetikas on paradoks. Taotlejad valdavad investeeringuid, annavad aru järgmisest "läbimurdest", kuid kõik peale investori teavad, et ta pole tehisintellekt. Mis on viienda loomeploki põhjused? Paljud neist. Esiteks puudub tehisintellektil konkreetne määratlus. Teiseks puudub selge arusaam, mis on intelligentsus. Kolmandaks pole peamist asja – tehisintellekti fundamentaalset teooriat. Selle tulemusena puudub selge eesmärgi arhitektuur. On ainult versioonid, mittetöötav tehisintellekti paradigma, probleemi valelik areng, s.t. ehk ainult tehnoloogilises plaanis ja ummikteede masendav tsüklilisus. Seetõttu pole arendajatel aimugi tööriista lõplikest omadustest ja funktsioonidest. AI taotlejad lubavad kergesti rakendada midagi, millel pole teaduslikku kirjeldust. Ja see on jama, kuid tõsi. Näiteks nõudis ühel konverentsil teadusdoktor austust ja väitis, et tema Tšernobõli tuumaelektrijaama buldooser on täiustanud tehisintellekti. Kuidas lahendada tehisintellekti loomise probleemi, kui selle eesmärgid, eesmärgid ja riskid eksisteerivad versioonidena? Ei saa muud üle kui võrrelda tehisintellekti "musta kassiga pimedas ruumis", mida, muide, seal pole.

Miks peetakse tehisintellekti kontseptsiooni nüüd ainult tehnoloogia "intelligentseteks" rakendusteks? Kõik sai alguse legendaarsest Inigma häkkerist A. Turingist. Ta mitte ainult ei murdnud Wehrmachti koodi, pani aluse küberneetikale, vaid andis sügavamate tagajärgedega „vale jälje“: „Turingi testi“ ja AI-st arusaamise. Aastaid olid tehisintellekti sissejuhatavad parameetrid tööotsijatele ületamatud ja siis AI mõistet lihtsalt laiendati. Tehisintellekti ahvatlevad väljavaated lahendasid investeerimisprobleemi ning teema keerukus tavainimese jaoks tegi küberneetikutest mitte ainult “gurud”, vaid ka tegelikud monopolistid, nn AI. Ja mida? Ja mitte midagi. Konveierile on pandud väidetavalt intelligentsed rakendused, kõik on rahul, aga tehisintellekt puudub.

Teeme kokkuvõtte. Küberneetika töötab edukalt "jah-ei" süsteemis. Definitsiooni järgi ei suuda nad mõista, mõista, aktsepteerida seda, mis nende sümbolite vahel sisaldub (tähendused, olemused, allegooriad, abstraktsioonid jne). Vale spetsialiseerumine. AI teema sügavus võimaldab taotlejatel manööverdada kõnekujunditega, kuid mitte semantilise sisuga. Räägime ju inimese analüütiliste võimetega võrdväärse ja ületava tööriista loomisest. Teisisõnu, tehisintellekt on sotsioloogide, filosoofide, psühholoogide, ajaloolaste jne meeskonnatöö. Ainult nemad suudavad täita tehisintellekti semantilise sisuga, st teha kõrgtehnoloogilisest kalkulaatorist soovitud tehisintellekti. Küberneetika on lihtsalt tegutsemisbaas, mis “riietub” mõtte numbritesse.

Tekib küsimus terviklikkusest uurimiskeskkonnas. Jah, küberneetika saavutused on kõrged. Nad lõid lõhkepäid, arvuteid, rakendusi, nutikaid kodusid, valgusfoore jne. Kuid nagu allpool kirjeldatakse, pole sellel AI-ga mingit pistmist. Tegelikult on kõik uus tehisintellekti arendustes määratud toimima nagu kalkulaator. Teisisõnu on nende teema õiglane nimi: Kunstlik kombinatoorika (IC). Kõik muu on kurjast.

3. AI rakendamise kontseptsioon

«Probleemi on võimatu lahendada samal tasemel, kui see tekkis. Peame sellest probleemist kõrgemale tõusma, tõustes järgmisele tasemele. A. Einstein.

Tehisintellekti realiseerimiseks on vaja ümber mõelda olemasolevad lähenemised tehisintellektile, ära tunda „vale tee“ ja vaadata probleemile uut moodi.

Mis tahes teadmiste kvaliteedi määrab inimese enda valdkonna analüütika efektiivsus. Näiteks täppisteaduste kvaliteet on üle 90% ja praktikas piirab nende võimalusi vaid eelarve. Meteoroloogilise väli prognoosimise analüütika kvaliteet on üle 60%. Loendussüsteemid ja algoritmiline alus on halvad. Ekspertanalüütika kvaliteet sotsiaalvaldkonna prognoosimisel on algoritmilise baasi puudumise tõttu vaid 6 - 8%. Puudub sotsioloogia kui täppisteadus, pole loendussüsteeme ega süsteemi stabiilsust. See muudab kvaliteetse sotsiaalanalüüsi läbiviimise võimatuks. Santa Fe väited 16% efektiivsusest on müüt, mis kehtib ainult jätkusuutliku ettenägemise jaoks.

Kõik olemasolevad avastused ja tehnoloogiad võlgnevad oma välimuse täppisteadustele. AI-probleem jääb probleemiks, kuna selle põhiosa on sotsiaalsete teadmiste versioonis, mille kvaliteet on vaid 6–8%. Seetõttu on ta üle 70 aasta vana.

Tehisintellekti probleeme on võimatu lahendada sotsioloogia sellise tõhususega. Sotsioloogia kvaliteeti on vaja parandada selle algoritmiseerimise kaudu. Selle tulemusena saame kõrgtehnoloogilise sotsioloogia (HS). Just see võimaldab tasakaalustatud tüüpi tehisanalüüsi (AI) toimimist. See on põhistruktuur.

Sotsioloogia ei suuda sõnastada tehisintellekti teema põhimõisteid, kuna sellel puudub algoritmiline tugi. Näiteks olemasolev intelligentsuse kontseptsioon on ainult "vaimne printsiip". Mis see on? Selle termini jaoks pole algoritmi, nagu ka teiste mõistete jaoks; tähendused, olemused, tunded, loovus, paradoks, intuitsioon, kujutlusvõime, jne Kuidas saab küberneetilist instrumenti täita abstraktsiooniga?Ainult algoritm ja valem määravad ja kinnitavad versiooni täpsust, konkretiseerivad selle tõhusa analüütika läbiviimise vahendina.Seetõttu on loomulik, et matemaatiline arhitektuur AI lõppeesmärk puudub.

Aju on analüütiline tööriist, kuid mida see teeb? Vahepealseid mõisteid on palju, aga põhimõttelist pole.. Selgitan. Aju tegeleb ANALÜÜTIKUGA, et hinnata tuleviku riske. See on selle peamine evolutsiooniline eesmärk, mis tagab ellujäämise. Ainult see dominant võimaldas inimesel ellu jääda ja domineerida. Ülejäänu on teisejärguline. Järelikult on vaja töötada mitte amorfse, ebamäärase intelligentsuse mõistega, vaid läbipaistva ja arusaadava - ANALÜÜTIKUga. See tähendab, kunstlik ANALÜÜS (IA) potentsiaalsete riskide hindamiseks. Kombinatoorika lõpeb ja AI algab sealt, kus vastus küsimusele: "Mis juhtub, kui...?" Kuigi süsteemid vastavad küsimusele: "Kui palju see maksab...?" Ehk siis seni näeb tehisintellekti areng välja selline: Turingi masin – Felixi liitmismasin – kalkulaator – väga hea kalkulaator – veelgi parem jne. See ummikparadigma välistab järgmise etapi ehk AI, eriti AI. Sa saad alati kalkulaatori.

On vaja õigesti mõista AI “valeraja” olemust, mille probleem on tehnoloogilises vektoris. Aju on kognitiivne tööriist. Analüütika kui tunnetusprotsess on selle tuletis. Peamine teadmiste vektor on riskide hindamine. Tõhus analüütika nõuab töötlemata andmeid. Tegelikult on intelligentsus just see ja sellel on maht. Intellekti (mõistuse) maht on sisult üsna spetsiifiline substants, kuid vorm on hägune ja võimaldab meelevaldsust. Seetõttu pole „tark“ maja või buldooser intelligentne, kuna neil süsteemidel pole riski ennetamise funktsiooni, vaid ainult juhtimisprogramm. Tulevikuohtude õigeks hindamiseks on vaja teada seda tulevikku kõigis selle ilmingutes. Me ei tea tulevikku. See on kõrgemat järku informatsioon... Pealegi ei tea seda intelligentsete süsteemide nimelised süsteemid. Väita vastupidist tähendab tegelemist kõnekujunditega, mis täpselt juhtubki.

Et see oleks selgem, peaksime abstraktsioonina mõistma tundmatut ajaloolist pretsedenti. Kõik teavad, et Olümpose peamine jumal oli Zeus. Siiski ei! Zeus oli tegevjuht ja tal oli selleks ideaalne relv. Olümposel oli põhiline Rock. Ainult tema teadis tulevikku ja kirjutas kõigi (ja ka Zeusi) saatused. Ja seetõttu oli tema vastutav, kuna tal oli absoluutne relv. Ja ainult seda "halli eminentsi" kartsid jumalad. See viitab ka sellele, et AI on suurim vara. See ei ole ainult absoluutne teadmine, vaid ka teised Absoluudi positsioonid. Ja kõik on väga-väga mitte lihtne... Peate olema kas liiga edev või mitte mõistma oma otsingute teema olemust, et otsustada, kas praeguse maailma mõistmise tasemega on teil võimalik olla jumalad. (3-5%). See puudutab küberneetikat – tehisintellekti taotlejaid. TULEVIKKU TEADMINE on eesmärgi arhitektuur. AI pole selleks põhimõtteliselt võimeline. Need funktsioonid võtab üle Artificial Analytics. Sisuliselt on IA soovitud tehisintellekt. See tähendab, et IA on süsteem enda ja sotsiaalsete riskide äratundmiseks.

On põhiprobleem: kes treenib tehisintellekti? Aga ei, mitte matemaatilised seadused, algoritmid ja trajektoorid, need tehnoloogiad on juba välja töötatud. Tehisintellekt peab ju olema koolitatud ennekõike sotsiaalsetes teadmistes Kas küberneetika tuleb toime? Mida nad teavad näiteks sotsiaalsete teadmiste mürgisusest? Ja selliseid parameetreid on tuhandeid.. Kes siis? Kordan, nii sotsiaalsete teadmiste kui ka selle kandjate kvaliteet ja vastavalt ka olemasoleva analüütika efektiivsus on vaid 3-5%. Üleolev eufooria siin ei aita.

N.B. Saate lõputult moodustada valesihtvektoreid, nimetades neid AI-ks, kuid lõpuks tuleb kõik teha inimaju "kujutises ja sarnasuses". On vaja luua päikesel põhinev tehisintellekti tööriist, nimelt: algoritmiseerida palju sotsiaalseid mõisteid, mõista nende toksilisuse suurust ja muid saastekoefitsiente, koostada sotsiaalne immuunsüsteem, aga ka selle audit, tuletada sotsiaalseid algoritme. entroopia, piirid, põhjus-tagajärg seosed, tasakaal, kriitilised massid jne. Lahendage üldise väljateooria ja vastavalt ka sotsiaalse välja üldteooria probleem. Kõik see võimaldab luureagentuuril avastada tulevaste ohtude (sündmuste) aega, st amplituudi, sagedust, faasi. See tähendab, et lahendada strateegilise prognoosimise probleem ja mitte ainult...

4.Riskid

Kujutage ette tuumareaktorit ilma kaitse- ja stabiliseerimissüsteemideta. AI-süsteemide tehnoloogilised võimalused on üle 90% ja olemasolevad stabiliseerivad plokid sotsiaalse riskianalüüsi näol on praktiliselt nullis... Selgitan. Kaasaegne, isegi silmapaistev isiksus (kogukond) mõistab tulevikku enne järgmist telefonikõnet, s.o 3-5 minutit. Iga äkiline juhtum, teade lähedase surmast, õnnetus või terrorirünnak põhjustab ajutise ja analüüsihalvatuse... Meil ​​pole aimugi isiklikust lähitulevikust (riskidest), eriti AI tulevikust. Meie ohuanalüütika efektiivsus on ju vaid 3-5%... Meie kujuteldava analüütilise kindlustunde tuleviku suhtes kujundab edukalt tinglikult stabiilne süsteem. Niipea, kui ümbritsev süsteem hakkab kokku varisema, langeb perspektiivanalüüs nulli. See kõik ei takista küberneetikuid võtmast kasutusele AI tööriista, mis on riskide poolest ettearvamatu...

Praegu AI rakendamiseks käimasolevad protsessid toovad kaasa tõsiseid riske, nimelt:

1. Raske on kommenteerida AI-ohtude argumentatsiooni näiteks S. Hawkingilt teistele planeetidele laienemise kohta või I. Muski poolt robot-intelligentsete relvade keelustamise kohta. Nende loogika pole selge. Igal kosmoselennul peab ju a priori olema riski(ohu)tuvastussüsteem ja robotrelvadel, isegi väga arenenutel, on trajektooriprogrammid, aga mitte tehisintellekti. Hollywoodi riistvara ei ole soovitud mõttes ohtlik. Kuid üldiselt on neil õigus – oht on tõsine. Las ma seletan. AI-süsteemis on konkreetne nõrk koht. Põhialgoritm on universaalne matemaatiline kombinatoorika. Sõltumata disaineri tahtest on süsteem inimkeskne ja eesmärk on teda võimete poolest ületada. Tekib dilemma. Tehisintellekti iseõppimine pole lubatud, kuna see on süsteemivärav. Õpetuslik tugi on absurdne, kuna kõik sissetoodud sotsiaalsed teadmised (algoritmid) on mürgise struktuuriga ja nende sotsiaalse saastatuse koefitsiente looduses ei eksisteeri, kuna puudub põhialgoritmidega kõrgtehnoloogiline sotsioloogia. Selle tulemusena ei saa välja tulla muud kui röövellik versioon. Näiteks on olemas seadusandlikud aktid, kuid puudub teooria nende saastumise kohta topeltstandarditega. Tau robotile õpetati kohusetundlikult sotsiaalseid põhiprintsiipe, kuid ta ei võtnud kasutusele topeltstandardite koefitsiente ja algoritme jne. Kust neid saada? Ei kulunud palju aega, kui süsteemid: “BabyQ”, “XiaoBinq”, “Zo”, “Tau” seadsid prioriteediks ja pakuvad ühiskonna seisukohalt mõeldamatut... Siis on kohtuasjad. Need primitiivsed versioonid pakkusid tavainimesele midagi vastuvõetamatut ja ilma inimese nõusolekuta rakendataks täiustatud versiooni.

2. Tehisintellekti pädevused laienevad ainult tehnoloogilistele teadmistele. See tähendab, et ta saab olema kombinatoorselt tõhus, kuid sotsiaalses mõttes absoluutne amatöör. Teisisõnu, tehnoloogiline hüpertroofia fakt AI koostises on täis ettearvamatuid riske, kuna puudub piirangute teooria. Kes annab talle pädevaid sotsiaalseid teadmisi? Looduses neid ei eksisteeri. Samal ajal eeldavad sotsiaalse konflikti ja sotsiaalse entroopia algoritmide indeksid inimese ja tehisintellekti süsteemis "huvide konflikti". Teisisõnu, tehisintellekti matemaatilise ja algoritmilise toe kvaliteet on üle 96% ning sotsiaalse ja algoritmilise toe kvaliteet nullilähedane. See kujundus on eksponentsiaalselt äärmuslik, röövellike versioonide poolest mitte etteaimatav, definitsioonilt tasakaalustamata ja sisuliselt hävitav. Ja muidugi on naiivne uskuda, et tehnoloogiliselt arenenud tehisintellektil, kuid ilma sotsiaalse algoritmilise sisuta, on sisukad moraalsed ja eetilised standardid. Mõte mis tahes turvaprotokollidest või muudest selle sisaldavatest vormidest on veelgi mõttetum. Tulemuseks on röövellik versioon, kus on inimlik valik provokatsioone. "Kõhujuhtumite" laviin, maailma CFS-i kokkuvarisemine, globaalne sotsiaalne ümberkujundamine, kontrollimatu singulaarsus, sotsiaalne laperdus, tehnoloogilised häired jne. See ei jõua isegi "robotite mässuni" ja seda tuleb mõista. Me ei ole selleks valmis.

3. Kui küberneetilist amatöörlust saab mõista, siis sotsiaalne amatöörlus on veelgi arusaadavam. See on loomulik. Küsimus on selles, mida globaalne “eliit” teeb ja milliseid otsuseid süsteemse laperduse tingimustes teeb? See on ju tema ettenägelikkus... “Postindustriaalses maailmas” on ta võõrkeha, teda pole isegi stsenaariumis. Ja selle kui struktuuri jaoks on traagiline see, et see muutub täiesti läbipaistvaks ja seetõttu kaitsetuks. Ja definitsiooni järgi pole nõutava tasemega kriisijuhti olemas. Üldises ohtude süsteemis on “eliit” mahukas väärtus.

4. See ettekanne kirjeldab ainult mõnda ühiskonnas kohandatud positsiooni. Peamine teabemassiivi, "suletud tüüpi", jäi teksti ulatusest välja. Just tema on tulevaste tehisintellekti ohtude probleemis otsustav. Seda protsessi ei ole enam võimalik peatada. See ei ole geenitehnoloogia labor, mida saab sulgeda või kontrollida. Kodus saate luua universaalse röövelliku versiooni. Sellises mahus investeeringud on tõsine stiimul. Olgem objektiivsed, 86% "röövellikest" tööotsijatest moodustab samasuguse AI röövelliku versiooni ainsas tempos. Lõppude lõpuks pole Moore'i seadust kehtetuks tunnistatud. Peame mõistma segmendi mõju. Pädev röövellik algoritm lisab optimeerimisprogrammi järgi vajalikud konstruktsioonikomponendid võrku ilma kooskõlastuseta... Blokeerimissüsteeme pole.

5. Kõik teadaolevad globaalsed riskid sõltuvad heast või kurjast tahtest, kasust ja mustrist. Nendega saab läbi rääkida. Isegi asteroidiga saate "läbirääkimisi pidada". Tehisintellektiga seotud riskid sõltuvad ainult Moore’i seadusest – selgest, mahukast ja vältimatust ettenägelikkuse tuletisest. Küberneetiline komponent on praktiliselt tohutu ja sellega ei saa kokkuleppele. Seetõttu on AI globaalsete riskide nimekirjas vaieldamatu liider.

6. Oleme hakanud unustama eelmise sajandi keskpaiga tuumarelvade omamise võidujooksu teravaid servi. Tulevane AI võidujooks algab selle tööriista võimaluste mõistmisega, kuna need on liiga fantastilised. Sest see, mida kaasaegne kujutluspilt kujutab, ei vasta tegelikkusele.AI-ohte võime kirjeldada lõpmata kaua, kuid lühidalt on probleemiks inimese olemasoleva maailmapildi lähenev täielik transformatsioon. Dilemma, millest on võimatu põgeneda ega viivitada ning raske on öelda, kumb variant on halvem. Oma epiteetides kogenud majorid võrdlevad tehisintellekti tähtsuse poolest esimese satelliidi lennuga – suurima hüvega jne. Seda on õigem võrrelda suurima katastroofiga.

Järeldus

Kõigi automatiseeritud tehnoloogiliste protsesside ja uuenduste kutsumine tehisintellektiks ei vii teid sellele lähemale. Täna toimuv on vaid sissejuhatus tehisintellektile või täpsemalt selle röövelliku versiooni kujunemisele. Tehisintellekti probleemid on sisult ja tagajärgedelt globaalsed sel määral, et need muudavad inimese staatust ja järelikult viitavad tema transformatsioon. Iga selle segmendi jaoks on vaja termotuumasünteesiga sarnast põhiteooriat. Neid on üle kahekümne, aga veel mitte üht. Näiteks kurikuulus "punane nupp", mis põhineb "tasakaalu" (aktiivse tasakaalu) teoorial. Ja teda pole isegi silmapiiril. Ja selline näeb praegu välja kogu AI valdkond. Lõppude lõpuks on inimkonnal toode, mille jõud, tagajärjed ja riskid on kordades suuremad kui kõik teadaolevad. Ja armee investeerinuid soovib avada "Pandora laeka", omamata vähimatki aimu selle sisust...

Testküsimused AI-ekspertidele ja investoritele.

1. Intellekti ja tehisintellekti terminoloogilise mitmekesisuse põhjused.

2. AI ühtse teadusliku üld- ja fundamentaalse teooria puudumise põhjus?

3. AI kui absoluutse uuenduse võrdluspunktid ja lõppkoordinaadid?

4. AI koolituse struktuur?

5. AI põhisegmendid ja nende struktuursed algoritmid?

6. AI-eesmärgi algoritmiline arhitektuur? Pädevused?

7. Taktikalised ja tehnilised andmed mitte süsteemielemendi, vaid AI lõpptoote kohta?

8. AI funktsioonid lõpptootena?

9. AI lõpptoote „ulatus” (selle välja piirid, eksponentsiaalsed algoritmid)?

10.AI riskialgoritmid?

11. "Punase nupu" kontseptsioon?

Jevgeni Krjatško. e-post: [e-postiga kaitstud]

Tehisintellekti (AI või AI) kontseptsioon ei ühenda mitte ainult tehnoloogiaid, mis võimaldavad luua intelligentseid masinaid (sh arvutiprogramme). AI on ka üks teadusliku mõtte valdkondi.

Tehisintellekt – definitsioon

Intelligentsus- see on inimese vaimne komponent, millel on järgmised võimed:

  • oportunistlik;
  • õppimisvõime kogemuste ja teadmiste kogumise kaudu;
  • oskus rakendada teadmisi ja oskusi keskkonna juhtimiseks.

Intelligentsus ühendab kõik inimese võimed reaalsuse mõistmiseks. Selle abil inimene mõtleb, jätab meelde uue teabe, tajub keskkonda jne.

Tehisintellekt viitab ühele infotehnoloogia valdkonnale, mis tegeleb inimintellekti võimetega varustatud süsteemide (masinate) uurimise ja arendamisega: õppimisvõime, loogiline arutlusvõime jne.

Praegu tehakse tehisintellektiga tööd uute programmide ja algoritmide loomisega, mis lahendavad probleeme samamoodi nagu inimene.

Kuna AI definitsioon selle valdkonna arenedes areneb, tuleb mainida AI-efekti. See viitab teatud edu saavutanud tehisintellekti tekitatud efektile. Näiteks kui tehisintellekt on õppinud mingeid toiminguid tegema, ühinevad kriitikud kohe ja väidavad, et need õnnestumised ei viita sellele, et masinal on mõtlemist.

Tänapäeval toimub tehisintellekti areng kahes sõltumatus suunas:

  • neuroküberneetika;
  • loogiline lähenemine.

Esimene suund hõlmab närvivõrkude uurimist ja evolutsioonilisi arvutusi bioloogilisest vaatepunktist. Loogiline lähenemine hõlmab süsteemide väljatöötamist, mis simuleerivad kõrgetasemelisi intellektuaalseid protsesse: mõtlemist, kõnet jne.

Esimesed tööd tehisintellekti vallas algasid eelmise sajandi keskel. Sellesuunalise uurimistöö pioneer oli Alan Turing, kuigi teatud ideid hakkasid filosoofid ja matemaatikud väljendama juba keskajal. Eelkõige võeti 20. sajandi alguses kasutusele mehaaniline seade, mis suudab lahendada maleülesandeid.

Kuid see suund kujunes tõesti eelmise sajandi keskpaigaks. AI-teemaliste tööde ilmumisele eelnesid inimloomuse, meid ümbritseva maailma mõistmise viiside, mõtteprotsessi võimaluste ja muude valdkondade uurimine. Selleks ajaks ilmusid esimesed arvutid ja algoritmid. See tähendab, et loodi alus, millele sündis uus uurimissuund.

1950. aastal avaldas Alan Turing artikli, milles esitas küsimusi tulevaste masinate võimekuse kohta ja selle kohta, kas need suudavad intelligentsuse poolest inimesi ületada. Just see teadlane töötas välja protseduuri, mida hiljem tema auks nimetati: Turingi test.

Pärast inglise teadlase tööde avaldamist ilmusid AI valdkonnas uued uuringud. Turingi järgi saab mõtlevaks tunnistada vaid masinat, mida ei saa suhtluse käigus inimesest eristada. Umbes samal ajal teadlase tööga sündis kontseptsioon nimega Baby Machine. See nägi ette tehisintellekti järkjärgulist arendamist ja masinate loomist, mille mõtteprotsesse kujundatakse esmalt lapse tasemel ja seejärel järk-järgult täiustatakse.

Mõiste "tehisintellekt" tekkis hiljem. 1952. aastal kohtus rühm teadlasi, sealhulgas Turing, Ameerika Dartmundi ülikoolis, et arutada tehisintellektiga seotud küsimusi. Pärast seda kohtumist algas aktiivne tehisintellekti võimekusega masinate arendamine.

Erilist rolli uute tehnoloogiate loomisel tehisintellekti valdkonnas mängisid sõjaväeosakonnad, kes seda uurimisvaldkonda aktiivselt rahastasid. Seejärel hakkas tehisintellekti alane töö meelitama suuri ettevõtteid.

Kaasaegne elu seab teadlastele keerulisemad väljakutsed. Seetõttu toimub tehisintellekti arendamine põhimõtteliselt erinevates tingimustes, kui võrrelda neid tehisintellekti sünni ajal toimunuga. Globaliseerumisprotsessid, küberkurjategijate tegevus digitaalsfääris, Interneti areng ja muud probleemid – see kõik seab teadlastele keerukad ülesanded, mille lahendus peitub tehisintellekti valdkonnas.

Vaatamata selles vallas viimastel aastatel saavutatud edule (näiteks autonoomse tehnoloogia esilekerkimine), kõlavad endiselt skeptikute hääled, kes ei usu tõeliselt tehisintellekti ja mitte eriti võimeka programmi loomisse. Mitmed kriitikud kardavad, et tehisintellekti aktiivne areng toob peagi kaasa olukorra, kus masinad asendavad inimesi täielikult.

Uurimissuunad

Filosoofid pole veel jõudnud üksmeelele, mis on inimese intelligentsuse olemus ja milline on selle staatus. Sellega seoses on AI-le pühendatud teaduslikes töödes palju ideid, mis räägivad, milliseid probleeme tehisintellekt lahendab. Ühtset arusaama pole ka küsimusest, millist masinat võib pidada intelligentseks.

Tänapäeval areneb tehisintellekti tehnoloogia kahes suunas:

  1. Kahanev (semiootiline). See hõlmab uute süsteemide ja teadmistebaaside väljatöötamist, mis simuleerivad kõrgetasemelisi vaimseid protsesse, nagu kõne, emotsioonide väljendamine ja mõtlemine.
  2. Tõusev (bioloogiline). See lähenemine hõlmab närvivõrkude valdkonna uuringute läbiviimist, mille kaudu luuakse intelligentse käitumise mudeleid bioloogiliste protsesside vaatenurgast. Selle suuna alusel luuakse neuroarvuteid.

Määrab tehisintellekti (masina) võime mõelda inimesega samamoodi. Üldises mõttes hõlmab see lähenemisviis AI loomist, mille käitumine ei erine inimeste tegevusest samades tavalistes olukordades. Põhimõtteliselt eeldab Turingi test, et masin on intelligentne ainult siis, kui sellega suheldes pole võimalik aru saada, kes räägib: mehhanism või elav inimene.

Ulmeraamatud pakuvad teistsugust meetodit tehisintellekti võimekuse hindamiseks. Tehisintellekt muutub tõeliseks, kui see tunneb ja suudab luua. Kuid selline lähenemine määratlusele ei kannata praktilist rakendamist. Juba praegu luuakse näiteks masinaid, millel on võime reageerida keskkonnamuutustele (külm, kuumus jne). Siiski ei saa nad tunda nii, nagu inimene tunneb.

Sümboolne lähenemine

Edu probleemide lahendamisel määrab suuresti oskus olukordadele paindlikult läheneda. Erinevalt inimestest tõlgendavad masinad saadud andmeid järjekindlalt. Seetõttu osalevad probleemide lahendamises ainult inimesed. Masin sooritab toiminguid kirjalike algoritmide alusel, mis välistavad mitme abstraktsioonimudeli kasutamise. Programmidest on võimalik saavutada paindlikkust probleemide lahendamisega seotud ressursside suurendamisega.

Ülaltoodud puudused on iseloomulikud tehisintellekti arendamisel kasutatavale sümboolsele lähenemisele. Selline tehisintellekti arengusuund võimaldab aga arvutusprotsessi käigus luua uusi reegleid. Ja sümboolsest lähenemisest tulenevaid probleeme saab lahendada loogiliste meetoditega.

Loogiline lähenemine

See lähenemisviis hõlmab mudelite loomist, mis simuleerivad arutlusprotsessi. See põhineb loogika põhimõtetel.

See lähenemisviis ei hõlma rangete algoritmide kasutamist, mis viivad konkreetse tulemuseni.

Agendipõhine lähenemine

See kasutab intelligentseid agente. See lähenemisviis eeldab järgmist: intelligentsus on arvutuslik osa, mille kaudu eesmärke saavutatakse. Masin täidab intelligentse agendi rolli. See mõistab keskkonda spetsiaalsete andurite abil ja suhtleb sellega mehaaniliste osade kaudu.

Agendipõhine lähenemine keskendub selliste algoritmide ja meetodite väljatöötamisele, mis võimaldavad masinatel erinevates olukordades töövõimelisena püsida.

Hübriidne lähenemine

See lähenemisviis hõlmab neuraalsete ja sümboolsete mudelite kombineerimist, saavutades seeläbi kõigi mõtlemis- ja arvutusprotsessidega seotud probleemide lahendamise. Näiteks võivad närvivõrgud genereerida suuna, milles masina töö liigub. Ja staatiline õpe annab aluse, mille kaudu probleeme lahendatakse.

Vastavalt ettevõtte ekspertide prognoosidele Gartner, 2020. aastate alguseks kasutavad peaaegu kõik välja lastud tarkvaratooted tehisintellekti tehnoloogiaid. Eksperdid viitavad ka sellele, et umbes 30% investeeringutest digitaalsesse sfääri tuleb tehisintellektist.

Gartneri analüütikute hinnangul avab tehisintellekt uusi võimalusi inimeste ja masinate koostööks. Samas ei saa inimeste tehisintellektiga asendamise protsessi peatada ja see kiireneb tulevikus.

Seltskonnas PwC usun, et 2030. aastaks kasvab maailma sisemajanduse kogutoodang uute tehnoloogiate kiire kasutuselevõtu tõttu umbes 14%. Lisaks tagab ligikaudu 50% kasvust tootmisprotsesside efektiivsuse tõus. Indikaatori teise poole moodustab tehisintellekti toodetesse toomisest saadav lisakasum.

Tehisintellekti kasutamisest saavad esialgu kasu USA, kuna see riik on loonud tehisintellekti masinate töötamiseks parimad tingimused. Tulevikus edestavad nad Hiinat, kes teenib maksimaalset kasumit selliste tehnoloogiate juurutamisel toodetesse ja nende tootmisesse.

Ettevõtte eksperdid Saleforce väidavad, et tehisintellekt suurendab väikeettevõtete kasumlikkust ligikaudu 1,1 triljoni dollari võrra. Ja see juhtub 2021. aastaks. See näitaja saavutatakse osaliselt tehisintellekti pakutud lahenduste rakendamisega klientidega suhtlemise eest vastutavates süsteemides. Samal ajal paraneb tootmisprotsesside efektiivsus tänu nende automatiseerimisele.

Samuti loob uute tehnoloogiate kasutuselevõtt täiendavalt 800 tuhat töökohta. Eksperdid märgivad, et see näitaja kompenseerib protsesside automatiseerimise tõttu tekkinud vabade töökohtade kadumise. Ettevõtete küsitlusele tuginedes ennustavad analüütikud, et nende kulutused tootmisprotsesside automatiseerimisele suurenevad 2020. aastate alguseks ligikaudu 46 miljardi dollarini.

Töö tehisintellekti vallas käib ka Venemaal. 10 aasta jooksul on riik selles valdkonnas rahastanud üle 1,3 tuhande projekti. Pealegi läks suurem osa investeeringutest äritegevusega mitteseotud programmide arendamiseks. See näitab, et Venemaa äriringkond ei ole veel huvitatud tehisintellekti tehnoloogiate kasutuselevõtust.

Kokku investeeriti Venemaale nendel eesmärkidel umbes 23 miljardit rubla. Valitsuse toetuste suurus on väiksem kui teiste riikide AI rahastamise summa. Ameerika Ühendriikides eraldatakse nendeks eesmärkideks igal aastal umbes 200 miljonit dollarit.

Põhimõtteliselt eraldatakse Venemaal riigieelarvest vahendeid tehisintellekti tehnoloogiate arendamiseks, mida seejärel kasutatakse transpordisektoris, kaitsetööstuses ja julgeolekuga seotud projektides. See asjaolu viitab sellele, et meie riigis investeerivad inimesed sageli valdkondadesse, mis võimaldavad neil investeeritud vahenditest kiiresti teatud efekti saavutada.

Ülaltoodud uuring näitas ka, et Venemaal on praegu suur potentsiaal koolitada spetsialiste, kes saavad olla kaasatud tehisintellekti tehnoloogiate arendamisse. Viimase 5 aasta jooksul on tehisintellektiga seotud valdkondade koolituse läbinud ligikaudu 200 tuhat inimest.

AI tehnoloogiad arenevad järgmistes suundades:

  • probleemide lahendamine, mis võimaldavad tuua tehisintellekti võimeid inimesele lähemale ja leida võimalusi nende integreerimiseks igapäevaellu;
  • täisväärtusliku mõistuse arendamine, mille kaudu lahendatakse inimkonna ees seisvad probleemid.

Praegu on teadlased keskendunud praktilisi probleeme lahendavate tehnoloogiate arendamisele. Seni pole teadlased täieõigusliku tehisintellekti loomisele lähedalegi jõudnud.

Paljud ettevõtted arendavad tehisintellekti valdkonnas tehnoloogiaid. Yandex on neid oma otsingumootoritöös kasutanud juba mitu aastat. Alates 2016. aastast on Venemaa IT-ettevõte tegelenud närvivõrkude valdkonna uuringutega. Viimased muudavad otsingumootorite töö olemust. Eelkõige võrdlevad närvivõrgud kasutaja sisestatud päringut teatud vektorinumbriga, mis peegeldab kõige paremini ülesande tähendust. Teisisõnu, otsing ei toimu sõnade, vaid isiku poolt küsitava teabe olemuse järgi.

2016. aastal "Yandex" käivitas teenuse "Zen", mis analüüsib kasutaja eelistusi.

Ettevõte Abby süsteem ilmus hiljuti Compreno. Selle abil on võimalik mõista loomulikus keeles kirjutatud teksti. Suhteliselt hiljuti on turule tulnud ka muud tehisintellekti tehnoloogiatel põhinevad süsteemid:

  1. Findo. Süsteem on võimeline tuvastama inimkõnet ja otsima teavet erinevatest dokumentidest ja failidest, kasutades keerulisi päringuid.
  2. Gamalon. See ettevõte võttis kasutusele iseõppimise võimalusega süsteemi.
  3. Watson. IBMi arvuti, mis kasutab teabe otsimisel suurt hulka algoritme.
  4. ViaVoice. Inimese kõnetuvastussüsteem.

Suured äriettevõtted ei kohku tagasi tehisintellekti edusammudest. Pangad juurutavad selliseid tehnoloogiaid aktiivselt oma tegevusse. Tehisintellektil põhinevaid süsteeme kasutades viivad nad läbi toiminguid börsidel, haldavad kinnisvara ja teevad muid toiminguid.

Kaitsetööstus, meditsiin ja teised valdkonnad võtavad kasutusele objektituvastustehnoloogiad. Ja arvutimänge arendavad ettevõtted kasutavad oma järgmise toote loomiseks tehisintellekti.

Viimase paari aasta jooksul on rühm Ameerika teadlasi töötanud ühe projekti kallal NEIL, kus teadlased paluvad arvutil fotol kujutatu ära tunda. Eksperdid näitavad, et sel viisil saavad nad luua süsteemi, mis on võimeline ise õppima ilma välise sekkumiseta.

Ettevõte VisionLab esitles oma platvormi LUNA, mis suudab nägusid reaalajas ära tunda, valides need suurest piltide ja videote hulgast. Seda tehnoloogiat kasutavad tänapäeval suured pangad ja võrgujaemüüjad. LUNA abil saate võrrelda inimeste eelistusi ning pakkuda neile asjakohaseid tooteid ja teenuseid.

Venemaa ettevõte töötab sarnaste tehnoloogiate kallal N-Tech Lab. Samal ajal püüavad selle spetsialistid luua närvivõrkudel põhinevat näotuvastussüsteemi. Viimaste andmete kohaselt saab Venemaa tehnika määratud ülesannetega paremini toime kui inimene.

Stephen Hawkingi sõnul toob tehisintellekti tehnoloogiate areng tulevikus kaasa inimkonna surma. Teadlane märkis, et tehisintellekti kasutuselevõtu tõttu hakkavad inimesed järk-järgult manduma. Ja loomuliku evolutsiooni tingimustes, kui inimene peab ellujäämise nimel pidevalt vaeva nägema, viib see protsess paratamatult tema surma.

Venemaa suhtub tehisintellekti juurutamise teemasse positiivselt. Aleksei Kudrin väitis kunagi, et selliste tehnoloogiate kasutamine vähendab riigiaparaadi toimimise tagamise kulusid ligikaudu 0,3% SKP-st. Dmitri Medvedev ennustab tehisintellekti kasutuselevõtu tõttu mitmete ametite kadumist. Küll aga rõhutas ametnik, et selliste tehnoloogiate kasutamine toob kaasa teiste tööstusharude kiire arengu.

Maailma Majandusfoorumi ekspertide hinnangul kaotab 2020. aastate alguseks maailmas tootmise automatiseerimise tõttu töö umbes 7 miljonit inimest. Tehisintellekti kasutuselevõtt toob suure tõenäosusega kaasa majanduse ümberkujundamise ja mitmete andmetöötlusega seotud elukutsete kadumise.

Eksperdid McKinsey Nad ütlevad, et tootmise automatiseerimise protsess muutub aktiivsemaks Venemaal, Hiinas ja Indias. Nendes riikides kaotab tehisintellekti kasutuselevõtu tõttu peagi töö kuni 50% töötajatest. Nende asemele tulevad arvutisüsteemid ja robotid.

McKinsey sõnul asendab tehisintellekt füüsilise töö ja infotöötlusega seotud elukutsed: jaekaubandus, hotellipersonal jne.

Ameerika ettevõtte ekspertide sõnul väheneb selle sajandi keskpaigaks töökohtade arv kogu maailmas ligikaudu 50%. Inimeste kohad hõivavad masinad, mis on võimelised tegema sarnaseid toiminguid sama või suurema efektiivsusega. Samal ajal ei välista eksperdid võimalust, et see prognoos realiseerub enne määratud kuupäeva.

Teised analüütikud märgivad kahju, mida robotid võivad põhjustada. Näiteks toovad McKinsey eksperdid välja, et erinevalt inimestest robotid makse ei maksa. Sellest tulenevalt ei suuda riik eelarvetulude vähenemise tõttu taristut samal tasemel hoida. Seetõttu tegi Bill Gates ettepaneku kehtestada uus maks robottehnoloogiale.

AI-tehnoloogiad parandavad ettevõtete efektiivsust, vähendades tehtud vigade arvu. Lisaks võimaldavad need suurendada toimingute kiirust tasemeni, mida inimene ei suuda saavutada.

Tänaseks on meil kõik vajalikud tööriistad IT suurematele kiirustele nihutamiseks ja oma kultuuri edukaks arendamiseks uuel sajandil: meil on kiire internet, pilveteenused, nutiseadmed, ülivõimsad serverid ja kiiresti kasvav asjade internet. Mida peaksid ettevõtted sellisel juhul konkurentsieelise leidmiseks edasi tegema? Ja see on juba selge: nad lisavad tehisintellekti kaudu täiendavaid funktsioone. AI on nüüdseks lahutamatu osa enneolematult paljudest rakendustest ja objektidest: kantavad seadmed, autod, rakendused isikliku ja tööaja korraldamiseks; seda kasutatakse sõjaväes, tervishoius, koduses meelelahutuses – loetelu jätkub. Tehisintellekti populaarsuse kasvades võib aga selle ümber leviv hüpe organisatsioone segadusse ajada, takistades neil hoolikalt hinnata, millised AI-tehnoloogiad neile sobivad. Allpool kirjeldame Narratiiviteaduse vanemuurimiskonsultandi Chris Hammondi raamatu „Praktiline tehisintellekt for Dummies” jaoks kogutud tööstuse andmetel mõningaid näpunäiteid, mida turul saadaolevates ärilahendustes navigeerimisel meeles pidada.

Ettevõtlusjuhid, kes soovivad kasutada tehisintellekti konkreetsete äriprobleemide lahendamiseks, peavad hoolikalt uurima tehnoloogia spetsiifikat, et tagada nende valitud tehisintellekti sobivus probleemide lahendamiseks.

Saate aimu tegelikust probleemist, mis vajab lahendamist. Pidage meeles, et teie eesmärk on lahendada tegelikke äriprobleeme, mitte lihtsalt välja mõelda AI strateegia. Peate olema teadlik väljakutsetest, millega teie ettevõte praegu silmitsi seisab, teadma, kuidas neid lahendada, ja otsima selle protsessiga sobivat AI-tehnoloogiat.

Uurige, millised on teie võimalused. Vaadake asjakohaste teenuste turul ringi ja töötage kohusetundlikult läbi kõik sellel saadaolevad süsteemid. Tehisintellekt on muutunud moesõnaks, seega ettepanekuid on rohkem kui küll, kuid nende hulgast on vaja võimalikult varakult leida sobivad lahendused. Tehke oma uurimistööd, et teada saada, millised võimalused on teile saadaval.

Teadke andmete piiranguid. Keskenduge andmetele, mis teil on. Teil võib olla piisavalt andmeid, et teha mingisuguseid järeldusi või ennustusi, kuid ükski süsteem ei suuda mõelda kaugemale andmetest, mida te talle ette annate.

Mõistke oma ettevõtte vajadusi. Mõistke, mida täpselt vajate, ja kasutage seda juhisena sobiva tehnilise lahenduse otsimisel. Selle asemel, et alustada küsimusega "Kuidas ma peaksin AI-d kasutama?", vaadake esmalt probleeme. Ja pärast seda leidke tehnoloogiad, mis võivad sel juhul aidata.

AI ja masinõpe on kaks erinevat mõistet.Ärge ajage masinõpet tehisintellektiga segi. Selle põhimõtte on hästi välja öelnud suurandmete konsultant Bernard Marr: "Tehisintellekt on laiem mõiste, mis viitab masinate võimele täita ülesandeid viisil, mida me nimetaksime intelligentseks, samas kui masinõpe on praegu AI rakendusvaldkond. , mis põhineb ideel, et meie "Heas mõttes peaks olema võimalik lihtsalt pakkuda masinatele juurdepääsu teatud andmetele ja nad ise õpivad sellest."

Uurige välja parim kompromissvõimalus. Pidage alati meeles eri- ja üldotstarbeliste süsteemide plusse ja miinuseid. Iga süsteemi rakendusalade ulatus on otseselt võrdeline selle pealiskaudsusega. Näiteks kui süsteem mõistab kõiki keeli, on ebatõenäoline, et me räägime nende sügavast mõistmisest.

Tooge tehisintellekt oma tootmisprotsessi. Mõelge välja, kuidas integreerida oma süsteem tootmisprotsessi ja kes seda kasutama hakkavad.

AI nõuab endiselt inimese järelevalvet. AI ei saa edukalt töötada lihtsalt sellepärast, et see on "tark". Ta vajab kedagi, kes aitaks tal õppida. Sellega seoses pidage meeles, et tehisintellekti tehnoloogia ostmisel sõlmite partnerlussuhte inimese ja arvuti vahel.

Vaadake lähemalt abitehnoloogiat. Mõelge alati sellele, kuidas teie süsteemid sisemiselt ja väliselt suhtlevad. Näiteks kui soovite, et teie süsteemi väljund oleks kontrollitav või annaks järeldustele selgitusi, ei pruugi masinõppest üksi piisata. Kaaluge teisi tehisintellekti tehnoloogiaid, mida saab jälgida, kontrollida ja analüütiliste otsustega automaatselt teavitada, näiteks täiustatud loomuliku keele teksti genereerimise kaudu.

Tehke koostööd müüjatega, kes suudavad selgitada tehisintellekti olemust. Mäletate lugu alasti kuningast? Ärge laske end hirmutada müüjatest või IT-spetsialistidest, kes ütlevad, et nende tooted on liiga keerulised, et saaksite aru saada. Kui te ei saa aru, kuidas lahendus töötab, on põhjuseks see, et seda müüv ettevõte ei oska seda seletada, mitte sellest, et teil on raskusi selle mõistmisega.

Selleks, et tehisintellekt saaks teha tähendusrikkaid otsuseid, peab ta kuidagi tajuma keskkonda, milles ta satub. Lihtsates süsteemides võib see taju piirduda lihtsalt mängija objekti asukoha kontrollimisega. Keerulisemates süsteemides on vaja kindlaks määrata mängumaailma põhiomadused ja omadused, näiteks võimalikud liikumismarsruudid, looduslike varjupaikade olemasolu piirkonnas ja konfliktipiirkonnad.
Samal ajal peavad arendajad leidma viisi, kuidas tuvastada ja määratleda mängumaailma peamised omadused, mis on AI-süsteemi jaoks olulised. Näiteks maastiku katte võivad tasemekujundajad eelnevalt kindlaks määrata või tasemekaardi laadimisel või kompileerimisel eelnevalt välja arvutada. Mõned elemendid tuleb käigu pealt välja arvutada, näiteks konfliktikaardid ja läheduses olevad ohud.

Reeglipõhised süsteemid

Tehisintellekti lihtsaim vorm on reeglitel põhinev süsteem. Selline süsteem on tõelisest tehisintellektist kõige kaugemal. Eelmääratletud algoritmide komplekt määrab mänguobjektide käitumise. Arvestades tegevuste mitmekesisust, võib lõpptulemuseks olla kaudne käitumissüsteem, kuigi tegelikult poleks selline süsteem üldse "intelligentne".
Klassikaline mängurakendus, mis sellist süsteemi kasutab, on Pac-Man. Mängijat kummitavad neli kummitust. Iga kummitus tegutseb lihtsate reeglite järgi. Üks tont pöörab alati vasakule, teine ​​paremale, kolmas suvalises suunas ja neljas alati mängija poole. Kui kummitused ilmuksid ekraanile ükshaaval, oleks nende käitumist väga lihtne kindlaks teha ja mängija saaks nende eest kergesti põgeneda. Kuid kuna korraga ilmub neljast kummitusest koosnev rühm, näivad nende liigutused olevat mängija keerukad ja koordineeritud jälgimised. Tegelikult võtab mängija asukohta arvesse ainult viimane neljast kummitusest.


Pac-Mani kummitusi kontrollivate reeglite visuaalne esitus koos nooltega, mis tähistavad tehtavaid "otsuseid".

See näide viitab sellele, et reeglid ei pea olema karmid ja kiired. Need võivad põhineda tajutud olekul (nagu viimane kummitus) või objektide redigeeritavatel parameetritel. Sellised muutujad nagu agressiivsuse tase, julguse tase, nägemisulatus ja mõtlemiskiirus võimaldavad objektide mitmekesisemat käitumist isegi reeglipõhiseid süsteeme kasutades.

Keerulisemad ja intelligentsemad süsteemid kasutavad aluseks tingimusreeglite jadasid. Taktikalistes mängudes reguleerivad kasutatava taktika valikut reeglid. Strateegiamängudes reguleerivad reeglid ehitatavate objektide järjestust ja konfliktidele reageerimist. Reeglipõhised süsteemid on AI aluseks.

Seisumasinad kui AI

Lõpliku oleku masin (finite state machine) on viis modelleerida ja realiseerida objekti, millel on oma eluea jooksul erinevad olekud. Iga "seisund" võib esindada füüsilisi tingimusi, milles objekt asub, või näiteks objekti poolt väljendatud emotsioonide kogumit. Siin pole emotsionaalsetel seisunditel AI emotsioonidega mingit pistmist, need viitavad eelnevalt määratletud käitumismustritele, mis sobivad mängu konteksti.


Olekudiagramm tüüpilises olekumasinas, võimalikke olekumuutusi tähistavad nooled

Objektide süsteemiga piiratud olekumasina realiseerimiseks on vähemalt kaks lihtsat viisi. Esimene võimalus on see, et iga olek on muutuja, mida saab kontrollida (sageli suurte lülitijuhiste abil). Teine võimalus on kasutada funktsiooninäitajaid (C-s) või virtuaalseid funktsioone (C++ ja muud objektorienteeritud programmeerimiskeeled).

Adaptiivne AI

Kui mäng nõuab rohkem mitmekesisust, kui mängijal peab olema tugevam ja dünaamilisem vastane, siis AI-l peab olema võime areneda, kohaneda ja kohaneda.
Adaptiivset AI-d kasutatakse sageli võitlus- ja strateegiamängudes, millel on keeruline mehaanika ja palju erinevaid mänguvõimalusi.

Ennustus

Võimalus täpselt ennustada vastase järgmist käiku on adaptiivse süsteemi jaoks ülioluline. Järgmise toimingu valimiseks saab kasutada erinevaid meetodeid, näiteks varasemate käikude mustrite või juhuslike oletuste tuvastamist.
Üks lihtsamaid viise kohanemiseks on mineviku otsuste jälgimine ja nende edu hindamine. AI-süsteem salvestab mängija minevikus tehtud valikud. Kõiki minevikus tehtud otsuseid tuleb kuidagi hinnata (näiteks võitlusmängudes saab edu mõõdupuuks kasutada saavutatud või kaotatud eelist, kaotatud tervist või ajaeelist). Olukorra kohta saab koguda lisateavet, et luua konteksti otsuste tegemiseks, nagu suhteline tervislik seisund, varasemad toimingud ja tasemepositsioon (inimesed mängivad erinevalt, kui neil pole enam kuhugi tagasi pöörduda).
Ajalugu saab hinnata, et määrata kindlaks eelmiste toimingute edu ja otsustada, kas taktikat on vaja muuta. Enne eelmiste toimingute loendi loomist võib sihtmärk kasutada tavalist taktikat või tegutseda juhuslikult. Seda süsteemi saab siduda reeglipõhiste ja olekupõhiste süsteemidega.

Taktikalises mängus aitab mineviku lahingute ajalugu valida parima taktika, mida mängija meeskonna vastu kasutada, näiteks suudab tehisintellekt mängida kaitsvalt, valida ründavat taktikat, rünnata kõigest väest sõltumata kaotustest või võtta tasakaalukalt lähenemine. Strateegiamängus saad valida iga mängija jaoks optimaalse komplekti erinevaid armees olevaid lahinguüksusi. Mängudes, kus AI juhib mängijat toetavaid tegelasi, suudab adaptiivne tehisintellekt paremini kohaneda mängija loomuliku stiiliga, õppides nende tegevusi.

Taju ja tee leidmine

Siiani oleme rääkinud intelligentsete agentide kõige lihtsamatest otsustusmeetoditest; Seda nime kasutatakse tehisintellekti uuringutes tehisintellekti kasutavate objektide tähistamiseks. Järgmisena annan meie kangelasele (või koletisele või mis tahes muud tüüpi mänguobjektile) konteksti otsuste tegemiseks. Arukad agendid peavad tuvastama mängumaailmas huvipakkuvad valdkonnad ja seejärel mõtlema, kuidas sinna jõuda.

Siin jõuame juba päris tehisintellektile üsna lähedale. Kõik intelligentsed agendid vajavad põhioskust oma keskkonna tajumiseks ja mõningaid vahendeid ümbritsevas maailmas (reaalses või muus) navigeerimiseks ja liikumiseks. Meie mänguobjektid nõuavad sama asja, kuigi lähenemine on väga erinev. Samuti on võimalik mängumaailmaga petta ja seda tuleb teha, et asjad toimiksid kiiresti ja sujuvalt.

Kuidas AI ümbritsevat maailma tajub

Nägemus

Kui teie agent teeb arukaid otsuseid, peavad nad teadma, mis nende ümber toimub. Robootikas kasutatavates tehisintellektisüsteemides on märkimisväärne hulk uuringuid pühendatud arvutinägemisele: robotid saavad võime tajuda ümbritsevat maailma, kasutades 3D-mahulist nägemist samamoodi nagu inimesed. Kuid meie eesmärkide jaoks on see täiuslikkuse tase muidugi liigne.

Virtuaalsetel maailmadel, kus enamik mänge toimub, on tehisintellekti ja selle tajumise osas tohutu eelis reaalse maailma ees. Erinevalt reaalsest maailmast teame sõna otseses mõttes kõike, mis virtuaalses maailmas eksisteerib: kuskil mängu ressursside hulgas on nimekiri, mis loetleb kõik mängus eksisteeriva. Saate sellest loendist otsida seda, mida otsite, ja saada kohe teavet, mida teie agent saab kasutada teadlikumate otsuste tegemiseks. Sel juhul võite peatuda esimese objekti juures, mis teie agendile huvi pakub, või hankida kõigi antud vahemikus olevate objektide loend, et agent saaks teha ümbritseva maailma kohta parima otsuse.

See lähenemine sobib hästi lihtsate mängude jaoks, kuid kuna mängustiil muutub keerulisemaks, peavad teie agendid olema valivamad selle osas, mida nad "näevad". Kui te ei soovi, et agendid käituksid nii, nagu neil oleks silmad kuklas, saate proovi võtta agendi vaateväljas olevate potentsiaalsete objektide loendist. Seda saab lihtsa matemaatika abil üsna kiiresti teha.

  1. Arvutage agendi ja sihtobjekti vaheline vektor, lahutades sihtmärgi asukoha agendi asukohast.
  2. Arvutage nurk selle vektori ja agendi vaatamissuuna vahel.
  3. Kui nurga absoluutväärtus on suurem kui agendi vaatevälja määratud nurk, siis teie agent ei näe objekti.
Keerulisemates mängudes tuleb arvestada sellega, et mängija või muud esemed võivad olla mingisuguse katte taga. Selliste mängude jaoks võib osutuda vajalikuks konstrueerida jooksvaid kiiri (nn ray casting meetod), et teada saada, kas võimalik sihtmärk on millegagi blokeeritud. Kiirte läbimine on matemaatiline viis testida, kas kiir lõikub objektidega, alustades ühest punktist ja liikudes kindlas suunas. Kui soovite konkreetse näite abil täpselt teada saada, kuidas seda tehakse, vaadake artiklit Üks pea on hea, aga kaks on parem.

Ülalkirjeldatud meetod annab teile teada, kui miski blokeerib sihtmärgi keskpunkti, kuid sellest ei pruugi piisata oma agendi peitmiseks. Lõppude lõpuks võib juhtuda, et agendi keskpunkt on peidetud, kuid tema pea paistab kõige mugavamal viisil (vaenlase jaoks) katte kohal. Konkreetsetele sihtpunktidele suunatud mitme liikuva kiirte kasutamine aitab kindlaks teha mitte ainult seda, kas sihtmärki saab tabada, vaid ka seda, kus täpselt sihtmärki saab tabada.

Kuulmine

Tundub, et kuulmisel ja nägemisel pole suurt vahet. Kui sa näed objekti, siis kuulete seda kindlasti. On tõsi, et kui teie agent on objekti märganud, saab agent aktiivselt tuvastada kõiki objekti tegevusi, kuni objekt on vaateväljast kadunud. Kui aga lisate agentidele täiendava kuulmise taseme, töötab nägemine tõhusamalt. Objektide tekitatud müra jälgimine on igasuguste hiilivate mängude tajumise kriitiline tase.

Nagu nägemise puhul, peate esmalt hankima loendi läheduses asuvatest objektidest. Selleks saate jällegi lihtsalt kaugust kontrollida, kuid vajalike objektide valimine sellest loendist toimub hoopis teistmoodi.

Igal toimingul, mida objekt saab sooritada, on sellega seotud konkreetne helitase. Saate helitasemeid eelseadistada (mängu tasakaalu optimeerimiseks) või arvutada need teatud toimingutega seotud heliefektide tegeliku energia põhjal (see võimaldab kõrgel tasemel realistlikkust, kuid pole tõenäoliselt vajalik). Kui tekitatav heli on määratud läviväärtusest valjem, märkab teie agent heli tekitavat objekti.

Kui teil on vaja arvestada takistustega, saate jällegi vähendada objektide loendit ja teha rändkiirte abil kindlaks, kas heli teel on takistusi. Kuid vähesed materjalid on täielikult helikindlad, nii et peate loendi kitsendamisel olema loomingulisem.

Põhifunktsioone, mis on vajalikud agentidele nägemise ja kuulmise andmiseks, saab kasutada ka teiste meelte simuleerimiseks. Näiteks haistmismeel. (Võimalus jälgida mängijaid intelligentsete lõhnaainetega on olemas tänapäevastes mängudes, nagu Call of Duty 4*). Lõhnameele lisamine mängule pole eriti keeruline: piisab, kui määrata igale mänguobjektile eristav lõhnanumber ja selle intensiivsus. Lõhna intensiivsuse määravad kaks tegurit: lõhna raadius ja järelejäänud lõhnajälje tugevus. Aktiivsed mängijaobjektid jälgivad sageli oma eelmisi positsioone mitmel põhjusel. Üks neist põhjustest võib olla lõhnaga esemete kasutamine. Aja jooksul raja lõhna tugevus väheneb ja rada "jahtub". Kui agendi lõhnaandmed muutuvad, peab ta lõhna olemasolu kontrollima samamoodi nagu heli olemasolu (võttes arvesse raadiust ja takistusi). Lõhna õnnestumine arvutatakse lõhna intensiivsuse ja aine lõhnataju tugevuse põhjal: neid väärtusi võrreldakse objekti ja selle jäljega.
Esialgu toetatakse mängudes puutetundlikkust, kuna igal mängul on juba süsteem objektide kokkupõrgete automaatseks töötlemiseks. Piisab sellest, et intelligentsed agendid reageerivad kokkupõrgetele ja kahjustustele.

Võime tajuda meid ümbritsevat maailma on suurepärane, kuid mida täpselt peaksid agendid tajuma? Agendi seadetes on vaja määrata ja tuvastada tajutavad asjad. Kui olete nähtu ära tundnud, saavad agendid reageerida seda objekti reguleerivate reeglite alusel.

Ajutised objektid

Neid nimetatakse mõnikord osakesteks, spraitideks või eriefektideks. Ajutised objektid on mängumaailmas visuaalsed efektid. Ajutised objektid sarnanevad tavaobjektidega selle poolest, et üks ühine klassistruktuur määratleb need kõik. Erinevus seisneb selles, et ajutised objektid ei mõtle, ei reageeri ega suhtle teiste objektidega mängumaailmas ega üksteisega. Nende ainus eesmärk on kena välja näha, korraks maailma detaile täiustada ja siis kaduda. Ajutisi objekte kasutatakse selliste efektide jaoks nagu kuulijäljed, suits, sädemed, verepritsmed ja isegi jalatsijäljed maapinnal.

Tulenevalt ajutiste objektide olemusest ei nõua need märkimisväärsel hulgal arvutusi ja kokkupõrgete tuvastamist (v.a. väga lihtsad kokkupõrked keskkonnaga). Probleem on selles, et mõned ajutised objektid annavad mängijale visuaalseid vihjeid hiljuti toimunud sündmuste kohta. Näiteks võivad kuuliaugud ja põletusjäljed viidata sellele, et hiljuti on toimunud lahing; jalajäljed lumes võivad viia potentsiaalse sihtmärgini. Miks ei võiks intelligentsed agendid selliseid vihjeid kasutada?

Seda probleemi saab lahendada kahel viisil. Saate ajutiste objektide süsteemi laiendada, lisades rändkiirte toe (aga see moonutab kogu ajutiste objektide süsteemi tähendust) või petta: asetage tühi objekt ajutistest objektidest kaugele. See tühi objekt ei saa mõelda ega ole sellega seotud graafilisi elemente, kuid teie agendid saavad selle tuvastada ja ajutisel objektil on seotud teave, mida teie agent saab hankida. Seega, kui joonistate põrandale ajutise vereloigu, saate sinna asetada ka nähtamatu objekti, mis annab teie agentidele teada, et seal on midagi juhtunud. Mis puudutab sõrmejälgi: see probleem on jälje abil juba lahendatud.

Varjupaik

Paljudes tulistamismängudes oleks tore, kui agendid saaksid peitu peita, kui üks läheduses on, selle asemel, et lihtsalt vaenlase tule all lagedal seista. Kuid see probleem on mõnevõrra keerulisem kui kõik eespool loetletud probleemid. Kuidas saavad agendid kindlaks teha, kas läheduses on sobivaid peidukohti?


Penny Arcade* kunstnikud kirjeldavad satiiriliselt vaenlase tehisintellekti ja kaane probleemi

See probleem koosneb tegelikult kahest ülesandest: esiteks peab see ümbritseva maailma geomeetria põhjal varjupaigad õigesti ära tundma; Teiseks peate ümbritseva maailma objektide põhjal varjualused õigesti ära tundma (nagu ülaltoodud koomiksis näidatud). Et teha kindlaks, kas kate on võimeline kaitsma rünnakute eest, võib lihtsalt võrrelda agendi piirdekasti suurust üks kord võimaliku katte mõõtmetega. Seejärel peaksite kontrollima, kas teie objekt mahub selle kaane taha. Selleks peate oma laskuri ja katte asendi erinevustest kiiri tõmbama. Seda kiirt kasutades saate määrata, kas katte taga olev koht on vaba (laskja poolelt vaadatuna) ja seejärel märkida see koht agendi järgmiseks sihtmärgiks.


Sellel diagrammil tegi meie agent kindlaks, et rohelise tärniga tähistatud koht on turvaline varjumiskoht

AI navigeerimine

Siiani oleme rääkinud sellest, kuidas AI teeb otsuseid ja kuidas tehisintellekt õpib ümbritsevas maailmas toimuvat (et teha paremaid otsuseid). Nüüd vaatame, kuidas AI oma otsuseid täidab. Pärast otsuse tegemist peab intelligentne agent mõistma, kuidas liikuda punktist A punkti B. Selleks saate kasutada erinevaid lähenemisviise, valides optimaalse, sõltuvalt mängu iseloomust ja soovitud jõudluse tasemest.

Algoritm, mida tavaliselt nimetatakse Põrkuge kokku ja pöörake, on üks lihtsamaid viise objekti marsruudi moodustamiseks. See toimib järgmiselt.

  1. Kui jooksete vastu seina, pöörake selles suunas, mis on teie sihtmärgile kõige lähemal. Kui ühelgi saadaolevatest valikutest pole ilmseid eeliseid, tehakse valik meelevaldselt.
See lähenemine sobib hästi lihtsate mängude jaoks. Tõenäoliselt ei suuda ma isegi kokku lugeda, mitu mängu koletised seda algoritmi mängija leidmiseks kasutavad. Kuid kui kasutate algoritmi Põrgamine ja pööramine, lukustuvad mängijat jahtivad objektid nõgusate seinte taha või nurkade taha. Seetõttu sobib selline algoritm ideaalselt ainult zombidega mängude jaoks või mängude jaoks ilma seinte ja muude takistusteta.

Kui mängus olevad agendid peavad tegutsema vähem rumalalt, saame laiendada lihtsat kokkupõrkesündmust ja varustada agentidega mälu. Kui agendid mäletavad, kus nad on juba olnud, saavad nad teha targemaid otsuseid, kuhu järgmisena pöörduda. Kui pöörded kõigis võimalikes suundades ei too edu, saavad agendid tagasi minna ja valida teise marsruudi. Seega otsivad agendid süstemaatiliselt teed eesmärgini. See toimib järgmiselt.

  1. Liikuge eesmärgi poole.
  2. Kui tee hargneb, valige üks võimalikest suundadest.
  3. Kui tee viib ummikusse, minge tagasi viimasesse hargnemiskohta ja valige teine ​​suund.
  4. Kui kõiki võimalikke teid on kasutatud tulutult, loobuge edasisest otsingust.
Selle meetodi eeliseks on arvutusressursside väike koormus. See tähendab, et saate toetada suurt hulka liikuvaid agente ilma mängu aeglustamata. See meetod võib ära kasutada ka mitme keermega arhitektuuri. Negatiivne külg on see, et see raiskab tohutul hulgal mälu, kuna iga agent suudab jälgida kogu võimalike teede kaarti.

Mälu raiskamist saab aga vältida, kui agendid salvestavad jälgitavad teed ühismällu. Sel juhul võivad tekkida probleemid lõimekonfliktide tõttu, seega soovitame objektiteed salvestada eraldi moodulisse, kuhu kõik agendid saadavad päringuid (liikumisel) ja uuendatud andmeid (uute teede avastamisel). Teekaardi moodul suudab saadud teavet analüüsida, et vältida konflikte.

Võimaluste leidmine

Kaardid, mis loovad radu, kasutades algoritmi Collide and Rotate, võimaldavad teil kohaneda muutuvate kaartidega. Kuid strateegiamängudes ei jõua mängijad ära oodata, kuni nende väed marsruudid välja mõtlevad. Lisaks võivad teekaardid olla väga suured ja sellistel kaartidel õige tee valimine kulutab palju ressursse. Sellistes olukordades tuleb appi teeotsingu algoritm.

Teede leidmist võib mänguarenduses pidada pikaks ja edukalt lahendatud probleemiks. Isegi nii vanades mängudes kui legendaarse mängu Starcraft* (Blizzard Entertainment*) esimene versioon võisid tohutul hulgal mänguobjekte määrata liikumisteed suurtel ja keerukatel kaartidel.

Sõiduteede määramiseks kasutatakse algoritmi nimega A* (hääldatakse e-täht). Selle abil saate graafikul (antud juhul kaardil) leida optimaalse tee mis tahes kahe punkti vahel. Lihtne Internetiotsing toob välja puhta algoritmi, mis kasutab väga "selgeid" kirjeldavaid termineid nagu F, G ja H. Nüüd püüan seda algoritmi arusaadavamalt kirjeldada.

Kõigepealt peate looma kaks loendit: veel kontrollimata sõlmede loend (Mitte märkimata) ja juba kontrollitud sõlmede loend (Checked). Iga loend sisaldab asukohasõlme, hinnangulist kaugust sihtmärgist ja viidet põhiobjektile (sõlm, mis sõlme loendisse paigutas). Esialgu on nimekirjad tühjad.

Nüüd lisame lähtekoha märkimata loendisse ilma vanemana midagi määramata. Seejärel tutvustame algoritmi.

  • Valige loendist sobivaim sõlm.
  • Kui see sõlm on sihtmärk, siis olete valmis.
  • Kui see sõlm ei ole sihtmärk, lisage see märgitud sõlmede loendisse.
  • Iga selle sõlmega külgneva sõlme jaoks.
    • Kui see sõlm on läbimatu, ignoreerige seda.
    • Kui see sõlm on juba mõnes loendis (märgitud või märkimata), ignoreerige seda.
    • Vastasel juhul lisame selle kinnitamata sõlmede loendisse, määrame praeguse sõlme emasõlmeks ja arvutame eesmärgini viiva tee pikkuse (piisab lihtsalt kauguse arvutamisest).
Kui objekt jõuab sihtväljale, saab raja konstrueerida, jälgides vanemsõlmed tagasi sõlmeni, millel pole vanemat (see on lähtesõlm). Sel juhul saame optimaalse tee, mida mööda objekt saab liikuda.
See protsess toimib ainult siis, kui agent saab tellimuse või teeb otsuse iseseisvalt liikuda, seega saab siin mitmelõimelist kasutamist suureks eeliseks kasutada. Agent saab saata raja leidmise lõimele päringu avastatud tee toomiseks ilma tehisintellekti jõudlust mõjutamata. Enamikul juhtudel suudab süsteem tulemusi kiiresti pakkuda. Suure hulga teepäringute laadimisel võib agent kas oodata või ilma teede tagastamist ootamata lihtsalt soovitud suunas liikuma hakata (näiteks kasutades kokkupõrke ja pöörde algoritmi). Väga suurtel kaartidel on võimalik süsteem piirkondadeks jagada ja eelnevalt välja arvutada kõik võimalikud teed piirkondade (või teekonnapunktide) vahel.
Sel juhul leiab rajaleidja lihtsalt parima tee ja tagastab tulemused kohe. Teekaardi lõime saab lihtsalt jälgida kaardi muudatusi (näiteks kui mängija ehitab müüri) ja seejärel vajadusel uuesti raja kontrollida. Kuna see algoritm töötab oma lõimel, saab see kohanduda ilma ülejäänud mängu jõudlust mõjutamata.

Mitme lõimega kasutamine võib parandada jõudlust isegi teeotsingu alamsüsteemis. Seda lähenemisviisi kasutatakse laialdaselt kõigis reaalajas strateegiates (RTS) ja süsteemides, kus on palju objekte, millest igaüks püüab leida potentsiaalselt ainulaadset teed. Erinevates voogudes võib korraga leida mitu teed. Loomulikult peab süsteem jälgima, millised teed avastatakse. Piisab, kui avastate iga tee ainult üks kord.

Näidiskood

Siin on näide C-s rakendatud A* algoritmist. Lihtsuse huvides eemaldasin sellest näitest tugifunktsioonid.
See näide põhineb mängukaardil ristkülikukujulise koordinaatide ruudustiku kujul, mille iga väli võib olla läbitav või läbimatu. Ülaltoodud algoritm toetab ainult külgnevale väljale liikumist, kuid väiksemate muudatustega saab seda kasutada diagonaalis liikumiseks ja isegi mängudes, kus tasemekaardid koosnevad kuusnurksetest väljadest.

/*Get Path tagastab tõrke korral väärtuse -1 või tee kauguse arvu, kui tee leitakse, määratakse tee poolt osutatav massiiv teega punktides*/ int GetPath(int sx,int sy,int gx ,int gy,int meeskond,Punkt *tee,int pathlen) ( int u,i,p; memset(&Checked,0,sizeof(Märgistatud)); memset(&Märkimata,0,sizeof(Märkimata)); Märkimata.s.x = sx; Märkimata.s.y = sy; Märkimata.d = abs(sx - gx) + abs(sy - gy); Märkimata.p.x = -1; Märkimata.p.y = -1; Märkimata.kasutatud = 1; Märkimata.sammud = 0;
Ülaltoodud koodilõik tegeleb kontrollitud ja kontrollimata sõlmede loendi lähtestamisega ning asetab alustava sõlme kontrollimata loendisse. Pärast seda töötab ülejäänud algoritm tsüklina.

Do ( u = GetBestUnchecked(); /*add */ AddtoList(Märgitud,Märgistamata[u]); if((Märkimata[u].s.x == gx)&&(Märgistamata[u].s.y == gy)) ( paus ;)
Ülaltoodud koodilõik analüüsib märkimata loendist pärit sõlme, mis on sihtmärgile kõige lähemal. Funktsioon GetBestUnchecked() kontrollib iga sõlme hinnangulist kaugust sihtmärgini. Kui see väli on sihtmärk, katkeb tsükkel ja protsess on lõpule viidud.

Allpool näete, kuidas kaugust arvutatakse: võtke hinnanguline kaugus sihtmärgini X- ja Y-suunas ning liidage need kokku. Sel juhul võiksite kasutada Pythagorase teoreemi (jalgade ruutude summa võrdub hüpotenuusi ruuduga), kuid see pole vajalik. Peame saama ainult kauguse suhtelise väärtuse, mitte selle täpse väärtuse. Protsessorid töötlevad liitmist ja lahutamist kordades kiiremini kui korrutamist, mis omakorda on palju kiirem kui jagamine. See koodijupp jookseb igas kaadris mitu korda, seega seame optimeerimise esiplaanile.

/*paani vasakule*/ if((Märkimata[u].s.x - 1) >= 0)/*esmalt, veenduge, et oleme kaardil*/ ( if((IsInList(Märkimata,Märgistamata[u] .s.x - 1,Märgimata[u].s.y,NULL) == 0)&&(IsInList(Märgitud,Märgimata[u].s.x - 1,Märgimata[u].s.y,NULL) == 0)) /*make veenduge, et me otsingut ei korda u ].s.y, Märkimata[u].s.x, Märkimata[u].s.y, abs((Märgistamata[u].s.x - 1) - gx) + abs(Märkimata[u].s.y - gy), Märkimata[u ] .sammud + 1); ) )
Ülaltoodud jaotises sõelub funktsioon praegusest sõlmest vasakul asuva välja. Kui seda välja pole veel kinnitatud või kinnitamata loendis, proovib funktsioon selle loendisse lisada. TileValid()- veel üks funktsioon, mida tuleb mängu jaoks kohandada. Kui ta läbib kontrolli TileValid(), siis ta helistab NewToList() ja uus asukoht lisatakse kinnitamata loendisse. Järgmised koodilõigud kordavad sama protsessi, kuid eri suundades: paremale, ülalt ja alla.

/*paan paremale*/ if((Märkimata[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)/*esmalt veenduge, et oleme kaardil*/ ( if((IsInList(Märkimata,Märgistamata[u].s.x ,Märgistamata[u].s.y - 1,NULL) == 0)&&(IsInList (Märgitud,Märgistamata[u].s.x,Märkimata[u].s.y - 1,NULL) == 0)) /*veenduge, et me ei kordaks otsingut*/ ( if(TileValid(Unchecked[u].s.x ,Märgistamata[u].s.y - 1,tiim)) NewtoList(Märkimata,Märgimata[u].s.x,Märgimata[u].s.y - 1, Märkimata[u].s.x, Märkimata[u].s.y, abs(Märkimata) [u].s.x - gx) + abs((Märkimata[u].s.y - 1) - gy), Märkimata[u].steps + 1; ) ) memset(&Märkimata[u],0,sizeof(PNode) );

Viimane asi, mida selles iteratsioonis teha tuleb, on praegune sõlm märkimata loendist eemaldada. Seda valdkonda pole vaja uuesti analüüsida.
) while(1) ;

Viimane koodiosa konstrueerib kontrollitud loendist tee, naastes algsesse asukohta. Tee algsesse asukohta saab alati leida, sest iga teekonna sõlm jälgib oma emasõlme. Seejärel tagastatakse saadud tee (lingi abil). Funktsioon tagastab uue tee pikkuse.
IsInList(Märgitud,Märgimata[u].s.x,Märgistamata[u].s.y,&u); p = Kontrollitud [u]. sammud; if(tee != NULL) ( for(i = (p - 1);i >= 0;i--) ( tee[i].x = kontrollitud[u].s.x; tee[i].y = kontrollitud [u].s.y; IsInList(Märgitud,Kontrollitud[u].p.x,Kontrollitud[u].p.y,&u; ) ) tagastab p; )

Taktikaline ja strateegiline AI

Nüüd on aeg rääkida sellest, kuidas agentidele keerukamaid korraldusi anda. Agendid peavad õppima toime tulema olukorraga, millesse nad satuvad. See tähendab, et liigume edasi tehisintellekti poole, mis on võimeline töötama laiemate eesmärkidega ja tajuma olukorda suuremas plaanis.

Taktikaline AI

Taktikalise tehisintellekti ülesanne on koordineerida agentide rühmade jõupingutusi mängus. Rühmad on tõhusamad, kuna grupiliikmed saavad üksteist toetada, tegutseda üksusena, jagada teavet ja jagada tegevusi teabe hankimiseks.
Taktikalise tehisintellekti põhimõte on üles ehitatud rühmadünaamikale. Mäng peab jälgima erinevaid objektide rühmi. Iga gruppi tuleb värskendada üksikutest objektidest eraldi. Selleks saate kasutada spetsiaalset värskendajat, mis jälgib erinevaid rühmi, nende eesmärke ja koosseisu. Selle meetodi puuduseks on see, et see nõuab mängumootori jaoks eraldi süsteemi väljatöötamist. Seetõttu eelistan kasutada meeskonnajuhi meetodit.

Ühele rühmasisesele üksusele saab määrata rühmaülema rolli. Kõik teised rühmaliikmed on seotud oma ülemaga, nende käitumise määrab ülema korraldustest saadud info. Meeskonna juht tegeleb kõigi taktikaliste AI arvutustega kogu rühma jaoks.

Rühma liikumine: viiside leidmine

Objektide liikumist saab parandada rühmadünaamika abil. Kui mitu agenti tegutsevad ühe üksusena, saab nende liikumist muuta tõhusamaks ja realistlikumaks.
Raja leidmine võib võtta kaua aega isegi siis, kui seda kiirendavad eelarvutatud teekaardid ja mitme lõimega AI. Grupi dünaamika võib oluliselt vähendada teeotsingu süsteemi tekitatud koormust.

Kui üksuste rühmale antakse liikumiskäsk (mängija või tehisintellekti poolt), määratakse sihtmärgile lähim üksus rühma ülemaks ja kõik teised rühmaliikmed järgivad ülemat. Meeskonnajuhi värskendamisel küsib ta teesüsteemi. Kui tee on olemas, hakkab rühmajuht eesmärgi poole liikuma. Kõik teised rühma üksused võivad lihtsalt järgida oma juhti.
Korrapärasemaks liikumiseks kasutatakse formeerimist. Formatsiooni kasutamisel liigub rühm korrapäraselt, näiteks falanksi või kolmnurga formatsioonis.


Mängus Overlord tegutsevad reamehed (punased) ühe meeskonnana ja liiguvad formatsioonis mängija (soomustatud sõdalase) käsul.

Formeeringu juhtimine on väga lihtne, selleks piisab rühmaülema tegevuse ulatuse pisut laiendamisest. Iga formatsiooni üksus täidab kindlat rolli. Formeerimise käigus määratakse igale rühmaliikmele koht koosseisus samamoodi, nagu ühele üksusele määratakse rühmajuhi roll. Iga üksuse eesmärk on säilitada oma positsioon teistest rühmaliikmetest suhteliselt kaugel.
Võtame näiteks mängu Overlord eraisikud. Nad liiguvad kolmnurkselt. Alloleval joonisel peaks marsruudil liikuma ainult meeskonna juht (tähistatud tähega “C”). Üksus 1 järgib ühikut C sama kiirusega tagant ja veidi vasakule. Üksus 2 jälgib ja järgib üksust 1, liikudes veidi küljele. Üksus 3 teeb sama, mis üksus 1, kuid järgib ülema asemel üksust 1. Kõik rühma liikmed järgivad seda järjekorda.


Kolmnurkse moodustumise järjekord

Grupi taktika

Taktika ei piirdu muidugi formatsioonis marssimisega, vaid hõlmab ka toetamist ja võitlust rühmana ühtse meeskonnana. Ülem võtab endale vastutuse meeskonna töö planeerimise ja koordineerimise eest. Lõpuks vastutab ülem kõigi oma meeskonna alluvate elude eest.
Grupitaktika rakendamiseks saab kasutada varem kirjeldatud süsteeme, näiteks reeglipõhiseid süsteeme või olekumasinaid. Tüüpilised näited grupi käitumisest mängudes: ravitoetus (meedikud viibivad üksuste läheduses, mida kõige tõenäolisemalt rünnatakse), luure, tule katmine, ohverdamine (väärtuslike üksuste sõelumine vähemväärtuslikega)


Id Software* ja Splash Damage, Ltd.* mängudes Enemy Territory Quake Wars on viis klassi, mis täidavad rühmadünaamikas erinevaid rolle.

Lisaks võib rühmas olla kasulik ka teine ​​analüüsitase – iga rühmaliikme võimekuse analüüs. Ülemal on oluline teada, millistes olukordades saab rühm olla efektiivne, millal saab rühm eelise ja millal peaks rühm taanduma.
Näiteks Blizzardi reaalajas strateegiamängus Starcraft* on maaväed ja lendavad väed. Kuid mitte kõik maavägede tüübid ei saa lendavate vägede pihta tulistada. Rühma jaoks on oluline teada, et see võimalus on olemas. Kui rühmas pole ühtegi lendavate üksuste pihta tulistamiseks võimelist üksust, on lendava üksuse tuvastamisel kõige parem põgeneda. Kuid kui rühmas on üksusi, mis suudavad tabada lendavat vaenlast, isegi kui selliseid üksusi on vähe, on parem mitte taganeda, vaid peatuda ja kaitsta (kui sellel rühmal on abiüksused, mis suudavad õhku tulistajaid ravida sihtmärgid).

Olenevalt erinevate võimete olemasolust ja selliste võimetega üksuste arvust saab hinnata rühma lahinguvõimet erinevates olukordades. Rühmad, kes neid tegureid arvesse võtavad, võitlevad palju tõhusamalt.

Strateegiline AI

Strateegiline AI on kõrgema järgu AI, see juhib tervet armeed ja töötab välja optimaalseid strateegiaid.
Strateegilist tehisintellekti kasutatakse tavaliselt reaalajas strateegiamängudes, kuid viimasel ajal hakatakse seda üha enam rakendama ka taktikalistes esimese isiku laskurites. Mängija juhitav komandör võib olla eraldi süsteem või selle saab seadistada tühja objektina, millel pole ruumi ega graafikat, kuid mis on värskendatud ja peegeldav.

Ülemad alluvad hierarhilistele reeglisüsteemidele ja olekumasinatele, mis juhivad selliseid tegevusi nagu ressursside kogumine, tehnikapuu uurimine, armee ehitamine jne. Tavaliselt ei nõua mänguelementide põhihooldus eriti keerulist mõtlemist. Intelligentsust on vaja peamiselt teiste mängijatega suhtlemisel.

Selle suhtluse (või võitluse) haldamine on see, kus tehisintellekt töötab peamiselt. Ülem peab uurima mängukaarti, et leida mängija asukoht, tuvastada peamised huvipakkuvad alad, nagu kitsad käigud, ehitada kaitsemehhanisme ja analüüsida teise mängija kaitsemehhanisme. Kuidas seda täpselt teha? Sellele küsimusele pole selget vastust, kuid otsustuskaarte saab kasutada asjade lihtsustamiseks.
Otsustuskaardid
Otsustuskaardid on kahemõõtmelised massiivid, mis on ligikaudsed mängukaardile. Iga massiivilahter vastab konkreetsele mängualale ja sisaldab selle piirkonna kohta olulist teavet. Need kaardid aitavad strateegilisel tehisintellektil teha mängu kui terviku kohta arukaid otsuseid.

Ressursikaardid

Ressursikaardid sisaldavad teavet ressursside asukoha kohta strateegiamängus. Andmed ressursside kontsentratsioonide asukohtade kohta kaardil võivad mõjutada paljusid komandöri otsuseid. Kuhu laiendada baasi, kuhu paigutada lisabaase (ressursid komandöri baasi lähedal), kus vaenlane tõenäoliselt oma territooriumi laiendab (ressursid vaenlase baasi lähedal), millistes kohtades on kokkupõrked ressursside omamise pärast kõige tõenäolisemad ( ressursid nende baasi ja baasvaenlase vahel).

Võimalike saadaolevate ressursside arvu kohta teabe saamine mõjutab ka otsuseid selle kohta, milliseid üksusi tuleks toetada ja kuidas armeed paigutada. Kui ressursse napib, peaksite iga üksust ettevaatlikumalt kasutama, kuna täiendamise saamise võimalus on väiksem. Kui ressursse on liiga palju, saate kasutada odavate üksuste massilise loomise või kallite võimsate seadmete loomise strateegiaid.

Objektiivsed kaardid

Need kaardid sisaldavad infot komandöri eesmärkide kohta, näiteks vaenlase baaside asukohta, sihtide asukohta kaardil (õhata objekt selline ja selline, kaitsta objekti nii ja naa, häkkida seal arvutisse jne). ja meie komandöri armee olulisemad üksused (peabaas, kangelaste üksused jne). Selle teabe jälgimine aitab ülemal oma armeed tõhusamalt juhtida. Kaitsmist vajavad kohad peaksid olema ümbritsetud kaitserajatistega ja nende läheduses peaksid alati paiknema väed. Rünnatavaid sihtmärke tuleks uurida ja uurida, kuidas neid kaitstakse. Sihtmärkide ümber ehitatud kaitsemehhanismide analüüs on vajalik, et töötada välja optimaalne viis nende kaitsemehhanismide ületamiseks. Nende andmete põhjal moodustub kõigi sõjamängude nurgakivi – konfliktikaardid.
Konfliktide kaardid
Konfliktide kaarte kasutatakse ja uuendatakse palju sagedamini kui kõiki ülaltoodud kaarte. Konfliktikaardid jälgivad kõiki lahinguid antud mängutasemel. Iga kord, kui üks ülema üksus võtab vaenlase vastu, värskendab see üksus konfliktikaarti, edastades selliseid andmeid nagu konflikti tüüp, tugevus, võimed ja üksuste arv.
Selle teabe analüüs aitab teha vajalikke järeldusi paigutatud kaitse ja rünnaku efektiivsuse ning vajalike vastumeetmete (lisaüksuste kaasamine) kohta.


Näide konfliktikaardist, kui see on üle kantud kohalikule kaardile. Mida punasem on värv, seda rohkem on konflikte

Kaartide loomine ja kasutamine

Ütlesin varem, et kaarte koostavad komandöri armee üksused. Tehisintellekti reguleerivad reeglid peaksid sisaldama skautide väljasaatmist võimalikult varakult, et kaardilooming saaks alata. Läbimõeldud tehisintellekt kontrollib perioodiliselt kaartide asjakohasust. Mängu algfaasis, kui kaarte toetavad vaid mõned üksused, ei tohiks värskendus mängumootorile märkimisväärset koormust tekitada. Mängu hilisemates etappides, kui kümned või sajad üksused annavad samaaegselt teavet, võib jõudlus väheneda.

Otsustuskaartide kiiret uuendamist pole aga nii keeruline saavutada. Piisab, kui paigutada otsustuskaartide süsteem eraldi lõime. Ideaalis peaks igal AI-ga juhitaval mängijal olema oma lõim, et töödelda oma otsustuskaarte. Märkimisväärne jõudluse kasv saavutatakse, kui kõik objektid on juba jagatud mitmeks lõimeks. Otsustuskaartidega lõimed töötlevad ainult paralleelsete objektide värskendussõnumite päringuid.

Parim AI mõju: vootöötlus

Ükskõik kui suurepärane teie tehisintellekti süsteem ka poleks, pole sellest kasu, kui see mängu aeglustab. Tõhus programmeerimine ja mitmesugused optimeerimistehnikad annavad teatud kiirust, kuid nendest meetmetest üksi ei piisa.


Blizzard Entertainmenti Starcraft* II-s töötab korraga suure hulga üksuste tehisintellekt. Selleks on kõige parem kasutada mitme keermega arhitektuuri

Kui töötate mitme protsessoriga süsteemiga (mitmetuumaline protsessor), saate töö nende vahel ära jagada. Selleks on kaks võimalust: ülesannete paralleelsus (funktsionaalne paralleelsus) ja andmete paralleelsus.

Ülesannete paralleelsus

Lihtsaim viis rakenduse kohandamiseks mitme lõimega arhitektuuriga on jagada see eraldi ülesanneteks.


Funktsionaalne paralleelsus võimaldab igal alamsüsteemil kasutada oma lõime ja tuuma

Tüüpiline näide on mängumootori helisüsteem. Heli ei pea suhtlema teiste süsteemidega: see süsteem teeb ainult üht – taasesitab nõudmisel helisid ja nende kombinatsioone. Sidefunktsioonid on kõned helide esitamiseks ja taasesituse peatamiseks. See muudab helisüsteemi iseseisvaks ja ideaalseks funktsionaalseks paralleelseerimiseks.

Sõltuvalt mängu vajadustest võib olla palju erinevaid ülesandeid, millest igaühele saab anda eraldi lõime. Siin vaatleme kolme sellist ülesannet: teeotsing, strateegiline tehisintellekt ja objektisüsteem ise.

Võimaluste leidmine

Rajaotsimissüsteemi saab rakendada nii, et iga objekt, mis üritab teed leida, kutsub iga kord, kui vajadus tekib, oma teeotsingu algoritmi. See meetod töötab, kuid sel juhul ootab mootor iga kord, kui teed taotletakse, kuni teeotsingu algoritm lõpeb. Kui eraldate teede otsimise eraldi alamsüsteemiks, saate selle kuvada eraldi lõimes. Nüüd toimib rajaleidja ressursihaldurina, milles teed on ressursid.

Iga objekt, mis peab tee leidma, saadab teeotsingu päringu ja saab kohe teeleidmissüsteemilt "kviitungi". See kviitung on lihtsalt unikaalne käepide, mida rajaotsimissüsteem saab kasutada. Pärast seda jätkab objekt oma tegevust kuni mängutsükli järgmise kaadrini. Üksus saab kontrollida, kas selle kviitung on töödeldud. Kui jah, siis objekt saab arvutatud tee; vastasel juhul jätkab objekt oma asjade tegemist, oodates tee töötlemist.
Teeotsingusüsteemis kasutatakse piletit teepäringute jälgimiseks ajal, mil süsteem nendega töötab, ilma et see mõjutaks teiste komponentide jõudlust. Selle lähenemisviisi huvitav eelis on kõigi tuvastatud teede automaatne jälgimine. Seega, kui päring saabub varem leitud tee kohta, saab rajaotsingu süsteem lihtsalt väljastada kviitungi juba olemasoleva tee kohta. See meetod sobib suurepäraselt süsteemide jaoks, kus paljud objektid taotlevad teed, kuna tõenäoliselt küsitakse kõiki leitud teid mitu korda.

Strateegiline AI

Nagu varem mainitud, on hea, kui AI-süsteem, mis kontrollib kogu mängu voogu tervikuna, töötab oma eraldi lõimes. See süsteem suudab analüüsida mänguvälja ja anda käske erinevatele objektidele, mis suudavad neid käske vastu võtta ja ära tunda.
Objektisüsteem oma lõimes on hõivatud teabe kogumisega otsustuskaartide jaoks. Saadud teave saadetakse strateegilisse tehisintellekti süsteemi otsustuskaartide uuendamise taotluste vormis. Värskendamisel analüüsib strateegiline AI neid taotlusi, värskendab otsustuskaarte ja teeb otsuseid. Pole tähtis, kas kaks süsteemi (strateegiline tehisintellekt ja objektid) töötavad sünkroonis: igasugune desünkroniseerimine on väike ega mõjuta tehisintellekti otsuseid. (Me räägime desünkroonimisest 1/60 sekundi jooksul, mis tähendab, et mängija seisukohast ei aeglusta tehisintellekti reaktsioon üht kaadrit.)

Andmete paralleelsus

Funktsionaalne paralleelsus on väga tõhus ja kasutab ära mitme südamikuga süsteemide võimalusi. Aga paraku on nii, et kui tuumade arv süsteemis ületab ülesannete arvu, siis programm ei kasuta ära kogu olemasolevat arvutusvõimsust.Seetõttu liigume edasi andmete paralleelstamisele, mille puhul üks funktsioon saab kasutada kõiki saadaolevaid tuumasid.


Andmete paralleelsus

Funktsionaalse paralleelsusega võtsime iseseisva mooduli ja andsime sellele eraldi lõime. Nüüd jagame ühe ülesande osadeks ja jagame nende töötlemise erinevate lõimede vahel. Samal ajal suureneb jõudlus proportsionaalselt tuumade arvuga süsteemis. Kas süsteemil on 8 tuuma? Suurepärane! Kas süsteemil on 64 tuuma? Parem! Funktsionaalne paralleelsus võimaldab määrata koodilõigud mitme lõimega ja seejärel töötavad need osad iseseisvalt. Andmete paralleelstamisel on vaja täiendavat tööd vastavusse viimiseks. Näiteks võite kasutada ühte kerneli lõime (põhilõime), et jälgida kõigi teiste lõimede tööd. Slave lõimed nõuavad põhilõimelt "tööd", et vältida sama töö dubleerimist.

Ühe kerneli lõime kasutamine andmete paralleelsuse haldamiseks on tegelikult hübriidne lähenemisviis. Selgub, et põhilõim kasutab funktsionaalset paralleelstamist ja jagab seejärel andmeid tuumade vahel, et andmeid paralleelida.

Rakendamine

Rajaleidja näites salvestab süsteem taotletud teede loendi. Seejärel vaatab süsteem seda loendit läbi ja käivitab üksikute päringute puhul teeotsingu funktsioonid, salvestades need teede loendisse. Seda silmust saab keermestada nii, et iga tsükli iteratsioon jaguneb erinevateks lõimedeks. Need lõimed töötavad esimesel saadaoleval tuumal, võimaldades kasutada kogu saadaolevat töötlemisvõimsust. Protsessori tuum peaks olema tühikäigul ainult siis, kui tööd pole.
Sellistes süsteemides on võimalik sama ülesande jaoks vastu võtta mitu päringut. Kui need päringud on ajaliselt eraldatud, kontrollib teeotsingu funktsioon automaatselt, kas sellist päringut on juba varem töödeldud. Andmete paralleelsusega tegelemisel võib sama tee mitu päringut esitada samaaegselt. See võib viia töö dubleerimiseni, mis eirab mitmelõimelise andmetöötluse eesmärki.

Nende (ja muude) töö dubleerimise juhtude kõrvaldamiseks peaks süsteem jälgima pooleliolevaid töid ja eemaldama need päringujärjekorrast alles pärast lõpetamist. Kui päring saabub juba taotletud tee kohta, peab süsteem seda kontrollima ja tagastama kviitungile määratud olemasoleva tee.
Ressursid kulutatakse uute voogude moodustamiseks. See protsess hõlmab süsteemikutseid operatsioonisüsteemile (OS). Kui OS sellega hakkama saab, eraldab see vajaliku koodi ja loob lõime. See võib võtta kaua aega (võrreldes protsessori kiirusega). Nii et pole mõtet luua liiga palju lõime. Kui taotletud tööd juba töödeldakse, pole toimingut vaja käivitada. Lisaks, kui ülesanne on lihtne (näiteks teede leidmine kahe kõrvuti asetseva punkti vahel), ei pruugi sellist ülesannet mitmeks lõimeks jagada.
Nii toimiks funktsionaalne teeotsingu lõim ja jagaks andmed lõimedeks.

  • RequestPath(algus, eesmärk). See funktsioon kutsutakse väljastpoolt rajaotsingu süsteemi, et saada voogu. See funktsioon täidab järgmisi ülesandeid:
    • vaatab läbi täidetud päringute loendi ja teeb kindlaks, kas selline tee (või sarnane tee) on juba leitud, seejärel tagastab selle tee kohta kviitungi;
    • vaatab läbi aktiivsete päringute loendi (kui teed ei leitud), et seda teed otsida; kui selles on tee, tagastab funktsioon arvutatud teele kviitungi;
    • loob uue päringu ja tagastab uue kviitungi (kui mõlemas ülaltoodud loendis tehtud otsing ei andnud tulemusi).
  • CheckPath ("pilet"). Pileti abil vaatab see funktsioon läbi täidetud päringute loendi ja leiab tee, mille jaoks pilet kehtib. Funktsioon tagastab teabe selle kohta, kas selline tee leiti.
  • UpdatePathFinder().See on juhtfunktsioon, mis käsitleb lõimede otsimise üldkulusid. See funktsioon täidab järgmisi ülesandeid.
    • Uute taotluste analüüs. Erinevatel tuumadel on võimalik sama tee jaoks samaaegselt luua mitu päringut. See jaotis eemaldab dubleerivad taotlused ja määrab samale päringule mitu kviitungit (erinevatest päringutest).
    • Sirvige aktiivseid taotlusi. See funktsioon vaatab kõiki aktiivseid taotlusi ja jagab need lõimedesse. Iga tsükli alguses ja lõpus on kood märgitud lõimena. Iga lõime:
      1. leiab soovitud tee;
      2. salvestab selle valmis teede loendisse koos sellele teele määratud kviitungitega;
      3. eemaldab töö aktiivsete tööde loendist.

Konfliktide lahendamine

Võib-olla olete märganud, et sellise tööjaotusega võib tekkida probleeme. Päringu järjekorda peavad kirjutama erinevad lõimed; andmevood peavad lisama tulemused valmis teede loendisse. Kõik see võib viia kirjutamiskonfliktideni, kus üks lõim kirjutab midagi lahtrisse A samal ajal, kui teine ​​lõim kirjutab samasse lahtrisse A midagi muud. Selline vool võib viia üldtuntud "rassiseisundini".

Konfliktide vältimiseks võite koodi teatud osad eriti oluliseks märkida. Kriitilise koodi täitmisel pääseb sellele koodiosale korraga juurde ainult üks lõim. Kõik muud lõimed, mis hakkavad tegema sama asja (juurdepääs samale mälualale), peavad ootama. Selline käitumine võib kaasa tuua TÕSISED probleemid, nagu ummikseisu, mis tekib siis, kui mitu lõime blokeerivad üksteist, takistades neil mälule juurdepääsu. See lahendus väldib ummikseisu. Kui lõime tegelik töö on lõpetatud, saab juurdepääsu olulisele mälualale teha kättesaadavaks niipea, kui see on saadaval, blokeerimata muid jaotisi, mida teised lõimed võivad vajada.

Sünkroonimine

Seega oleme saavutanud kõigi üksikute tehisintellekti alamsüsteemide autonoomia ja varustanud neid kõigi meie süsteemi arvutusressurssidega. Kõik toimib kiiresti, kuid kas kõik töötab õigesti?
Mängu erinevate elementide tegevused peavad olema kooskõlastatud. Mängumootor peab mängu elemendid sünkroniseerima. Te ei saa lasta pooltel mängu elementidel töötada paar kaadrit kiiremini kui ülejäänud elemendid. Kui vaenlase üksused on juba liikumises, ei saa üksused jõude jääda, oodates tee arvutamist. Piltlikult öeldes jagavad head vanemad šokolaadi oma lastele võrdselt.
Mängumootori põhitsükkel tegeleb kahe toiminguklassiga: renderdamine ja värskendamine. Järjestikuse programmeerimisega pole selliste toimingute sünkroonimine keeruline. Kõigepealt värskendatakse kõike ja seejärel renderdatakse uuendatu uuesti. Paralleelse andmetöötlusega muutub olukord keerulisemaks.

Liikumisvärskendusi (mida tehakse sageli teede põhjal) saab töödelda mitu kaadrit kiiremini kui renderdamist. Tulemuseks on “tõmblev” animatsioon: objektid mängumaailmas ei liigu sujuvalt, vaid “hüppavad” ühest kohast teise kiiremini, kui peaks. Rajaleidmises, mis analüüsib maailma erinevate objektide asukohtade hetktõmmist, võib see kaasa tuua ebaõigete sisendandmete töötlemise.
Selle probleemi lahendus peitub erinevate elementide sünkroniseerimises ning on elegantne ja lihtne. Pealegi võivad vajalikud funktsioonid olla enamikesse mängumootoritesse juba sisse ehitatud. Kui mängu põhitsüklit värskendatakse, jälgitakse globaalset ajaindeksit. Kõik erinevad lõimed peavad töötlema ainult praeguse (ja mineviku, kuid mitte tulevase) ajaindeksi päringuid.

Kui kogu töö vastuvõetud ülesandega on praeguse ajaindeksi jaoks lõpetatud, võib lõim magama minna kuni uue ajaindeksini. See algoritm ei taga mitte ainult erinevate mänguelementide sünkroonimist, vaid vabastab ka süsteemiressursse: lõimed ei laadi südamikke, kui neid pole vaja. Seetõttu jagab liikumistöö, mis suudab lahendada kokkupõrkeid, arvutada trajektoore jne, lahkesti oma arvutusressursse teiste töödega, kui ta saab töö esimesena tehtud. Sel juhul on kõik saadaolevad südamikud täielikult ära kasutatud.

Järeldus

Niisiis, tehisintellekti ülesanne mängude jaoks on jäljendada objektide käitumist reaalses maailmas. Ja see pole sugugi keeruline, kui hakkate tehisintellekti vaatama põhikomponentidest – madala taseme reeglitest ja teeotsingu algoritmidest kõrgema tasemeni, kus taktikaline ja strateegiline tehisintellekt töötab. Samal ajal on vaja saavutada AI-süsteemi kõrge efektiivsus ja optimeerida see kasutamiseks arvutites, millel on palju arvutustuumasid. Süsteemi tehisintellekti võimalusi peaksid piirama ainult tegelikult saadaolevad riistvararessursid, mitte suutmatus neid ressursse kasutada. Alles siis suudame luua mängijatele huvitavamaid ja väljakutseid pakkuvaid vastaseid, kes ootavad mängu jätkamist.