Skip to content

Commit

Permalink
Fixed broken links in example notebooks.
Browse files Browse the repository at this point in the history
  • Loading branch information
BoZenKhaa committed Jul 23, 2020
1 parent 17ee61f commit b2ab280
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 13 deletions.
4 changes: 2 additions & 2 deletions notebooks/Defining-a-POMDP-with-the-Explicit-Interface.ipynb
Expand Up @@ -6,7 +6,7 @@
"source": [
"# Defining a POMDP with the Explicit Interface\n",
"\n",
"In this tutorial we will define a version of the Tiger POMDP example [1] with the explicit interface of POMDPs.jl. To find out more about the explicit interface, please see this section of the POMDPs.jl documentation: [Explicit POMDP Interface](http://juliapomdp.github.io/POMDPs.jl/latest/explicit.html).\n",
"In this tutorial we will define a version of the Tiger POMDP example [1] with the explicit interface of POMDPs.jl. To find out more about the explicit interface, please see this section of the POMDPs.jl documentation: [Explicit POMDP Interface](https://juliapomdp.github.io/POMDPs.jl/latest/explicit).\n",
"\n",
"**Note:** This tutorial assumes familiarity with object-oriented programming in Julia. If you have a small to medium sized problem, you may find the [QuickPOMDPs interface](https://github.com/JuliaPOMDP/QuickPOMDPs.jl) easier to get started with. It requires no object oriented code.\n",
"\n",
Expand Down Expand Up @@ -135,7 +135,7 @@
"Now that the states and actions are defined, the transition distribution can be specified. We can do so by implementing the `transition` function. It takes as input the pomdp model, a state and an action and returns a distribution over the next states. \n",
"\n",
"We first need a data type to represent the transition distribution. We must be able to sample a state from this object using `rand` and also query the probability mass of a certain state using `pdf`.\n",
"A new distribution type is sometimes appropriate, but POMDPModelTools provides useful [types](https://juliapomdp.github.io/POMDPModelTools.jl/latest/distributions.html) for simple cases like this one. \n",
"A new distribution type is sometimes appropriate, but POMDPModelTools provides useful [types](https://juliapomdp.github.io/POMDPModelTools.jl/latest/distributions) for simple cases like this one. \n",
"\n",
"In the tiger problem, since there are two state we can represent our distribution with one parameter corresponding to the probability of being in state `true` (tiger on the left). This can be done using the `BoolDistribution` type provided by POMDPModelTools. The transition model is described as follows: \n",
"- The tiger always stays on the same side \n",
Expand Down
14 changes: 7 additions & 7 deletions notebooks/Defining-a-POMDP-with-the-Generative-Interface.ipynb
Expand Up @@ -6,7 +6,7 @@
"source": [
"# Defining a POMDP with the Generative Interface\n",
"\n",
"In this tutorial we will define a version of the Crying Baby Problem [1] with the generative interface of POMDPs.jl. To find out more about the generative interface, please see this section of the POMDPs.jl documentation: [Generative POMDP Interface](http://juliapomdp.github.io/POMDPs.jl/latest/generative.html#generative_doc-1).\n",
"In this tutorial we will define a version of the Crying Baby Problem [1] with the generative interface of POMDPs.jl. To find out more about the generative interface, please see this section of the POMDPs.jl documentation: [Generative POMDP Interface](https://juliapomdp.github.io/POMDPs.jl/latest/generative#generative_doc-1).\n",
"\n",
"[1] Kochenderfer, Mykel J. Decision Making Under Uncertainty: Theory and Application. MIT Press, 2015"
]
Expand Down Expand Up @@ -39,7 +39,7 @@
"\n",
"A [version of this problem implemented with the explicit interface](https://github.com/JuliaPOMDP/POMDPModels.jl/blob/master/src/CryingBabies.jl) can be found in the [POMDPModels repository](https://github.com/JuliaPOMDP/POMDPModels.jl).\n",
"\n",
"The `BabyPOMDP` model type is a subtype of the [`POMDP`](http://juliapomdp.github.io/POMDPs.jl/latest/api.html#POMDPs.POMDP) abstract type. `POMDP` has three parameters which indicate the types used to represent the state, action, and observation respectively, which are all `Bool` in this case. The type also includes parameters that will be used in the reward and transition definitions."
"The `BabyPOMDP` model type is a subtype of the [`POMDP`](https://juliapomdp.github.io/POMDPs.jl/latest/api#POMDPs.POMDP) abstract type. `POMDP` has three parameters which indicate the types used to represent the state, action, and observation respectively, which are all `Bool` in this case. The type also includes parameters that will be used in the reward and transition definitions."
]
},
{
Expand Down Expand Up @@ -138,11 +138,11 @@
"source": [
"## Initial state distribution\n",
"\n",
"The final task for describing the POMDP is specifying the initial state distribution, which can be accomplished by implementing a method of [`initialstate_distribution`](http://juliapomdp.github.io/POMDPs.jl/latest/api.html#POMDPs.initialstate_distribution).\n",
"The final task for describing the POMDP is specifying the initial state distribution, which can be accomplished by implementing a method of [`initialstate_distribution`](https://juliapomdp.github.io/POMDPs.jl/latest/api#POMDPs.initialstate_distribution).\n",
"\n",
"For this example, the baby always starts in the the \"not hungry\" state (`false`). This is implemented using the [`Deterministic` distribution from POMDPModelTools](https://juliapomdp.github.io/POMDPModelTools.jl/latest/distributions.html#Deterministic-1). The distribution returned by `initialstate_distribution` can be any object that implements all or part of the [POMDPs.jl distribution interface](http://juliapomdp.github.io/POMDPs.jl/latest/interfaces.html#Distributions-1).\n",
"For this example, the baby always starts in the the \"not hungry\" state (`false`). This is implemented using the [`Deterministic` distribution from POMDPModelTools](https://juliapomdp.github.io/POMDPModelTools.jl/latest/distributions#Deterministic-1). The distribution returned by `initialstate_distribution` can be any object that implements all or part of the [POMDPs.jl distribution interface](https://juliapomdp.github.io/POMDPs.jl/latest/interfaces#Distributions-1).\n",
"\n",
"Alternatively, one may implement [`initialstate(m::BabyPOMDP, rng::AbstractRNG)`](http://juliapomdp.github.io/POMDPs.jl/latest/api.html#POMDPs.initialstate), to generate initial states, but many solvers expect at least a sampleable model of the initial state distribution, so `initialstate_distribution` is preferred."
"Alternatively, one may implement [`initialstate(m::BabyPOMDP, rng::AbstractRNG)`](https://juliapomdp.github.io/POMDPs.jl/latest/api#POMDPs.initialstate), to generate initial states, but many solvers expect at least a sampleable model of the initial state distribution, so `initialstate_distribution` is preferred."
]
},
{
Expand All @@ -160,9 +160,9 @@
"source": [
"## Other methods\n",
"\n",
"Certain solvers may require other methods to be implemented. To see which methods are required for a particular solver, [check the solver requirements](http://juliapomdp.github.io/POMDPs.jl/latest/requirements.html#requirements-1) with [@requirements_info](http://juliapomdp.github.io/POMDPs.jl/latest/api.html#POMDPs.@requirements_info).\n",
"Certain solvers may require other methods to be implemented. To see which methods are required for a particular solver, [check the solver requirements](https://juliapomdp.github.io/POMDPs.jl/latest/requirements#requirements-1) with [@requirements_info](https://juliapomdp.github.io/POMDPs.jl/latest/api#POMDPs.@requirements_info).\n",
"\n",
"[`actions`](http://juliapomdp.github.io/POMDPs.jl/latest/api.html#POMDPs.actions) is a particularly common requirement. For this crying baby case, since the action is a Boolean variable, a [default implementation of the action space is provided when POMDPModelTools is imported](https://juliapomdp.github.io/POMDPModelTools.jl/latest/convenience.html#Convenience-1)."
"[`actions`](https://juliapomdp.github.io/POMDPs.jl/latest/api#POMDPs.actions) is a particularly common requirement. For this crying baby case, since the action is a Boolean variable, a [default implementation of the action space is provided when POMDPModelTools is imported](https://juliapomdp.github.io/POMDPModelTools.jl/latest/convenience#Convenience-1)."
]
},
{
Expand Down
2 changes: 1 addition & 1 deletion notebooks/Defining-a-tabular-POMDP.ipynb
Expand Up @@ -8,7 +8,7 @@
"\n",
"In this tutorial we will define a version of the Tiger POMDP example [1] with a tabular representation. \n",
"\n",
"To find out more about the explicit interface, please see this section of the POMDPs.jl documentation: [Explicit POMDP Interface](http://juliapomdp.github.io/POMDPs.jl/latest/explicit.html).\n",
"To find out more about the explicit interface, please see this section of the POMDPs.jl documentation: [Explicit POMDP Interface](https://juliapomdp.github.io/POMDPs.jl/latest/explicit).\n",
"\n",
"For a more detailed problem description and an alternative way of implementing it using a functional form see [Defining-a-POMDP-with-the-Explicit-Interface](https://github.com/JuliaPOMDP/POMDPExamples.jl/blob/master/notebooks/Defining-a-POMDP-with-the-Explicit-Interface.ipynb).\n",
"\n",
Expand Down
2 changes: 1 addition & 1 deletion notebooks/Running-Simulations.ipynb
Expand Up @@ -211,7 +211,7 @@
"\n",
"### `eachstep`\n",
"\n",
"The most powerful function for accessing the information in a `SimHistory` is the [`eachstep` function](https://juliapomdp.github.io/POMDPSimulators.jl/latest/histories#POMDPSimulators.eachstep) which returns an iterator through [`NamedTuple`](https://docs.julialang.org/en/v1/manual/types/index.html#Named-Tuple-Types-1)s representing each step in the history. The `eachstep` function is similar to the `stepthrough` function above except that it iterates through the immutable steps of a previously simulated history instead of conducting the simulation as the for loop is being carried out."
"The most powerful function for accessing the information in a `SimHistory` is the [`eachstep` function](https://juliapomdp.github.io/POMDPSimulators.jl/latest/histories#POMDPSimulators.eachstep) which returns an iterator through [`NamedTuple`](https://docs.julialang.org/en/v1/manual/types/index#Named-Tuple-Types-1)s representing each step in the history. The `eachstep` function is similar to the `stepthrough` function above except that it iterates through the immutable steps of a previously simulated history instead of conducting the simulation as the for loop is being carried out."
]
},
{
Expand Down
13 changes: 11 additions & 2 deletions notebooks/Using-an-Online-Solver.ipynb
Expand Up @@ -12,7 +12,7 @@
"[2] Silver, David, and Joel Veness. \"Monte-Carlo planning in large POMDPs.\" In Advances in Neural Information Processing Systems, 2010.\n",
"\n",
"### POMDP Model\n",
"For this example we will use the LightDark1D POMDP (defined in [POMDPModels](https://github.com/JuliaPOMDP/POMDPModels.jl)) which is an instance of an explicit POMDP. Please see this [notebook](https://github.com/JuliaPOMDP/POMDPExamples) for how to define a POMDP with the explicit interface."
"For this example we will use the LightDark1D POMDP (defined in [POMDPModels](https://github.com/JuliaPOMDP/POMDPModels.jl)) which is an instance of an explicit POMDP. Please see this [notebook](https://github.com/JuliaPOMDP/POMDPExamples.jl) for how to define a POMDP with the explicit interface."
]
},
{
Expand Down Expand Up @@ -191,8 +191,17 @@
"mimetype": "application/julia",
"name": "julia",
"version": "1.2.0"
},
"pycharm": {
"stem_cell": {
"cell_type": "raw",
"source": [],
"metadata": {
"collapsed": false
}
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
}

0 comments on commit b2ab280

Please sign in to comment.