pub struct RLAgent { /* private fields */ }Expand description
Reinforcement Learning Agent
Implementations§
Source§impl RLAgent
impl RLAgent
pub fn new(config: QLearningConfig) -> Self
Sourcepub async fn select_action(&self, state: &SystemState) -> RemediationAction
pub async fn select_action(&self, state: &SystemState) -> RemediationAction
Select action using epsilon-greedy policy
Sourcepub async fn update(
&mut self,
state: &SystemState,
action: &RemediationAction,
reward: f64,
next_state: &SystemState,
)
pub async fn update( &mut self, state: &SystemState, action: &RemediationAction, reward: f64, next_state: &SystemState, )
Update Q-value based on observed outcome
Sourcepub fn calculate_reward(&self, before: &SystemState, after: &SystemState) -> f64
pub fn calculate_reward(&self, before: &SystemState, after: &SystemState) -> f64
Calculate reward based on outcome
Sourcepub async fn save_model(&self, path: &str) -> Result<()>
pub async fn save_model(&self, path: &str) -> Result<()>
Save Q-table to disk
Sourcepub async fn load_model(&mut self, path: &str) -> Result<()>
pub async fn load_model(&mut self, path: &str) -> Result<()>
Load Q-table from disk
Auto Trait Implementations§
impl Freeze for RLAgent
impl !RefUnwindSafe for RLAgent
impl Send for RLAgent
impl Sync for RLAgent
impl Unpin for RLAgent
impl !UnwindSafe for RLAgent
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request