【问题标题】:Proof for optimal page replacement (OPT)最佳页面替换 (OPT) 的证明
【发布时间】:2018-05-18 11:31:41
【问题描述】:

我需要证明最优页面替换算法确实是最优的,我不确定如何开始。我想也许可以通过矛盾来证明,但是一旦我提出了一个替代声明,我不确定如何证明它的页面错误与 OPT 相同或更少。

【问题讨论】:

    标签: page-replacement


    【解决方案1】:

    这是明天的 CSE 330 决赛吗?

    【讨论】:

    • 哈。是的。我想我已经解决了。我认为它处理要替换的最后几页。至少一个页面将被替换,不再需要(如在 OPT 中),或者将需要的页面将被换出,因此再次换入(或不需要页面交换)。因此,任何替代的页面替换算法必须至少具有与 OPT 一样多的页面交换。让我知道你对此的看法,祝你明天好运
    【解决方案2】:

    最长前进距离 (LFD)

    • 替换下一个请求最远(未来)的页面

    定理:

    • LFD(最长前向距离)是一种最佳算法。

    证明:

    • 为了矛盾,假设 LFD 不是最优的
    • 那么存在一个有限输入序列 α,LFD 不在其上 最优(假设 α 的长度为 | α| = n)
    • 令 OPT 成为 α 的最优解,使得

    – OPT 处理请求 1,2, ..., i 的方式与 LFD 相同

    – OPT 处理请求 i+1 的方式与 LFD 不同

    – 任何其他最优策略处理前 i+1 个请求中的一个请求的方式与 LDF 不同

    • 因此,OPT 是最优解,其行为方式与 LFD 相同 尽可能久 --> 我们有 i

    目标: 构造与请求的 LFD 相同的 OPT'。 1, ... , i+1

    案例 1: 请求 i+1 不会导致页面错误

    • LFD 不会改变快速存储器的内容

    • OPT 的行为与 LFD 不同 --> OPT 替换了快速内存中的某些页面

    – 直到请求 i+1,两种算法的行为方式相同,它们也具有相同的快速内存内容

    – OPT 因此不需要新页面来请求 i+1

    – 因此,OPT 也可以稍后加载该页面(无需额外费用)--> OPT'

    案例 2: 请求 i+1 确实会导致页面错误

    • LFD 和 OPT 将同一个页面移动到快速内存中,但它们驱逐不同的页面

    --如果OPT加载不止一页,请求i+1不需要的所有页面也可以稍后加载

    • 比如说,LFD 驱逐页面 p 和 OPT 驱逐页面 p'

    根据LFD的定义,在页面p之前又需要p'

    现在,有两种情况:-

    a) OPT 将 p 保存在快速内存中,直到请求 ℓ

    – OPT 可以在请求 i+1 时驱逐 p,保留 p' 并在请求 ℓ 时将 p(而不是 p')加载回快速内存,无需额外费用,类似于 LFD

    b) OPT 应请求驱逐 p ℓ'

    – OPT 可以在请求 i+1 时驱逐 p,保留 p' 并加载 p,同时在请求 ℓ' 时驱逐 p'(切换 p 和 p' 的驱逐),再次类似于 LFD

    所以,OPT 并不是比 LFD 更好的解决方案。

    即,LFD 是最佳页面替换技术

    LFD 也称为优化页面替换技术(OPT)。

    PS:在证明中,名称“OPT”仅用作“名称”,不要将其与最佳页面替换技术混淆。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 2020-11-07
      • 1970-01-01
      • 2017-08-23
      • 2010-09-21
      相关资源
      最近更新 更多