OFFSET
0,2
COMMENTS
A prudent walk never takes a step pointing towards a vertex it has already visited. Prudent walks are self-avoiding but not reversible in general.
LINKS
Alois P. Heinz, Table of n, a(n) for n = 0..110
Mireille Bousquet-Mélou, Families of prudent self-avoiding walks, DMTCS proc. AJ, 2008, 167-180.
Mireille Bousquet-Mélou, Families of prudent self-avoiding walks, arXiv:0804.4843 [math.CO], 2008-2009.
Enrica Duchi, On some classes of prudent walks, in: FPSAC'05, Taormina, Italy, 2005.
EXAMPLE
This 8-step prudent self-avoiding walk on honeycomb lattice from (S) to (E) is not reversible:
. o...o o...o
. . . . .
. o...o 4---3 o
. . . / \ .
. o 6---5 2...o
. . / . / .
. o...7 (S)--1 o
. . \ . . .
. o (E)..o o...o
. . . . .
. o...o o...0
MAPLE
i:= n-> max(n, 0)+1: d:= n-> max(n-1, -1):
b:= proc(n, x, y, z, u, v, w) option remember;
`if`(n=0, 1, `if`(x>y, b(n, y, x, w, v, u, z),
`if`(min(y, z)<=0 or x=-1,
b(n-1, d(y), d(z), u, i(v), i(w), x), 0)+
`if`(min(w, x)<=0 or y=-1,
b(n-1, d(w), d(x), y, i(z), i(u), v), 0)))
end:
a:= n-> `if`(n<2, 1 +2*n, 6*b(n-2, -1, -1, 1, 2, 1, -1)):
seq(a(n), n=0..20);
MATHEMATICA
i[n_] := Max[n, 0] + 1; d[n_] := Max[n - 1, -1];
b[n_, x_, y_, z_, u_, v_, w_] := b[n, x, y, z, u, v, w] = If[n == 0, 1, If[x > y, b[n, y, x, w, v, u, z], If[Min[y, z] <= 0 || x == -1, b[n - 1, d[y], d[z], u, i[v], i[w], x], 0] + If[Min[w, x] <= 0 || y == -1, b[n - 1, d[w], d[x], y, i[z], i[u], v], 0]]];
a[n_] := If[n < 2, 1 + 2 n, 6 b[n - 2, -1, -1, 1, 2, 1, -1]];
a /@ Range[0, 34] (* Jean-François Alcover, Sep 22 2019, after Alois P. Heinz *)
CROSSREFS
KEYWORD
nonn,walk
AUTHOR
Alois P. Heinz, Jul 11 2011
STATUS
approved