计算机的错误计算(二十五)

news2024/9/21 0:41:36

摘要  介绍(不)停机问题。给了一个算式,当计算机的输出为0时,一般需要提高计算精度继续计算,一直到获得非0值或有效数字。但是,由于事先不清楚算式的准确值是否为0或不为0,因此往往陷入两难境地:如果一直是0,则不知该继续计算还是不计算?若继续计算,万一准确值是0,那么就是无用的计算了;若不计算,那万一准确值不是0,那岂不是没计算出准确值吗?所以,当输出一直是0时,究竟该停机还是不停机?

       给定一个算式。假设在某个精度下,计算机的输出为0. 从计算机的错误计算(二十一)中知,真实值也许不为0. 对此情形,给出一种解决方案:不停增加计算精度直到出现非0结果。

       那么问题来了:计算精度要到多少?只是不停增大吗?如果真的为0,那不是一直也计算不出来?那就停机不用计算了?计算还是不计算呢?停机还是不停机呢?这就是(不)停机问题

       比如,在计算机的错误计算(二十四)中,当有效位数从默认的10位,到13位,再到15位,计算机的输出均是0. 3次计算均为0,您还会增加精度进行计算吗?也许还会。然后第4次计算:增加到16位,可是结果仍然是0. 这时,怎么办?很大概率,您想,肯定是0了。我不计算了。这样就错了。只要再计算一次,就是非0结果了。

       人类的数值计算模式就是固定位数的计算模式(请参考计算机的错误计算(十二))。在计算前,总是假设一个位数,然后所有中间计算与最终结果均保留该位数位数字。对于结果为0的算式的计算,实在是一个挑战。你不知道该不该继续计算。若不停计算,而算式真的为0呢?若到某一个精度不计算了,也许算式真的不为0?不管哪种情形,您的决定均是错的。前者称为遇到不停机问题;后者称为停机问题。总之,不知该停机还是不停机。

       再看一个简单案例。已知

 a=123456+0.1^{2000}-123456,\\ b=123456-123456..

       首先,计算机既不知道它们的关系,也不会预先知道它们的正确结果。其次,若有效位数小于6+2000+1=2007位,则它们的输出相同:均为0. 

       假设要计算 a 的值。当有效位数取10,结果为0;提高计算精度,设有效位数为100,结果仍为0;再设有效位数为200,输出还是0;狠狠心,增大到1000,结果还为0. 到这时,你计算不?继续?再狠狠心,豁出去了,机器的风扇在呼呼地吹,内存几乎爆掉,提高到2000!运行24小时1分后,结果终于出现了:0. 请问,您是否崩溃了?还是舒了一口气?哦,就是0!!!定了,就是0.  不算了。这就是结果了。停机了。

       过了几天,看到另外一个软件(您能举个例子吗?),在上面试了试,哎呀,原来不是0(什么心情?).  以后遇到这种情形,我要不停地算,直到非0结果!

       又过了几天,遇到一个式子,是 b. 当有效位数取10,结果为0;提高计算精度,设有效位数为100,结果仍为0;再设有效位数为200,输出还为0;好吧,既然为0,我要吸取上次教训,不停地算,直到非0结果的出现。然后设置好循环迭代后,机器开启了不停计算模式:风扇在呼呼地吹,内存在不停地与硬盘交换数据,硬盘的可用空间在不停地缩小,终于到公元3000年,停机了!但是,结果还没出来。停机是因为硬盘没可用空间了。这就是不停机问题。

       停机还是不停机?什么时候停机?这是个艰难的决策。

       各位看官,您怎么想?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1908454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LLM - Transformer 的 多头自注意力(MHSA) 理解与源码

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/140281680 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 在 Transformer 中,多头自注意力机制 (MHSA, Multi-Head Self-Attenti…

关系型数据库MySQL和时序数据库的区别?

时序数据库和关系型数据库是两种不同类型的数据库系统,它们在设计理念、存储结构、性能优化等方面有显著差异,以适应不同的应用场景和需求。具体对比如下: 数据存储结构 时序数据库:使用列式存储,每条记录通常包含时间…

Johnson Counter

目录 描述 输入描述: 输出描述: 参考代码 描述 请用Verilog实现4位约翰逊计数器(扭环形计数器),计数器的循环状态如下。 电路的接口如下图所示。 输入描述: input clk , input …

力扣喜刷刷--day1

1.无重复字符的最长子串 知识点:滑动窗口 基本概念 窗口:窗口是一个连续的子序列,可以是固定长度或可变长度。滑动:窗口在数据序列上移动,可以是向左或向右。边界:窗口的起始和结束位置。 应用场景 字符…

YOLOv10改进 | Conv篇 | 利用DualConv二次创新C2f提出一种轻量化结构(轻量化创新)

一、本文介绍 本文给大家带来的改进机制是利用DualConv改进C2f提出一种轻量化的C2f,DualConv是一种创新的卷积网络结构,旨在构建轻量级的深度神经网络。它通过结合33和11的卷积核处理相同的输入特征映射通道,优化了信息处理和特征提取。Dual…

关于 off-by-one 的学习

pwn的功底还很浅,仅仅是记录自己学习的一点心得体会。 后续随着学习深入,还会补知识点和题目上来。 知识点 优秀的学习资料 关于off by null的学习总结 | ZIKH26 Chunk Extend and Overlapping | ctfwiki 一点理解 与off-by-one联系很紧密的就是上…

Fastapi在docekr中进行部署之后,uvicorn占用的CPU非常高

前一段接点小活,做点开发,顺便学了学FASTAPI框架,对比flask据说能好那么一些,至少并发什么的不用研究其他的asgi什么的,毕竟不是专业开发,能少研究一个东西就省了很多的事。 但是部署的过程中突然之间在do…

典型案例 | 基于全数字实时仿真的嵌入式DevOps解决方案

为丰富浙江省信息技术应用创新(以下简称“信创”)产业生态,在全社会各领域形成示范效应,浙江省经信厅联合省密码管理局开展2023年浙江省深化信创典型案例评选工作。 经过征集申报、专家评选、名单公示等程序,确定36个…

秒懂设计模式--学习笔记(6)【创建篇-建造者模式】

目录 5、建造者模式5.1 介绍5.2 建造步骤的重要性5.3 地产开发商的困惑5.4 建筑施工方5.5 工程总监5.6 项目实施5.7 建造者模式的各角色定义5.8 建造者模式 5、建造者模式 5.1 介绍 建造者模式(Builder)又称为生成器模式,主要用于对复杂对象…

20.呼吸灯:利用PWM控制小灯在相同时间段内的不同占空比

(1)设计一段代码,实现led灯在一秒内由完全熄灭到完全点亮,在第二秒由完全点亮转为完全熄灭,循环往复。 (2)Verilog代码: module breath_led(clk,reset_n,led);input clk;input res…

Open3D 计算点云的欧式距离

目录 一、概述 1.1欧式距离定义 1.2作用和用途 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2处理后点云 一、概述 在Open3D中,compute_point_cloud_distance函数用于计算两个点云之间的距离。具体来说,它计算的是源点云…

进程 VS 线程(javaEE篇)

🍁 个人主页:爱编程的Tom💫 本篇博文收录专栏:JavaEE初阶👉 目前其它专栏:c系列小游戏 c语言系列--万物的开始_ 等 🎉 欢迎 👍点赞✍评论⭐收藏💖三连支…

一.4 处理器读并解释储存在内存中的指令

此刻,hello.c源程序已经被编译系统翻译成了可执行目标文件hello,并被存放在硬盘上。要想在Unix系统上运行该可执行文件,我们将它的文件名输入到称为shell的应用程序中: linux>./hello hello, world linux> shell是一个命令…

YOLOv10改进 | 添加注意力机制篇 | 添加FocusedLinearAttention助力yolov10实现有效涨点(含二次创新PSA机制)

一、本文介绍 本文给大家带来的改进机制是Focused Linear Attention(聚焦线性注意力)是一种用于视觉Transformer模型的注意力机制(但是其也可以用在我们的YOLO系列当中从而提高检测精度),旨在提高效率和表现力。其解决了两个在传统线性注意力…

博美犬插画:成都亚恒丰创教育科技有限公司

​博美犬插画:萌动心灵的细腻笔触 在浩瀚的艺术海洋中,有一种艺术形式总能以它独有的温柔与细腻,触动人心最柔软的部分——那便是插画。而当插画遇上博美犬这一萌宠界的明星,便诞生了一幅幅令人爱不释手的作品,成都亚…

云计算【第一阶段(28)】DNS域名解析服务

一、DNS解析的定义与作用 1.1、DNS解析的定义 DNS解析(Domain Name System Resolution)是互联网服务中的一个核心环节,它负责将用户容易记住的域名转换成网络设备能够识别和使用的IP地址。一般来讲域名比 IP 地址更加的有含义、也更容易记住…

DNS隧道

dnscat2是一个DNS隧道工具,通过DNS协议创建加密的命令和控制通道,它的一大特色就是服务端会有一个命令行控制台,所有的指令都可以在该控制台内完成。包括:文件上传、下载、反弹Shell 目录 Dnscat2安装 解决bundle instal1特别慢问题 客户…

4.动态SQL(if,choose,where,set,trim,foreach遍历)的使用+$和#的区别

文章目录 动态sql一、动态sql1.if条件判断2、choose、when、otherwise3、where标签4、set标签5、trim标签1)替代where标签效果2) 生成set标签效果 6、foreach迭代遍历1)属性 7.SQL标签-提取重用的SQL代码片段8、bind标签9.MyBatis中${}和#{}的区别: 动态sql 一、动态sql 常见…

windows USB 设备驱动开发-USB 等时传输

客户端驱动程序可以生成 USB 请求块 (URB) 以在 USB 设备中向/从常时等量端点传输数据。虽然USB设备一向以非等时传输出名,USB提供的是一种串行数据,而非等时,但是USB仍然设计了等时传输的机制,但根据笔者的经验,等时传…

vue3项目,表单增删改

效果图 ArticleChannel.vue页面代码 <script setup> import {artGetChannelsService ,artDelChannelService} from /api/article.js import { Edit, Delete } from element-plus/icons-vue //调用open方法&#xff0c;ChannelEdit去修改组件内部类容 import ChannelEdit…