def detect_agent_cycles(interactions, cycle_length=2):
"""
Detecta ciclos repetitivos entre agentes basados en las interacciones.
:param interactions: Lista de tuplas (agente_origen, agente_destino)
:type interactions: list
:param cycle_length: Longitud mínima del ciclo a detectar
:type cycle_length: int
:return: Diccionario con pares de agentes como claves y el conteo de ciclos como valores
:rtype: dict
"""
from collections import defaultdict
# Contar interacciones entre pares específicos de agentes
pair_counts = defaultdict(int)
for i in range(len(interactions) - 1):
# Consideramos pares de interacciones consecutivas para detectar ciclos A->B->A->B
if i + 1 < len(interactions):
source1, target1 = interactions[i]
source2, target2 = interactions[i + 1]
# Si el target1 es igual al source2, y el target2 es igual al source1, tenemos un ciclo
if target1 == source2 and target2 == source1:
pair_counts[f"{source1} -> {target1}"] += 1
return pair_counts
interactions = [
("A", "B"),
("B", "A"),
("A", "C"),
]
print(
detect_agent_cycles(interactions)
)
To embed this project on your website, copy the following code and paste it into your website's HTML: