RandomWalk随机游走
RandomWalk随机游走:
在自然界,物理学,生物学,化学,经济学等众多领域,随机游走都有实际的用途,例如,其可以描述一个漂浮在水滴上的花粒因受到水分子的作用力而在水滴表面随机移动。诸如此类的不规律无规则的自然现象及活动,因此具有一定的研究意义。
代码实现
本次主要使用choice和matplotlib.pyplot
import matplotlib.pyplot as plt
from random import choice
class RandomWalk:
"""定义随机游走属性"""
def __init__(self, points_num=10000):
self.points_num = points_num
self.x_values = [0]
self.y_values = [0]
def fill_walk(self):
while len(self.x_values) < self.points_num:
x_direction = choice([1, -1])
x_distance = choice([0, 1, 2, 3, 4])
x_value = x_direction * x_distance
y_direction = choice([1, -1])
y_distance = choice([0, 1, 2, 3, 4])
y_value = y_direction * y_distance
x = self.x_values[-1] + x_value
y = self.y_values[-1] + y_value
self.x_values.append(x)
self.y_values.append(y)
if __name__ == '__main__':
rw = RandomWalk()
rw.fill_walk()
plt.style.use("classic")
fig, ax = plt.subplots(figsize=(15, 9)) # 适应屏幕,调整绘图尺寸
ax.scatter(rw.x_values, rw.y_values, s=15)
points_numer = range(rw.points_num)
ax.scatter(rw.x_values, rw.y_values, c=points_numer,
cmap=plt.cm.Blues, edgecolors='none', s=15) # 使用渐近色来表示
ax.scatter(0, 0, c="green", edgecolors='none', s=100) # 将起点突出显示出来
ax.scatter(rw.x_values[-1], rw.y_values[-1], c='red', edgecolors='none', s=100) # 将终点突出显示出来
ax.get_xaxis().set_visible(False) # 隐藏x坐标轴
ax.get_yaxis().set_visible(False) # 隐藏y坐标轴
plt.show()
生成的随机游走图:
多展示几张来展示每次生成的点都是随机,无规则无规律的。



RandomWalk随机游走的更多相关文章
- 随机游走模型(RandomWalk Mobility)
随机游走模型由首先由爱因斯坦在1926年以数学方式描述.由于自然界中的许多实体会以不可预知的方式移动,因此随机游走模型用来描述这种不稳定的移动.在这种移动模型中,移动节点随机选择一个方向和速度来从当前 ...
- 【Matlab】随机游走产生图像效果
随机游走类似布朗运动,就是随机的向各个方向走吧.产生的图像实在漂亮,所以还是贴出分享. clear all; close all; clc; n=100000; x= 0; y= 0; pixel=z ...
- 介绍一个全局最优化的方法:随机游走算法(Random Walk)
1. 关于全局最优化求解 全局最优化是一个非常复杂的问题,目前还没有一个通用的办法可以对任意复杂函数求解全局最优值.上一篇文章讲解了一个求解局部极小值的方法--梯度下降法.这种方法对于求解精度不高 ...
- Loj #2542. 「PKUWC2018」随机游走
Loj #2542. 「PKUWC2018」随机游走 题目描述 给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(Q\) 次询问,每次 ...
- LOJ #2542. 「PKUWC 2018」随机游走(最值反演 + 树上期望dp + FMT)
写在这道题前面 : 网上的一些题解都不讲那个系数是怎么推得真的不良心 TAT (不是每个人都有那么厉害啊 , 我好菜啊) 而且 LOJ 过的代码千篇一律 ... 那个系数根本看不出来是什么啊 TAT ...
- 【LOJ2542】【PKUWC 2018】随机游走 min-max容斥 树上高斯消元
题目描述 有一棵 \(n\) 个点的树.你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(q\) 次询问,每次询问给定一个集合 \(S\),求如果从 \(x\) 出发一 ...
- [PKUWC2018] 随机游走
Description 给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去. 有 \(Q\) 次询问,每次询问给定一个集合 \(S\),求如果从 ...
- 【LOJ#2542】[PKUWC2018]随机游走(min-max容斥,动态规划)
[LOJ#2542][PKUWC2018]随机游走(min-max容斥,动态规划) 题面 LOJ 题解 很明显,要求的东西可以很容易的进行\(min-max\)容斥,那么转为求集合的\(min\). ...
- LOJ #2542「PKUWC2018」随机游走
$ Min$-$Max$容斥真好用 $ PKUWC$滚粗后这题一直在$ todolist$里 今天才补掉..还要更加努力啊.. LOJ #2542 题意:给一棵不超过$ 18$个节点的树,$ 5000 ...
- 「PKUWC2018」随机游走(min-max容斥+FWT)
「PKUWC2018」随机游走(min-max容斥+FWT) 以后题目都换成这种「」形式啦,我觉得好看. 做过重返现世的应该看到就想到 \(min-max\) 容斥了吧. 没错,我是先学扩展形式再学特 ...
随机推荐
- 【忍者算法】从十字路口相遇到链表交点:探索相交链表问题|LeetCode第160题 相交链表
从十字路口相遇到链表交点:探索相交链表问题 生活中的相遇问题 想象两个人从不同的地方出发,最后在一个十字路口相遇.他们可能走过不同长度的路程,但最终会在同一个点汇合.这就很像我们今天要讨论的相交链表问 ...
- C# Graphic 操作记录
C# 在图片上绘制文字 /// <summary> /// 生成文字图片 /// </summary> /// <param name="text"& ...
- [POI2014] HOT-Hotels 加强版题解
好好好,太好了这题,太好了. 首先有一点是很明显的: 对于一个合法的答案 \((i,j,k)\),必有一点 \(p\),使 \(dis(i,p)=dis(j,p)=dis(k,p)\) 且三点到 \( ...
- python接入百度智能云API实现ai对话
python接入百度智能云API实现ai对话 千帆大模型平台-百度智能云千帆 代码段: import requests import json # 获取访问令牌的函数 def get_access_t ...
- Java微信小程序登录接口获取openid
根据官方文档,wx.login()的回调函数中,需要我们传递生成的用户登录凭证到code2accessToken的接口中 小程序登录方法 code2accessToken的方法中要求传入如下参数 ...
- Github Copilot的使用方法和快捷键
GitHub Copilot是一款由GitHub和OpenAI共同开发的代码智能补全工具,它使用机器学习模型来为你提供代码建议和自动完成,可以加快开发过程并提高代码质量.下面是使用GitHub Cop ...
- mybatis - [09] 动态SQL
题记部分 一.if & test 如果id,name,age不为空,则按照指定的值进行查询.如果这三者都是空(null和空字符串),则该sql执行结果为全表查询的结果集. <select ...
- mybatis - [07] 模糊查询
题记部分 (1)mapper类 List<User> getUserLike(String value); (2)mapper.xml <!-- 写法1 --> <sel ...
- .NET Core 中如何实现缓存的预热?
在构建高性能的 .NET Core 应用时,缓存是提升系统响应速度.减轻数据库压力的利器.然而,缓存并非一蹴而就,它也需要"热身"才能发挥最佳性能.这就是缓存预热的意义所在. 一. ...
- C#实现自己的Json解析器(LALR(1)+miniDFA)
C#实现自己的Json解析器(LALR(1)+miniDFA) Json是一个用处广泛.文法简单的数据格式.本文介绍如何用bitParser(拥有自己的解析器(C#实现LALR(1)语法解析器和min ...