标签: approximation

插值建议(线性,三次?)

我需要找到未定义函数与阈值相交的点的近似值。我正在逐步穿越空间,每当发现随后的两个步骤位于阈值的不同侧时,我会在两者之间添加一个点:

实际情况

(来源:ning.com

我的第一种方法是选择中间点,但这显然是一个糟糕的解决方案:

中点

(来源:ning.com

我现在使用的是线性插值,可以得出合理的结果,但是底层函数实际上永远不会是线性的。因此,这仅在我的步长足够小时才有效:

线性插值

(来源:ning.com

对基本函数进行采样可能会非常昂贵,但是我想尝试添加一个或两个其他采样以获得更好的近似值。这里可以使用三次插值吗?像这样:

三次插值
(来源:ning.com

还是有更好的方法?

David Rutten非常有义务

ps。我正在用C#编写,但这是语言不可知的问题。

approximation cubic linear-interpolation

5
推荐指数
1
解决办法
3327
查看次数

有限制的三边形?

我需要帮助解决一个问题,问题出现在我的小机器人实验之一,基本的想法是,每个小机器人都能够近似距离,从他们自己到物体,然而近似我得到的方式太粗糙了,我希望能够更准确地计算出更多东西.

所以:
输入:顶点列表(v_1, v_2, ... v_n),顶点v_*(机器人)
输出:未知顶点v_*(对象)的坐标

每个顶点v_1v_n的是公知的(通过调用提供的坐标getX()getY()在顶点),并且其可能获得的大致范围内,以v_*通过调用; getApproximateDistance(v_*),函数getApproximateDistance()返回两个变量变量,即; minDistancemaxDistance. - 实际距离介于两者之间.

所以我一直试图获得坐标v_*,是使用trilateration,但我似乎无法找到一个用限制(下限和上限)进行三边测量的公式,所以这就是我真正想要的(在数学方面不够好,自己搞清楚).

注意:是三角测量的方式而不是?
注意:我可能想知道一种方法,性能/准确性权衡.

数据示例:

[Vertex . `getX()` . `getY()` . `minDistance` . `maxDistance`]
[`v_1`  .  2       .  2       .  0.5          .  1  ]
[`v_2`  .  1       .  2       .  0.3          .  1  ]
[`v_3`  .  1.5     .  1       .  0.3          .  0.5] …
Run Code Online (Sandbox Code Playgroud)

math distance triangulation approximation trilateration

5
推荐指数
1
解决办法
1039
查看次数

根据密度在网格上分布点

给定(可能是开放的)具有密度纹理和多个点的网格,我需要根据网格上的密度分布这些点.

到目前为止,我已经制定了几个解决方案,其中一些有效,有些则没有.我尝试的算法之一是通过弹簧连接点并模拟分布直到平衡(或直到解决方案适合用户需求).源重新排列多边形表面 不幸的是,对于更高数量的点(> 2k),这有点慢,所以我需要一个可行的解决方案来获得更高的数字.

我已经有了一些想法,但我想听听是否有一些标准的解决方案.我试过谷歌,但我使用的关键字(分布密度离散)只显示处理与我的其他问题的页面.如果你指出正确的搜索词,我会很高兴的.

algorithm mesh approximation

5
推荐指数
1
解决办法
2173
查看次数

Bezier曲线逼近大量的点

我有大约一百点,我想用Bezier曲线近似,但如果有超过25个点(或类似的东西),组合数量的阶乘计数会导致数字溢出.有没有一种方法以类似Bezier的方式逼近这样的点数(平滑的曲线没有通过所有点,除了第一个和最后一个)?或者我是否需要选择具有相同效果的另一种近似算法?我正在使用默认的摆动绘图工具.

PS英语对我来说不是原生的,所以我可能在某处使用了错误的数学术语.

java math bezier approximation

5
推荐指数
1
解决办法
4433
查看次数

最优班次调度算法

我一直在尝试解决我曾经工作过的池的调度问题.这个问题如下......

有许多救生员在游泳池工作,每个救生员都有特定的工作小时数.我们希望将每个救生员所需的平均小时数保持尽可能低的时间,并尽可能保持公平.每个救生员也是一名大学生,因此将有不同的可用时间表.

每周游泳池的活动时间表与最后一次不同,因此必须每周创建一个新的时间表.

在每一天内,一定时间间隔内将需要如此多的救生员(例如:上午8点至10点为3名警卫,上午10点至下午3点为4名警卫,下午3点至晚上10点为2名警卫).这就是困难部分的用武之地.没有明确定义的班次(插槽)来安置每个救生员(因为如果救生员的可用性加上每周更改的游泳池时间表,可能无法创建时间表事件).

因此,必须从仅提供的空白平板创建计划表...

  • 救生员及其信息(所需时数,可用性)
  • 游泳池的活动安排,以及随时需要值班的警卫人数

现在可以将问题明确定义为"在每周的每一天创建一个涵盖所需护卫数量的可能时间表,并尽可能公平地安排所有救生员."

在一周中的每一天创建一个涵盖所需护卫数量的可能时间表是问题的一部分,这是必要的,必须完全解决.关于尽可能公平对待所有救生员的下半部分使问题变得更加复杂,导致我相信我需要一种近似方法,因为划分工作日的可能方式可能是荒谬的,但有时可能是必要的只有可能的时间表可能是荒谬的公平.

编辑:我发现的最常见的算法之一是"医院/居民问题",但我不认为这是适用的,因为没有明确定义的工作人员插槽.

algorithm optimization scheduling approximation

5
推荐指数
1
解决办法
1万
查看次数

如何计算德州扑克或奥马哈手牌对8个随机对手的获胜概率的软件是如何工作的?

所以有德州扑克电脑游戏,你可以玩8个对手,据说这些电脑游戏中的一些可以告诉你,如果你的对手都是随机的,你的获胜概率.如果有人不知道,在德州扑克中,每个玩家获得2张私人牌,然后最终在中间发出5张公共牌(前3个,然后是1个,然后是1个),获胜者是能够玩牌的玩家.他们可以使用他们的2张私人卡和5张社区卡的任意组合制作最好的5张牌扑克牌.在奥马哈,每位玩家获得4张私人牌,还有5张公共牌,而获胜者是能够使用2张私人牌和3张公共牌制作最佳5张牌扑克牌的玩家.

所以,在德州扑克中,对于任何一个玩家的私人手牌,有超过10 ^ 24种方式可以处理8个对手的私人手牌和5张社区牌.那么假设你的8个对手是随机的,他们如何计算/估计你在开始时获胜的概率呢?在奥马哈,情况甚至更糟,尽管我从未见过奥马哈电脑游戏实际上可以让你对8个随机对手的手牌.但无论如何,是否有任何编程技巧可以完成这些获胜概率计算(或者说,在3或4位小数点内正确),比蛮力更快?我希望有人可以在这里回答谁在编写这样一个程序之前运行得足够快,因此为什么我在这里问.而且我希望答案不涉及随机抽样估计,因为总是有一个很小的可能性.

algorithm approximation

5
推荐指数
1
解决办法
927
查看次数

使用HyperLogLog对代码进行可靠的集成测试?

我们正在使用Twitter在Algebird中实现HyperLogLog.给定N和我们的系统中的检查,使用HyperLogLog估计逐渐增长的集合的当前大小并测试它是否多于或少于N,我们如何编写测试此检查的集成或系统测试,如果我们调用HyperLogLog的代码是正确的,几乎可以保证通过?被测系统是非确定性的,因为,一方面,它是多线程的.

我的第一个想法是,编写一个对这个用例可靠的集成测试的正确方法是"放弃我们的标准".那么,什么是足够数量的项目(M)发布到端点,以确保HyperLogLog将估计项目的总数超过N,概率,例如,> = 0.999999?

还是有更好的方法?

标准误差界限是可配置的,但这并不直接告诉我们偶尔可能看到的最大误差界限 - 这是我关心的,以避免随机失败的CI构建在主人身上造成浪费的时间和头发-pulling!

我还担心我们在测试中生成随机数据的方式可能不会在相关方面生成均匀分布的随机数据,这可能会对概率计算产生重大影响.

integration-testing approximation hyperloglog

5
推荐指数
1
解决办法
127
查看次数

函数逼近Tensorflow

我试图在Tensorflow中创建一个近似正弦函数的神经网络.我已经找到了一些通用函数逼近器的例子,但是我并没有完全理解代码,因为我对Tensorflow很新,我想自己编写代码来理解每一步.

这是我的代码:

import tensorflow as tf
import numpy as np
import math, random
import matplotlib.pyplot as plt


# Create the arrays x and y that contains the inputs and the outputs of the function to approximate
x = np.arange(0, 2*np.pi, 2*np.pi/1000).reshape((1000,1))
y = np.sin(x)
# plt.plot(x,y)
# plt.show()

# Define the number of nodes
n_nodes_hl1 = 100
n_nodes_hl2 = 100

# Define the number of outputs and the learn rate
n_classes = 1
learn_rate = 0.1

# Define input / …
Run Code Online (Sandbox Code Playgroud)

python mathematical-optimization approximation neural-network tensorflow

5
推荐指数
2
解决办法
1312
查看次数

寻找估算方法(数据分析)

由于我现在不知道我在做什么,我的措辞可能听起来很有趣.但说真的,我需要学习.

我现在面临的问题是要拿出一个方法(模型)估算的软件程序是如何工作的:即运行时间和最大内存使用情况.我已经拥有的是大量数据.该数据集概述了程序在不同条件下的工作方式,例如

<code>
RUN     Criterion_A  Criterion_B  Criterion_C  Criterion_D  Criterion_E <br>
------------------------------------------------------------------------
R0001           12         2           3556            27           9 <br>      
R0002            2         5           2154            22           8 <br>
R0003           19        12           5556            37           9 <br>
R0004           10         3           1556             7           9 <br>
R0005           5          1            556            17           8 <br>
</code>
Run Code Online (Sandbox Code Playgroud)

我有数千行这样的数据.现在我需要知道如果我事先知道所有标准,我如何估计(预测)运行时间和最大内存使用量.我需要的是一个给出提示(上限或范围)的近似值.

我觉得这是一个典型的??? 我不知道的问题.你们能给我一些提示或给我一些想法(理论,解释,网页)或任何可能有用的东西.谢谢!

statistics data-analysis approximation forecasting

4
推荐指数
1
解决办法
456
查看次数

定点的 2 次幂近似

目前,我正在使用一个小型查找表和线性插值,它非常快且足够准确(最大误差小于 0.001)。然而我想知道是否有一个更快的近似值。

由于指数的整数部分可以通过位移来提取和计算,因此近似值只需要在 [-1,1] 范围内工作我尝试找到切比雪夫多项式,但对于低多项式无法达到良好的精度命令。我猜我可以忍受 0.01 左右的最大误差,但我没有接近这个数字。高阶多项式不是一种选择,因为它们比我当前的基于查找表的解决方案效率低得多。

fixed-point approximation

4
推荐指数
1
解决办法
2879
查看次数