JuliaPOMDP / JuliaPOMDP/DynamicDecisionNetworks.jl
Customizing the DDN for MOMDPs : Attempt
- Dominant language
- Julia
- Stars
- 3
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
Hello Guys,
I am asking what customization need to be performed on the DNNStructure of the DBNs to allow modeling MOMDPs.
I know that the DBN should be like this one

and I wondering if we could have a skeleton like this (my julia skills are very poor):
```julia
function momdp_ddn()
DDNStructure((
x = InputDDNNode(),
y = InputDDNNode(),
s = (x, y),
a = InputDDNNode(),
sp = DistributionDDNNode(transition),
o = DistributionDDNNode(observation),
r = FunctionDDNNode(reward),
xp = sp[1],
yp = sp[2],
),
(x = (),
y = (),
a = (),
sp = map(DDNNode, (:s, :a)),
o = map(DDNNode, (:s, :a, :sp)),
r = map(DDNNode, (:s, :a, :sp, :o)),
)
)
end
```
or
```julia
function momdp_ddn()
DDNStructure((
x = InputDDNNode(),
y = InputDDNNode(),
s = FunctionDDNNode(merge_state),
a = InputDDNNode(),
sp = DistributionDDNNode(transition),
o = DistributionDDNNode(observation),
r = FunctionDDNNode(reward),
xp = FunctionDDNNode(split_state_hidden),
yp = FunctionDDNNode(split_state_observable),
),
(x = (),
y = (),
a = (),
s = map(DDNNode, (:x, :y)),
sp = map(DDNNode, (:s, :a)),
xp = map(DDNNode, (:sp)),
yp = map(DDNNode, (:sp)),
o = map(DDNNode, (:s, :a, :sp)),
r = map(DDNNode, (:s, :a, :sp, :o)),
)
)
end
```
Does this definition be compatible with the JuliaPOMDPs Solvers?
What is a good way to deal with MOMDPs?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.