Metadata-Version: 2.4
Name: rkt_ai_lib
Version: 2.0.3
Summary: RootKit AI Lib (RL - Qlearning)
Author-email: RootKit <rootkit@rootkit-lab.org>
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: numpy>=2.0.0
Requires-Dist: pandas>=2.2.2
Requires-Dist: rkt_config_lib
Requires-Dist: rkt_logger_lib

# rkt_ai_lib

Reinforcement Learning (Q-Learning) library with interchangeable backends.

## Features
- **Q-Learning Implementation**: Standard Q-Learning algorithm with epsilon-greedy exploration.
- **Interchangeable Backends**:
    - `pandas` (default): Robust DataFrame-based storage.
    - `numpy`: High-performance array-based storage.
    - `dict`: Simple in-memory storage (JSON serializable).
- **Secure Persistence**: Options to save/load Q-tables using **JSON** (safe) or Pickle (fast).
- **Flexible**: Configurable learning rate (alpha), discount factor (gamma), and exploration rate (epsilon).

## Usage

```python
from ai import QLearning

# Initialize agent
actions = ["up", "down", "left", "right"]
ai = QLearning(actions=actions, backend="pandas")

# Learning step
state = "state_1"
action = ai.choose_action(state)
reward = 1.0
ai.learn(state, action, reward)

# Save safely
ai.save("qtable.json", format="json")
```
