TroglodyteDerivations
commited on
Commit
•
94c96eb
1
Parent(s):
a8f3137
Updated lines 45-86 with: # Display the formulation with parameters plugged in st.write("Example 2 via Method 2:") st.latex(r""" r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{2 + 1 x 10^{-5}}} """) # Abstract Base Class for Intrinsic Reward Calculation class IntrinsicRewardCalculator(ABC): @abstractmethod def calculate_intrinsic_reward(self, eta, count, epsilon): pass # Concrete Class for Intrinsic Reward Calculation class ConcreteIntrinsicRewardCalculator(IntrinsicRewardCalculator): def calculate_intrinsic_reward(self, eta, count, epsilon): return eta * (1 / np.sqrt(count + epsilon)) def populate_df_0_0(self, df_0_0, eta, count, epsilon): intrinsic_reward = self.calculate_intrinsic_reward(eta, count, epsilon) df_0_0.at[0, 'Intrinsic Reward'] = intrinsic_reward return df_0_0 # Example 2 parameters eta = 0.1 count = 2 epsilon = 1e-5 x,y = 0,0 # Create instance for Intrinsic Reward Calculation irc = ConcreteIntrinsicRewardCalculator() intrinsic_reward = irc.calculate_intrinsic_reward(0.1, 2, 1e-5) st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y}:", intrinsic_reward) st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y} rounded 6 decimal places:", np.round(intrinsic_reward,6)) # Populate the DataFrame with the calculated intrinsic reward df_0_0 = irc.populate_df_0_0(df_0_0, eta, count, epsilon) # Display the updated DataFrame st.write(df_0_0[1:2])
Browse files
app.py
CHANGED
@@ -3,6 +3,7 @@ import pandas as pd
|
|
3 |
import plotly.graph_objects as go
|
4 |
import plotly.express as px
|
5 |
import numpy as np
|
|
|
6 |
|
7 |
|
8 |
# Set the title of the app
|
@@ -32,7 +33,7 @@ epsilon = 1e-5
|
|
32 |
# Intrinsic reward formulation
|
33 |
r_t_int = eta * (1 / (N_st + epsilon)**0.5)
|
34 |
|
35 |
-
# Display the
|
36 |
st.latex(r"""
|
37 |
r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{1 + 1 x 10^{-5}}}
|
38 |
""")
|
@@ -41,7 +42,48 @@ st.write(f"Calculated intrinsic reward: {r_t_int}")
|
|
41 |
st.dataframe(df_0_0[:1])
|
42 |
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
|
|
|
|
|
45 |
|
46 |
|
47 |
|
|
|
3 |
import plotly.graph_objects as go
|
4 |
import plotly.express as px
|
5 |
import numpy as np
|
6 |
+
from abc import ABC, abstractmethod
|
7 |
|
8 |
|
9 |
# Set the title of the app
|
|
|
33 |
# Intrinsic reward formulation
|
34 |
r_t_int = eta * (1 / (N_st + epsilon)**0.5)
|
35 |
|
36 |
+
# Display the formulation with parameters plugged in
|
37 |
st.latex(r"""
|
38 |
r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{1 + 1 x 10^{-5}}}
|
39 |
""")
|
|
|
42 |
st.dataframe(df_0_0[:1])
|
43 |
|
44 |
|
45 |
+
# Display the formulation with parameters plugged in
|
46 |
+
st.write("Example 2 via Method 2:")
|
47 |
+
st.latex(r"""
|
48 |
+
r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{2 + 1 x 10^{-5}}}
|
49 |
+
""")
|
50 |
+
|
51 |
+
|
52 |
+
# Abstract Base Class for Intrinsic Reward Calculation
|
53 |
+
class IntrinsicRewardCalculator(ABC):
|
54 |
+
@abstractmethod def calculate_intrinsic_reward(self, eta, count, epsilon):
|
55 |
+
pass
|
56 |
+
|
57 |
+
# Concrete Class for Intrinsic Reward Calculation
|
58 |
+
class ConcreteIntrinsicRewardCalculator(IntrinsicRewardCalculator):
|
59 |
+
def calculate_intrinsic_reward(self, eta, count, epsilon):
|
60 |
+
return eta * (1 / np.sqrt(count + epsilon))
|
61 |
+
|
62 |
+
def populate_df_0_0(self, df_0_0, eta, count, epsilon):
|
63 |
+
intrinsic_reward = self.calculate_intrinsic_reward(eta, count, epsilon)
|
64 |
+
df_0_0.at[0, 'Intrinsic Reward'] = intrinsic_reward
|
65 |
+
return df_0_0
|
66 |
+
|
67 |
+
# Example 2 parameters
|
68 |
+
eta = 0.1
|
69 |
+
count = 2
|
70 |
+
epsilon = 1e-5
|
71 |
+
x,y = 0,0
|
72 |
+
|
73 |
+
# Create instance for Intrinsic Reward Calculation
|
74 |
+
irc = ConcreteIntrinsicRewardCalculator()
|
75 |
+
intrinsic_reward = irc.calculate_intrinsic_reward(0.1, 2, 1e-5)
|
76 |
+
|
77 |
+
|
78 |
+
st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y}:", intrinsic_reward)
|
79 |
+
st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y} rounded 6 decimal places:", np.round(intrinsic_reward,6))
|
80 |
+
|
81 |
+
|
82 |
+
# Populate the DataFrame with the calculated intrinsic reward
|
83 |
+
df_0_0 = irc.populate_df_0_0(df_0_0, eta, count, epsilon)
|
84 |
|
85 |
+
# Display the updated DataFrame
|
86 |
+
st.write(df_0_0[1:2])
|
87 |
|
88 |
|
89 |
|