@@ -595,8 +595,7 @@ def demo_game_of_life(size: int = 50, steps: int = 100):
595
595
"""Demo using Game of Life rules on a Von Neumann grid."""
596
596
initial_state = np .random .Generator (0 , 2 , size = (size , size ))
597
597
history = simulate_von_neumann_cellular_automaton (
598
- initial_state , generations = steps ,
599
- birth_rules = {3 }, survival_rules = {2 , 3 }
598
+ initial_state , generations = steps , birth_rules = {3 }, survival_rules = {2 , 3 }
600
599
)
601
600
visualize_cellular_automaton (history )
602
601
@@ -605,8 +604,7 @@ def demo_highlife(size: int = 50, steps: int = 100):
605
604
"""Demo using HighLife rules (B36/S23)."""
606
605
initial_state = np .random .Generator (0 , 2 , size = (size , size ))
607
606
history = simulate_von_neumann_cellular_automaton (
608
- initial_state , generations = steps ,
609
- birth_rules = {3 , 6 }, survival_rules = {2 , 3 }
607
+ initial_state , generations = steps , birth_rules = {3 , 6 }, survival_rules = {2 , 3 }
610
608
)
611
609
visualize_cellular_automaton (history )
612
610
@@ -625,28 +623,26 @@ def demo_oscillator(steps: int = 20):
625
623
history = simulate_von_neumann_cellular_automaton (
626
624
initial_state ,
627
625
generations = steps ,
628
- birth_rules = {3 }, # Standard Game of Life birth rule
629
- survival_rules = {2 , 3 } # Standard Game of Life survival rule
626
+ birth_rules = {3 }, # Standard Game of Life birth rule
627
+ survival_rules = {2 , 3 }, # Standard Game of Life survival rule
630
628
)
631
629
visualize_cellular_automaton (history )
632
630
633
631
634
632
def demo_random_rules (size : int = 50 , steps : int = 100 ):
635
633
"""Demo with random birth/survival rules."""
636
634
birth_rules = set (
637
- np .random .Generator (range (5 ),
638
- size = np .random .Generator (1 , 5 ),
639
- replace = False )
635
+ np .random .Generator (range (5 ), size = np .random .Generator (1 , 5 ), replace = False )
640
636
)
641
637
survival_rules = set (
642
- np .random .Generator (range (5 ),
643
- size = np .random .Generator (1 , 5 ),
644
- replace = False )
638
+ np .random .Generator (range (5 ), size = np .random .Generator (1 , 5 ), replace = False )
645
639
)
646
640
initial_state = np .random .Generator (0 , 2 , size = (size , size ))
647
641
history = simulate_von_neumann_cellular_automaton (
648
- initial_state , generations = steps ,
649
- birth_rules = birth_rules , survival_rules = survival_rules
642
+ initial_state ,
643
+ generations = steps ,
644
+ birth_rules = birth_rules ,
645
+ survival_rules = survival_rules ,
650
646
)
651
647
visualize_cellular_automaton (history )
652
648
@@ -659,7 +655,7 @@ def demo_statistics(size: int = 50, steps: int = 100):
659
655
# collect statistics
660
656
live_counts = [np .sum (state > 0 ) for state in history ]
661
657
plt .figure (figsize = (6 , 4 ))
662
- plt .plot (range (steps + 1 ), live_counts , label = ' Live Cells' )
658
+ plt .plot (range (steps + 1 ), live_counts , label = " Live Cells" )
663
659
plt .xlabel ("Generation" )
664
660
plt .ylabel ("Number of live cells" )
665
661
plt .title ("Cell Count Over Time" )
0 commit comments