Function 用于导出连续随机数序列的函数
我曾经读过一篇关于函数的文章,我相信它有一个像皮尔森或泊松这样的名字,用来得到与前一个函数相近的随机数。显然,它被用于一些设备,并广泛应用于本文所述的机器人技术中。以下是原始示例: 假设你要建造一个有两个轮子的机器人。你想让这个机器人在房间里沿着一些随机的路径走,不去任何地方,在随机的时间转动随机的数量。如果你给每个轮子输入一个真正的随机数发生器,机器人很可能会在原地猛拉和旋转,而不是沿着某条路径。我们的目标不是让机器人沿着一条直线行走,而是让它看起来在运动背后有某种逻辑 因此存在着这个函数,一个连续但随机变化的函数,可以随意上下弯曲。通过以设定的时间间隔从函数中获取输出(例如,从234.198开始,时间间隔为0.01),可以保证发送到控制盘的每个值都是随机的,但会遵循一些路径以及以前和将来的值。通过选择一个更大或更小的间隔,连续值之间的关系程度可以改变,从而基本上使机器人逐渐或多或少地陶醉 此函数的名称是什么?我知道泊松分布,但我不确定它是否与此相关 如果你想在大街上随意走动,我建议在当前值上加一个小的增量,以确保小的步幅Function 用于导出连续随机数序列的函数,function,random,random-walk,Function,Random,Random Walk,我曾经读过一篇关于函数的文章,我相信它有一个像皮尔森或泊松这样的名字,用来得到与前一个函数相近的随机数。显然,它被用于一些设备,并广泛应用于本文所述的机器人技术中。以下是原始示例: 假设你要建造一个有两个轮子的机器人。你想让这个机器人在房间里沿着一些随机的路径走,不去任何地方,在随机的时间转动随机的数量。如果你给每个轮子输入一个真正的随机数发生器,机器人很可能会在原地猛拉和旋转,而不是沿着某条路径。我们的目标不是让机器人沿着一条直线行走,而是让它看起来在运动背后有某种逻辑 因此存在着这个函数,一
def nextValue(n):
return n + random(7) - 3
类似的东西总是会给你一个当前值+/-3的值,不过你可以使用random(4)-1
调整表达式的偏差,例如,如果你喜欢随时间向前运动
对于想要平稳向前弯曲的机器人,可以设置总距离,然后在运动的整个生命周期内定期向特定车轮添加额外的向前运动,如:
def meander():
distance = random(10,25) # 10-25 units
skip = distance / random(3,5) # curve at 33/25/20% points
direction = random(1,3) # curve left, right or not at all
for i = 1 to distance:
leftdelta = rightdelta = 1 # Default to one unit forward
if i is multiple of skip: # Periodically adjust one wheel only
case direction:
1: leftdelta--
3: rightdelta--
leftwheel += leftdelta # Turn wheels
rightwheel += rightdelta
def drunken_monkey():
while true:
meander()
在调整下一步的运动曲线之前,这样做可以让你沿着一条平缓但随机的曲线向前运动一段时间。模型可能就是你想要的。这是一类模型,它使用加权的过去历史和一些漂移/随机性来确定下一个值。我投票将这个问题作为离题题题来结束,因为它与编程无关。布朗运动(高斯随机游走)@Alexander它与计算机科学的关系大于编程,但是,对于花时间研究新方法的计算机科学家来说,它的名字不太可能为人所知,而对于坚持使用久经考验的真实方法的程序员来说,它的名字不太可能为人所知,因此这个问题属于这里。另外,我对这个理论很熟悉,但在谷歌搜索了几个小时后,我似乎仍然找不到我要找的函数名。