Mathematica 简单的洗牌算法生成5*5注意力训练矩阵

应用场景

  • 可以用来生成 5*5的矩阵,用来训练注意力

  • 舒尔特方块”。舒尔特方格是全世界最简单有效,并且最科学的专注力训练法。你需要做的就是在最短的时间里,按顺序从1数到10

  • 我们的目标就是对1-25进行洗牌,这样每次都能生成新的矩阵

Mathematica 简单的洗牌算法生成5*5注意力训练矩阵_第1张图片
相关游戏界面

算法思路

  • 参考python洗牌算法
  • 先生成一个25个数的a列表
  • 新建一个列表b
  • 生成随机数p
  • 以随机数为索引,引用a列表中的元素,附加到b列表
  • 然后从a列表中删除该元素
  • 进入循环,反复附加到新列表,删除旧列表,直到a中参数为0

代码如下

ClearAll[a, b, p, b]
a = Range[25];
b = {};
While[Length[a] > 0,
 l = Length[a];
 p = RandomInteger[{1, l}];
 b = AppendTo[b, a[[p]]];
 (*Print[a];*)a = Drop[a, {p}]]
ArrayReshape[b, {5, 5}] // MatrixForm

计算结果

Mathematica 简单的洗牌算法生成5*5注意力训练矩阵_第2张图片
image.png

你可能感兴趣的:(Mathematica 简单的洗牌算法生成5*5注意力训练矩阵)