gym-examples 2.0.78__py3-none-any.whl → 2.0.79__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gym_examples/__init__.py +1 -1
- gym_examples/envs/wsn_env.py +22 -12
- {gym_examples-2.0.78.dist-info → gym_examples-2.0.79.dist-info}/METADATA +1 -1
- gym_examples-2.0.79.dist-info/RECORD +7 -0
- gym_examples-2.0.78.dist-info/RECORD +0 -7
- {gym_examples-2.0.78.dist-info → gym_examples-2.0.79.dist-info}/WHEEL +0 -0
- {gym_examples-2.0.78.dist-info → gym_examples-2.0.79.dist-info}/top_level.txt +0 -0
gym_examples/__init__.py
CHANGED
gym_examples/envs/wsn_env.py
CHANGED
@@ -130,7 +130,7 @@ class WSNRoutingEnv(gym.Env):
|
|
130
130
|
rewards[i] = final_reward
|
131
131
|
|
132
132
|
# rewards = [0.5 * r + 0.5 * (1/self.n_sensors) * (self.network_reward_consumption_energy() + self.network_reward_dispersion_remaining_energy()) for r in rewards]
|
133
|
-
rewards = [0.5 * r + 0.5 * (self.network_reward_consumption_energy() + self.network_reward_dispersion_remaining_energy()) for r in rewards]
|
133
|
+
# rewards = [0.5 * r + 0.5 * (self.network_reward_consumption_energy() + self.network_reward_dispersion_remaining_energy()) for r in rewards]
|
134
134
|
|
135
135
|
# Only proceed if network consumption energy is not zero to avoid unnecessary list comprehension
|
136
136
|
self.rewards_individual = [r for r in self.rewards_individual if ((r != 0) and (r[len(r) -1] < 1))]
|
@@ -239,16 +239,26 @@ class WSNRoutingEnv(gym.Env):
|
|
239
239
|
|
240
240
|
return np.clip(1 - normalized_total_energy, 0, 1)
|
241
241
|
|
242
|
-
def compute_reward_dispersion_remaining_energy(self):
|
242
|
+
def compute_reward_dispersion_remaining_energy(self,i):
|
243
243
|
'''
|
244
|
-
Compute the reward based on the
|
244
|
+
Compute the reward based on the difference between the remaining energy of the sensor i and the mean remaining energy of all sensors
|
245
245
|
'''
|
246
|
-
|
247
|
-
# Normalize the
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
246
|
+
difference = np.abs(self.remaining_energy[i] - np.mean(self.remaining_energy))
|
247
|
+
# Normalize the difference
|
248
|
+
normalized_difference = difference / initial_energy
|
249
|
+
|
250
|
+
return np.clip(1 - normalized_difference, 0, 1)
|
251
|
+
|
252
|
+
# def compute_reward_dispersion_remaining_energy(self):
|
253
|
+
# '''
|
254
|
+
# Compute the reward based on the standard deviation of the remaining energy
|
255
|
+
# '''
|
256
|
+
# dispersion_remaining_energy = np.std(self.remaining_energy)
|
257
|
+
# # Normalize the standard deviation of the remaining energy
|
258
|
+
# max_dispersion_remaining_energy = initial_energy / 2 # maximum standard deviation of the remaining energy if n_sensors is even
|
259
|
+
# normalized_dispersion_remaining_energy = dispersion_remaining_energy / max_dispersion_remaining_energy
|
260
|
+
|
261
|
+
# return np.clip(1 - normalized_dispersion_remaining_energy, 0, 1)
|
252
262
|
|
253
263
|
def compute_reward_number_of_packets(self, action):
|
254
264
|
'''
|
@@ -268,13 +278,13 @@ class WSNRoutingEnv(gym.Env):
|
|
268
278
|
'''
|
269
279
|
reward_angle = self.compute_reward_angle(i, action)
|
270
280
|
reward_distance = self.compute_reward_distance(i, action)
|
271
|
-
reward_consumption_energy = self.compute_reward_consumption_energy(i, action)
|
272
|
-
|
281
|
+
# reward_consumption_energy = self.compute_reward_consumption_energy(i, action)
|
282
|
+
reward_dispersion_remaining_energy = self.compute_reward_dispersion_remaining_energy(i)
|
273
283
|
reward_number_of_packets = self.compute_reward_number_of_packets(action)
|
274
284
|
|
275
285
|
# return [reward_angle, reward_distance, reward_consumption_energy, reward_dispersion_remaining_energy, reward_number_of_packets]
|
276
286
|
# return [reward_angle, reward_distance, reward_consumption_energy, reward_number_of_packets]
|
277
|
-
return [reward_angle, reward_distance, reward_number_of_packets]
|
287
|
+
return [reward_angle, reward_distance, reward_dispersion_remaining_energy, reward_number_of_packets]
|
278
288
|
|
279
289
|
def network_reward_dispersion_remaining_energy(self):
|
280
290
|
'''
|
@@ -0,0 +1,7 @@
|
|
1
|
+
gym_examples/__init__.py,sha256=60kE6HFM4-uZSatHGKbkRoOAaZQGRuOZAcrz7NDyiPI,193
|
2
|
+
gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
|
3
|
+
gym_examples/envs/wsn_env.py,sha256=SyD3DwXcsuSpLHxZhaVFnL3oe4KbdvQvP-bm8qIquhs,16706
|
4
|
+
gym_examples-2.0.79.dist-info/METADATA,sha256=Yq5hVewL-_sXk8r7ATRsBENfobdaCx5qLp6jBvwNkn4,411
|
5
|
+
gym_examples-2.0.79.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
6
|
+
gym_examples-2.0.79.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
|
7
|
+
gym_examples-2.0.79.dist-info/RECORD,,
|
@@ -1,7 +0,0 @@
|
|
1
|
-
gym_examples/__init__.py,sha256=udYZkpCQxSAsM5cZAiH_bjCIVJW_7mVBgej_95NoItw,193
|
2
|
-
gym_examples/envs/__init__.py,sha256=lgMe4pyOuUTgTBUddM0iwMlETsYTwFShny6ifm8PGM8,53
|
3
|
-
gym_examples/envs/wsn_env.py,sha256=Tw8Fcib96WJ2HWQYibc4wLBkyl6uui9x0Irpd8iYV-c,16174
|
4
|
-
gym_examples-2.0.78.dist-info/METADATA,sha256=UHbxTHKAOpaZdy3HqGEavxDjT91AQ-nC1x9XYvcXAp0,411
|
5
|
-
gym_examples-2.0.78.dist-info/WHEEL,sha256=2wepM1nk4DS4eFpYrW1TTqPcoGNfHhhO_i5m4cOimbo,92
|
6
|
-
gym_examples-2.0.78.dist-info/top_level.txt,sha256=rJRksoAF32M6lTLBEwYzRdo4PgtejceaNnnZ3HeY_Rk,13
|
7
|
-
gym_examples-2.0.78.dist-info/RECORD,,
|
File without changes
|
File without changes
|