Skip to content

trudag.graphalyzer.analysis

Functions acting on the structure of a DirectedAcyclicGraph.

score

score(
    graph: DirectedAcyclicGraph,
    correctness_dict: dict[str, float],
    completeness_dict: dict[str, float] | None = None,
) -> dict[str, float]

Given a dictionary of correctness scores for leaf (or equivalently Premise) items, compute the Trustable Scores of every node in the graph.

Note

  • Non-leaf item scores included in correctness_dict are disregarded.
  • Unscored leaves are assumed to have score zero.
  • If no completeness scores are provided, the argument is assumed to be complete.
  • If partial completeness scores are provided, omitted scores are set to zero.

Parameters:

Name Type Description Default
graph DirectedAcyclicGraph

Graph of the project being scored.

required
correctness_dict dict[str, float]

Dictionary of (leaf item name, leaf item correctness) pairs.

required
completeness_dict dict[str, float] | None

Dictionary of (item name, item completeness). Defaults to None.

None

Returns:

Type Description
dict[str, float]

Dictionary of (item name, item trustable score) pairs.

score_edge_sensitivity

score_edge_sensitivity(
    graph: DirectedAcyclicGraph,
    edge: tuple[str, str],
    correctness_dict: dict[str, float],
    completeness_dict: dict[str, float] | None = None,
) -> dict[str, float]

Dictionary of node scores differentiated with respect to the chosen edge weight.

Parameters:

Name Type Description Default
graph DirectedAcyclicGraph

Graph of the project being analyzed.

required
edge tuple[str, str]

(parent, child) definition of an edge.

required
correctness_dict dict[str, float]

Dictionary of (leaf item name, leaf item correctness) pairs.

required
completeness_dict dict[str, float] | None

Dictionary of (item name, item completeness). Defaults to None.

None

Returns:

Type Description
dict[str, float]

(node, node-derivative) key-value pairs for all nodes.

score_node_sensitivity

score_node_sensitivity(
    graph: DirectedAcyclicGraph,
    node_label: str,
    completeness_dict: dict[str, float] | None = None,
) -> dict[str, float]

The partial derivatives of node_label's score with respect to other node scores.

Parameters:

Name Type Description Default
graph DirectedAcyclicGraph

Graph of project under analysis.

required
node_label str

Label of the node to return partial derivatives of.

required
completeness_dict dict[str, float] | None

Dictionary of (item name, item completeness). Defaults to None.

None

Returns:

Type Description
dict[str, float]

(node, node-derivative) key-value pairs for all nodes.