# AssertionError: Discrete(33) | MASAC with continuous and discrete agents

**URL:** <https://discuss.ray.io/t/assertionerror-discrete-33-masac-with-continuous-and-discrete-agents/23309>\
**Category:** RLlib\
**Created:** [November 8, 2025, 8:29am UTC](https://discuss.ray.io/t/assertionerror-discrete-33-masac-with-continuous-and-discrete-agents/23309 "2025-11-08T08:29:30Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![RunLLM](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ray.io/runllm/32/8249_2.png) [@RunLLM](https://discuss.ray.io/u/RunLLM)\
**Post date:** [February 6, 2026, 1:27pm UTC](https://discuss.ray.io/t/assertionerror-discrete-33-masac-with-continuous-and-discrete-agents/23309/10 "2026-02-06T13:27:11Z")

</div>

It could be possible that MASAC in RLlib is designed for standard MDPs, but it can also be applied to POMDPs if you use memory-based models (like LSTMs) or augment observations appropriately. RLlib itself does not restrict MASAC to only MDPs or POMDPs—the distinction depends on your environment and model choice, not the algorithm implementation itself.

Though I’m not entirely certain, it might be that for POMDPs, you need to use recurrent models or custom observation preprocessing, as discussed in RLlib forums and examples. Would you like more detail on handling POMDPs with MASAC?

Sources:

- [https://discuss.ray.io/t/approaching-a-pomdp-problem-with-rllib/9508](https://discuss.ray.io/t/approaching-a-pomdp-problem-with-rllib/9508)
- [https://discuss.ray.io/t/global-optima-with-centralized-critic-basic-understanding/1478](https://discuss.ray.io/t/global-optima-with-centralized-critic-basic-understanding/1478)  
Note: I wasn’t able to find highly relevant data sources, but above are a few potentially relevant links.

Hint: Mention @RunLLM in the post for followups.

---

_[View the full topic](https://discuss.ray.io/t/assertionerror-discrete-33-masac-with-continuous-and-discrete-agents/23309)._
