计算概论B-③-计算机的理论模型

简介: 计算机的理论模型

问题解决的“计算”之道

• 20世纪20年代,为了解决数学本身的可检验性问题,

大数学家希尔伯特提出“能否找到一种基于有穷观点

的能行方法,来判定任何一个数学命题的真假”

抽象的“计算”概念提出:

• 由有限数量的明确有限指令构成;

• 指令执行在有限步骤后终止;

• 指令每次执行都总能得到正确解;

• 原则上可以由人单独采用纸笔完成,而不依靠其它辅助;

• 每条指令可以机械地被精确执行,而不需要智慧和灵感。

关于“计算”的数学模型

• 20世纪30年代,几位逻辑学家几乎同时各自独立提出了几个关于“计算”的数学模型

• 奥地利逻辑学家、数学家哥德尔(K.F. Godel,1906-1978)和美国逻辑学家、数学家克莱尼(S.C. Kleene,1909-1994)的递归函数模型

• 美国逻辑学家、数学家丘奇(A. Church,1903-1995)的Lambda演算模型

• 波兰裔美国逻辑学家、数学家波斯特(E.L. Post,1897-1954)的Post机模型

• 英国逻辑学家、数学家图灵(A.M. Turing,1912-1954)的图灵机模型

基于有穷观点的能行方法

• 后续研究证明,这几个“基于有穷观点的能行方法”的计算模型,全都是等价的

• 在某个模型下“可计算”的问题,在另外的模型下也是“可计算”的

• 虽然希尔伯特的计划最终被证明无法实现

• 即不存在“能行方法”来判定任何一个数学命题的真假

• 总有数学命题,其真假是无法证明的

• 但“能行可计算”的概念,成为了计算理论的基础

• 其中的一些数学模型(如图灵机)也成为现代计算机的理论基础

图灵机Turing Machine

1936年,Alan Turing提出的一种抽象计算模型

• 基本思想是用机器模拟人们用纸笔进行数学运算的过程,但比数值计算更为简单

图灵机基本概念

• 在纸上写上或擦除某个符号;

• 把注意力从纸的一个位置转向另一个位置

• 在每个阶段,人要决定下一步的动作,依赖于:此人当前所关注的纸上某个位置的符号和此人当前思维的状态。

本文是基于北京大学地球与空间科学学院陈斌教授课堂实录整理的学习笔记。

目录
相关文章
|
4月前
|
安全 编译器 测试技术
PHP 8 新特性解析:JIT编译器如何提升你的应用性能
PHP 8 新特性解析:JIT编译器如何提升你的应用性能
267 114
|
5月前
|
SQL Oracle 关系型数据库
Oracle 数据库数据操作:精通 INSERT, UPDATE, DELETE
在Oracle里,增加数据用INSERT,修改用UPDATE,删除则用DELETE。进行修改和删除时,建议总是带上WHERE条件来指定范围,这样可以确保操作的准确性
1064 4
|
10月前
|
移动开发 前端开发 安全
【HarmonyOS next】ArkUI-X休闲益智消消乐【进阶】
本项目基于ArkUI-X实现H5游戏与原生应用融合,通过Web组件将Vue+Canvas开发的消消乐游戏无缝嵌入ArkTS容器,支持HarmonyOS与iOS双平台运行。核心包括:跨端渲染适配、高性能动画引擎、触控事件归一化及多端性能优化,代码复用率达92%,帧率稳定≥55FPS,触控延迟<80ms。提供完整源码与开发建议,拓展方向涵盖分布式续玩与原生能力集成。
281 0
|
12月前
|
监控 测试技术 数据库连接
利用 RunnerGo 深度探索 API 性能测试:从理论到实践
API性能测试是保障应用稳定性和用户体验的关键环节。本文详细探讨了如何使用RunnerGo全栈测试平台进行高效API性能测试,涵盖测试计划创建、场景设计、参数配置到执行与分析全过程。通过电商平台促销活动案例,展示了高并发下的测试策略与优化措施,如代码与数据库查询优化、数据库连接池扩容、服务器资源配置调整及缓存策略实施等。最终显著提升系统性能,满足高并发需求。API性能测试需持续关注与优化,以适应业务发展和用户需求变化。
403 33
|
11月前
|
人工智能 开发者 Python
AI编码与构造智能体初学过程的反思
本文记录了作者在阿里云 AI Clouder 认证课程《基于通义灵码实现高效AI编码》学习初期的真实经历与反思。起初,作者选择从“无代码”方向的大模型课程《基于百炼平台构建智能体应用》入手,希望借助便捷工具跳过编程基础,但实践中发现效果有限,最终决定回归系统性学习路径,重新从《通义灵码》课程开始夯实技能。 文章回顾了作者的学习动机、选课逻辑、实战中遇到的问题及解决策略,并分享了关于复习方法、实践重要性和持续学习理念的深刻体会。通过这一过程,作者认识到:真正的技术掌握离不开扎实的基础和持续的练习,只有遵循客观学习规律,才能在AI开发道路上走得更远。
389 21
|
12月前
|
存储 定位技术 开发工具
《从混乱到有序:ArkUI项目文件结构改造指南》
在ArkUI开发中,优化文件结构对提升代码可维护性至关重要。通过功能模块化划分(如商品展示、用户管理),将组件、样式、逻辑文件集中管理;设置`pages`存放页面文件,`common`存储全局资源;分类创建`components`、`styles`等目录,统一管理不同类型文件;利用`resources`规范资源存放,遵循命名规则;通过`config`集中配置文件并设默认值;借助Git分支管理代码,定期提交并撰写详细信息。这些方法助力构建清晰、高效、易维护的项目结构,为应用长期发展奠定基础。
233 0
|
人工智能 自然语言处理 数据挖掘
轻松上手,性能爆表:零门槛体验DeepSeek-R1满血版评测
DeepSeek-R1满血版是一款真正实现“零门槛”的高性能AI设备,以其卓越的性能和易用性打破了技术壁垒。用户可通过阿里云百炼模型服务轻松配置部署,支持文本生成、代码编写、数据分析等多任务,响应迅速,硬件要求低,适合非技术背景用户提升效率。测评显示其在数学、代码和推理任务上表现出色,成本优势明显,性价比极高。推荐指数:★★★★★。 核心亮点包括零学习成本、一键部署、中文交互友好、预训练模型优化及私有化部署保障数据隐私。总体而言,DeepSeek-R1满血版实现了开箱即用的AI体验,尤其适合新手或追求高性价比的用户。
1265 5
|
JSON 数据挖掘 API
搜款网VVIC商品列表数据接口(搜款网API系列)
搜款网(VVIC)是知名服装批发平台,开发者可通过API获取商品列表数据,用于市场调研、数据分析等。API请求通常为HTTP GET,需申请权限并提供API Key。响应数据为JSON格式,包含商品基本信息。Python示例代码展示了如何发送请求和处理响应。使用API时需确保合法合规,注意错误处理和性能优化。
|
供应链 数据挖掘 API
1688app 商品详情接口系列(1688API)
1688作为国内知名批发采购平台,提供了一系列商品详情接口(API),助力企业和开发者获取商品基础、价格、库存及供应商信息。通过Python示例代码展示如何调用这些接口,应用场景涵盖采购决策辅助、数据分析与市场调研、电商平台整合及供应链管理系统的优化,为企业和采购商提供有力的数据支持,提升业务效率和竞争力。
526 15
|
安全 Java 大数据
Java的优点
1. 面向对象:Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的特性,使得代码更易于理解、维护和重用。 2. 跨平台性:Java应用程序可以在不同的操作系统上运行,只需编译一次,就可以在任何支持Java虚拟机(JVM)的平台上运行。 3. 强大的生态系统:Java拥有庞大而活跃的开源社区,提供了丰富的库和框架,可以加快开发过程,提高开发效率。 4. 内存管理:Java提供了自动的垃圾回收机制,开发者不需要手动管理内存,减少了内存泄漏和野指针等问题。 5. 安全性:Java具有强大的安全性特性,包括沙箱安全模型、字节码验证和安全类加载等机制,可以防止恶意代码的执行。