evolib 0.2.0b2.dev2__tar.gz → 0.2.0b2.dev3__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 (460) hide show
  1. {evolib-0.2.0b2.dev2/evolib.egg-info → evolib-0.2.0b2.dev3}/PKG-INFO +1 -1
  2. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/api.py +2 -0
  3. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/config/evonet_component_config.py +35 -1
  4. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/population.py +4 -0
  5. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/evonet.py +18 -6
  6. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/plotting.py +89 -0
  7. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3/evolib.egg-info}/PKG-INFO +1 -1
  8. evolib-0.2.0b2.dev3/examples/07_evonet/04_recurrent_bitseq.py +103 -0
  9. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/pyproject.toml +1 -1
  10. evolib-0.2.0b2.dev2/examples/07_evonet/04_recurrent_bitseq.py +0 -63
  11. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/LICENSE +0 -0
  12. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/MANIFEST.in +0 -0
  13. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/README.md +0 -0
  14. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_core_individual.rst +0 -0
  15. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_core_population.rst +0 -0
  16. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_operators_crossover.rst +0 -0
  17. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_operators_evonet_structural_mutation.rst +0 -0
  18. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_operators_mutation.rst +0 -0
  19. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_operators_replacement.rst +0 -0
  20. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_operators_reproduction.rst +0 -0
  21. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_operators_selection.rst +0 -0
  22. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_operators_strategy.rst +0 -0
  23. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_public_api.rst +0 -0
  24. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_representation_evonet.rst +0 -0
  25. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_representation_netvector.rst +0 -0
  26. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_representation_vector.rst +0 -0
  27. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_utils_benchmarks.rst +0 -0
  28. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_utils_history_logger.rst +0 -0
  29. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_utils_loss_functions.rst +0 -0
  30. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/api_utils_plotting.rst +0 -0
  31. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/conf.py +0 -0
  32. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/config_guide.md +0 -0
  33. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/config_parameter.md +0 -0
  34. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/getting_started.md +0 -0
  35. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/docs/index.md +0 -0
  36. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/PIL/__init__.py +0 -0
  37. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/__init__.py +0 -0
  38. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/_typeshed/__init__.py +0 -0
  39. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/annotated_types/__init__.py +0 -0
  40. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/asyncio/__init__.py +0 -0
  41. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/collections/__init__.py +0 -0
  42. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/concurrent/__init__.py +0 -0
  43. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/concurrent/futures/__init__.py +0 -0
  44. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/ctypes/__init__.py +0 -0
  45. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/cycler/__init__.py +0 -0
  46. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/email/__init__.py +0 -0
  47. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/__init__.py +0 -0
  48. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/config/__init__.py +0 -0
  49. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/core/__init__.py +0 -0
  50. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/globals/__init__.py +0 -0
  51. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/initializers/__init__.py +0 -0
  52. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/interfaces/__init__.py +0 -0
  53. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/operators/__init__.py +0 -0
  54. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/registry/__init__.py +0 -0
  55. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/representation/__init__.py +0 -0
  56. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/evolib/utils/__init__.py +0 -0
  57. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/html/__init__.py +0 -0
  58. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/importlib/__init__.py +0 -0
  59. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/importlib/metadata/__init__.py +0 -0
  60. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/importlib/resources/__init__.py +0 -0
  61. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/jinja2/__init__.py +0 -0
  62. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/json/__init__.py +0 -0
  63. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/logging/__init__.py +0 -0
  64. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/markdown_it/__init__.py +0 -0
  65. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/markdown_it/common/__init__.py +0 -0
  66. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/markdown_it/helpers/__init__.py +0 -0
  67. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/markdown_it/presets/__init__.py +0 -0
  68. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/markdown_it/rules_block/__init__.py +0 -0
  69. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/markdown_it/rules_core/__init__.py +0 -0
  70. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/markdown_it/rules_inline/__init__.py +0 -0
  71. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/markupsafe/__init__.py +0 -0
  72. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/matplotlib/__init__.py +0 -0
  73. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/matplotlib/_api/__init__.py +0 -0
  74. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/matplotlib/axes/__init__.py +0 -0
  75. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/matplotlib/backends/__init__.py +0 -0
  76. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/matplotlib/projections/__init__.py +0 -0
  77. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/matplotlib/style/__init__.py +0 -0
  78. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/matplotlib/tri/__init__.py +0 -0
  79. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/mdurl/__init__.py +0 -0
  80. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/multiprocessing/__init__.py +0 -0
  81. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/__init__.py +0 -0
  82. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/_core/__init__.py +0 -0
  83. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/_typing/__init__.py +0 -0
  84. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/_utils/__init__.py +0 -0
  85. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/char/__init__.py +0 -0
  86. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/core/__init__.py +0 -0
  87. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/f2py/__init__.py +0 -0
  88. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/fft/__init__.py +0 -0
  89. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/lib/__init__.py +0 -0
  90. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/linalg/__init__.py +0 -0
  91. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/ma/__init__.py +0 -0
  92. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/matrixlib/__init__.py +0 -0
  93. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/polynomial/__init__.py +0 -0
  94. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/random/__init__.py +0 -0
  95. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/rec/__init__.py +0 -0
  96. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/strings/__init__.py +0 -0
  97. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/testing/__init__.py +0 -0
  98. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/testing/_private/__init__.py +0 -0
  99. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/numpy/typing/__init__.py +0 -0
  100. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/os/__init__.py +0 -0
  101. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/packaging/__init__.py +0 -0
  102. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/pydantic/__init__.py +0 -0
  103. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/pydantic/_internal/__init__.py +0 -0
  104. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/pydantic/deprecated/__init__.py +0 -0
  105. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/pydantic/plugin/__init__.py +0 -0
  106. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/pydantic/v1/__init__.py +0 -0
  107. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/pydantic_core/__init__.py +0 -0
  108. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/pyexpat/__init__.py +0 -0
  109. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/pyparsing/__init__.py +0 -0
  110. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/pyparsing/diagram/__init__.py +0 -0
  111. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/rich/__init__.py +0 -0
  112. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/sys/__init__.py +0 -0
  113. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/typing_inspection/__init__.py +0 -0
  114. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/unittest/__init__.py +0 -0
  115. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/urllib/__init__.py +0 -0
  116. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/xml/__init__.py +0 -0
  117. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/xml/etree/__init__.py +0 -0
  118. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/xml/parsers/__init__.py +0 -0
  119. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/xml/parsers/expat/__init__.py +0 -0
  120. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/yaml/__init__.py +0 -0
  121. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/zipfile/__init__.py +0 -0
  122. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/zipfile/_path/__init__.py +0 -0
  123. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/3.12/zoneinfo/__init__.py +0 -0
  124. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/.mypy_cache/__init__.py +0 -0
  125. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/__init__.py +0 -0
  126. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/__pycache__/__init__.py +0 -0
  127. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/config/__init__.py +0 -0
  128. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/config/__pycache__/__init__.py +0 -0
  129. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/config/base_component_config.py +0 -0
  130. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/config/component_registry.py +0 -0
  131. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/config/schema.py +0 -0
  132. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/config/vector_component_config.py +0 -0
  133. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/PIL/__init__.py +0 -0
  134. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/__init__.py +0 -0
  135. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/_typeshed/__init__.py +0 -0
  136. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/asyncio/__init__.py +0 -0
  137. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/collections/__init__.py +0 -0
  138. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/concurrent/__init__.py +0 -0
  139. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/concurrent/futures/__init__.py +0 -0
  140. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/ctypes/__init__.py +0 -0
  141. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/cycler/__init__.py +0 -0
  142. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/email/__init__.py +0 -0
  143. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/evolib/__init__.py +0 -0
  144. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/evolib/core/__init__.py +0 -0
  145. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/evolib/globals/__init__.py +0 -0
  146. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/evolib/interfaces/__init__.py +0 -0
  147. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/evolib/operators/__init__.py +0 -0
  148. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/evolib/utils/__init__.py +0 -0
  149. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/html/__init__.py +0 -0
  150. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/importlib/__init__.py +0 -0
  151. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/importlib/metadata/__init__.py +0 -0
  152. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/importlib/resources/__init__.py +0 -0
  153. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/jinja2/__init__.py +0 -0
  154. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/json/__init__.py +0 -0
  155. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/logging/__init__.py +0 -0
  156. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/markupsafe/__init__.py +0 -0
  157. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/matplotlib/__init__.py +0 -0
  158. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/matplotlib/_api/__init__.py +0 -0
  159. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/matplotlib/axes/__init__.py +0 -0
  160. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/matplotlib/backends/__init__.py +0 -0
  161. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/matplotlib/projections/__init__.py +0 -0
  162. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/matplotlib/style/__init__.py +0 -0
  163. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/matplotlib/tri/__init__.py +0 -0
  164. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/multiprocessing/__init__.py +0 -0
  165. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/__init__.py +0 -0
  166. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/_core/__init__.py +0 -0
  167. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/_typing/__init__.py +0 -0
  168. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/_utils/__init__.py +0 -0
  169. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/char/__init__.py +0 -0
  170. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/core/__init__.py +0 -0
  171. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/f2py/__init__.py +0 -0
  172. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/fft/__init__.py +0 -0
  173. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/lib/__init__.py +0 -0
  174. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/linalg/__init__.py +0 -0
  175. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/ma/__init__.py +0 -0
  176. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/matrixlib/__init__.py +0 -0
  177. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/polynomial/__init__.py +0 -0
  178. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/random/__init__.py +0 -0
  179. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/rec/__init__.py +0 -0
  180. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/strings/__init__.py +0 -0
  181. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/testing/__init__.py +0 -0
  182. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/testing/_private/__init__.py +0 -0
  183. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/numpy/typing/__init__.py +0 -0
  184. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/os/__init__.py +0 -0
  185. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/packaging/__init__.py +0 -0
  186. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/pyexpat/__init__.py +0 -0
  187. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/pyparsing/__init__.py +0 -0
  188. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/pyparsing/diagram/__init__.py +0 -0
  189. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/sys/__init__.py +0 -0
  190. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/unittest/__init__.py +0 -0
  191. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/urllib/__init__.py +0 -0
  192. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/xml/__init__.py +0 -0
  193. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/xml/etree/__init__.py +0 -0
  194. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/xml/parsers/__init__.py +0 -0
  195. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/xml/parsers/expat/__init__.py +0 -0
  196. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/yaml/__init__.py +0 -0
  197. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/zipfile/__init__.py +0 -0
  198. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/3.12/zipfile/_path/__init__.py +0 -0
  199. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/.mypy_cache/__init__.py +0 -0
  200. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/README.md +0 -0
  201. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/__init__.py +0 -0
  202. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/__pycache__/__init__.py +0 -0
  203. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/core/individual.py +0 -0
  204. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/globals/README.md +0 -0
  205. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/globals/__init__.py +0 -0
  206. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/globals/__pycache__/__init__.py +0 -0
  207. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/globals/numeric.py +0 -0
  208. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/PIL/__init__.py +0 -0
  209. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/__init__.py +0 -0
  210. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/_typeshed/__init__.py +0 -0
  211. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/asyncio/__init__.py +0 -0
  212. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/collections/__init__.py +0 -0
  213. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/concurrent/__init__.py +0 -0
  214. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/concurrent/futures/__init__.py +0 -0
  215. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/ctypes/__init__.py +0 -0
  216. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/cycler/__init__.py +0 -0
  217. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/email/__init__.py +0 -0
  218. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/evolib/__init__.py +0 -0
  219. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/evolib/core/__init__.py +0 -0
  220. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/evolib/globals/__init__.py +0 -0
  221. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/evolib/initializers/__init__.py +0 -0
  222. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/evolib/interfaces/__init__.py +0 -0
  223. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/evolib/operators/__init__.py +0 -0
  224. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/evolib/utils/__init__.py +0 -0
  225. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/html/__init__.py +0 -0
  226. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/importlib/__init__.py +0 -0
  227. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/importlib/metadata/__init__.py +0 -0
  228. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/importlib/resources/__init__.py +0 -0
  229. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/jinja2/__init__.py +0 -0
  230. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/json/__init__.py +0 -0
  231. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/logging/__init__.py +0 -0
  232. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/markupsafe/__init__.py +0 -0
  233. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/matplotlib/__init__.py +0 -0
  234. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/matplotlib/_api/__init__.py +0 -0
  235. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/matplotlib/axes/__init__.py +0 -0
  236. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/matplotlib/backends/__init__.py +0 -0
  237. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/matplotlib/projections/__init__.py +0 -0
  238. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/matplotlib/style/__init__.py +0 -0
  239. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/matplotlib/tri/__init__.py +0 -0
  240. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/multiprocessing/__init__.py +0 -0
  241. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/__init__.py +0 -0
  242. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/_core/__init__.py +0 -0
  243. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/_typing/__init__.py +0 -0
  244. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/_utils/__init__.py +0 -0
  245. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/char/__init__.py +0 -0
  246. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/core/__init__.py +0 -0
  247. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/f2py/__init__.py +0 -0
  248. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/fft/__init__.py +0 -0
  249. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/lib/__init__.py +0 -0
  250. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/linalg/__init__.py +0 -0
  251. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/ma/__init__.py +0 -0
  252. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/matrixlib/__init__.py +0 -0
  253. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/polynomial/__init__.py +0 -0
  254. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/random/__init__.py +0 -0
  255. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/rec/__init__.py +0 -0
  256. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/strings/__init__.py +0 -0
  257. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/testing/__init__.py +0 -0
  258. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/testing/_private/__init__.py +0 -0
  259. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/numpy/typing/__init__.py +0 -0
  260. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/os/__init__.py +0 -0
  261. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/packaging/__init__.py +0 -0
  262. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/pyexpat/__init__.py +0 -0
  263. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/pyparsing/__init__.py +0 -0
  264. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/pyparsing/diagram/__init__.py +0 -0
  265. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/sys/__init__.py +0 -0
  266. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/unittest/__init__.py +0 -0
  267. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/urllib/__init__.py +0 -0
  268. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/xml/__init__.py +0 -0
  269. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/xml/etree/__init__.py +0 -0
  270. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/xml/parsers/__init__.py +0 -0
  271. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/xml/parsers/expat/__init__.py +0 -0
  272. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/yaml/__init__.py +0 -0
  273. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/zipfile/__init__.py +0 -0
  274. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/3.12/zipfile/_path/__init__.py +0 -0
  275. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/.mypy_cache/__init__.py +0 -0
  276. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/__init__.py +0 -0
  277. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/__pycache__/__init__.py +0 -0
  278. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/evonet_initializers.py +0 -0
  279. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/net_initializers.py +0 -0
  280. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/registry.py +0 -0
  281. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/initializers/vector_initializers.py +0 -0
  282. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/interfaces/__init__.py +0 -0
  283. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/interfaces/__pycache__/__init__.py +0 -0
  284. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/interfaces/enums.py +0 -0
  285. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/interfaces/structs.py +0 -0
  286. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/interfaces/types.py +0 -0
  287. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/io/checkpoint.py +0 -0
  288. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/io/serialization.py +0 -0
  289. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/README.md +0 -0
  290. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/__init__.py +0 -0
  291. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/__pycache__/__init__.py +0 -0
  292. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/crossover.py +0 -0
  293. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/evonet_structural_mutation.py +0 -0
  294. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/mutation.py +0 -0
  295. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/replacement.py +0 -0
  296. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/reproduction.py +0 -0
  297. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/selection.py +0 -0
  298. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/operators/strategy.py +0 -0
  299. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/registry/__init__.py +0 -0
  300. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/registry/__pycache__/__init__.py +0 -0
  301. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/registry/replacement_registry.py +0 -0
  302. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/registry/selection_registry.py +0 -0
  303. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/registry/strategy_registry.py +0 -0
  304. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/PIL/__init__.py +0 -0
  305. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/__init__.py +0 -0
  306. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/_typeshed/__init__.py +0 -0
  307. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/annotated_types/__init__.py +0 -0
  308. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/asyncio/__init__.py +0 -0
  309. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/collections/__init__.py +0 -0
  310. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/concurrent/__init__.py +0 -0
  311. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/concurrent/futures/__init__.py +0 -0
  312. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/ctypes/__init__.py +0 -0
  313. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/cycler/__init__.py +0 -0
  314. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/email/__init__.py +0 -0
  315. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/__init__.py +0 -0
  316. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/config/__init__.py +0 -0
  317. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/core/__init__.py +0 -0
  318. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/globals/__init__.py +0 -0
  319. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/initializers/__init__.py +0 -0
  320. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/interfaces/__init__.py +0 -0
  321. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/operators/__init__.py +0 -0
  322. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/registry/__init__.py +0 -0
  323. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/representation/__init__.py +0 -0
  324. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/evolib/utils/__init__.py +0 -0
  325. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/html/__init__.py +0 -0
  326. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/importlib/__init__.py +0 -0
  327. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/importlib/metadata/__init__.py +0 -0
  328. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/importlib/resources/__init__.py +0 -0
  329. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/jinja2/__init__.py +0 -0
  330. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/json/__init__.py +0 -0
  331. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/logging/__init__.py +0 -0
  332. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/markdown_it/__init__.py +0 -0
  333. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/markdown_it/common/__init__.py +0 -0
  334. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/markdown_it/helpers/__init__.py +0 -0
  335. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/markdown_it/presets/__init__.py +0 -0
  336. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/markdown_it/rules_block/__init__.py +0 -0
  337. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/markdown_it/rules_core/__init__.py +0 -0
  338. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/markdown_it/rules_inline/__init__.py +0 -0
  339. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/markupsafe/__init__.py +0 -0
  340. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/matplotlib/__init__.py +0 -0
  341. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/matplotlib/_api/__init__.py +0 -0
  342. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/matplotlib/axes/__init__.py +0 -0
  343. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/matplotlib/backends/__init__.py +0 -0
  344. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/matplotlib/projections/__init__.py +0 -0
  345. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/matplotlib/style/__init__.py +0 -0
  346. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/matplotlib/tri/__init__.py +0 -0
  347. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/mdurl/__init__.py +0 -0
  348. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/multiprocessing/__init__.py +0 -0
  349. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/__init__.py +0 -0
  350. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/_core/__init__.py +0 -0
  351. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/_typing/__init__.py +0 -0
  352. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/_utils/__init__.py +0 -0
  353. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/char/__init__.py +0 -0
  354. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/core/__init__.py +0 -0
  355. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/f2py/__init__.py +0 -0
  356. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/fft/__init__.py +0 -0
  357. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/lib/__init__.py +0 -0
  358. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/linalg/__init__.py +0 -0
  359. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/ma/__init__.py +0 -0
  360. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/matrixlib/__init__.py +0 -0
  361. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/polynomial/__init__.py +0 -0
  362. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/random/__init__.py +0 -0
  363. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/rec/__init__.py +0 -0
  364. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/strings/__init__.py +0 -0
  365. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/testing/__init__.py +0 -0
  366. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/testing/_private/__init__.py +0 -0
  367. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/numpy/typing/__init__.py +0 -0
  368. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/os/__init__.py +0 -0
  369. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/packaging/__init__.py +0 -0
  370. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/pydantic/__init__.py +0 -0
  371. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/pydantic/_internal/__init__.py +0 -0
  372. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/pydantic/deprecated/__init__.py +0 -0
  373. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/pydantic/plugin/__init__.py +0 -0
  374. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/pydantic/v1/__init__.py +0 -0
  375. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/pydantic_core/__init__.py +0 -0
  376. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/pyexpat/__init__.py +0 -0
  377. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/pyparsing/__init__.py +0 -0
  378. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/pyparsing/diagram/__init__.py +0 -0
  379. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/rich/__init__.py +0 -0
  380. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/sys/__init__.py +0 -0
  381. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/typing_inspection/__init__.py +0 -0
  382. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/unittest/__init__.py +0 -0
  383. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/urllib/__init__.py +0 -0
  384. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/xml/__init__.py +0 -0
  385. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/xml/etree/__init__.py +0 -0
  386. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/xml/parsers/__init__.py +0 -0
  387. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/xml/parsers/expat/__init__.py +0 -0
  388. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/yaml/__init__.py +0 -0
  389. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/zipfile/__init__.py +0 -0
  390. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/zipfile/_path/__init__.py +0 -0
  391. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/3.12/zoneinfo/__init__.py +0 -0
  392. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/.mypy_cache/__init__.py +0 -0
  393. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/__init__.py +0 -0
  394. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/__pycache__/__init__.py +0 -0
  395. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/_apply_config_mapping.py +0 -0
  396. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/base.py +0 -0
  397. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/composite.py +0 -0
  398. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/evo_params.py +0 -0
  399. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/netvector.py +0 -0
  400. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/representation/vector.py +0 -0
  401. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/README.md +0 -0
  402. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/__init__.py +0 -0
  403. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/__pycache__/__init__.py +0 -0
  404. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/benchmarks.py +0 -0
  405. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/config_loader.py +0 -0
  406. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/copy_indiv.py +0 -0
  407. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/fitness.py +0 -0
  408. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/history_logger.py +0 -0
  409. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/loss_functions.py +0 -0
  410. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/random.py +0 -0
  411. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib/utils/registry.py +0 -0
  412. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib.egg-info/SOURCES.txt +0 -0
  413. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib.egg-info/dependency_links.txt +0 -0
  414. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib.egg-info/requires.txt +0 -0
  415. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/evolib.egg-info/top_level.txt +0 -0
  416. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/01_basic_usage/01_getting_started.py +0 -0
  417. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/01_basic_usage/02_mutation.py +0 -0
  418. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/01_basic_usage/03_population_mutation.py +0 -0
  419. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/01_basic_usage/04_fitness.py +0 -0
  420. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/02_strategies/01_step_by_step_evolution.py +0 -0
  421. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/02_strategies/02_mu_lambda_step.py +0 -0
  422. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/02_strategies/03_mu_lambda.py +0 -0
  423. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/02_strategies/04_flexible.py +0 -0
  424. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/01_history.py +0 -0
  425. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/02_plotting.py +0 -0
  426. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/03_compare_runs.py +0 -0
  427. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/04_exponential_decay_vs_static.py +0 -0
  428. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/05_adaptive_global_vs_static.py +0 -0
  429. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/06_adaptive_individual_vs_static.py +0 -0
  430. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/07_selection_comparison.py +0 -0
  431. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/08_selection_pressure.py +0 -0
  432. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/09_selection_vs_mutation_pressure.py +0 -0
  433. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/10_selection_stochastic_vs_deterministic.py +0 -0
  434. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/03_comparisons/11_crossover_comparison.py +0 -0
  435. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/04_function_approximation/01_polynomial_sine.py +0 -0
  436. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/04_function_approximation/02_sine_point_approximation.py +0 -0
  437. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/04_function_approximation/03_approximation_with_noise.py +0 -0
  438. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/05_advanced_topics/01_fitness_landscape_exploration.py +0 -0
  439. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/05_advanced_topics/02_rosenbrock_surface_path.py +0 -0
  440. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/05_advanced_topics/03_vector_control.py +0 -0
  441. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/05_advanced_topics/04_vector_control_with_obstacles.py +0 -0
  442. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/05_advanced_topics/05_piecewise_linear_xsys.py +0 -0
  443. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/05_advanced_topics/06_evolving_mutation_strength_as_a_module.py +0 -0
  444. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/06_netvector/01_netvector_sine_approximation.py +0 -0
  445. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/06_netvector/02_netvector_modulated_output.py +0 -0
  446. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/06_netvector/03_netvector_gain_and_bias.py +0 -0
  447. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/07_evonet/01_sine_approximation.py +0 -0
  448. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/07_evonet/02_image_approximation.py +0 -0
  449. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/07_evonet/03_structural_xor.py +0 -0
  450. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/examples/07_evonet/resize_all_images.py +0 -0
  451. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/setup.cfg +0 -0
  452. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/tests/test_benchmarks.py +0 -0
  453. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/tests/test_config_loader.py +0 -0
  454. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/tests/test_elitism_preserves_best_fitness.py +0 -0
  455. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/tests/test_evonet_vector_io.py +0 -0
  456. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/tests/test_initializer_evonet.py +0 -0
  457. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/tests/test_initializer_net.py +0 -0
  458. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/tests/test_mutation.py +0 -0
  459. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/tests/test_population.py +0 -0
  460. {evolib-0.2.0b2.dev2 → evolib-0.2.0b2.dev3}/tests/test_selection.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evolib
3
- Version: 0.2.0b2.dev2
3
+ Version: 0.2.0b2.dev3
4
4
  Summary: A modular framework for evolutionary strategies and neuroevolution.
5
5
  Author-email: EvoLib <evolib@dismail.de>
6
6
  License: MIT License
@@ -42,6 +42,7 @@ from evolib.utils.loss_functions import (
42
42
  )
43
43
  from evolib.utils.plotting import (
44
44
  plot_approximation,
45
+ plot_bit_prediction,
45
46
  plot_diversity,
46
47
  plot_fitness,
47
48
  plot_fitness_comparison,
@@ -60,6 +61,7 @@ __all__ = [
60
61
  "plot_fitness",
61
62
  "plot_approximation",
62
63
  "save_combined_net_plot",
64
+ "plot_bit_prediction",
63
65
  "plot_history",
64
66
  "plot_diversity",
65
67
  "plot_mutation_trends",
@@ -13,7 +13,8 @@ config resolution.
13
13
 
14
14
  from typing import Literal, Optional, Tuple, Union
15
15
 
16
- from pydantic import BaseModel, Field, field_validator
16
+ from evonet.activation import ACTIVATIONS
17
+ from pydantic import BaseModel, Field, field_validator, validator
17
18
  from pydantic_core import core_schema
18
19
 
19
20
  from evolib.config.base_component_config import (
@@ -55,6 +56,16 @@ class EvoNetComponentConfig(BaseModel):
55
56
  # Either a single activation function or one per layer
56
57
  activation: Union[str, list[str]] = "tanh"
57
58
 
59
+ # Whitelist for random activation selection
60
+ activations_allowed: Optional[list[str]] = Field(
61
+ default=None,
62
+ description="Whitelist of activation names applied to "
63
+ "neurons in hidden layers.",
64
+ )
65
+
66
+ # Recurrent connections
67
+ recurrent: Optional[Literal["none", "direct", "local", "all"]] = "none"
68
+
58
69
  # Name of the initializer function (resolved via initializer registry)
59
70
  initializer: str = Field(..., description="Name of the initializer to use")
60
71
 
@@ -101,3 +112,26 @@ class EvoNetComponentConfig(BaseModel):
101
112
  if isinstance(act, list) and dim and len(act) != len(dim):
102
113
  raise ValueError("Length of 'activation' list must match 'dim'")
103
114
  return act
115
+
116
+ @validator("activations_allowed", each_item=True)
117
+ def validate_activation_name(cls, act_name: str) -> str:
118
+ """Ensure only valid activation function names are allowed."""
119
+ if act_name not in ACTIVATIONS:
120
+ raise ValueError(
121
+ f"Invalid activation function '{act_name}'. "
122
+ f"Valid options are: {list(ACTIVATIONS.keys())}"
123
+ )
124
+ return act_name
125
+
126
+ @validator("recurrent")
127
+ def validate_recurrent(cls, recurrent: Optional[str]) -> str:
128
+ """Ensure recurrent preset is valid and normalized."""
129
+ if recurrent is None:
130
+ return "none"
131
+ allowed = {"none", "direct", "local", "all"}
132
+ if recurrent not in allowed:
133
+ raise ValueError(
134
+ f"Invalid recurrent preset '{recurrent}'. "
135
+ f"Valid options are: {sorted(allowed)}"
136
+ )
137
+ return recurrent
@@ -657,6 +657,10 @@ class Pop:
657
657
  if sort:
658
658
  self.sort_by_fitness()
659
659
 
660
+ def step(self) -> None:
661
+ """Alias for run_one_generation()."""
662
+ return self.run_one_generation()
663
+
660
664
  def run(
661
665
  self,
662
666
  *,
@@ -19,7 +19,10 @@ from evolib.config.base_component_config import StructuralMutationConfig
19
19
  from evolib.config.evonet_component_config import EvoNetComponentConfig
20
20
  from evolib.interfaces.enums import MutationStrategy
21
21
  from evolib.interfaces.types import ModuleConfig
22
- from evolib.operators.evonet_structural_mutation import mutate_structure
22
+ from evolib.operators.evonet_structural_mutation import (
23
+ mutate_structure,
24
+ resolve_recurrent_kinds,
25
+ )
23
26
  from evolib.operators.mutation import (
24
27
  adapt_mutation_probability_by_diversity,
25
28
  adapt_mutation_strength,
@@ -111,6 +114,7 @@ class EvoNet(ParaBase):
111
114
  # Apply crossover config
112
115
  apply_crossover_config(evo_params, cfg.crossover)
113
116
 
117
+ # Activation functions per layer
114
118
  if isinstance(cfg.activation, list):
115
119
  activations = cfg.activation
116
120
  else:
@@ -119,11 +123,16 @@ class EvoNet(ParaBase):
119
123
  activations = ["linear"] + [cfg.activation] * (len(cfg.dim) - 1)
120
124
 
121
125
  for layer_idx, num_neurons in enumerate(self.dim):
126
+ if num_neurons == 0:
127
+ continue
122
128
 
123
129
  activation_name = activations[layer_idx]
124
130
 
125
131
  if activation_name == "random":
126
- activation_name = random_function_name()
132
+ if cfg.activations_allowed is not None:
133
+ activation_name = random_function_name(cfg.activations_allowed)
134
+ else:
135
+ activation_name = random_function_name()
127
136
 
128
137
  self.net.add_layer()
129
138
 
@@ -137,10 +146,13 @@ class EvoNet(ParaBase):
137
146
  # Hidden Layer
138
147
  role = NeuronRole.HIDDEN
139
148
 
140
- if num_neurons > 0:
141
- self.net.add_neuron(
142
- count=num_neurons, activation=activation_name, role=role
143
- )
149
+ recurrent_kinds = resolve_recurrent_kinds(cfg.recurrent)
150
+ self.net.add_neuron(
151
+ count=num_neurons,
152
+ activation=activation_name,
153
+ role=role,
154
+ recurrent=recurrent_kinds if role != NeuronRole.INPUT else None,
155
+ )
144
156
 
145
157
  def calc(self, input_values: list[float]) -> list[float]:
146
158
  return self.net.calc(input_values)
@@ -553,6 +553,95 @@ def save_combined_net_plot(
553
553
  combined.save(path)
554
554
 
555
555
 
556
+ def plot_bit_prediction(
557
+ pred_values: list[int],
558
+ true_bits: list[int],
559
+ save_path: str,
560
+ input_bits: list[int] | None = None,
561
+ title: str = "Bit Prediction",
562
+ show: bool = False,
563
+ dpi: int = 150,
564
+ ) -> None:
565
+ """
566
+ Visualize bit sequence prediction over time.
567
+
568
+ This plot combines two views:
569
+ - A raster plot (top) showing discrete input/target/predicted bits
570
+ - A line/scatter plot (bottom) showing target vs. predicted values
571
+
572
+ Parameters
573
+ ----------
574
+ true_bits : list[int]
575
+ Ground truth sequence of bits (0/1).
576
+ pred_values : list[float]
577
+ Predicted values (will be shown as continuous in line plot,
578
+ and rounded to 0/1 in raster plot).
579
+ input_bits : list[int], optional
580
+ Optional input sequence of bits (0/1). If given, it is shown
581
+ in the raster plot above target and prediction.
582
+ save_path : str
583
+ File path to save the plot image.
584
+ title : str, optional
585
+ Title of the figure. Default is "Bit Prediction".
586
+ show : bool, optional
587
+ If True, show the plot window interactively. Default: False.
588
+ dpi : int, optional
589
+ Resolution for saving the figure.
590
+
591
+ Notes
592
+ -----
593
+ - This function is specialized for visualization of
594
+ bit prediction tasks. For general regression or function
595
+ approximation, use `plot_approximation`.
596
+ """
597
+ pred_round = np.rint(pred_values).astype(int)
598
+
599
+ # build raster data
600
+ rows = []
601
+ row_labels = []
602
+ if input_bits is not None:
603
+ rows.append(np.asarray(input_bits, dtype=int))
604
+ row_labels.append("Input")
605
+ # if true_bits is not None:
606
+ # rows.append(np.asarray(true_bits, dtype=int))
607
+ # row_labels.append("Target")
608
+ rows.append(pred_round)
609
+ row_labels.append("Pred")
610
+
611
+ # encode to 4-class grid: (row, value)
612
+ grid = np.vstack(rows)
613
+
614
+ # plotting
615
+ fig, axes = plt.subplots(2, 1, figsize=(10, 6), constrained_layout=True)
616
+
617
+ # raster view
618
+ axes[0].imshow(grid, aspect="auto", interpolation="nearest", cmap="Greys")
619
+ axes[0].set_yticks(range(len(row_labels)))
620
+ axes[0].set_yticklabels(row_labels)
621
+ axes[0].set_xticks([])
622
+ axes[0].set_title(title)
623
+
624
+ # line/scatter view
625
+ x = np.arange(len(true_bits))
626
+ axes[1].plot(x, true_bits, "ko", label="Target", markersize=4)
627
+ axes[1].plot(x, pred_values, "r-", label="Prediction", alpha=0.7)
628
+ axes[1].set_xlim(0, len(true_bits))
629
+
630
+ axes[1].set_ylim(-0.2, 1.2)
631
+ axes[1].set_xlabel("Time step")
632
+ axes[1].set_ylabel("Value")
633
+ axes[1].legend(loc="upper right")
634
+
635
+ # save/show
636
+ if save_path:
637
+ os.makedirs(os.path.dirname(save_path), exist_ok=True)
638
+ plt.savefig(save_path, dpi=dpi)
639
+
640
+ if show:
641
+ plt.show()
642
+ plt.close()
643
+
644
+
556
645
  def save_current_plot(filename: str, dpi: int = 300) -> None:
557
646
  """Save the current matplotlib figure to file."""
558
647
  plt.savefig(filename, dpi=dpi)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: evolib
3
- Version: 0.2.0b2.dev2
3
+ Version: 0.2.0b2.dev3
4
4
  Summary: A modular framework for evolutionary strategies and neuroevolution.
5
5
  Author-email: EvoLib <evolib@dismail.de>
6
6
  License: MIT License
@@ -0,0 +1,103 @@
1
+ """
2
+ Example: Recurrent Bit Sequence Prediction
3
+
4
+ This example demonstrates how an EvoNet with recurrent connections
5
+ can be evolved to predict the next bit in a fixed binary sequence.
6
+ A warm-up phase is used to let the network state settle before
7
+ fitness is measured. Visualization combines a raster plot of
8
+ input/target/prediction bits with a line plot of prediction quality.
9
+ """
10
+
11
+ from evolib import Population, Individual, plot_bit_prediction
12
+ from evolib.representation.evonet import EvoNet
13
+
14
+ FRAME_FOLDER = "04_frames"
15
+ CONFIG_FILE = "configs/04_recurrent_bitseq.yaml"
16
+
17
+ #input_seq = [0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1] * 4
18
+ #target_seq = [1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0] * 4
19
+
20
+ def lfsr_sequence(length: int, seed: int = 0b10011, taps=(5, 2)) -> list[int]:
21
+ """
22
+ Generate a binary sequence using an n-bit LFSR.
23
+
24
+ Parameters
25
+ ----------
26
+ length : int
27
+ Number of output bits to generate.
28
+ seed : int, optional
29
+ Initial state (must be non-zero). Default: 0b10011.
30
+ taps : tuple[int], optional
31
+ Tap positions (1-based, e.g. (5, 2) for x^5 + x^2 + 1).
32
+
33
+ Returns
34
+ -------
35
+ list[int]
36
+ Generated bit sequence.
37
+ """
38
+ n = max(taps)
39
+ if seed == 0:
40
+ raise ValueError("Seed must be non-zero for LFSR.")
41
+ state = seed & ((1 << n) - 1)
42
+
43
+ seq = []
44
+ for _ in range(length):
45
+ bit = state & 1
46
+ seq.append(bit)
47
+ # compute feedback from taps
48
+ fb = 0
49
+ for t in taps:
50
+ fb ^= (state >> (t - 1)) & 1
51
+ state = (state >> 1) | (fb << (n - 1))
52
+ return seq
53
+
54
+
55
+ input_seq = lfsr_sequence(44)
56
+ target_seq = input_seq[1:] + [input_seq[0]] # nächstes Bit als Ziel
57
+ warmup_steps = 5
58
+
59
+
60
+ def fitness_bitseq(indiv: Individual) -> float:
61
+ """
62
+ Evaluate how well the EvoNet predicts the next bit in a fixed sequence.
63
+ Errors from the first `warmup_steps` are ignored to allow network state to settle.
64
+ """
65
+ net: EvoNet = indiv.para["brain"].net
66
+ net.reset(full=True)
67
+
68
+ total_error = 0.0
69
+ for t in range(len(input_seq)):
70
+ output = net.calc([input_seq[t]])[0]
71
+ if t >= warmup_steps:
72
+ error = output - target_seq[t]
73
+ total_error += error**2
74
+
75
+ return total_error / (len(input_seq) - warmup_steps)
76
+
77
+
78
+ def save_plot(pop: Population) -> None:
79
+ """
80
+ Save visualization of the best individual's predictions
81
+ at the current generation.
82
+ """
83
+ best = pop.best()
84
+ y_preds = [best.para["brain"].net.calc([bit])[0] for bit in input_seq]
85
+
86
+ plot_bit_prediction(
87
+ true_bits=target_seq,
88
+ pred_values=y_preds,
89
+ input_bits=input_seq,
90
+ title=f"Bit Prediction (gen={pop.generation_num}, MSE={best.fitness:.4f})",
91
+ save_path=f"{FRAME_FOLDER}/gen_{pop.generation_num:03d}.png",
92
+ )
93
+
94
+ best.para["brain"].net.print_graph("test.png",fillcolors_on=True)
95
+
96
+
97
+ if __name__ == "__main__":
98
+ pop = Population(CONFIG_FILE, fitness_function=fitness_bitseq)
99
+ pop.run(verbosity=1, on_generation_end=save_plot)
100
+
101
+ best = pop.best()
102
+ best.para["brain"].net.print_graph("test.png",fillcolors_on=True)
103
+
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "evolib"
7
- version = "0.2.0b2.dev2"
7
+ version = "0.2.0b2.dev3"
8
8
  description = "A modular framework for evolutionary strategies and neuroevolution."
9
9
  authors = [
10
10
  { name = "EvoLib", email = "evolib@dismail.de" }
@@ -1,63 +0,0 @@
1
- from evolib import Population, Individual, FitnessFunction, plot_approximation
2
- from evolib.representation.evonet import EvoNet
3
- import matplotlib.pyplot as plt
4
- import numpy as np
5
-
6
- FRAME_FOLDER = "04_frames_point"
7
-
8
- input_seq = [0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1] * 4
9
- target_seq = [1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0] * 4
10
- warmup_steps = 11
11
-
12
-
13
- def fitness_bitseq(indiv: Individual) -> float:
14
- """
15
- Evaluate how well the EvoNet predicts the next bit in a fixed sequence.
16
- """
17
- net: EvoNet = indiv.para["brain"].net
18
- net.reset(full=True)
19
-
20
- total_error = 0.0
21
- for t in range(len(input_seq)):
22
- output = net.calc([input_seq[t]])[0]
23
- if t >= warmup_steps:
24
- error = output - target_seq[t]
25
- total_error += error**2
26
-
27
- return total_error / (len(input_seq) - warmup_steps)
28
-
29
-
30
- def save_plot(pop: Population):
31
- """
32
- Plot network predictions vs target values over time.
33
- """
34
- best = pop.best()
35
- y_preds = [best.para["brain"].net.calc([bit])[0] for bit in input_seq]
36
-
37
- plot_approximation(
38
- y_preds,
39
- target_seq,
40
- title=f"Bit Prediction over Time (gen={pop.generation_num}, "
41
- f"MSE={best.fitness:.4f})",
42
- pred_label="Prediction",
43
- show=False,
44
- show_grid=False,
45
- save_path=f"{FRAME_FOLDER}/gen_{pop.generation_num:03d}.png",
46
- y_limits=(-0.2, 1.2),
47
- true_marker="o",
48
- pred_marker="o",
49
- true_lw=0,
50
- pred_lw=1,
51
- true_ls="",
52
- pred_ls="",
53
- )
54
-
55
- print(pop.mu)
56
-
57
-
58
- if __name__ == "__main__":
59
- pop = Population("configs/04_recurrent_bitseq.yaml",
60
- fitness_function = fitness_bitseq)
61
- pop.run(verbosity=1, on_generation_end=save_plot)
62
- # pop.run(verbosity=2)
63
-
File without changes
File without changes
File without changes