Algorithm 画家之谜-估计

Algorithm 画家之谜-估计,algorithm,analysis,Algorithm,Analysis,这个问题基于2001年的数据 一个家伙“得到了一份街道油漆工的工作,在道路中间画虚线。”第一天他完成了300码,第二天完成了150码,第三天甚至更少。老板大发雷霆,要求解释 “我没办法,”那家伙说。“我每天都离油漆罐越来越远!” 我的问题是,你能估计他在第三天走了多少路吗 链接线程中的一条评论确实得出了一个精确的解决方案,但我的问题是关于一个足够好的估计——比如说,10%——这很容易从一般原则中得出 澄清:这是关于算法分析中的某种方法,而不是关于开发算法或代码。这里有很多未知因素-他的行走速度,

这个问题基于2001年的数据

一个家伙“得到了一份街道油漆工的工作,在道路中间画虚线。”第一天他完成了300码,第二天完成了150码,第三天甚至更少。老板大发雷霆,要求解释

“我没办法,”那家伙说。“我每天都离油漆罐越来越远!”

我的问题是,你能估计他在第三天走了多少路吗

链接线程中的一条评论确实得出了一个精确的解决方案,但我的问题是关于一个足够好的估计——比如说,10%——这很容易从一般原则中得出


澄清:这是关于算法分析中的某种方法,而不是关于开发算法或代码。

这里有很多未知因素-他的行走速度,他的绘画速度,画笔中的绘画持续多长时间

但很明显,这里有两个过程。一个是二次的——它是在油漆罐和油漆点之间来回走动。另一个是线性的——这是绘画过程本身

想想第10天,甚至第100天,很明显,线性分量变得可以忽略,过程变得非常接近二次-行走几乎需要所有的时间。相反,在第一天的头几分钟,它接近线性

因此,我们可以说时间t作为距离s的函数遵循幂律,变化系数a=1.0。。。2.0. 这也意味着s~t^b,b=1/a

应用: 第1天和第2天之间的b系数近似为

    b(1,2) = log (450/300) / log 2 = 0.585     ;; and so,
    a(1,2) = 1/b(1,2) = 1/0.585 = 1.71
正如预期的那样,
a
系数低于2。对于第2天和第3天之间的时间段,我们可以将其大约设置为介于1.71和2.0之间的中间值

因此,第三天覆盖的距离可以估计为
560-450=110

如果a系数已经有了最大可能值2.0(这是不可能的),该怎么办?然后,
450*(3/2)^0.5=551
码。而对于另一个极端,如果它是相同的1.71(显然也不可能是这样),
450*(3/2)^0.585=570


这意味着110码的估计是合理的,两边的误差小于10码。

考虑到四个假设:-

painting speed = infinity

walking speed = x

he can paint only infinitly small in one brush stroke.

he leaves his can at starting point.



The distance he walks for painting dy road at y distance = 2y

Total distance he walks = intgeration of 2y*dy = y^2 = y^2

Total time he can paint y distance = y^2/x

Time taken to paint 300 yards = 1 day

(300)^2/x = 1

x = 90000 yards/day

Total time he can paint distance y = y^2/90000


(y/300)^2 = 2      after second day

y = 300*2^(1/2) = 424

Day 1 = 300
Day 2 = 424-300 = 124
Day 3 = 300*3^(1/2)-424 = 520 - 424 = 96

Ans : 300/124/96  assuming the first day its 300 

“假设第一天是300”-没有假设;我说第一天是300,第二天是150。300/124/96遵循二次规则;这意味着无限的绘画速度-似乎不太可能。@williness那么这里没有提到的绘画速度是多少&有一个假设,因为问题是问给我一组似乎正确的数字,可能有很多这样的数字,但没有给出正确的信息这里问的问题与链接页面上的问题不同,这只是基于它。这里的问题给你两个数字,是问第三个。
painting speed = infinity

walking speed = x

he can paint only infinitly small in one brush stroke.

he leaves his can at starting point.



The distance he walks for painting dy road at y distance = 2y

Total distance he walks = intgeration of 2y*dy = y^2 = y^2

Total time he can paint y distance = y^2/x

Time taken to paint 300 yards = 1 day

(300)^2/x = 1

x = 90000 yards/day

Total time he can paint distance y = y^2/90000


(y/300)^2 = 2      after second day

y = 300*2^(1/2) = 424

Day 1 = 300
Day 2 = 424-300 = 124
Day 3 = 300*3^(1/2)-424 = 520 - 424 = 96

Ans : 300/124/96  assuming the first day its 300