Positioning and Spatial Evaluation

Slides:



Advertisements
Similar presentations
Course Evaluations 4 Random Individuals will win an ATI Radeon tm HD2900XT.
Advertisements

Efficient Evaluation of k-Range Nearest Neighbor Queries in Road Networks Jie BaoChi-Yin ChowMohamed F. Mokbel Department of Computer Science and Engineering.
Sensor Based Planners Bug algorithms.
Tetris – Genetic Algorithm Presented by, Jeethan & Jun.
University of Amsterdam Search, Navigate, and Actuate - Quantitative Navigation Arnoud Visser 1 Search, Navigate, and Actuate Quantative Navigation.
Chapter 4: Linear Models for Classification
Artificial Intelligence in Game Design Intelligent Decision Making and Decision Trees.
Artificial Intelligence in Game Design Introduction to Learning.
SPREADSHEETS IN EDUCATION OF LOGISTICS MANAGERS AT FACULTY OF ORGANIZATIONAL SCIENCES: AN EXAMPLE OF INVENTORY DYNAMICS SIMULATION L. Djordjevic, D. Vasiljevic.
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
Chapter 4 DECISION SUPPORT AND ARTIFICIAL INTELLIGENCE
Search and Escape in “The Snorks World” Guillaume Poncin Gregory Kron Monday, June 9 th 2003.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
Introduction General Data Structures - Arrays, Linked Lists - Stacks & Queues - Hash Tables & Binary Search Trees - Graphs Spatial Data Structures -Why.
PROCESS IN DATA SYSTEMS PLANNING DATA INPUT DATA STORAGE DATA ANALYSIS DATA OUTPUT ACTIVITIES USER NEEDS.
©2005 Austin Troy. All rights reserved Lecture 3: Introduction to GIS Part 1. Understanding Spatial Data Structures by Austin Troy, University of Vermont.
Neural Networks Slides by Megan Vasta. Neural Networks Biological approach to AI Developed in 1943 Comprised of one or more layers of neurons Several.
Artificial Intelligence in Video Games Damián Isla, Director of Technology Moonshot Games.
GIS Analysis. Questions to answer Position – what is here? Condition – where are …? Trends – what has changed? Pattern – what spatial patterns exist?
Design and Implementation of a Geographic Search Engine Alexander Markowetz Yen-Yu Chen Torsten Suel Xiaohui Long Bernhard Seeger.
The Context of Forest Management & Economics, Modeling Fundamentals Lecture 1 (03/30/2015)
MANAGING RISK WITH THE IPDE PROCESS
Self-Organizing Agents for Grid Load Balancing Junwei Cao Fifth IEEE/ACM International Workshop on Grid Computing (GRID'04)
Cyber-Infrastructure for Agro-Threats Steve Goddard Computer Science & Engineering University of Nebraska-Lincoln.
Scan Conversion Line and Circle
Flow Fields Hao Li and Howard Hamilton. Motivation for Flow Fields Multiple AI algorithms in a computer game can produce conflicting results. The AI must.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
Solving Hard Instances of FPGA Routing with a Congestion-Optimal Restrained-Norm Path Search Space Keith So School of Computer Science and Engineering.
August 31, 2005 Game Developer Conference Europe Killzone’s AI: Dynamic Procedural Tactics Guerrilla Games - 1 Killzone’s AI: Dynamic Procedural Tactics.
Ch 7.1: Using a Spatial Database for Runtime Spatial Analysis.
The Engineering Design Process
Adrian Treuille, Seth Cooper, Zoran Popović 2006 Walter Kerrebijn
AI in games Roger Crawfis CSE 786 Game Design. AI vs. AI for games AI for games poses a number of unique design challenges AI for games poses a number.
Sorting: Implementation Fundamental Data Structures and Algorithms Klaus Sutner February 24, 2004.
Neural Networks Vladimir Pleskonjić 3188/ /20 Vladimir Pleskonjić General Feedforward neural networks Inputs are numeric features Outputs are in.
SIFT DESCRIPTOR K Wasif Mrityunjay
CSE332: Data Abstractions Lecture 28: Course Wrap-up Tyler Robison Summer
An Exact Algorithm for Difficult Detailed Routing Problems Kolja Sulimma Wolfgang Kunz J. W.-Goethe Universität Frankfurt.
Machine Learning in Practice Lecture 8 Carolyn Penstein Rosé Language Technologies Institute/ Human-Computer Interaction Institute.
Optimization Techniques for Natural Resources SEFS 540 / ESRM 490 B Lecture 1 (3/30/2016)
Swarm Robotics Research Team A Robotic Application of the Ant Colony Optimization Algorithm The Ant Colony Optimization (ACO) algorithm is generally used.
Copyright ©2008, Thomson Engineering, a division of Thomson Learning Ltd.
When deep learning meets object detection: Introduction to two technologies: SSD and YOLO Wenchi Ma.
Introduction to Algorithms
AI Positioning and Spatial Evaluation: A Primer
CPSC 6040 Computer Graphics Images
Artificial Neural Networks
Massive Spatial Query on the Kepler Architecture
Solution of Nonlinear Equations (Root finding Problems
Seung-won Hwang, Kevin Chen-Chuan Chang
Movement in a full and dynamic environment using a limited influence map Paulo Lafeta Ferreira Artificial Intelligence for Games – CS 580 Professor: Steve.
Object Localization Goal: detect the location of an object within an image Fully supervised: Training data labeled with object category and ground truth.
Incremental Placement Algorithm for Field Programmable Gate Arrays
Deploying PAWS: Field Optimization of the Protection Assistant for Wildlife Security Fang et al.
CIS 488/588 Bruce R. Maxim UM-Dearborn
"Playing Atari with deep reinforcement learning."
Outbreak 2-D Game Design
Search-Based Footstep Planning
© 2005 University of Wisconsin
Objective of This Course
UMBC Graphics for Games
Artificial Intelligence (CS 370D)
© 2003 University of Wisconsin
Why Machine Learning Flood of data
Introduction to Algorithms
Ch 7.1: Using a Spatial Database for Runtime Spatial Analysis
Convolution Layer Optimization
Physics-guided machine learning for milling stability:
VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION
Perceptron Learning Rule
Presentation transcript:

Positioning and Spatial Evaluation Influence Maps Positioning and Spatial Evaluation Damián Isla, Director of Tech. Moonshot Games

Where do I stand right now? Spatial Evaluation Spreading influence is just one form of spatial function. Spatial decisions can be made on second-to-second timescales Use spatial functions to answer fundamental question: Where do I stand right now?

Spatial Evaluation Algorithm: Score each [accessible] position with F(x) Pick the best one Go there

Spatial Evaluation F(x) 42 Breakfast Threat Line of sight Distance Range F(x) 42 The Apples-to-Oranges problem.

Apples and Oranges Crops up in a host of AI problems. Best strategies Perception Attention / target selection Behavior-selection etc. Best strategies visualization iteration How do you take 2 completely different factors and weight them relative to each other?

Spatial Function Inputs A(x) = range from x to target B(x) = path distance from AI to x C(x) = line of sight (1.0 = 100% clear) ...

Spatial Function Layer Simplest form F(x) = k1A(x) + k2B(x) + k3C(x) + ... With user functions: F(x) = f1(A) + f2(B) + f3(C) + ... Our own idiosyncratic form: F(x) = (((f1(A) + f2(B)) + f3(C)) * f4(D)) + f5(E) ... Layer

Implementation Engine-specified (code) Designer-specified (data) Layers Input source range los path-distance etc. Combination method Additive Multiplicative User-Function output = F(input) Global modifications Blur factor Normalization Engine-specified (code) Designer-specified (data)

Demo

Spreading Influence “Gather phase” Distance maps create list of evaluatable locations assumes we’re interested in moving to that spot Uses A* Distance maps Each pixel contains distance to an occupied cell Pre-computed

Line of Sight By far the greatest perf cost. Solution: Batch batch batch. pre-search for los-blocking objects build optimized structure at runtime evaluate on the GPU In this case: rasterization O(n) (n is # of pixels)

Interference Destructive interference is a [the] big problem Pre-combine inputs Range

Grid Resolution Grid resolution < body radius Solutions: Good: high res decision-making Bad: rounding corners Bad: rubbing against walls Solutions: Distance map can influence steering A* in “configuration space” Distance-map layers in position selection Penalty function in A* In some sense, the penalty function helps us create a body-radius-agnostic “configuration space”

All Behavior is Spatial Spatial functions can be used for more than just position evaluation A* penalty path speed aim on/off target bias weapon choice ... Remember: Input sources are expensive, but recombining them is cheap (share inputs across layers, functions and AIs)

Spatial Behavior Target bias A* Penalty Weapon choice Position selection

Spatial Behavior Aiming Shooting Positioning Speed Targeting

Conclusions Apples-to-oranges is defeated through great visualization and iteration tools Respect the code/data boundary Distance maps are sweet Batch yer rays Pre-combine yer inputs Spatial functions for many aspects of behavior

Thanks!