计算理论的重大突破,无限深度递归

目前无论是Lisp还是Javascript(C++就更不用说了),递归深度都远远低于可用内存大小,而且栈一旦分配就无法挪动(有指针似乎无解),这个问题的根源在于call指令会把下一指令的地址入栈。我经过几年的思考终于发现,可以把C++的内存模型完全放在堆上,也就是说进行call之前先new出调用函数所需要的空间,而把返回地址作为参数传递进去。这样就从根源上解决了此问题,那什么尾递归就是个渣,完全没有通用性。还有个好处就是程序长时间运行可以合并大量零碎内存。

比较有意思的评论:

call 需要调用 new,new 本身就是个函数调用,那逻辑上岂不是无限递归了。

还有有几个脑残Lisp会显式限制递归深度的。yinwang都噗了几遍“栈”了你咋还不长进。R.K.Dybvig反倒是前在一篇dissertation指出在他之前Scheme实现还都没直接用你所谓的栈的。

时间: 2024-11-10 00:06:10

计算理论的重大突破,无限深度递归的相关文章

Marr的视觉计算理论

? ? ????Marr的视觉计算理论立足于计算机科学,系统地概括了心理物理学.神经生理学.临床神经病理学等方面已取得的所有重要成果,是迄今为止最为系统的视觉理论.Marr 的视觉计算理论虽然在细节甚至在主导思想方面尚存在大量不完备的方面,许多方面还存有许多争议,但至今为止仍是广大计算视觉研究人员接受的基本框架.计算机视觉这门学科的形成,应该说与这一理论框架有密切的关系,下面我们从几个方面来描述这一理论框架. Marr 从信息处理系统的角度出发,认为视觉系统的研究应分为三个层次,即计算理论层次.

计算理论初步:P vs NP 问题

1.问题概述 P = NP? 这个问题,作为理论计算机科学的核心问题,其声名早已经超越了这个领域.它是Clay研究所的七个百万美元大奖问题之一,在2006国际数学家大会上,它是某个1小时讲座的主题. 要说起P和NP是什么东西,得先从算法的多项式时间复杂度谈起,注意,这里面的两个P都是指Polynomial. 一个问题的规模指的是输入的总位数,比如一个n个数的排序问题,输入规模就是n.注意,在某些时候,输入规模是要值得注意的,比如判定一个数n是否是一个质数这个问题,它的输入规模并不是n,而是log

计算理论中的莱斯定理(Rice's Theorem)——证明与应用

我们给出一个在探讨不可判定性时非常有用的结论--莱斯定理(Rice's Theorem).首先,我们来看前面讨论过的几个不可判定的例子: 这些都是由图灵机识别之语言的性质.而莱斯定理告诉我们,任何由图灵机识别之语言的非平凡性质(nontrivial property)都是不可判定的. 最后通过几个例子来探讨一下莱斯定理的应用.来看看下面这个语言能否使用莱斯定理来确定其可判定性. {<M> | M是一个TM,且L(M)可由一些拥有偶数个状态的图灵机识别} 首先来确定这是否是一个语言属性,显然是的

计算机软考笔记之《计算理论》

1.引言 为了回答诸如此类问题:哪些问题可以通过计算机解决?语言之间是否存在优势?运行一个程序前,是否可以确定该程序将要停止(终止)还是永远运行?用一种特定的语言解决一个问题需要多长时间?我们求助于一门学科:计算理论. 2.简单语言 通过简单语言可以看到计算机解决任何问题所需要最少语句是三条.它们是递增语句,递减语句和循环语句. 我们可以证明这种简单的语言能模拟一些流行语言中的多个语句.我们把每个模拟称为一个宏,它可以在其他模拟中使用,而不需要重复编码. ①简单语言中的宏 ②输入和输出 3.图灵

对比学习资料《深度学习入门:基于Python的理论与实现》+《深度学习原理与实践》+《深度学习理论与实战基础篇》电子资料

我认为<深度学习入门:基于Python的理论与实现>电子书代码基本原理,简洁清楚,所用数学基本就是大一水平,适合做第一本入门书. <深度学习入门:基于Python的理论与实现>书代码实现的神经网络全是用numpy,超级适合刚刚入门想了解神经网络,数学不好看公式看不懂的人,看完这本基本就懂深度学习是弄啥子了. 如果连这本都看不懂的话,可以去看<Python神经网络编程>.我个人认为这两本书是最简单直白的方式让人理解神经网络的了. <深度学习原理与实践>电子书代

js setTimeout深度递归后完成回调

setTimout原型: iTimerID = window.setTimeout(vCode, iMilliSeconds [, sLanguage])     setTimeout有两种形式 setTimeout(code,interval)  setTimeout(func,interval,args) var i=0;   function test(){       i+=1;       alert(i);   }   setTimeout("test()",1000); 

逻辑学和计算理论相关概念

集合:参见集合与函数相关定义 映射:参见集合与函数相关定义 满射:参见集合与函数相关定义 单射:参见集合与函数相关定义 关系:参见集合与函数相关定义 自反关系:参见集合与函数相关定义 传递关系:参见集合与函数相关定义 对称关系:参见集合与函数相关定义 等价关系:某个关系满足自反.传递.对称,则称它为等价关系 自然数集N:我们通常所见的由0,1,2,3,4-构成的集合 实数集R:通常我们能看到的数就是这个 复数集C:代数方程的根的集合 代数数:一个数为代数数,当且仅当它是某个整系数多项式方程的根

php 无限极递归分类

<?php $array = array( array('id' => 1, 'pid' => 0, 'name' => '河北省'), array('id' => 2, 'pid' => 0, 'name' => '北京市'), array('id' => 3, 'pid' => 1, 'name' => '邯郸市'), array('id' => 4, 'pid' => 2, 'name' => '朝阳区'), array(

深度递归

class A: pass class B(A): pass class C(A): pass class D(B, C): pass class E: pass class F(D, E): pass class G(F, D): pass class I: pass class J(B, C): pass class K(A): pass class H(I, J, K): pass class Foo(H, G): pass 原文地址:https://www.cnblogs.com/wor