OnnxExpectimaxSearch

dicechess.engine.search.OnnxExpectimaxSearch
See theOnnxExpectimaxSearch companion class

Attributes

Companion
class
Source
OnnxExpectimaxSearch.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def fromPackages(leaf: ModelPackage, config: ExpectimaxConfig = ..., options: OnnxSearchOptions = ...): Either[String, OnnxExpectimaxSearch]

Builds the bot from a validated leaf package, with every session's graph checked against its own manifest.

Builds the bot from a validated leaf package, with every session's graph checked against its own manifest.

This is the difference between "the manifest says these bytes are a kcp-13 position model" and "the graph this session loaded is the graph that manifest describes". ModelPackage.load proves the first; only a loaded session can prove the second, and a host that constructs the bot from paths has no way to reach the sessions it owns.

The leaf's extractor comes from its manifest's feature schema, so the pairing cannot be got wrong either. Hooks configured through options bring their own manifests when they were built by fromPackage; one configured by path alone is opened unchecked, exactly as before.

Attributes

Source
OnnxExpectimaxSearch.scala