pg.hyper

Hyper objects: representing template-based object space.

In PyGlove, an object space is represented by a hyper object, which is an symbolic object that is placeheld by hyper primitives (pg.hyper.HyperPrimitive). Through hyper objects, object templates (pg.hyper.ObjectTemplate) can be obtained to generate objects based on program genomes (pg.DNA).

digraph hypers {
  node [shape="box"];
  edge [arrowtail="empty" arrowhead="none" dir="back" style="dashed"];
  hyper [label="HyperValue" href="hyper_value.html"];
  template [label="ObjectTemplate" href="object_template.html"];
  primitive [label="HyperPrimitive" href="hyper_primitive.html"];
  choices [label="Choices" href="choices.html"];
  oneof [label="OneOf" href="oneof_class.html"];
  manyof [label="ManyOf" href="manyof_class.html"];
  float [label="Float" href="float.html"];
  custom [label="CustomHyper" href="custom_hyper.html"];
  evolve [label="Evolvable" href="evolvable.html"];
  hyper -> template;
  hyper -> primitive;
  primitive -> choices;
  choices -> oneof;
  choices -> manyof;
  primitive -> float;
  primitive -> custom;
  custom -> evolve;
}

Hyper values map 1:1 to genotypes as the following:

Classes

Functions