选择k项以最大化利润

时间:2015-10-20 18:51:20

标签: algorithm

我偶然发现了这个问题,并且没有任何关于如何解决这个问题的线索。有人可以帮我这个吗? 问题如下:

假设我们建立了一个网站,旨在从广告中获利。对于访问该网站的每个人,服务器从集合S = {1,...,n}中选择k个广告,以某种方式对它们进行排序并将其显示为列表。

选择和要显示的顺序取决于值v(i)(v(i)是整数)和质量q(i)(0 <= q(i)<= 1)广告i和趋势t(i)(0

当用户点击广告时会发生什么情况如下:

  1. 此人首先检查广告a1。
  2. 当他检查广告a(i)时,他以概率q(a(i))跟随链接,我们得到v(a(i))的利润。
  3. 无论他是否遵循广告a(i)的链接,他继续以概率t(a(i))检查广告a(i + 1)并停止以1-t的概率检出广告(一个(i))的
  4. 如果他选择继续查看广告,那么当他完成广告a(k)时,他最终会停止。
  5. 基于以上描述,我们的网络服务器选择广告及其订单以最大化利润。假设该人检查了广告a1,a2,...,a(i-1),那么他检出广告a(i)的概率是:

    Here is a screenshot

    因此,服务器选择k个广告列表以最大化预期利润:

    enter image description here

    a)显示如果(a1,a2,...,a(k))是具有最大预期利润的广告列表,则: enter image description here

    b)设计O(nlogn + nk)算法来计算最大预期利润。

0 个答案:

没有答案