Buffalo Urban Development Simulator (BUDS) “SimCity”-like simulation for downtown and waterfront development Produce a game, like SimCity, in which Buffalo.

Slides:



Advertisements
Similar presentations
Swarm-Based Traffic Simulation
Advertisements

AI Pathfinding Representing the Search Space
 Copyright I/O International, 2013 Visit us at: A Feature Within from Sales Rep User Friendly Maintenance – with Zip Code.
 Copyright I/O International, 2013 Visit us at: A Feature Within from Vendor Payment Terms User Friendly Maintenance 
Michael Ghoorchian. Edsger W. Dijkstra ( ) Dutch Computer Scientist Received Turing Award for contribution to developing programming languages.
CS171 Introduction to Computer Science II Graphs Strike Back.
Smoothing Linework June 2012, Planetary Mappers Meeting.
Multi-Source Shortest Paths T. Patrick Bailey CSC 5408 Graph Theory 4/28/2008.
Tirgul 12 Algorithm for Single-Source-Shortest-Paths (s-s-s-p) Problem Application of s-s-s-p for Solving a System of Difference Constraints.
Tirgul 13. Unweighted Graphs Wishful Thinking – you decide to go to work on your sun-tan in ‘ Hatzuk ’ beach in Tel-Aviv. Therefore, you take your swimming.
More Graph Algorithms Weiss ch Exercise: MST idea from yesterday Alternative minimum spanning tree algorithm idea Idea: Look at smallest edge not.
Shortest Paths Introduction to Algorithms Shortest Paths CSE 680 Prof. Roger Crawfis.
Douglas Wilhelm Harder, M.Math. LEL Department of Electrical and Computer Engineering University of Waterloo Waterloo, Ontario, Canada ece.uwaterloo.ca.
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
Creating a MagicInfo Pro Screen Template
1 GRAPHS - ADVANCED APPLICATIONS Minimim Spanning Trees Shortest Path Transitive Closure.
Graphs 2 Kevin Kauffman CS 309s. Problem We have sprinklers in our yard which need to be connected with pipe. Assuming pipes may only intersect at sprinkler.
CS 146: Data Structures and Algorithms July 21 Class Meeting
Copyright © Cengage Learning. All rights reserved.
CSCI-455/552 Introduction to High Performance Computing Lecture 18.
Chapter 9 – Graphs A graph G=(V,E) – vertices and edges
1 Pertemuan 20 Teknik Routing Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
Dijkstras Algorithm Named after its discoverer, Dutch computer scientist Edsger Dijkstra, is an algorithm that solves the single-source shortest path problem.
Data Structures Week 9 Towards Weighted BFS So, far we have measured d s (v) in terms of number of edges in the path from s to v. Equivalent to assuming.
Copyright © 2008 Pearson Prentice Hall. All rights reserved. 1 Exploring Microsoft Office Word 2007 Chapter 7 The Advanced User Robert Grauer, Keith Mulbery,
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
ALG0183 Algorithms & Data Structures Lecture 21 d Dijkstra´s algorithm 8/25/20091 ALG0183 Algorithms & Data Structures by Dr Andy Brooks Chapter 14 Weiss.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
COSC 2007 Data Structures II Chapter 14 Graphs III.
Irwin/McGraw-Hill © The McGraw-Hill Companies, Inc., Visual Basic Projects Project Structure and VB’s Programming Tools chapter TWO.
Shortest Path Problem Weight of the graph –Nonnegative real number assigned to the edges connecting to vertices Weighted graphs –When a graph.
Data Structures and Algorithms Ver. 1.0 Session 17 Objectives In this session, you will learn to: Implement a graph Apply graphs to solve programming problems.
Common final examinations When: Wednesday, 12/11, 3:30-5:30 PM Where: Ritter Hall - Walk Auditorium 131 CIS 1166 final When: Wednesday, 12/11, 5:45-7:45.
Dijkstra’s Algorithm Supervisor: Dr.Franek Ritu Kamboj
Shortest Path Graph Theory Basics Anil Kishore.
Easiest-to-Reach Neighbor Search Fatimah Aldubaisi.
Most of contents are provided by the website Graph Essentials TJTSD66: Advanced Topics in Social Media.
Michael Walker. From Maps to Graphs  Make Intersections Vertices  Make Roads Edges  Result is Weighted Directed Graph  Weights: Speed Limit Length.
Fall 2003Sylnovie Merchant, Ph.D. ACCESS Tutorial Note: The purpose of this tutorial is to provide an introduction to some of the functions of ACCESS in.
Links take you to…  Different slides in your presentation  A different PowerPoint presentation  Any program - (Word can be used for example to complete.
Consultant Presentation Group B5. Presentation Outline Introduction How to design by Group A5 Future Data Structure Interface Future Conclusion.
DYNAMICALLY COMPUTING FASTEST PATHS FOR INTELLIGENT TRANSPORTATION SYSTEMS MEERA KRISHNAN R.
Urban Traffic Simulated From A Dual Perspective Hu Mao-Bin University of Science and Technology of China Hefei, P.R. China
Access Module Implementing a Database with Microsoft Access A Great Module on Your CD.
Network Problems A D O B T E C
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
Beard & McLain, “Small Unmanned Aircraft,” Princeton University Press, 2012, Chapter 12: Slide 1 Chapter 12 Path Planning.
Travel Reimbursement -step by step- When is Travel Reimbursement (TR) required? All travel that requires reimbursement or travel advance issued on TA.
1 Chapter 6: Creating Oracle Data Block Forms. 2 Forms  Application with a graphical user interface that looks like a paper form  Used to insert, update,
McGraw-Hill/Irwin The Interactive Computing Series © 2002 The McGraw-Hill Companies, Inc. All rights reserved. Microsoft Excel 2002 Using Macros Lesson.
Garmin 60CSx How To Use The Available Features Photos by IN-TF1 Technical Search, Stephen Bauer Written by IN-TF1 Technical Search, Jean Seibert.
Graphs – Part III CS 367 – Introduction to Data Structures.
Minimum Spanning Tree Graph Theory Basics - Anil Kishore.
CSC317 Shortest path algorithms
Single Sample Registration
Single-Source Shortest Paths
Built by Schools for Schools
Discussion section #2 HW1 questions?
This presentation document has been prepared by Vault Intelligence Limited (“Vault") and is intended for off line demonstration, presentation and educational.
All-pairs Shortest Path
Graphs Chapter 11 Objectives Upon completion you will be able to:
Networks and Shortest Paths
MATS Quantitative Methods Dr Huw Owens
Discrete Math 2 Shortest Path Using Matrix
Depth-First Search CSE 2011 Winter April 2019.
Chapter 6 Network Flow Models.
Shortest Path Algorithm for Weighted Non-negative Undirected Graphs
Dijkstra's Shortest Path Algorithm
Copyright ©2012 by Pearson Education, Inc. All rights reserved
Graphs: Shortest path and mst
Presentation transcript:

Buffalo Urban Development Simulator (BUDS) “SimCity”-like simulation for downtown and waterfront development Produce a game, like SimCity, in which Buffalo area residents can attempt to design construction and architectural restoration projects in Buffalo. The game would have to include: - the ability to design building, street, traffic, etc. icons - lace the icons and pre-constructed maps - run simulations for cost, environmental and traffic impact, decay, etc.

Users Urban planners:  Professional environment  More control needed Hobbyists:  Relaxed, “Entertainment” environment  More aesthetics less specifics Crowdsourcing:  Hold a contest where anyone can submit a design. The winner’s design is then adapted from the hobbyist layout to the professional environment.  Provides Numerous Ideas and User/Customer involvement

Functionality Map changes in 2 ways:  Input from user  Formulas that advance time Traffic:  Cannot keep track of every persons location  Instead, buildings have “flux” values  Higher = likely source of traffic, lower = likely destination  Changes as cars enter or leave location, as well as with time of day Other things to account for:  Construction  Weather  Save/Load functionality

Future Plans CAD-integration:  Input CAD files for specific buildings to add.  Users can see buildings that they have designed as they would look in real life Zoning/Building Code:  Include relevant zoning/building code for specific areas  Allows for better estimates of time and cost as well as restrictions on where and what can be built Expansion:  Including additional locations, larger maps and completely different cities.

Save LoadExit Buffalo Urban Development Simulator 2D/3D Population:300,000 Speed: 2x ▌▌ :03:49 PM July 15 th, 2012 Weather: Sunny 70F BuildingsRoadsOptions Buffalo Menus Info Panel Date + Time Simulation Speed Control 2D/3D Toggle Mini Map Exit Button Save/Load Commands Detailed Default Screen

Congestion: 0 Buffalo Urban Development Simulator 2D/3D Back Speed Limit:35 Actual:35 Length :8 Speed: 2x ▌▌ :03:49 PM July 15 th, 2012 Extend Two Way Single Lane CloseRoad Work Main St Road Selected ScreenShot

Demolish EditBack Buffalo Urban Development Simulator 2D/3D Flux:0 Speed: 2x ▌▌ :03:49 PM July 15 th, 2012 Height:3 Width:6 Length:4 Store Expand CloseRenovate Joe’s Diner Building Selected Screenshot

Special Event MoreBack Buffalo Urban Development Simulator 2D/3D Population:300,000 Speed: 2x ▌▌ :03:49 PM July 15 th, 2012 Weather: Sunny 70F WorkplaceResidentialStore Buffalo Buildings Buildings Menu Screenshot

Save LoadExit Buffalo Urban Development Simulator 2D/3D Population:300,000 Speed: 2x ▌▌ :03:49 PM July 15 th, 2012 Weather: Sunny 70F BuildingsRoadsOptions Buffalo 2D Map Mode

Traffic Creation  Traffic created at Buildings  Buildings have a “flux” value that determines how much traffic leaves/enters the building. Roads:  Have a weighted value based on congestion and speed limit  Factors like construction and delays affect congestion Routes:  Traffic paths(including destination) are made at Traffic Creation  Paths are maintained unless a road on the initial path gets closed. The path is then recalculated

Traffic Pathing Algorithm Idea When Traffic is being created, it gets a destination from the Buildings database, where is chooses at random from buildings with high flux values. The roads have weighted values based on their actual speeds(value derived from the speed limit and the congestion of the road). We use weighted values for roads and treat them as edges and the Buildings(Creation and Destination) as vertexes as well as road intersections. We then use a modified form of Dijkstra’s algorithm to find the shortest path between the starting location and the destination. In the case where a road get closed while traffic is inbetween buildings, a new path is found from the nearest intersection and the destination.

Dijkstra’s Algorithm 1)Assign to every node a tentative distance value: set it to zero for our initial node and to infinity for all other nodes. 2)Mark all nodes unvisited. Set the initial node as current. Create a set of the unvisited nodes called the unvisited set consisting of all the nodes except the initial node. 3)For the current node, consider all of its unvisited neighbors and calculate their tentative distances. For example, if the current node A is marked with a tentative distance of 6, and the edge connecting it with a neighbor B has length 2, then the distance to B (through A) will be 6+2=8. If this distance is less than the previously recorded tentative distance of B, then overwrite that distance. Even though a neighbor has been examined, it is not marked as "visited" at this time, and it remains in the unvisited set. 4)When we are done considering all of the neighbors of the current node, mark the current node as visited and remove it from the unvisited set. A visited node will never be checked again; its distance recorded now is final and minimal. 5)If the destination node has been marked visited (when planning a route between two specific nodes) or if the smallest tentative distance among the nodes in the unvisited set is infinity (when planning a complete traversal), then stop. The algorithm has finished. 6)Set the unvisited node marked with the smallest tentative distance as the next "current node" and go back to step 3.

Integration Thread

Integration Thread Description An integration thread is the foundation of the system to which it belongs. It is the essential functionality that the rest of the system requires in order to run smoothly. Once an integration thread is developed, any other functionality can be built and easily added onto the rest of the system. We have identified an integration thread for BUDS. The essential functionality of this system is to be able to view the map, to interact with it by adding and removing buildings and roads, and to have traffic flow along the roads as time passes.

Integration Thread Description cont’d Any of the other functionality can easily be added to the program with this in place. More advanced traffic management algorithms can be inserted into their modules. Any time-dependent functionality such as construction or weather can be designed and added since the necessary information is already present along with the aspect of time flowing. Buttons for the added functionality can be added into the GUI, and other settings can be made available as the functionality they modify is added.

References BUDS Phase 1- BUDS Phase 2- BUDS Phase 3- Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2001). "Section 24.3: Dijkstra's algorithm". Introduction to Algorithms (Second ed.). MIT Press and McGraw-Hill. pp. 595–601. ISBN Picture in User Interfaces Screen Shots- atheneedocumentary-of-a-city-by-paletexan/page__st__60 Mini-Map in User Interfaces Screen Shot-