Skip to main content
QUICK REVIEW

[论文解读] Optimal Ordered Problem Solver

Juergen Schmidhuber|ArXiv.org|Jul 31, 2002
Computability, Logic, AI Algorithms参考文献 52被引用 10
一句话总结

最优有序问题求解器(OOPS)是一种理论上最优的通用算法,通过重用和改编早期问题的解决方案,以解决任务序列。它采用带偏差优化的通用搜索进行递归程序空间搜索,通过元搜索实现自我改进,并在解决如30个圆盘的汉诺塔等复杂问题时实现高达1000倍的加速。

ABSTRACT

We present a novel, general, optimally fast, incremental way of searching for a universal algorithm that solves each task in a sequence of tasks. The Optimal Ordered Problem Solver (OOPS) continually organizes and exploits previously found solutions to earlier tasks, efficiently searching not only the space of domain-specific algorithms, but also the space of search algorithms. Essentially we extend the principles of optimal nonincremental universal search to build an incremental universal learner that is able to improve itself through experience. In illustrative experiments, our self-improver becomes the first general system that learns to solve all n disk Towers of Hanoi tasks (solution size 2^n-1) for n up to 30, profiting from previously solved, simpler tasks involving samples of a simple context free language.

研究动机与目标

  • 开发一种通用的时间最优方法,通过重用早期问题的解决方案,以解决日益复杂的任务序列。
  • 克服启发式、非最优的通用搜索增量扩展方法的局限性,这些方法易受过拟合和次优偏差适应的影响。
  • 实现在资源有限的真实计算机上,对程序空间进行高效递归回溯。
  • 展示如何将自我改进和元搜索——即搜索更快的搜索方法——正式整合进一个通用问题求解框架。
  • 为基于OOPS的强化学习以及可扩展、物理可实现的通用求解器提供基础。

提出的方法

  • OOPS使用渐近最优的非增量通用搜索,在第i轮中,按程序长度和逆概率的顺序测试程序,运行时长受$2^i P(p)$限制。
  • 它通过可计算函数动态修改程序后缀的概率分布,实现基于先前任务解决方案的偏差适应。
  • 程序前缀在生成过程中逐步执行,使用不可写存储以保留早期任务的成功解决方案。
  • 算法将搜索时间的后半部分在所有任务1到n之间时间共享,而前半部分则专门用于测试以最近成功程序为前缀的程序。
  • 一种称为'Try'的递归回溯过程,可在程序空间探索期间实现时间最优的存储重置。
  • 定义了一种低级、自界定的编程语言,包含堆栈操作、控制流和偏差转移原语,支持通用计算和自我修改。

实验结果

研究问题

  • RQ1能否设计一种通用问题求解器,通过最优重用先前任务的解决方案,以加速解决新出现的更复杂任务?
  • RQ2如何基于先前任务的解决方案,自适应且最优地更新程序上的偏差分布,同时避免过拟合?
  • RQ3在真实计算机上,对程序空间进行递归、时间最优回溯的理论与实际可行性如何?
  • RQ4在多大程度上可以将自我改进和元搜索——即搜索更快的搜索策略——正式整合进一个通用求解器中?
  • RQ5OOPS在解决如30个圆盘的汉诺塔问题时性能如何扩展,其最小解大小超过$10^9$?

主要发现

  • 通过自我改进重用和改编早期解决方案,OOPS在解决如30个圆盘的汉诺塔等复杂问题时,实现了1000倍的加速。
  • 该算法通过重用先前解决方案,发现一个可临时重写后缀分布的前缀,从而加速通用搜索,展示了增量学习能力。
  • 在实验中,OOPS成功解决了涉及上下文无关语言识别和汉诺塔的任务序列,显示出可测量的性能提升。
  • 递归的'Try'过程实现了程序空间中的时间最优回溯,这对在资源受限硬件上实现高效搜索至关重要。
  • OOPS在偏差优化和渐近最优性上均可证明,对于任务序列优于传统强化学习代理和AI规划器,尤其在需要深度结构重用的问题上表现更优。
  • 分析了内存和时间限制等物理限制,表明该框架在大规模问题上具有近乎不可超越的可扩展性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。