import numpy as np

class ASIMetricSpace:
    """
    Метрическое пространство для ASI: функция расстояния между 
    состояниями знаний, основанная на GRA‑пене.
    """
    def __init__(self, foam_metric):
        self.foam_metric = foam_metric

    def distance(self, state_a, state_b, context=None):
        # расстояние как пена рассогласования
        diff = state_a - state_b
        return self.foam_metric.compute(diff, context)
