ai-nk-cce 0.1.0__tar.gz → 0.1.1__tar.gz

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.
Files changed (46) hide show
  1. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/PKG-INFO +1 -1
  2. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/pyproject.toml +1 -1
  3. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/nk_model/biased_prediction_agent.py +49 -1
  4. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/README.md +0 -0
  5. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/api/__init__.py +0 -0
  6. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/api/mpcdf_vllm.py +0 -0
  7. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/evals/nk_model.py +0 -0
  8. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/README.md +0 -0
  9. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/dataset_conv_v1.yml +0 -0
  10. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/dataset_conv_v2_m2.yml +0 -0
  11. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/dataset_conv_v3_m2_assembl_nearest.yml +0 -0
  12. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/dataset_debug.yml +0 -0
  13. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/dataset_v4_int_format.yml +0 -0
  14. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/dataset_v5.yml +0 -0
  15. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/inference.yml +0 -0
  16. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/train.yml +0 -0
  17. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/train_debug.yml +0 -0
  18. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/train_from_checkpoint.yml +0 -0
  19. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/train_from_checkpoint_debug.yml +0 -0
  20. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/train_grpo.yml +0 -0
  21. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/train_grpo_debug.yml +0 -0
  22. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config/train_grpo_debug_vllm.yml +0 -0
  23. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/config.py +0 -0
  24. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/dataset.py +0 -0
  25. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/inference.py +0 -0
  26. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/nk_assistant.py +0 -0
  27. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/parser.py +0 -0
  28. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/run_slurm.py +0 -0
  29. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/score.ipynb +0 -0
  30. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/scripts/template.slurm +0 -0
  31. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/scripts/template_rl.slurm +0 -0
  32. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/model/train.py +0 -0
  33. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/nk_model/__init__.py +0 -0
  34. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/nk_model/assembler.py +0 -0
  35. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/nk_model/dataset.py +0 -0
  36. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/nk_model/enums.py +0 -0
  37. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/nk_model/landscape_cache.py +0 -0
  38. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/nk_model/models.py +0 -0
  39. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/nk_model/nk_landscape.py +0 -0
  40. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/simulation/hill_climber_simulation.py +0 -0
  41. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/simulation/hill_climber_vs_ai_simulation.py +0 -0
  42. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/simulation/landscape_selection.py +0 -0
  43. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/utils/__init__.py +0 -0
  44. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/utils/binary_conversion.py +0 -0
  45. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/utils/logging.py +0 -0
  46. {ai_nk_cce-0.1.0 → ai_nk_cce-0.1.1}/src/utils/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ai-nk-cce
3
- Version: 0.1.0
3
+ Version: 0.1.1
4
4
  Summary: This repository is used to train AI agents to predict good strategies in a social learning game based on a NK landscape.
5
5
  Author: Luis Mienhardt
6
6
  Author-email: mienhardt@mpib-berlin.mpg.de
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "ai-nk-cce"
3
- version = "0.1.0"
3
+ version = "0.1.1"
4
4
  description = "This repository is used to train AI agents to predict good strategies in a social learning game based on a NK landscape."
5
5
  authors = [
6
6
  "Luis Mienhardt <mienhardt@mpib-berlin.mpg.de>",
@@ -32,7 +32,8 @@ class BiasedPredictionAgent:
32
32
  bias_power: Power applied to bias landscape G. Higher values
33
33
  make the bias more pronounced for regions with higher G(x)
34
34
  """
35
- self.landscape = landscape
35
+ self.landscape = self._normalize_landscape(landscape)
36
+
36
37
  self.bias_seed = bias_seed
37
38
  self.bias_power = bias_power
38
39
 
@@ -49,6 +50,53 @@ class BiasedPredictionAgent:
49
50
  List[Tuple[np.ndarray, float]],
50
51
  ] = {}
51
52
 
53
+ def _normalize_landscape(self, landscape: NKLandscape) -> NKLandscape:
54
+ """
55
+ Normalize landscape payoffs to [0, 1] range.
56
+
57
+ Args:
58
+ landscape: NKLandscape to normalize
59
+
60
+ Returns:
61
+ New NKLandscape with normalized payoffs
62
+ """
63
+ # Extract payoffs
64
+ payoffs = np.array([item.payoff for item in landscape.items])
65
+ min_payoff = np.min(payoffs)
66
+ max_payoff = np.max(payoffs)
67
+
68
+ # Normalize to [0, 1]
69
+ if max_payoff > min_payoff:
70
+ normalized_payoffs = (payoffs - min_payoff) / (
71
+ max_payoff - min_payoff
72
+ )
73
+ else:
74
+ normalized_payoffs = np.zeros_like(payoffs)
75
+
76
+ # Create new landscape with normalized payoffs
77
+ normalized_items = [
78
+ Item(
79
+ coordinates=item.coordinates.copy(),
80
+ payoff=normalized_payoffs[i],
81
+ )
82
+ for i, item in enumerate(landscape.items)
83
+ ]
84
+
85
+ # Create a new NKLandscape object
86
+ normalized_landscape = NKLandscape.__new__(NKLandscape)
87
+ normalized_landscape.params = landscape.params
88
+ normalized_landscape.N = landscape.N
89
+ normalized_landscape.K = landscape.K
90
+ normalized_landscape.M = landscape.M
91
+ normalized_landscape.items = normalized_items
92
+ normalized_landscape._payoff_lookup = {
93
+ tuple(item.coordinates): item.payoff
94
+ for item in normalized_items
95
+ }
96
+ normalized_landscape.uuid = f"{landscape.uuid}_normalized"
97
+
98
+ return normalized_landscape
99
+
52
100
  def _create_bias(self) -> NKLandscape:
53
101
  """
54
102
  Create bias landscape G with N'=N, K'=0.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes