Zachary Sunberg

Results 213 comments of Zachary Sunberg

`missing` and argmax do not play well together... ``` julia> argmax([1.0, missing, 3.0]) 2 julia> argmin([1.0, missing, 3.0]) 2 ```

We could use `nothing`: ``` julia> argmax([1.0, nothing, 3.0]) ERROR: MethodError: no method matching isless(::Float64, ::Nothing) julia> argmax(something.([1.0, nothing, 3.0], -Inf)) 3 ``` but returning `nothing` from `value` does not...

I guess maybe `-Inf` is actually the right thing because this policy considers any actions without an alphavector to be infinitely bad?

`value` is not required to return the true value of the policy, it is just what the policy *thinks* the value is. For example, QMDP returns an `AlphaVectorPolicy`, but the...

I concede your point that there is no objective theoretical definition of `value(p, b, a)`, but some difficulties would come up if we tried to do a backup in every...

Thanks for the contribution! My only concern is that it goes against the "preferably only one obvious way to do it" wisdom (https://peps.python.org/pep-0020/), since now `k` is in multiple places....

Is there a name we could use besides `update!`? Perhaps something more specific like `set_age!`

Yes... the only problem is: ```julia julia> using POMDPTools, Distributions julia> d = SparseCat([1,2], [0.5, 0.5]); julia> Product([d, d]) ERROR: MethodError: no method matching Product(::Vector{SparseCat{Vector{Int64}, Vector{Float64}}}) Closest candidates are: Product(::V)...

@johannes-fischer thanks for asking! It is very useful for me to have to work out how to explain things like this. Let's say we wanted to put put `POMDPTools.SparseCat` in...

Yeah, actually I guess some form of what you are suggesting wouldn't be too bad. I think the niceness of integrating with Distributions.jl outweighs the bit of ugliness, and it...