Commit 28824e1
committed
fix: signal descriptor degeneracy -- correct emission_activity and receptor_sensitivity
Two bugs caused all 300 rollouts to land in 1 archive cell.
flowlenia.py
Add step_with_signal_diagnostics() alongside step(). Returns the same
(new_A, new_signal) result plus two diagnostic scalars computed as
natural byproducts of the signal physics block:
emission_activity: mean(G_pos * effective_rate) over the grid --
actual per-cell emission this step, correctly
derived from the growth field (not the mass field).
receptor_sensitivity: mean(|receptor_response|) over the grid --
spatially-resolved reception after convolution,
not the spatially-averaged approximation.
Zero code duplication, zero performance cost for non-diagnostic paths.
rollout.py
Signal rollout loop calls step_with_signal_diagnostics() instead of
step() when capturing descriptor histories. Removes the two broken
approximations:
Bug 1: emission was computed as mean(mass_field) * emission_rate.
mass_field is always positive and nearly constant for viable
solitons -- so every creature scored identically on emission_activity.
Bug 2: reception was computed as |dot(mean_signal, receptor_profile)|
where mean_signal is the spatially-averaged signal field. This is
near-zero for almost all of a solo rollout (signal starts tiny,
builds slowly) -- so every creature scored ~0 on receptor_sensitivity.
descriptors.py
Normalizers recalibrated against corrected measurements:
emission_activity: 0.05 → 0.001
mean(G_pos * rate) spans ~0.00005-0.003 in practice (G_pos averaged
over grid ~0.0-0.1; rate in [0.001, 0.05]).
receptor_sensitivity: 0.5 → 0.005
mean|receptor_response| spans ~0.00001-0.003 (convolved signal
builds from near-zero; spatial receptor response is small but real).
tests/search/test_descriptors.py
Test input values updated to stay within the new normalizer ranges
so scaling tests remain meaningful rather than clipping to 1.0.
422 passed, 0 errors, 0 warnings1 parent 99a6a94 commit 28824e1
4 files changed
Lines changed: 108 additions & 27 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
697 | 697 | | |
698 | 698 | | |
699 | 699 | | |
700 | | - | |
701 | | - | |
702 | | - | |
703 | | - | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
704 | 704 | | |
705 | 705 | | |
706 | 706 | | |
| |||
712 | 712 | | |
713 | 713 | | |
714 | 714 | | |
715 | | - | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
716 | 718 | | |
717 | 719 | | |
718 | 720 | | |
719 | 721 | | |
720 | | - | |
| 722 | + | |
721 | 723 | | |
722 | 724 | | |
723 | 725 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
308 | 308 | | |
309 | 309 | | |
310 | 310 | | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | 311 | | |
326 | 312 | | |
327 | 313 | | |
328 | 314 | | |
329 | 315 | | |
330 | | - | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
331 | 324 | | |
332 | 325 | | |
333 | 326 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
258 | 258 | | |
259 | 259 | | |
260 | 260 | | |
261 | | - | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
262 | 348 | | |
263 | 349 | | |
264 | 350 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
580 | 580 | | |
581 | 581 | | |
582 | 582 | | |
583 | | - | |
584 | | - | |
| 583 | + | |
| 584 | + | |
585 | 585 | | |
586 | 586 | | |
587 | 587 | | |
| |||
613 | 613 | | |
614 | 614 | | |
615 | 615 | | |
616 | | - | |
617 | | - | |
| 616 | + | |
| 617 | + | |
618 | 618 | | |
619 | 619 | | |
620 | 620 | | |
621 | 621 | | |
622 | 622 | | |
623 | | - | |
| 623 | + | |
624 | 624 | | |
625 | 625 | | |
626 | 626 | | |
| |||
0 commit comments