GithubHelp home page GithubHelp logo

lina994 / ai_ass5 Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 60 KB

Hurricane Evacuation Problem: Sequential decision making under uncertainty using belief-state MDP for decision-making. Introduction to Artificial Intelligence 2019 Ben-Gurion University.

Java 100.00%

ai_ass5's Introduction

Hurricane Evacuation Problem

Sequential decision making under uncertainty using belief-state MDP for decision-making. We are given a weighted undirected graph, and the problem is to find a policy that saves (in expectation) as many people as possible before the deadline.

Using the following principles:

  • Artificial Intelligence:
    • Decision making under uncertainty
    • Utilities
    • Minimax tree
    • Value iteration algorithm
    • Optimal policy
  • OOP, Files I/O

Domain Description

  • The domain description is similar to that described in assignment 1.
  • We do not know the locations of the blocakges.
  • Blockages occur independently, with a known given probability.
  • Blockages are revealed with certainty when the agent reaches a neigbouring vertex.
  • The number of evacuees at each vertex is known.
  • Agent's actions are traveling between vertices.
  • Traversal times are the weight of the edge.
  • One agent

Running

Input

file.txt file include graph description and parameters such as P(Fl(v)=true)) For example:

#T 11             ; number of vertices n in graph (from 1 to n)
#V 8 P 1          ; Vertex 8, has 1 evacuees
#V 9 P 1          ; Vertex 9, has 1 evacuee
#E1 1 2 W1        ; Edge 1 between vertices 1 and 2, weight 1
#E2 1 5 W1        ; Edge 2 between vertices 1 and 5, weight 1
#E3 2 3 W1 B0.5   ; Edge 3 between vertices 2 and 3, weight 1, probability of blockage 0.5
#E4 2 4 W1 B0.5   ; Edge 4 between vertices 2 and 4, weight 1, probability of blockage 0.5
#E5 3 8 W1        ; Edge 5 between vertices 3 and 8, weight 1
#E6 4 8 W1        ; Edge 6 between vertices 4 and 8, weight 1
#E7 5 6 W1 B0.5   ; Edge 7 between vertices 5 and 6, weight 1, probability of blockage 0.5
#E8 5 7 W1 B0.5   ; Edge 8 between vertices 5 and 7, weight 1, probability of blockage 0.5
#E9 6 9 W1        ; Edge 9 between vertices 6 and 9, weight 1
#E10 7 9 W1       ; Edge 10 between vertices 7 and 9, weight 1
#E11 9 10 W1      ; Edge 10 between vertices 9 and 10, weight 1
#E12 10 11 W1     ; Edge 12 between vertices 10 and 11, weight 1
#E13 11 8 W1      ; Edge 13 between vertices 11 and 8, weight 1
#D 11             ; Deadline is at time 11
#V 1 S            ; Vertex 1, has shelter

Graph visualization

graph


Additional input will be provided by the user via the terminal:

  • Start vertex.
  • Type of utility calculation.

For example:

Enter start vertex
> 1
Enter type of utility calculation
for max tree press 1
for value iteration press 2
> 2

Output

  • Detailed output will be displayed in the terminal
  • A summary will be saved in the results.txt file

Authors

Official assignment description

assignment 5

ai_ass5's People

Contributors

lina994 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.