24 lines
756 B
Python
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
|