Ejemplo n.º 1
0
def hanoi(disks=7,towers=4,limit=None):
    path = os.path.join(latplan.__path__[0],"puzzles","-".join(map(str,["hanoi",disks,towers]))+".npz")
    import latplan.puzzles.hanoi as p
    p.setup()
    pres = p.generate_random_configs(disks,towers, limit)
    np.random.shuffle(pres)
    sucs = [ random.choice(p.successors(c1,disks,towers)) for c1 in pres ]
    np.savez_compressed(path,pres=pres,sucs=sucs)
Ejemplo n.º 2
0
def lightsout(type='digital', size=4):
    import importlib
    p = importlib.import_module('latplan.puzzles.lightsout_{}'.format(type))
    p.setup()
    ics = reservoir_sampling(
        lightsout_special(np.full(size * size, -1), steps,
                          lambda config: p.successors(config)), instances)
    gcs = np.full((1, size * size), -1)
    generate(p, ics, gcs)
Ejemplo n.º 3
0
def lightsout(type='digital', size=4):
    import importlib
    p = importlib.import_module('latplan.puzzles.lightsout_{}'.format(type))
    ics = [
        random_walk(np.full(size*size,-1), steps, lambda config: p.successors(config))
        for i in range(instances)
    ]
    gcs = np.full((1,size*size),-1)
    generate(p, ics, gcs)
Ejemplo n.º 4
0
def lightsout(type='digital',size=4,limit=None):
    path = os.path.join(latplan.__path__[0],"puzzles","-".join(map(str,["lightsout",type,size]))+".npz")
    import importlib
    p = importlib.import_module('latplan.puzzles.lightsout_{}'.format(type))
    p.setup()
    pres = p.generate_random_configs(size, limit)
    np.random.shuffle(pres)
    sucs = [ random.choice(p.successors(c1)) for c1 in pres ]
    np.savez_compressed(path,pres=pres,sucs=sucs)
Ejemplo n.º 5
0
def hanoi(disks=5, towers=3):
    import latplan.puzzles.hanoi as p
    p.setup()
    ics = [
        np.zeros(disks, dtype=int), *reservoir_sampling(
            dijkstra(np.full(disks, towers - 1, dtype=int), steps,
                     lambda config: p.successors(config, disks, towers)),
            instances - 1)
    ]
    gcs = np.full((1, disks), towers - 1, dtype=int)
    generate(p, ics, gcs, disks, towers)
Ejemplo n.º 6
0
def hanoi(disks=5, towers=3):
    import latplan.puzzles.hanoi as p
    ics = [
        np.zeros(disks,dtype=int),
        *[
            random_walk(np.full(disks,towers-1,dtype=int), steps, lambda config: p.successors(config,disks,towers))
            for i in range(instances-1)
        ]
    ]
    gcs = np.full((1,disks),towers-1,dtype=int)
    generate(p, ics, gcs, disks, towers)