步长可变的一维随机游走算法?

问题描述

我正在尝试找出给定距离和位移的所有可能的随机游走,并且它具有相当复杂的一组条件。

步长可以变化,例如。遍历不仅是+1和-1的组合,还包括给定范围内的每个整数(不包括零)的组合。在这种情况下,我使用7作为最大步长和距离(距离将是所有步长的绝对和)。 7也是最大位移(位移是从起点到最终的距离,无论采取何种步距),-7也是最小位移。

您也可以将其视为合成,但带有负整数。通常,这将创建一个无限列表,但是距离规定解决了此问题。换句话说:

  • 使用-6到7之间的整数来制作7的所有独特方法是什么?
  • 使用-5到7之间的整数可以使6变为6的所有独特方法是什么?
  • 使用整数-4到7可以使5变为5的所有独特方法是什么?
  • 使用-3到7之间的整数来制作4的所有独特方法是什么?

...

  • 使用整数-7至5可以使-6变为-6的所有独特方法是什么?
  • 使用-7到6的整数可以使-7产生什么独特的方式?
  • 绝对和不超过7
  • 包括
  • 订单重要

最后一种可能的方法是绘制域[0

  • 此列表表示随机游走,因为在给定范围内可能的每个唯一的可迭代模式。这意味着+ 1 + 1 + 1 + 1 + 1将代表与+1相同的模式,因为它只是5个重复的+1。 + 2 + 2也与2个重复的+ 2s相同,+ 1-3 + 1-3与2个重复的+ 1-3s相同,依此类推。以某种方式,必须消除这些排列。也许可以手动执行此操作,但我对此不太确定。
  • + 1-3与-2不同,这是完全不同的模式。
  • 也必须消除位移0。 +0或-0也不会算作步数。

我已经尝试过手动开始,但是我不认为以这种方式完成它是人类可能的,所以我想知道是否有人知道如何制作将生成列表的python脚本。所有这些可能的排列?优选地,它将以位移的顺序。我完全不知道这个列表会持续多久,甚至如何计算那么多。如果可以更改代码生成除7以外的其他距离/位移/步长条件的列表,以防万一其最终的长度过长,那也很好。 (据我所知,它的范围可能从数万到数亿)。很有可能已经完成了这项工作,但是如果是这样的话,那么我想知道在哪里可以找到现有的算法/它可能被称为什么?

为什么呢?好吧,我只想说暂时不对它大声笑

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)