func NewWalker(conf *config.Config) *Walker { miner := &Walker{ Errors: make(chan error), } miner.Walker = *walker.NewWalker(conf, MakeAbsorbingWalk(MakeSample(miner), miner.Errors)) return miner }
func (w *Walker) Mine(dt lattice.DataType, rptr miners.Reporter, fmtr lattice.Formatter) error { errors.Logf("INFO", "Customize creation") pConf := w.Config.Copy() pConf.Samples = 1000 pConf.Unique = false premine := walker.NewWalker(pConf, ospace.MakeUniformWalk(.02, false)) premine.Reject = false collector := &reporters.Collector{make([]lattice.Node, 0, 10)} uniq, err := reporters.NewUnique(pConf, fmtr, collector, "") if err != nil { return err } pRptr := &reporters.Skip{ Skip: 10, Reporter: &reporters.Chain{[]miners.Reporter{reporters.NewLog(fmtr, false, "DEBUG", "premining"), uniq}}, } err = premine.Mine(dt, pRptr, fmtr) if err != nil { return err } w.Teleports = collector.Nodes errors.Logf("INFO", "teleports %v", len(w.Teleports)) return (w.Walker).Mine(dt, rptr, fmtr) }
func NewWalker(conf *config.Config, teleportProbability float64) *Walker { errors.Logf("INFO", "teleport probability %v", teleportProbability) miner := &Walker{ TeleportProbability: teleportProbability, } miner.Walker = *walker.NewWalker(conf, musk.MakeMaxUniformWalk(Next, miner)) return miner }
func NewWalker(conf *config.Config, estimatingWalks int, max bool) (*Walker, error) { ests, err := conf.BytesFloatMultiMap("uniprox-weight-ests") if err != nil { return nil, err } prs, err := conf.BytesFloatMultiMap("uniprox-selection-prs") if err != nil { return nil, err } miner := &Walker{ EstimatingWalks: estimatingWalks, Ests: ests, Prs: prs, Max: max, } miner.Walker = *walker.NewWalker(conf, graple.MakeAbsorbingWalk(graple.MakeSample(miner), make(chan error))) return miner, nil }
func ospaceMode(argv []string, conf *config.Config) (miners.Miner, []string) { args, optargs, err := getopt.GetOpt( argv, "h", []string{ "help", }, ) if err != nil { fmt.Fprintln(os.Stderr, err) cmd.Usage(cmd.ErrorCodes["opts"]) } for _, oa := range optargs { switch oa.Opt() { case "-h", "--help": cmd.Usage(0) default: fmt.Fprintf(os.Stderr, "Unknown flag '%v'\n", oa.Opt()) cmd.Usage(cmd.ErrorCodes["opts"]) } } miner := walker.NewWalker(conf, ospace.MakeUniformWalk(0, true)) return miner, args }
func NewWalker(conf *config.Config) *Walker { miner := &Walker{} miner.Walker = *walker.NewWalker(conf, graple.MakeAbsorbingWalk(graple.MakeSample(miner), make(chan error))) return miner }