找到一个方程来连接最大数量的可能点

Posted

技术标签:

【中文标题】找到一个方程来连接最大数量的可能点【英文标题】:Finding an equation to connect the max number of possible points 【发布时间】:2014-04-29 14:57:44 【问题描述】:

我想找到一种方法,给定 2 维(或 3 维,如果可能)平面上的一组任意点,用方程连接尽可能多的这些点,最好是 X^ 的形式n+BX^n 以此类推。 X 当然是变量,b 和 n 是任意数字。

这有望在给定 50 个随机点的情况下工作,我将能够使用该等式绘制一条穿过尽可能多这些点的线。

我计划在压缩格式中使用它,将数据转换为 X、Y 坐标对,然后目标是创建可以重现这些点的方程。然后将存储方程式,并将数据替换为指向方程式的指针以及输入方程式以获取数据的数字。

任何反馈都很好,这只是我在课堂上想到的一个想法,想看看是否可以以可用的格式实现。

【问题讨论】:

如果您的数据符合“简单”曲线(系数不多,指定每个系数所需的位数也不多),那么您将获得良好的压缩。但即使不是这样,这个想法在“其他方向”上仍然有用:如果你从沿 x 轴均匀分布的 n 个点开始,通过它们拟合一个度数-(n-1) 多项式,然后对对于某些 k >= 1,该曲线在沿 x 轴的 n+k 均匀间隔位置处的 y 值,您现在可以丢失这些 n+k 值中的任何 k 个 ,并且仍然重建原始 n : ) 我相信这是 Reed-Solomon 纠错的基础。 【参考方案1】:

要连接n 点,您最多需要一个多项式n-1。您可以使用Polynomial Regression 组成您的线路。

【讨论】:

+1。一点(呵呵):多项式不能通过具有相同 x 值的 2 个不同点。 @j_random_hacker 好点...提出问题的人确实要求多项式...:/

以上是关于找到一个方程来连接最大数量的可能点的主要内容,如果未能解决你的问题,请参考以下文章

找到形成凸多边形的最大点子集

如何在图中找到这样的连接边对的最大数量,每对与另一对至少被两条边隔开?

试图找到最大数量的输入(javascript)

tcp的连接数量

从散点图中找到 2 个回归方程/斜率并比较方程/斜率

SymPy - 任意数量的符号