evaluate method

double evaluate({
  1. required List<Concept> workspaceConcepts,
  2. required ConceptualGraph graph,
})

Computes the overall coherence of workspaceConcepts given the graph.

Returns a scalar in 0, 1 suitable for ConsciousState.coherence.

Implementation

double evaluate({
  required List<Concept> workspaceConcepts,
  required ConceptualGraph graph,
}) {
  if (workspaceConcepts.isEmpty) return 1.0;
  if (workspaceConcepts.length == 1) return 0.9;

  final report = evaluateDetailed(
    workspaceConcepts: workspaceConcepts,
    graph: graph,
  );

  _coherenceHistory.add(report.overallCoherence);
  if (_coherenceHistory.length > 100) _coherenceHistory.removeAt(0);

  return report.overallCoherence;
}