I have an agent that accepts states and returns actions, while preserving the internal representation of the usefulness of state / action pairs. I also have an environment that takes action and returns status / reward pairs.
I need to configure the agent with the initial state, and then continuously switch from the agent - (action) β environment - (state, reward) β agent - (action) β ... However, the internal states (which need to be updated at each iteration) must remain closed (i.e. inside the agent or environment). This means that I cannot just call the environment as a function inside the agent, using state and action as arguments.
I'm kind of like a Haskell noobie, so I'm not even sure if this is possible.
Two questions:
If an agent should use state to compute an action, then how do you expect to keep state representation from the agent?
If the environment expects to receive a state (and reward) for the action, how do you expect to keep the state of the state secret from the environment?
Both are possible, but each should include some kind of abstraction for querying states or creating states. I have no good idea about this design.
This will help clarify the issue.
Providing type signatures for functions of interest
, , .
P.S. Haskell ( , ).
, "" - , , , , .
- - .
module Agent (AgentState, other_stuff) where
module Agent (AgentState(..), other_stuff) where
( , , ), , - , , .
, , , , , , Haskell, , . ( , - , , , .)
Source: https://habr.com/ru/post/1708022/More articles:Accessing cookies, hopefully in JavaScript - javascriptLogin Request URL, javascript - javascriptTop 10 frequencies in a hash table with linked lists - c ++visual studio 2010 CTP expiration works around - visual-studio-2010Bash Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ vi: ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΡΡΠΎΡΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Ρ ΠΊΡΡΡΠΎΡΠΎΠΌ Π²Π²Π΅ΡΡ /Π²Π½ΠΈΠ·, ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΡΡΡΠΎΡΠ° Π½Π΅ Π² ΠΊΠΎΠ½ΡΠ΅? - bashSqlite embed with unique names, get identifier - sqliteWhy Subversion Does Not Allow "." and "@" in usernames? Or that? - svnHashSet in WCF - c #ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Windows ΠΈΠ· java-ΠΊΠΎΠ΄Π° Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ (ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ JNA) - javaWhy is Klang complaining about all my auto-realized objects? - memory-leaksAll Articles