Advertisement
Guest User

Enumerating 4x4 "Android-like" pattern locks

a guest
May 14th, 2014
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.44 KB | None | 0 0
  1. validPatternQ[pattern_List, n_] :=
  2. Module[
  3. {k},
  4. ! (Or @@ Table[
  5. MemberQ[
  6. Drop[pattern, k],
  7. Alternatives @@ (
  8. {{1/2, 1/2}, {1/3, 2/3}, {2/3, 1/3}}.pattern[[{k - 1, k}]])
  9. ],
  10. {k, 2, n}
  11. ])
  12. ]
  13. size = 4;
  14. points = Tuples[Range[size], 2];
  15. Sum[
  16. {n, k} = {1000000, 0};
  17. Do[If[validPatternQ[RandomSample[points], len], ++k], {n}];
  18. (size^2)!/(size^2 - len)!*k/n,
  19. {len, 4, size^2}
  20. ]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement