比较两种产品的算法?

时间:2012-04-17 16:53:59

标签: database algorithm

我想开发一个可以根据其功能比较两种产品的网站。

我想将功能存储为数据库中的属性。例如,手机是一种产品,因此“屏幕类型”和“屏幕分辨率”是属性,它们的值可以是LED / AMOLED和800x400 / 340x230。

数据库可以是手机/笔记本电脑/电视,但数据库仅适用于一种产品类型。

我想知道是否有任何算法可以根据其属性找出最佳的两种?

任何建议/指示都会更受欢迎。

2 个答案:

答案 0 :(得分:3)

这是一种可能的算法,但它不适用于多个用户/客户,除非他们共享相同的偏好(和可支配收入!)。在寻找公寓时,我做了类似的事情:

步骤1 :对于每个要素,将不同的选项映射到数值。我对手机屏幕了解不多,但我们假设您认为AMOLED屏幕比LED屏幕贵20%。已经是数字的值可以离散地映射或使用等式映射。

第2步:为每个功能赋予权重。

第3步:对于每个功能,将权重乘以该值;添加这些,你就得到了每个产品的分数。任何获得最高分的产品都会获胜。


例如,假设每部手机都有以下参数:

  • 屏幕类型:LED或AMOLED
  • 以克为单位的重量
  • 屏幕尺寸,单位为英寸,L * W
  • 屏幕分辨率,以像素为单位,X * Y
  • 电池续航时间

将每个参数映射到一个值,这样两倍有价值的东西就是两倍高:

Screen type: LED => 1.0, AMOLED => 1.2
Weight: w => 50/(w+3)
Screen size: (L,W) => sqrt(L^2 + W^2) / 3
Screen DPI: (L,W,X,Y) => sqrt((X*Y)/(L*W)) / 100
Battery life: T => T / 20

你的相对权重是:

Screen type: 3
Weight: 1
Screen size: 4
Screen DPI: 2
Battery life: 2

手机#1的计算得分为800x400px,3x4英寸,LED屏幕,重40g,电池续航时间为48小时,得分为:

3*1.0 + 1*50/(40+3) + 4*sqrt(3^2*4^2)/3 + 2*sqrt(800*400/(3*4))/100 + 2*48/20
= 28.23

手机#2的计算得分为100x100px,2x1.5英寸,AMOLED屏幕,重8g,电池续航时间为200小时,得分为:

3*1.2 + 1*50/(8+3) + 4*sqrt(2^2*1.5^2)/3 + 2*sqrt(100*100/(2*1.5))/100 + 2*200/20
= 33.3

所以第二部手机“最好”。其他参数,尤其是成本,应该包含在分数中。


准确的结果将需要精确映射到数字刻度和准确的相对权重 - 这是一项简单的任务,即使是自己决定。您可以允许用户设置自己的相对权重,也许......

答案 1 :(得分:0)

如果您想查找每种产品的分数,您需要找到不合适或不适合该类别的产品。 wilson-score intervall会计算出这5%的错误率,您可以对产品进行排序。