func Next(ctx interface{}, cur lattice.Node) (lattice.Node, error) { kids, err := cur.Children() if err != nil { return nil, err } parents, err := cur.Parents() if err != nil { return nil, err } adjs := append(kids, parents...) errors.Logf("DEBUG", "cur %v parents %v kids %v adjs %v", cur, len(parents), len(kids), len(adjs)) _, next, err := walker.Transition(cur, adjs, weight, false) return next, err }
func Next(w *walker.Walker, cur lattice.Node) (lattice.Node, error) { kids, err := cur.Children() if err != nil { return nil, err } parents, err := cur.Parents() if err != nil { return nil, err } adjs := append(kids, parents...) errors.Logf("DEBUG", "cur %v parents %v kids %v adjs %v", cur, len(parents), len(kids), len(adjs)) prs, err := transPrs(w, cur, adjs) if err != nil { return nil, err } adjs = append(adjs, cur) prs = append(prs, selfPr(prs)) i := stats.WeightedSample(prs) return adjs[i], nil }