Kunstig Intelligens [ nicky ]. Agenda AI Overblik [1] –Deterministisk og Non-deterministisk –Hvad anvender vi ? AI i Produktionen [3] –Teori: Om den anvendte.

Slides:



Advertisements
Lignende præsentationer
Introduktion til Javascript – Grundlæggende Webdesign, F2004. Introduktion til Javascript.
Advertisements

Efter forarbejdet og dagen i dag er målet, at I skal kunne:
Elsker DU også at læse lektier?
Web 2.0 Teoretisk viden.
Lektion 6 - Tid, fart og distance
Kamerabaseret udpegning af svin TEST Torben Gregersen IHA/ASE
Teknik event i det mørke Jylland IV Geocaching uden at det koster et ton papir og litervis af printerblæk Understøttes af: Smart phones PDA’ere Flere af.
Notatteknik.
17. januar 2009Teknik event i det mørke Jylland III - CacheMate 1 Geocaching med CacheMate  Hvad er CacheMate?  Indlæsning af Cachebeskrivelser  Bruger.
Perspektivgeometri.
Et projekt til undersøgelse af udviklingsmetodologi.
Beskyt din computer og dine data!
Formularer (Access, del 3)
Titeldias (uden baggrundsfarve) Husk at vælge korrekt layout for hvert dias: Klik med højre musetast på dias i ruden til venstre i skærmbilledet og vælg.
Datastrukturer Simple-type structs
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Informationsteknologi B-A, HHX, 2005,
Introkursus Køn og ligestilling i udviklingsarbejdet OPFRISKNING AF BEGREBER FRA DAG 1 August 2011.
 Det jeg har gjort er, at jeg har lavet en tast der starter det hele (mellemrum), derefter har jeg sat nogle lyde ind, og fået dem til at gentage sig.
Usability – øvelse 2: Heuristisk inspektion
Signalbehandling og matematik (Tidsdiskrete signaler og systemer)
Arv Idéen i arv et at kunne genbruge gennem generalisering
Beskrivelses- og analyse-teknikker understøttet af Oracle Designer
Martin Andersen og Mads Petersson Nr. 7
13.1 Mathiassen, Munk-Madsen, Nielsen & Stage, 2000 © Funktionskomponent Oversigt, principper og teknikker Kapitel 13.
Konstant acceleration
Fatter du Watt? 1 Watt er defineret som den effekt, der ydes, når der hvert sekund udføres et arbejde (eller omsættes en energi) på 1 joule, altså 1.
Danmark Ungdommens Naturvidenskabelige Forening UNF RobotCamp Robotter Introduktion v/Ingo Nielsen Civilingeniør, robot-entusiast og UNF-aktiv.
COMPUTERENS ANATOMI Af Freja og Frederik S.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Fundamentale datastrukturer
Data Warehouse 8. semester forår 2010
Objekter og klasser Rasmus D. Lehrmann DM
Interaktionsformer En begrebsmæssig model kan understøttes med forskellige interaktionsformer Interaktionsformen fastlægger centrale egenskaber: Hvordan.
Perspektivering & Demonstration v. Claus. Resultat af Accepttest Produkt perspektiver Videreudvikling Demonstration.
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
ER-modellering1 Analyse af data og sammenhæng mellem data.
at få sund fornuft til sund adfærd….
Globalisering, side
Sitet og børns livsverden Camilla: Brugercentreret design Mette: Designproces og anbefalinger Flemming: Sitets samspil med andre medier og børns livsverden.
Lars Bodum PML GIS kursusgang 9 Netværk og tilgængelighed.
DWDK – øvelsestime 3 CSS – let the fun begin!!. Tilgængelige slides Disse slides ligger på mit public drev
Cam Dancer Anvendelse af Billedeanalyse Teknikker.
Spil Programmering Eksamens Præsentation [ Bil spil ] ( Adrian, Nicolai, Peter, Nicky )
GOLFREGLER.
Økonometri 1 Avancerede Paneldata Metoder II Introduktion til Instrumentvariabler 27. november 2006.
Statistik II 4. Lektion Logistisk regression.
Formularer (Access, del 3). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller Vi.
Træningszoner /Tri Club Denmark. Definition: Hvad er en træningszone? Et interval der afgrænser intensiteten – altså et mål til at styre intensiteten.
Opsamling ● Generelle lineære modeller ● Logistisk regression ● Log-lineære modeller ● Mini-projekt.
Køresikkerhed for chauffører Navn på underviser 1.
1. 2 HVORFOR? Opgave 3 Løsning: Find omkredsen af cylinderen vha. formlen for cirklens omkreds. Find arealet af cylinderen som arealet af et rektangel,
Produktudvikling og innovation i samarbejde med andre virksomheder – Thomas Bøtker Mortensen – s. 1 Produktudvikling og innovation i samarbejde med andre.
Lineære funktioner og udviklingsforløb. Tillægsspørgsmål  Tillægsspørgsmål 1: En særlig linje er tangenten. Redegør for hvordan man bestemmer tangentligningen.
Query optimization MICHAEL I
Parametrisk programmering
Landinspektør Robert Jakobsen
Beregning af trekantsmodel (TIN-model)
Reduktion AM 2009.
PowerPoint i undervisningen - med særligt fokus på billeder
Future Vejle inspiration
Algoritmer og Datastrukturer Grådige Algoritmer [CLRS ]
Værktøj: Check dine relationer
Design ”Machine Learning/AI” så det bliver lovligt fra start
Præsentationens transcript:

Kunstig Intelligens [ nicky ]

Agenda AI Overblik [1] –Deterministisk og Non-deterministisk –Hvad anvender vi ? AI i Produktionen [3] –Teori: Om den anvendte AI teknik –Praktisk: Udvalgte kode eksempler Vurdering af AI i Produktionen [1] –Styrker og Svagheder Forslag til Forbedringer [1] –Andre AI teknikker der med fordel kan anvendes

AI Overblik De 2 Hovedgrupperinger –Deterministisk: forudsigelig & testbar Eksempler: –DFA ( Pacman [roam, chase, flee] / {see, nosee, userPowerup} ) –Gængse pathfinding/tracing algoritmer (man beregner på forudsigelig måde) –Non-deterministisk: uforudsigelig & sværere at teste/debugge Eksempler: –Neurale Netværk [input/output sort boks, msk hjerne] –Genetiske Algoritmer [de egenskaber hos NPCerne der virker bedst overlever] –…osv. … –Regel-baseret med ’hukommelse’ [Kamp-spil: Strike-prediction] –A* med influence maps [NPC ’husker’ at undgå ’noder’ hvor spilleren agerer ’sniper’] Svær at debugge og teste pga. uforudsigelighed Vi anvender… –En determinstisk teknik: Line-Of-Sight Chasing Forklaring følger... –NPC’erne jager waypoints Eksempel følger…

AI i Produktionen Teori: Om den anvendte AI teknik Chasing Algoritme –Line-Of-Sight i kontinuerlige miljøer (jf. modsat tiled miljøer) En algoritme inspireret af kursets O’Reilly AI bog [Bourg] Byttets position omregnes til jægerens lokale koordinat system ( venstre / højre tjek ) og fysik motor invokeres. Fordel: NPC’erne er underlagt de samme fysiske egenskaber som spilleren (altså ingen ’snyd’) Tilpasning til Bilspillet –NPC’erne (AICar klassen) jager forud-optagede punkter på vejen (waypoints) –Waypoints opbevares i en liste datastruktur der er specifik for hver enkelt AI bil –Et waypoint fjernes fra AI bilens liste når det er tilstrækkeligt tæt på bilen ( vha. et mindre usynligt rektangel ) AI Bilernes Hastighed Afgøres af Waypoints Tætheden –Synlige i bilspillet, vises ved demonstrationen funktion doLineOfSight() 1.affTrans :=... /* affine trans: translate + rotate */ 2.bytteGlobPos := … 3.bytteLokalPos := affTrans.transform( bytteGlobalPos ) 4.HVIS ( bytteLokalPos.x < - tærskelVærdi) SÅ 5. jæger.venstre( ) 6.ELLERS HVIS ( bytteLokalPos.x > tærskelVærdi) SÅ 7. jæger.højre( )

AI i Produktionen Praktisk: Udvalgte kode eksempler AI opførsel implementeret i model.AIController.py –AIController.updateAI( … ) indirekte kaldt for hver gameloop 4) Hastigheds styring NB: Visning af udvalgte linjer fra funktionen 3) Retnings styring (højre, venstre, ligeud) NB: Bil holder omvendt => omvendt kontrol 5) Prey styring 2) Til lokale koordinater (rotation om z)     1) Indhent data 

AI i Produktionen Praktisk: Udvalgte kode eksempler AI Bilernes Hastighed –Afgøres af 1) afstand til næste waypoint, eller 2) tætheden af de to næste waypoints –Tærskel værdi konstanter (afstand + hastighed) Pseudo kode for model.AIController.decideControl( ): funktion decideControl(aiCar, carspeed ) 1.HVIS ( langt_til_waypoint) SÅ 2. aiCar.cDrive( ) 3.ELLERS HVIS (waypoints ikke tætte) SÅ 4. aiCar.cDrive( ) // ved lav+mellem hastighed 5. aiCar.cRelease() // ved høj hastighed 6.ELLERS 7. aiCar.cDrive () // ved lav hastighed 8. aiCar.cRelease() // ved mellem hastighed 9. aiCar.cReverse() // ved høj hastighed [brems] Tætte Waypoints Lav Hastighed

Vurdering af AI i Produktionen Styrker –Konfigurerbar rute (jf. WayPoints) I dag bliver de sat i main.py –Virker med n AI biler –Pæn og hurtig kørsel Ingen voldsomme waypoint overshootings –AI biler er underlagt fysik funktionaliten Svagheder –kollisioner ml. biler –Ingen ’personlighed’ hos bilerne (humør, dygtighed etc.) –Ingen hensyntagen til bilers ’personlige’ evner: ’hvad er hurtigt?’

Forslag til Forbedringer Relevante AI teknikker –Deterministiske DFA til humør / samlings-objekter –Humør: Vred, rystet, skarp osv. (Vred => prey := PlayerCar) –Samlings-objekter: turbo, olie-våben osv. Flokning af AI Biler –I avanceret mode kan de arbejde sammen om at jage PlayerCar –Non-deterministiske Træning af ’bedste rute’ ( vha. eks. Neuralt Netværk ) Mest optimale bil egenskaber ( vha. eks. Genetisk Algoritme) Andet – AI Scriptning Man kunne scripte, indirekte / direkte, for AI Bilerne –Attributter: heste kræfter, vejgreb, synsfelt –Opførsel : HVIS PlayerCar.harOlieVåben SÅ flygt

AI i Produktionen Praktisk: Udvalgte kode eksempler Hvor hurtigt kører vi allerede? Er der langt til næste waypoint? Hvor hurtigt skal vi køre nu?