占用你时间的学校热身运动

 

与交易没有直接关系,但很有趣。为周末的大脑和键盘做热身运动 :-)当我和我的孩子们一起做数学题并试图教编程时,它出现了。

如你所知,一个三角形的面积可以通过其三条边的长度来计算。对于一个多边形来说,不幸的是,它不是这样的,但是如果给定了边的长度,你可以找到有这些边的图形的__最大面积__。

请注意一个问题:它(多边形的最大面积和其边上的相邻角)是如何被分析计算的,MT优化器是否有能力进行这样的技巧?

虽然这对软件解决方案来说只是一个好奇的问题,但可能有助于优化:弄清楚哪些参数需要修复,在哪些范围内需要考虑。

---

简单地比较一下优化器的蛮力(这将取决于算法和蛮力的内容/方式)和分析方案所发现的面积,这是唯一的方案。

 

如果有三个以上的角,用线连接所有的角。

有一定数量的三角形

把这些三角形的面积加起来

任何编程语言
 
Renat Akhtyamov:

用线连接所有的角。我们有一些三角形

把这些三角形的面积加起来

算一算吧 :-)

边长为1-2-3-4-5-6,这样一个六边形的最大面积是多少?

 
Maxim Kuznetsov:

算一算吧 :-)

边长为1-2-3-4-5-6,这样一个六边形的最大面积是多少?

我在网上搜索了一下,有一些选择。

我只是不想麻烦。

 
从分析上看,通过导数
 
Maxim Kuznetsov:

算一算吧 :-)

边长为1-2-3-4-5-6,这样一个六边形的最大面积是多少?

如果这个六边形只有一个版本,它怎么可能是最大或最小或其他什么?它的面积取决于什么?

啊...一个六边形,而不是一个三角形)

 

看起来你需要把它刻在一个尽可能大的半径的圆内。

面积可以用矢量积或高斯公式计算。

 
Aleksey Nikolayev:

看起来你需要把它刻在一个尽可能大的半径的圆内。

面积可以用矢量积或高斯公式计算。

在算法上,我们只是搜索角度,找到变化的极限,搜索它 - 然后递归,选择最大面积。准确度和持续时间取决于每一步的角度选择。

但说起来,总时间相当长。

如果你把它塞进一些优化器中,它应该收敛得更快。

 
Maxim Kuznetsov:

从算法上看,这是一个简单的搜索,取一个角度,确定变化的极限,搜索--然后递归,选择最大面积。准确度和持续时间取决于每一步的角度选择。

但说起来,总时间相当长。

如果你把它塞进一些优化器,它应该会收敛得更快。

如果我们能写出决定面积的公式,我们就会使用导数。

一般来说,这是一项困难的任务。为什么?

 
Dmitry Fedoseev:

如果你能写下面积所依赖的公式,那么通过导数。

对于一个有固定边长的N个面,你还必须知道N-3个面之间的角度。然后可以找到该图的面积。但最大可能的面积(对于:边已知,角任意)是唯一的一个

 
Maxim Kuznetsov:

对于一个有固定边长的N个面,你还需要知道N-3个面之间的角度。然后我们就可以找到一个特定图形的面积。但最大可能的面积(对于:边已知,角任意)是唯一的一个

在这种情况下,是的,因为我们必须像Alexey上面写的那样进行计算