Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/rtd_v2.0.0' into oa/streams/ca
Browse files Browse the repository at this point in the history
  • Loading branch information
detlefarend committed Jul 29, 2024
2 parents 16106d6 + 2055fc4 commit 3524b7b
Show file tree
Hide file tree
Showing 41 changed files with 486 additions and 200 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Reusing RL Environments

Alternatively, if your environment follows Gym or PettingZoo interface, you can apply our
relevant useful wrappers for the integration between third-party packages and MLPro.
For more information about the available third-party packages, please click :ref:`here<target-package-third>`.
For more information about the available third-party packages, please click :ref:`here<target_extension_hub>`.
Then, you need to transfer the wrapped RL environment to a GT Game Board.


Expand Down
Original file line number Diff line number Diff line change
@@ -1,46 +1,30 @@
MLPro-GT-Native - Native Games
------------------------------

Here is a concise series to introduce all users to the MLPro-GT-Native in a practical way, whether you are a first-timer or an experienced MLPro user.
Here is a concise series designed to introduce all users to MLPro-GT-Native practically, whether you are new to it or an experienced MLPro user.

If you are a first-timer, then you can begin with **Section (1) What is MLPro?**.
No experience with MLPro? To learn more about MLPro, please refer to the :ref:`Getting Started page of MLPro <target_mlpro_getstarted>`.

If you have understood MLPro but not the game theoretical approach, then you can jump to **Section (2) What is Game Theory?**.
By following the step-by-step guidelines below, we expect you to gain a practical understanding of MLPro-GT and begin using MLPro-GT-Native.

If you have experience in both MLPro and game theory, then you can directly start with **Section (3) What is MLPro-GT?**.

After following the below step-by-step guideline, we expect the user understands the MLPro-GT in practice and starts using MLPro-GT-Native.

**1. What is MLPro?**
If you are a first-time user of MLPro, you might wonder what is MLPro.
Therefore, we recommend initially starting with understanding MLPro by checking out the following steps:

(a) :ref:`MLPro: An Introduction <target_mlpro_introduction>`

(b) `introduction video of MLPro <https://ars.els-cdn.com/content/image/1-s2.0-S2665963822001051-mmc1.mp4>`_

(c) :ref:`installing and getting started with MLPro <target_mlpro_getstarted>`

(d) `MLPro paper in Software Impact journal <https://doi.org/10.1016/j.simpa.2022.100421>`_

**2. What is Game Theory?**
**1. What is Game Theory?**
Game theory is a branch of mathematics and social science that examines strategic interactions among rational decision-makers.
It involves modeling scenarios where individuals or entities, referred to as players, make decisions that influence one another.
Players choose from a set of strategies, and the resulting outcomes, or payoffs, are determined by the collective decisions.
The concept of Nash equilibrium, where no player has an incentive to unilaterally deviate from their chosen strategy, is central to game theory.
This framework is widely applied across disciplines such as economics, engineering, political science, and biology, offering insights into strategic decision-making, predicting outcomes, and formulating optimal strategies in interactive situations.

**3. What is MLPro-GT?**
We expect that you have a basic knowledge of MLPro and game theory.
Therefore, you need to understand the overview of MLPro-GT by following the steps below:
**2. What is MLPro-GT?**
We assume you have a basic understanding of MLPro and game theory.
Therefore, you should familiarize yourself with the overview of MLPro-GT by following these steps:

(a) :ref:`MLPro-GT introduction page <target_overview_GT>`

(b) `Section 5 of MLPro 1.0 paper <https://doi.org/10.1016/j.mlwa.2022.100341>`_

**4. Understanding Players, Strategies, Payoffs, and Games in MLPro-GT-Native**
We provide the definition of each main component of game theory in our documentation page, including howto setup each component.
For better understanding, you can direct to the following pages:
**3. Understanding Players, Strategies, Payoffs, and Games in MLPro-GT-Native**
Our documentation page provides definitions for each main component of game theory, along with instructions on how to set up each component.
For a better understanding, you can refer to the following pages:

(a) :ref:`MLPro-GT-Native: Player, Coalition, Competition <target_native_pl_page>`

Expand All @@ -50,7 +34,7 @@ After following the below step-by-step guideline, we expect the user understands

(d) :ref:`MLPro-GT-Native: Games <target_native_games_page>`

**5. Access HowTo Files related to MLPro-GT-Native**
For better understanding of the applications, you can direct to our sample applications in the following page:
**4. Access HowTo Files related to MLPro-GT-Native**
For a better understanding of the applications, please refer to our sample applications on the following page:

- :ref:`HowTo MLPro-GT-Native <target_howto_natgt>`
Original file line number Diff line number Diff line change
@@ -1,62 +1,49 @@
MLPro-GT-DG - Dynamic Games
---------------------------

Here is a concise series to introduce all users to the MLPro-GT-DG in a practical way, whether you are a first-timer or an experienced MLPro user.
Here is a concise series designed to practically introduce all users to MLPro-GT-DG, whether you are new to it or an experienced MLPro user.

If you are a first-timer, then you can begin with **Section (1) What is MLPro?**.
No experience with MLPro? To learn more about MLPro, please refer to the :ref:`Getting Started page of MLPro <target_mlpro_getstarted>`.

If you have understood MLPro but not the game theoretical approach in the engineering field, then you can jump to **Section (2) What is Game Theory?**.
By following the step-by-step guidelines below, we expect you to gain a practical understanding of MLPro-GT and begin using MLPro-GT-DG.

If you have experience in both MLPro and game theory, then you can directly start with **Section (3) What is MLPro-GT?**.
**1. What are Game Theory and Dynamic Games?**
Game Theory is a field of mathematics that studies strategic interactions where the outcome for each participant depends on the choices of all involved.
It models situations where individuals or entities make decisions to maximize their own payoffs, considering the potential responses of others.
Dynamic Games extend this concept to situations where decisions are made sequentially over time, with each player’s strategy evolving based on previous actions and outcomes.
These games often involve strategies that adapt as the game progresses, reflecting changing conditions and information.
The study of dynamic games helps understand complex interactions in fields like economics, politics, and biology, where decisions are interdependent and evolve over time.

For a deeper understanding, we recommend reading the book by Dario Bauso, titled: `Game Theory with Engineering Applications <https://dl.acm.org/doi/10.5555/2948750>`_.

After following the below step-by-step guideline, we expect the user understands the MLPro-GT in practice and starts using MLPro-GT-DG.

**1. What is MLPro?**
If you are a first-time user of MLPro, you might wonder what is MLPro.
Therefore, we recommend initially starting with understanding MLPro by checking out the following steps:

(a) :ref:`MLPro: An Introduction <target_mlpro_introduction>`

(b) `introduction video of MLPro <https://ars.els-cdn.com/content/image/1-s2.0-S2665963822001051-mmc1.mp4>`_

(c) :ref:`installing and getting started with MLPro <target_mlpro_getstarted>`

(d) `MLPro paper in Software Impact journal <https://doi.org/10.1016/j.simpa.2022.100421>`_

**2. What is Game Theory?**
If you have not dealt with game theory for engineering applications, we recommend starting to understand at least the basic concept of game theory.
There are plenty of references, articles, papers, books, or videos on the internet that explains the game theory.
But, for deep understanding, we recommend you to read the book from Dario Bauso, which is `Game Theory with Engineering Applications <https://dl.acm.org/doi/10.5555/2948750>`_.

**3. What is MLPro-GT?**
We expect that you have a basic knowledge of MLPro and game theory.
Therefore, you need to understand the overview of MLPro-GT by following the steps below:
**2. What is MLPro-GT?**
We assume you have a basic understanding of MLPro and game theory.
Therefore, you should familiarize yourself with the overview of MLPro-GT by following these steps:

(a) :ref:`MLPro-GT introduction page <target_overview_GT>`

(b) `Section 5 of MLPro 1.0 paper <https://doi.org/10.1016/j.mlwa.2022.100341>`_

**4. Understanding Game Board and Player in MLPro-GT-DG**
First of all, it is important to understand the structure of a game board in MLPro-GT, which can be found on :ref:`this page <target_gb_gt>`.
**3. Understanding Game Board and Player in MLPro-GT-DG**
Firstly, it is important to understand the structure of a game board in MLPro-GT, which can be found on :ref:`this page <target_gb_gt>`.

In reinforcement learning, we have two types of agents, such as a single-agent RL or a multi-agent RL. Both of the types are covered by MLPro-RL.
Meanwhile, in MLPro-GT, we focus on a multi-player GT because there are no significant advantages of using game theory for single-player.
To understand a player in MLPro-GT, you can visit :ref:`this page <target_players_GT>`.
MLPro-GT focuses on multi-player game theory, as game theory offers no significant advantages for single-player scenarios.
To understand the concept of a player in MLPro-GT, you can visit :ref:`this page <target_players_GT>`.

Then, you can start following some of our howto files and a sample application that shows how to run and train multi-player with their own policy, as follows:
Next, you can refer to our how-to files and a sample application that demonstrate how to run and train multi-player scenarios with their own policies, as outlined below:

(a) :ref:`Howto GT-001: Run Multi-Player with Own Policy <Howto GT 001>`

(b) :ref:`Howto GT-002: Train Multi-Player <Howto GT 002>`

(c) `Section 6.2 of MLPro 1.0 paper <https://doi.org/10.1016/j.mlwa.2022.100341>`_

**5. Additional Guidance**
After following the previous steps, we hope that you could practice MLPro-GT and start using this subpackage for your GT-related activities.
For more advanced features, we highly recommend you to check out the following howto files:
**4. Additional Guidance**
After completing the previous steps, we hope you will be able to practice with MLPro-GT and begin using this subpackage for your game theory-related activities.
For more advanced features, we strongly recommend reviewing the following how-to files:

(a) :ref:`Howto RL-HT-001: Hyperopt <Howto RL HT 001>`
(a) `Howto RL-HT-001: Hyperparameter Tuning using Hyperopt <https://mlpro-int-hyperopt.readthedocs.io/en/latest/content/01_examples_pool/howto.rl.ht.001.html>`_

(b) :ref:`Howto RL-HT-002: Optuna <Howto RL HT 002>`
(b) `Howto RL-HT-001: Hyperparameter Tuning using Optuna <https://mlpro-int-optuna.readthedocs.io/en/latest/content/01_examples_pool/howto.rl.ht.002.html>`_

(c) :ref:`Howto RL-ATT-001: Stagnation Detection <Howto RL ATT 001>`
(c) `Howto RL-ATT-001: Train and Reload Single Agent using Stagnation Detection (Gymnasium) <https://mlpro-int-sb3.readthedocs.io/en/latest/content/01_example_pool/03_howtos_att/howto_rl_att_001_train_and_reload_single_agent_gym_sd.html>`_
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,16 @@ Online Adaptive Stream Processing

Further descriptions coming soon...


**Learn more**

.. toctree::
:maxdepth: 2
:maxdepth: 3
:glob:

layer0_oa_stream_processing/*
layer0_oa_stream_processing/*


**Cross Reference**

...
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
.. _target_oa_stream_overview:
Overview
========

Combines the functionalities of MLPro's stream task and ML model...


**Learn more**

.. toctree::
:maxdepth: 2
:glob:

01_overview/*


**Cross Reference**

- BF: Stream Processing
- Howto section
- API
- MLPro-Int-River
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _target_oa_stream_tasks:
Online Adaptive Stream Tasks
============================

...

Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. _target_oa_stream_workflows:
Online Adaptive Stream Workflows
================================


...
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. _target_oa_boundary_detector:
Boundary Detection
==================

Further descriptions coming soon...


**Cross Reference**

- Related Howtos
- API
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
.. _target_oa_normalizers:
Normalization
=============

Further descriptions coming soon...


**Learn more**

.. toctree::
:maxdepth: 2
:glob:

03_oa_normalization/*
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. _target_oa_norm_minmax:
MinMax-Normalization
====================

Further descriptions coming soon...


**Cross Reference**

- BF-Math: MinMax-Normalization
- Howtos
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
.. _target_oa_norm_ztrans:
Z-Scaling
=========

Further descriptions coming soon...


**Cross Reference**

- BF-Math: Z-Scaling
- Howtos
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
.. _target_oa_cluster_analyzer:
Cluster Analysis
================

Further descriptions coming soon...


**Learn more**

.. toctree::
:maxdepth: 2
:glob:

10_cluster_analysis/*


**Cross Reference**

- Selected open access papers
- Howtos
- API
- MLPro-OA-River
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
.. _target_oa_anomaly_detection:
Anomaly Detection
=================

Further descriptions coming soon...


**Learn more**

.. toctree::
:maxdepth: 2
:glob:

20_anomaly_detection/*


**Cross Reference**

- Selected open access papers
- Howtos
- API
- MLPro-OA-River
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.. _target_oa_cbad:
Cluster-based Anomaly Detection
===============================

Further descriptions coming soon...

- Motivation, potential, advantages
- New types of anomalies
- Special dependencies to cluster algorithms


**Cross Reference**

- Howtos
- API
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
.. _target_oa_anomaly_prediction:
Anomaly Prediction
==================

Further descriptions coming soon...


**Learn more**

.. toctree::
:maxdepth: 2
:glob:

20_anomaly_prediction/*


**Cross Reference**

- Selected open access papers
- Howtos
- API
- MLPro-OA-River
Loading

0 comments on commit 3524b7b

Please sign in to comment.