TroglodyteDerivations
commited on
Commit
•
3b5b8d7
1
Parent(s):
42b0add
Updated lines 80-147 with: st.write("Example 3 via Method 1:") # Example 3 parameters eta = 0.1 N_st = 3 epsilon = 1e-5 # Intrinsic reward formulation r_t_int = eta * (1 / (N_st + epsilon)**0.5) # Display the formulation with parameters plugged in st.latex(r""" r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{3 + 1 x 10^{-5}}} """) st.write(f"Calculated intrinsic reward: {r_t_int}") st.dataframe(df_0_0[2:3]) # Display the formulation with parameters plugged in st.write("Example 4 via Method 2:") st.latex(r""" r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{4 + 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 4 parameters eta = 0.1 count = 4 epsilon = 1e-5 x,y = 0,0 # Create instance for Intrinsic Reward Calculation irc = ConcreteIntrinsicRewardCalculator() intrinsic_reward = irc.calculate_intrinsic_reward(0.1, 4, 1e-5) st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y}:", intrinsic_reward) st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y} rounded 2 decimal places:", np.round(intrinsic_reward,2)) # 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.dataframe(df_0_0[3:4]) st.write("Example 5 via Method 1:") # Example 5 parameters eta = 0.1 N_st = 5 epsilon = 1e-5 # Intrinsic reward formulation r_t_int = eta * (1 / (N_st + epsilon)**0.5) # Display the formulation with parameters plugged in st.latex(r""" r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{5 + 1 x 10^{-5}}} """) st.write(f"Calculated intrinsic reward: {r_t_int}") st.write(f"Calculated intrinsic reward rounded 4 decimal places:", np.round(r_t_int,4)") st.dataframe(df_0_0[4:5])
Browse files
app.py
CHANGED
@@ -20,24 +20,21 @@ st.write("Oh, sweet Homer's doughnuts! If that second .wav file ain't playin', j
|
|
20 |
st.audio("h2.wav", format="audio/wav")
|
21 |
st.image("intrinsic_reward_formulation.png", caption='Intrinsic Reward Formulation')
|
22 |
st.write("Solving the first 5 equations @ (0,0):")
|
23 |
-
st.write("Example 1 via Method 1:")
|
24 |
|
25 |
df_0_0 = pd.read_csv('df_0_0.csv')
|
26 |
st.write(df_0_0.shape)
|
27 |
|
|
|
28 |
# Define parameters
|
29 |
eta = 0.1
|
30 |
N_st = 1
|
31 |
epsilon = 1e-5
|
32 |
-
|
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 |
""")
|
40 |
-
|
41 |
st.write(f"Calculated intrinsic reward: {r_t_int}")
|
42 |
st.dataframe(df_0_0[:1])
|
43 |
|
@@ -48,7 +45,6 @@ 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
|
@@ -74,18 +70,81 @@ x,y = 0,0
|
|
74 |
# Create instance for Intrinsic Reward Calculation
|
75 |
irc = ConcreteIntrinsicRewardCalculator()
|
76 |
intrinsic_reward = irc.calculate_intrinsic_reward(0.1, 2, 1e-5)
|
77 |
-
|
78 |
-
|
79 |
st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y}:", intrinsic_reward)
|
80 |
st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y} rounded 4 decimal places:", np.round(intrinsic_reward,4))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
# Populate the DataFrame with the calculated intrinsic reward
|
84 |
df_0_0 = irc.populate_df_0_0(df_0_0, eta, count, epsilon)
|
85 |
-
|
86 |
# Display the updated DataFrame
|
87 |
-
st.dataframe(df_0_0[
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
|
90 |
|
91 |
|
|
|
20 |
st.audio("h2.wav", format="audio/wav")
|
21 |
st.image("intrinsic_reward_formulation.png", caption='Intrinsic Reward Formulation')
|
22 |
st.write("Solving the first 5 equations @ (0,0):")
|
|
|
23 |
|
24 |
df_0_0 = pd.read_csv('df_0_0.csv')
|
25 |
st.write(df_0_0.shape)
|
26 |
|
27 |
+
st.write("Example 1 via Method 1:")
|
28 |
# Define parameters
|
29 |
eta = 0.1
|
30 |
N_st = 1
|
31 |
epsilon = 1e-5
|
|
|
32 |
# Intrinsic reward formulation
|
33 |
r_t_int = eta * (1 / (N_st + epsilon)**0.5)
|
|
|
34 |
# Display the formulation with parameters plugged in
|
35 |
st.latex(r"""
|
36 |
r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{1 + 1 x 10^{-5}}}
|
37 |
""")
|
|
|
38 |
st.write(f"Calculated intrinsic reward: {r_t_int}")
|
39 |
st.dataframe(df_0_0[:1])
|
40 |
|
|
|
45 |
r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{2 + 1 x 10^{-5}}}
|
46 |
""")
|
47 |
|
|
|
48 |
# Abstract Base Class for Intrinsic Reward Calculation
|
49 |
class IntrinsicRewardCalculator(ABC):
|
50 |
@abstractmethod
|
|
|
70 |
# Create instance for Intrinsic Reward Calculation
|
71 |
irc = ConcreteIntrinsicRewardCalculator()
|
72 |
intrinsic_reward = irc.calculate_intrinsic_reward(0.1, 2, 1e-5)
|
|
|
|
|
73 |
st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y}:", intrinsic_reward)
|
74 |
st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y} rounded 4 decimal places:", np.round(intrinsic_reward,4))
|
75 |
+
# Populate the DataFrame with the calculated intrinsic reward
|
76 |
+
df_0_0 = irc.populate_df_0_0(df_0_0, eta, count, epsilon)
|
77 |
+
# Display the updated DataFrame
|
78 |
+
st.dataframe(df_0_0[1:2])
|
79 |
+
|
80 |
+
st.write("Example 3 via Method 1:")
|
81 |
+
# Example 3 parameters
|
82 |
+
eta = 0.1
|
83 |
+
N_st = 3
|
84 |
+
epsilon = 1e-5
|
85 |
+
# Intrinsic reward formulation
|
86 |
+
r_t_int = eta * (1 / (N_st + epsilon)**0.5)
|
87 |
+
# Display the formulation with parameters plugged in
|
88 |
+
st.latex(r"""
|
89 |
+
r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{3 + 1 x 10^{-5}}}
|
90 |
+
""")
|
91 |
+
st.write(f"Calculated intrinsic reward: {r_t_int}")
|
92 |
+
st.dataframe(df_0_0[2:3])
|
93 |
|
94 |
|
95 |
+
|
96 |
+
# Display the formulation with parameters plugged in
|
97 |
+
st.write("Example 4 via Method 2:")
|
98 |
+
st.latex(r"""
|
99 |
+
r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{4 + 1 x 10^{-5}}}
|
100 |
+
""")
|
101 |
+
|
102 |
+
# Abstract Base Class for Intrinsic Reward Calculation
|
103 |
+
class IntrinsicRewardCalculator(ABC):
|
104 |
+
@abstractmethod
|
105 |
+
def calculate_intrinsic_reward(self, eta, count, epsilon):
|
106 |
+
pass
|
107 |
+
|
108 |
+
# Concrete Class for Intrinsic Reward Calculation
|
109 |
+
class ConcreteIntrinsicRewardCalculator(IntrinsicRewardCalculator):
|
110 |
+
def calculate_intrinsic_reward(self, eta, count, epsilon):
|
111 |
+
return eta * (1 / np.sqrt(count + epsilon))
|
112 |
+
|
113 |
+
def populate_df_0_0(self, df_0_0, eta, count, epsilon):
|
114 |
+
intrinsic_reward = self.calculate_intrinsic_reward(eta, count, epsilon)
|
115 |
+
df_0_0.at[0, 'Intrinsic Reward'] = intrinsic_reward
|
116 |
+
return df_0_0
|
117 |
+
|
118 |
+
# Example 4 parameters
|
119 |
+
eta = 0.1
|
120 |
+
count = 4
|
121 |
+
epsilon = 1e-5
|
122 |
+
x,y = 0,0
|
123 |
+
|
124 |
+
# Create instance for Intrinsic Reward Calculation
|
125 |
+
irc = ConcreteIntrinsicRewardCalculator()
|
126 |
+
intrinsic_reward = irc.calculate_intrinsic_reward(0.1, 4, 1e-5)
|
127 |
+
st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y}:", intrinsic_reward)
|
128 |
+
st.write(f"Intrinsic Reward @ {count} @ Coordinates {x,y} rounded 2 decimal places:", np.round(intrinsic_reward,2))
|
129 |
# Populate the DataFrame with the calculated intrinsic reward
|
130 |
df_0_0 = irc.populate_df_0_0(df_0_0, eta, count, epsilon)
|
|
|
131 |
# Display the updated DataFrame
|
132 |
+
st.dataframe(df_0_0[3:4])
|
133 |
|
134 |
+
st.write("Example 5 via Method 1:")
|
135 |
+
# Example 5 parameters
|
136 |
+
eta = 0.1
|
137 |
+
N_st = 5
|
138 |
+
epsilon = 1e-5
|
139 |
+
# Intrinsic reward formulation
|
140 |
+
r_t_int = eta * (1 / (N_st + epsilon)**0.5)
|
141 |
+
# Display the formulation with parameters plugged in
|
142 |
+
st.latex(r"""
|
143 |
+
r_{t}^{int} \eta \frac{1}{\sqrt{N(s_{t}) + \epsilon}} = 0.1 \frac{1}{\sqrt{5 + 1 x 10^{-5}}}
|
144 |
+
""")
|
145 |
+
st.write(f"Calculated intrinsic reward: {r_t_int}")
|
146 |
+
st.write(f"Calculated intrinsic reward rounded 4 decimal places:", np.round(r_t_int,4)")
|
147 |
+
st.dataframe(df_0_0[4:5])
|
148 |
|
149 |
|
150 |
|