ROMS Error Reduction Project By Benjamin Davini CSC 590 – Graduate Seminar Advisor: Dr. Chris Clark Help from: Dr. Paul Choboter.

Slides:



Advertisements
Similar presentations
Artificial Intelligence Presentation
Advertisements

CSE 390B: Graph Algorithms Based on CSE 373 slides by Jessica Miller, Ruth Anderson 1.
By: Evan Olson and Vishal Doshi. Introduction Autonomous Vehicles allow expanded capabilities over manned data collection Relatively low cost, versatile.
Tree Searching. Tree searches A tree search starts at the root and explores nodes from there, looking for a goal node (a node that satisfies certain conditions,
Problem Solving Agents A problem solving agent is one which decides what actions and states to consider in completing a goal Examples: Finding the shortest.
1 Lecture 3 Uninformed Search. 2 Uninformed search strategies Uninformed: While searching you have no clue whether one non-goal state is better than any.
Solving Problems by Searching Currently at Chapter 3 in the book Will finish today/Monday, Chapter 4 next.
CS 480 Lec 3 Sept 11, 09 Goals: Chapter 3 (uninformed search) project # 1 and # 2 Chapter 4 (heuristic search)
Branch & Bound Algorithms
Blind Search1 Solving problems by searching Chapter 3.
Abstract Data Types and Subprograms
1 Lecture 3: 18/4/1435 Uninformed search strategies Lecturer/ Kawther Abas 363CS – Artificial Intelligence.
Touring problems Start from Arad, visit each city at least once. What is the state-space formulation? Start from Arad, visit each city exactly once. What.
CSC 423 ARTIFICIAL INTELLIGENCE
Artificial Intelligence (CS 461D)
Search Strategies CPS4801. Uninformed Search Strategies Uninformed search strategies use only the information available in the problem definition Breadth-first.
Artificial Intelligence Lecture No. 7 Dr. Asad Safi ​ Assistant Professor, Department of Computer Science, COMSATS Institute of Information Technology.
Lecture 3 Note: Some slides and/or pictures are adapted from Lecture slides / Books of Dr Zafar Alvi. Text Book - Aritificial Intelligence Illuminated.
Lecture 11 CSS314 Parallel Computing
A SYSTEM FOR AUTONOMOUS TRACKING AND FOLLOWING OF SHARKS WITH AN AUTONOMOUS UNDERWATER VEHICLE Esfandiar Manii Advisor: Dr. Christopher M. Clark A Presentation.
State Space Search Algorithms CSE 472 Introduction to Artificial Intelligence Autumn 2003.
Nice, 17/18 December 2001 Adaptive Grids For Bathymetry Mapping And Navigation Michel Chedid and Maria-João Rendas I3S - MAUVE.
Review: Search problem formulation
Searching the search space graph
Toy Problem: Missionaries and Cannibals
Informed Search (no corresponding text chapter). Recall: Wanted " An algorithm and associated data structure(s) that can: 1) Solve an arbitrary 8-puzzle.
MAE 552 – Heuristic Optimization Lecture 27 April 3, 2002
1 Solving Problems by Searching. 2 Terminology State State Space Initial State Goal Test Action Step Cost Path Cost State Change Function State-Space.
1 Lecture 3 Uninformed Search. 2 Complexity Recap (app.A) We often want to characterize algorithms independent of their implementation. “This algorithm.
Graphs & Graph Algorithms 2 Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Graphs & Graph Algorithms 2
Blind Search-Part 2 Ref: Chapter 2. Search Trees The search for a solution can be described by a tree - each node represents one state. The path from.
Using Search in Problem Solving
Graphs & Graph Algorithms Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
Graphs & Graph Algorithms 2 Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 Lecture 3 Uninformed Search
Lecture 3 Uninformed Search.
Review: Search problem formulation Initial state Actions Transition model Goal state (or goal test) Path cost What is the optimal solution? What is the.
Copyright R. Weber Search in Problem Solving ISYS 370 Dr. R. Weber.
Tree Searching Breadth First Search Dept First Search.
GRAPHS
Introduction to search Chapter 3. Why study search? §Search is a basis for all AI l search proposed as the basis of intelligence l inference l all learning.
State-Space Searches. 2 State spaces A state space consists of A (possibly infinite) set of states The start state represents the initial problem Each.
Graphs. Made up of vertices and arcs Digraph (directed graph) –All arcs have arrows that give direction –You can only traverse the graph in the direction.
Search exploring the consequences of possible actions.
CAS 721 Course Project Implementing Branch and Bound, and Tabu search for combinatorial computing problem By Ho Fai Ko ( )
Lecture 3: Uninformed Search
1 Solving problems by searching 171, Class 2 Chapter 3.
1 Finding Shortest Paths with A* Search A* search operates similarly to Dijkstra’s algorithm, but extends the cost function to include an estimated distance.
Search CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Avoiding Planetary Rover Damage by Automated Path Planning Michael Flammia Mentor: Dr. Wolfgang Fink Tempe, AZ April 18 th, 2015.
Problem solving by search Department of Computer Science & Engineering Indian Institute of Technology Kharagpur.
Computer Science CPSC 322 Lecture 6 Iterative Deepening and Search with Costs (Ch: 3.7.3, 3.5.3)
1 Solving problems by searching Chapter 3. Depth First Search Expand deepest unexpanded node The root is examined first; then the left child of the root;
Basic Problem Solving Search strategy  Problem can be solved by searching for a solution. An attempt is to transform initial state of a problem into some.
Goal-based Problem Solving Goal formation Based upon the current situation and performance measures. Result is moving into a desirable state (goal state).
Search (continued) CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
Solving problems by searching 1. Outline Problem formulation Example problems Basic search algorithms 2.
3.5 Informed (Heuristic) Searches This section show how an informed search strategy can find solution more efficiently than uninformed strategy. Best-first.
Optimization Problems The previous examples simply find a single solution What if we have a cost associated with each solution and we want to find the.
Source: David Lee Matuszek
Chapter 3 Solving problems by searching. Search We will consider the problem of designing goal-based agents in observable, deterministic, discrete, known.
Artificial Intelligence Search Instructors: David Suter and Qince Li Course Harbin Institute of Technology [Many slides adapted from those.
Artificial Intelligence (CS 370D)
Maze Implementation, Analysis and Design to find Shortest Paths
What to do when you don’t know anything know nothing
Tree Searching.
CO Games Development 1 Week 8 Depth-first search, Combinatorial Explosion, Heuristics, Hill-Climbing Gareth Bellaby.
Solving Problems by Searching
Presentation transcript:

ROMS Error Reduction Project By Benjamin Davini CSC 590 – Graduate Seminar Advisor: Dr. Chris Clark Help from: Dr. Paul Choboter

Introduction ROMS – Regional Ocean Modeling System  mathematical model capable of simulating currents, ecosystems, biogeochemical cycles, and sediment movement in various coastal regions  Very large system with a great number of equations and variables

ROMS Image – Bird’s Eye

Goal Reduce most efficiently the error in ROMS by utilizing AUVs to obtain measurements at the most optimal places

Introduction Concerning ourselves with a specific part of ROMS that seeks to reduce the value of a cost function, J, which represents the amount of error in a given simulation

Introduction - Cost function Where: X obs : vector of observations O : observation covariance matrix X b : predictions of the model without any data assimilation (background) B : background error covariance matrix

Introduction - Cost function … and x is a vector containing the following values: u, v : components of velocity T : the temperature S : the salinity of ocean water ζ : sea surface elevation

Introduction – Cost function Reduce J(x) by seeking x obs at locations that will lead to the greatest amount of error reduction

Introduction - AUVs AUV – Autonomous Underwater Vehicle

Introduction - AUVs Advantages  Many scientific payloads in a small chassis Acoustic Doppler Current Profilers Temperature and Salinity sensors  Quick deployment  Capable of visiting places humans are not

Introduction - AUVs Disadvantages  Battery powered (limited mission time)  Limited computing resources  Can be fragile

Introduction Leverage advantages of the AUV against disadvantages to get the best reduction in ROMS

Accomplishments Avila Beach Model Optimization problem Java Simulation

Avila Beach Model Approximately at the center of given MATLAB model  Set up by Dr. Paul Choboter Represents a cubic rectangular area  (0,0, -497) feet at bottom left  (63820, , -.125) at upper right

Avila Beach Model

ROMS Image – Side View

ROMS Image – 3-D view

Objective Optimization problem: min J by finding In t f timesteps such that the routes in x result in the greatest drop in J

Objective … subject to: (f is the error at (x,y))

Approach Simulation written in Java  OceanPoint, OceanMap, Node, and MapSearchTests classes OceanPoint  (x,y) coordinate + amount of error OceanMap: Discrete 2-D array of OceanPoints MapSearchTests  Breadth-, Depth-, and Best- first search methods

Approach Visual X Y

Approach Want to visit as many different points as possible that result in the greatest reduction in error Constraints  Start and stop at the same node  Can only move Manhattan distances (forward- back or side-to-side)  Limited number of points can be visited (Battery or time constraints, for example)

Solution Using Breadth-first and Depth-first:  Find all paths that start and finish at the same node eliminating paths with duplicate points in a predetermined number of steps (even only)  Serially analyze each path to determine how much that route reduces error in the OceanMap  Take the best!

Breadth-first Uses FIFO (First-in-first-out) queue to store nodes to be analyzed/searched Looks and stores nodes in a clockwise order (NESW)  Stores all nodes (puts them in the queue) BEFORE looking at the next one Memory-intensive because it stores ALL nodes to be searched in memory

Breadth-first Algorithm: BreadthFirst(goal, map, node, queue, pathList): if(node.stopsLeft == 0 and node.location == goal) then: add node to pathList else for each child of node: //in N-E-S-W order if(child within bounds of map) child.stopsLeft = node.stopsLeft -1 add child to queue if(queue not empty) then: BreadthFirst(goal, map, queue.dequeue, pathList)

Breath-first Visual Add-1st Add-4thSTARTAdd- 2nd Add-3rd X Y

Breadth-first Queue After 1 iteration: (4,5), (5,4), (4,3), (3,4)

Breath-first Visual Add-1st Add-4thSTARTAdd- 2nd Add-3rd X Y

Breadth-first Queue After 2 iterations: (5,4), (4,3), (3,4), (4,6), (5,5), (4,4), (3,5)

Breath-first Visual Add-1st Add-4thSTARTAdd- 2nd Add-3rd X Y

Breadth-first Queue After 3 iterations: (4,3), (3,4), (4,6), (5,5), (4,4), (3,5), (5,5), (6,4), (5,3), (4,4)

Depth-first Uses LIFO (Last-in-first-out) stack to store nodes to be analyzed/searched Looks and stores nodes in a clockwise order (NESW), like Breadth-first  BUT, looks and stores only at the first node (North, if available) before iterating again Less memory intensive because it can forget a path once that branch has been visited

Depth-first Algorithm: DepthFirst(goal, map, node, stack, pathList): if(node.stopsLeft == 0 and node.location == goal) then: add node to pathList and pop stack else for each child of node: //in N-E-S-W order if(child within bounds of map) then: child.stopsLeft = node.stopsLeft -1 push child onto stack DepthFirst(goal, map, stack.peek,stack, list of paths) pop stack

Depth-first Visual Add-1st START X Y

Depth-first Stack After 1 iteration: (4,5)

Depth-first Visual Add-1st START X Y

Depth-first Stack After 2 iterations: (4,5), (4,6)

Depth-first Visual START X Y

Depth-first Stack After 3 iterations: (4,5), (4,6), (4,7)

Solution Using Best-First  Expands the node that offers the best reduction in error for the model for that time step  More realistic – online search Can react to a model that updates every time step Doesn’t need to create a trajectory and then follow it – on-the-fly However, lacks in that it only looks one ahead

Best-first Visual START X Y

Video Demo Video shows map being updated with less error for each time step

Accomplishments - Limits Computer on AUV not capable of exploring a search space larger than ~10 x 10 using aforementioned search methods  Greedy best first avoids this problem, but does not yield the best solution

Current work Map resolution reduction  Merge a number of adjacent points into a single square with a higher error, but smaller resolution

Current Work - Example

Concerns/Future Work None of the aforementioned solutions consider a time-dependent model  Map viewed as static; unchanging “Best-first” is not “Best”  Does not look ahead more than one What is the best resolution reduction factor?