TriuneCadence/tests/test_art1.py

24 lines
756 B
Python

from composer_ans.art1 import ART1Network, ART1Params
def test_generic_art1_commits_first_category() -> None:
network = ART1Network(ART1Params(max_categories=3, input_length=4, vigilance=0.9))
result = network.categorize((1, 0, 1, 0))
assert result.winner == 0
assert result.new_category is True
assert result.committed_categories == 1
assert result.expected_vector == (1, 0, 1, 0)
def test_generic_art1_reuses_matching_category() -> None:
network = ART1Network(ART1Params(max_categories=3, input_length=4, vigilance=0.9))
network.categorize((1, 0, 1, 0))
result = network.categorize((1, 0, 1, 0))
assert result.winner == 0
assert result.new_category is False
assert result.committed_categories == 1