Strategies

class stratocaster.strategies.ConnectivityStrategy(settings: StrategySettings)

Bases: Strategy

A Strategy that suggests Transformations which lead to nodes with higher degrees of connectivity.

The Transformation for a given Transformation is calculated as the average number of connections both of its end states has.

class stratocaster.strategies.RadialGrowthStrategy(settings: StrategySettings)

Bases: Strategy

A Strategy that favors Transformations close to the network center.

The weight assigned to each Transformation depends on its highest ChemicalSystem distance, as measured and labeled by the vertex eccentricty, from the lowest completed tier of distances. In the graph below, if at least one ProtocolDAGResult exists for both edges in 3-2-3, the lowest completed distance is 3. If neither edge or only one edge has a result, the lowest completed distance is 2. In the former case, a transformation going from 3 to 4 has an effective distance of 1, while in the latter case it has a distance of 2.

4         4
 \       /
  \     /
4--3-2-3--4
  /     \
 /       \
4         4

The strategy penalizes transformations that have high effective distances by multiplying the weight with a penalty of \(r^d\), where r is a user-specified decay rate and d is the effective distance. The candidacy_max_distance setting limits how far out transformations can be assigned non-zero weights.