cs238project.jl's Issues
Check the moving/sensing at the array boundaries
Make sure that the sensors handle trying to go out-of-bounds in a rollout (https://github.com/Shushman/CS238-Project/blob/master/juliaCode/Sensors.jl#L32)
Implement energyMeanSTD() function for sensors
As I said in #5 , the energyUsageLikelihood
method returns a number and not a distribution. The energyMeanSTD()
function will be used to return the mean and STD of the sensor energy model. This will be used for directly updating the belief over battery used, using Gaussian addition rules rather than particles.
Distributions.Normal works with std not variance
Simple change but correct your assumptions, if any, that Distributions.Normal
works with variance. It actually works with STD. Change the code in Sensors.jl
to reflect this
How should we upweight NFZ cost?
To ensure there is sufficient incentive to explore, we may have to set the cost of entering an NFZ cell to be really high so it does not just go along the path from start to goal, without using any sensors.
Do we require a < 1.0 discount factor for POMCP/DESPOT/POMCPOW
Since we are doing a finite horizon grid world, I have set the discount factor to 1.0. However, it may still be worth investigating if a non-one discount factor is required for online POMDP solvers.
Should we use StaticArrays?
They apparently allow for compiler optimization BUT must be carefully constructed as they cannot be changed after initialization. This will effect how we are initializing those arrays currently. Static Arrays can be used for:
- The location -
StaticArray{Int64,2}
[Probably not useful since 2D] - The world map -
StaticArray{Bool,2}(size,size)
- The observed word map -
StaticArray{Tuple{Bool,Float64},2}
Large positive reward for reaching goal OR ensure no 0-weight cycles
Currently all our rewards are negative as they represent penalties. I think we should either add a positive reward for reaching the goal or penalize a movement action that does not change position. Otherwise, there may not be an incentive for the agent to go towards the goal.
energyUsageLikelihood should return a number
As you see here (https://github.com/Shushman/CS238-Project/blob/master/juliaCode/UAVpomdp.jl#L179), I assume the energyUsageLikelihood
function returns a number, not a distribution (according to what your Sensors.jl
considers). Given some value, in our case the battery used, it should calculate the prob. density at that point.
For example, if the value is 4.5
and the energy distribution is 4.5,2.0
then the result should be 1/(sqrt(2*pi)*2)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.