编程语言
首页 > 编程语言> > 普林斯顿算法——week1 作业一 percolation

普林斯顿算法——week1 作业一 percolation

作者:互联网

第一周作业作业要求:

写一个程序通过蒙特卡洛仿真来估计渗滤的阈值

希望通过渗滤系统得到概率值p的估计值。

  1. 安装algo4java环境,然后可以访问algs4.jar中的类和教材中的所有算法。语法如下:
import edu.princeton.cs.algs4.StdRandom;

import edu.princeton.cs.algs4.StdStats;

import edu.princeton.cs.algs4.WeightedQuickUnionUF;
  1. 渗滤。给定一个复合系统,该系统由随机分布的绝缘和金属材料组成:哪些材料需要是金属的才能使该复合系统成为电导体如果表面上有水(或下面的油)是多孔的景观,那么在什么条件下水能够排到底部(或油涌到表面)?科学家已经定义了称为渗流的抽象过程来对这种情况进行建模
  2. The Model。 我们使用n x n站点网格对渗滤系统进行建模。 每个站点都是打开的或被阻止的。 完整站点是一个开放站点,可以通过一系列相邻的(左,右,上,下)开放站点连接到顶行中的开放站点。 我们说如果底部一行有完整的站点,系统就会渗入。 换句话说,如果我们填充了连接到第一行的所有开放站点,并且该过程填充了第二行的某个开放站点,则系统会发生渗漏。 (对于绝缘/金属材料,空位对应于金属材料,因此渗透的系统具有从顶部到底部的金属路径,且具有完整的导电位置。对于多孔物质,例如,空位对应于空白空间 水可能会通过它流动,从而使渗滤系统让水充满开放的位置,从上到下流动。)
  3. The Probelm。 在一个著名的科学问题中,研究人员对以下问题感兴趣:如果将站点独立设置为以概率p开放(并因此以概率1- p封闭),那么系统渗入的概率是多少? 当p等于0时,系统不渗透; 当p等于1时,系统渗透。 下图显示了20 x 20随机网格(左)和100 x 100随机网格(右)的站点空缺概率p与渗透概率。
    • 当n足够大时,存在阈值p *,使得当p <p *时,随机的n * n网格几乎不会渗滤,而当p> p *时,随机的n * n网格几乎总是渗滤。 。 尚未得出用于确定渗滤阈值p *的数学解。 您的任务是编写一个计算机程序来估计p *。
  4. 渗透数据类型。 要对渗滤系统建模,请使用以下API创建数据类型“渗滤”:

 

标签:渗滤,percolation,系统,网格,站点,普林斯顿,algs4,week1,开放
来源: https://blog.csdn.net/haronchou/article/details/113752047