《全网首发》平衡三进制图灵机的构建

PS:以下内容均为本人原创,未经授权及许可,严禁引图、转载或加工,违者必究。

————2024年6月13号


1、图灵机的概述

图灵机(Turing machine)是一种理论计算模型,由英国数学家阿兰·图灵(Alan Turing)于1936年提出。它被用来研究计算过程的基本性质和计算理论的极限。图灵机被认为是现代计算机的理论基础。

1.1图灵机的组成部分:

  1. 无限长的纸带: 纸带被划分成一系列的方格,每个方格可以包含一个符号(例如0或1),纸带既可以向左也可以向右移动。
  2. 读写头: 读写头可以在纸带上移动,读取或写入符号。
  3. 状态寄存器: 状态寄存器存储着图灵机当前的状态。状态是有限的,可以是预定义的某一个状态集合中的一个。
  4. 状态转移函数: 这是一组规则,决定了图灵机在给定状态和读取到的符号时如何行动。规则包括:
    - 写入符号
     - 移动读写头(向左或向右)
    - 进入下一个状态

1.2图灵机的运行过程:

  1. 读写头读取纸带上的当前符号。
  2. 根据当前符号和当前状态,查找状态转移函数,决定接下来要执行的操作。
  3. 执行操作,更新纸带上的符号,移动读写头,更新状态寄存器中的状态。
  4. 重复上述步骤,直到达到某个停止状态(如果有的话)。

图灵机的主要意义在于它能够模拟任何计算过程,因此被称为通用图灵机(Universal Turing Machine)。任何可以被计算的问题,理论上都可以由图灵机来解决。这使得图灵机成为计算理论中的一个重要工具,用来定义和研究可计算性、算法的复杂性以及计算的极限。


2、平衡三进制图灵机的感想来源

        平时就喜欢逛blbl看看科普视频,是《苏联的三进制电脑》差评君写的,好像是几年前的视频了,那时就想那么厉害的东西没了真可惜,后面又看到很多人去辩论,呈现两边极化的现象,可见都没见过这东西,真不好评价。后面又详细的查了一下前苏联的资料,发现这东西是真的有趣,还发现很多人都想重新将这三进制计算捞回来。

        但是,三进制是它的优点也是它的缺点,自然界中太多都是两态的,如何做到三种稳定的状态是个问题,原生的三进制比二进制每1位多一状态,也就说信息密度更大,同时算的也多,理论上讲会快1.6倍左右,能实现所使用的零件也会更少,但前提是能实现,反正现在没人实现。


2.1平衡三进制的模拟

        因为硬件发展不起来,所以就不会有相应的系统与软件,就形成不了生态,简单来说,平衡三进制计算没戏,处非有研制硬件出来,而我又太想知道前苏联的三进制是怎样的,所以走了模拟一条路,虽然性能肯定不如原生的三进制计算机,但能先将它重现出来,后面如何优化,那就是后面的事了。

        道家说“道生一,一生二,二生三,三生万物”,儒家有“三人为众”及“三人行必有我师”,可见“三” 在我国传统文化中有着崇高的地位,现在就是二生三,用二进制来模拟三进制,如果能跑起来就会有优化的空间,从而不断的叠代,就像一个观点,人工智能不管你用的是什么进制,它的关键是你用的是什么样的算法。


2.2平衡三进制的二进制转述

        先看这有关三进制计算实现的一些猜想!,现在就是这样子弄;对于理论满分但从未实操过人来说,想在二进制的硬件上尽可能的高效的模拟平衡三进制,这就目前的最优法;虽然说弄出来的机器可能比原来的二进制效率还低,但是它能跑呀,如果硬件发展起来,那就可以替换,直接完成一波反超。

        二进制的1位,称为bit,可以表示0或1,然后8个bit表示1个字节(byte);相应的平衡三进制也这样的设定,1位三进制位,称为trit,可以表示T(-1)、0、1,然后6个trit表示1个三进制字节tryte;要用二进制的数,模拟平衡三进制的1位三进制位,至少要用2bit,所以在本文中:2bit=1trit;这种方法是可以跑来的,我已经用这种方式在图灵游戏中成功构建出平衡三进制全加法器,就是下图这样子的:

2.3平衡三进制的二进制编码

        使用的二进制编码为:T(00)、0(01或10)、11(11),这种方式的编码是我试了很多方案得到的最优解,这样的编码方式能极大的简化硬件的设计,对于0它为什么会有两个编码,最开始是不知道用那个好,图省事就放一起了,后面发现这两个放一起确实很好用,所以就固定一起了,平衡三进制最重要的一点就是对称,这就很平衡三进制了。

        也可以用非位置化系统来解释,00得为0、01或10得为1、11得为2,刚好是0、1、2是标准三进制的表示,转成平衡三进制就是T、0、1,再看看这文章:有趣的平衡三进制!!!,看平衡三进制的逻辑门部分,用什么样的编码方式能最简化表示,很多次尝试下来,就是上面的编码方式,先看下图:

举个逻辑与为例子:

  1. 当T(00)与T(00)时,两个二进制的AND门,得到结果为T(00)
  2. 当T(00)与0(01)时,两个二进制的AND门,得到结果为T(00)
  3. 当T(00)与1(11)时,两个二进制的AND门,得到结果为T(00)
  4. 当0(01)与T(00)时,两个二进制的AND门,得到结果为T(00)
  5. 当0(01)与0(01)时,两个二进制的AND门,得到结果为0(01)
  6. 当0(01)与1(11)时,两个二进制的AND门,得到结果为0(01)
  7. 当1(11)与T(00)时,两个二进制的AND门,得到结果为T(00)
  8. 当1(11)与0(01)时,两个二进制的AND门,得到结果为0(01)
  9. 当1(11)与1(11)时,两个二进制的AND门,得到结果为1(11)

        基本上没有问题了,但注意了0有两个编码,第五条,当0同时为01或10时,得到结果正确,但一个是01另一个是10,得到结果就是T(00)了,所以这种情况要单独处理,只要处理了0与0的情况,只一个或输出01或10即可,这样就得到了一个平衡三进制的与门了。

        同样的用两个或门、两个或非门、两个与非门,同样可以得到剩下的三个表,非门也很简单就是每一位取反,T(00)取反得1(11)、1(11)取反得T(00)、0(01)取反得0(10),看0它有两个编码的好处就体现出来了,量子计算机有叠加态,那三进制计算的0有两个编码(状态)也是正常的,就像它的布尔值:FALSE(T)、UNKNOWN(0)、TRUE(1),T表示假,0表示“二者”,1表示真。


3、平衡三进制基础门的构建

        先看上图,这个定律在二进制是管用的,也就是可以取反输入或输出就转换门的类型,然后我用上述二进制构建出来的平衡三进制门,也是管用的这没有想到吧,这是用二进制模拟的三进制,低层仍是二进制,但逻辑是平衡三进制,所以说原生的平衡三进制也是管用的,这个定律在平衡三进制上得到了扩展。


3.1平衡三进制逻辑与门

平衡三进制与门(TAND)

        如上图所示,用上面的编码方式,只用了两个二进制的与门就完成电路的大部分逻辑的构建,其中的两个XOR与AND,是为了检测双0的输入情况,如果是双0输入则默认输出01,其它输出两个二进制的与门的结果。


3.1平衡三进制逻辑或门

平衡三进制或门(TOR)

        如上图所示,电路并没有大的改变,只是将两个二进制的与门,换成了两个二进制的或门,就是那么简单,得到了平衡三进制的的或门(TOR),剩下的TNOR(或非)、TNAND(与非)、TXOR(异或)、TXNOR(同或)同理可得。


3.3平衡三进制与非门、或非门

平衡三进制与非门(TNAND)
平衡三进制或非门(TNOR)

3.4平衡三进制异或门、同或门

平衡三进制异或门(TXOR)
平衡三进制同或门(TXNOR)

3.5平衡三进制摩根定律的应用

        元件工坊构建出的平衡三进制础门,它们的真值表是对称的,这四个基础逻辑门分别是:TOR、TNOR、TNAND、TAND,你可以通过如下图所示的对输入取反(垂直箭头)对输出取反(水平箭头)来转换它们。

        先看它的取反,也就是T变1、1变T、0不变,用上述的编码方案,只要分别对每一位取反,即可得平衡三进制的非门,如下图所示:

平衡三进制非门(TNOT)

        也就是说,当它为TOR组件时,想变为TNAND组件,分别对它的两个输入,用TNOT组件取反,就得到了TNAND级件,如果对输出结果再取反,就变成了TAND组件,从或门变成了非门;同样的TXOR,对输出结果取反,就得到了TXNOR组件。


4、平衡三进制基础门构建2

4.1平衡三进制三与门

平衡三进制三与门真值表
平衡三进制三与门(T3AND)

        如上图所示,这个部件是将三个trit进行与操作;二进制的与门(两个才是真,一假则全假),平衡三进制的与门可以看上面的真值表,它也是类似,TAND它是如果一个输入为T则出T,两个输入为1则出1,其余都出0;然后先用两个平衡三进制与门得到结果,再用这个结果与第三个与门就可以得出结果;所以上述的部件分别判断了是否输入中有T、是否输入全为1、及其余情况的0,这样就可以得到平衡三进制的三与门了。


4.2平衡三进制三或门

平衡三进制三或门真值表
平衡三进制三或门(T3OR)

        如上图所示,这个部件是将三个trit进行或操作;与上面的方法类似,结合真值表,其中任意一个输入为1则出1,若三个输入都为T则出T,其它出0,这样就可以得到平衡三进制的三或门了。


4.3平衡三进制三态复用器

       全称三态多路复用器,当我们要用解码或加法器时,就要用到它,也就是三选一,这里有T(00)、0(01或10)、1(11),在平衡三进制全加器中有详细讲到,按照这思路就可以三选1的电路,那一亮就是那一路的数据,如下图所示:

三选1基础件1
三选1基础件2

        可以看上面的两个图,都是三选1基础件,这个基础件的作用就是:输入00第一路亮绿灯,其它路红灯;输入01或10第二路亮绿灯,其它路红灯;输入11第三路亮绿灯,其它路红灯;这样再加上六个通路切换嚣,就可以构建出一个三态多路复用器,可以作为加法器的基础了,如下图所示:

三态多路复用器(3MUX1)

        这样就有三选1数据选择器了,看过平衡三进制加法器文章的,这个就是三态多路复用器;当输入T/0/1时,数据从第1/2/3路输出,因为2位bit代表1trit,所以它有10个引脚;有了这组件,平衡三进制的全加器也可以弄出来了,二进制的加法器方案放这里不管用,所以要上述的的平衡三进制加法器文章中的加法器。


4.4平衡三进制左偏门、右偏门

        这里的左偏与右偏门在全加器有用到,所以现在弄成一个基础件,它可以转换输入,从而简化输入,例如右偏:当输入T时,输出0;当输入0时,输出1;当输入1时,输出T;下面就是它的输入与输出真值表。

左右偏门真值表
平衡三进制左偏门
平衡三进制右偏门

        如上图所示,平衡三进制左右偏门都用到了前面的三选1基础件1,当然也可以用三选1基础件2,效果一样,这样确实是零件多了,但是确实也是简化了输入。


4.5平衡三进制最小门、最大门

        如上图所示,在平衡三进制全加器中,还用到了最大门与最小门,它的构建可以用类似于左偏门和右偏门的方法,这样也就形成了Max(A,0)与Min(A,0),如下图所示:

平衡三进制Max(A,0)门
平衡三进制Min(A,0)门

        说完了Max(A,0)与Min(A,0),其实平衡三进制与门和或或门,最可以当做逻辑最大门及逻辑最小门,它其实是从不同角度来解释的,思路与下面的截图来自于文章三生万物,请看下图:

        在这我们要明确一点,逻辑是逻辑,数值是数值,明白这一点很重要; 当从逻辑上去想,那么T表示假,0表示两都,1表示真,那么得到的就是平衡进制的与门及或或门; 当从数值上去想,那么T表示-1,0表示0,1表示1,那么得到的就是平衡进制的最小门及或或门,也就是与门成为了Min(A,B)及或门成为了Max(A,B),也就是说这两个门可以比较大小,输出最大或最小值,同样也可以用来构建Max(A,0)与Min(A,0),如下图所示:

平衡三进制Min(A,0)与Max(A,0)门

        这样最后得到的设计,就非常简便了,而且用这个Min(A,B)门及Max(A,B)门,也就是与门及或门,可以制作一个对比数字大小的电路,对比两个数的大小有:0与0、正数与负数、0与负数、0与正数、正数与正数、负数与负数,总共6种情况,从最高位左起第一位若非 0 值,就可判断它的正负性,是 T 即为负数,是 1 即为正数。

        这样就可以解决:0与0、正数与负数、0与负数、0与正数,这些情况的判断了,剩下的双正与双负的判断,可以先在前面补0让两个数对齐,然后从最高位开始,依次对比每一位大小,相同时跳过进行下一位,只要路径中有一位大于另一位则出结果,不然全部对比完都相同,则两都数都是相同的。


5、平衡三进制加法器

        在前面平衡三进制全加器,我们已经给出它的真值表及设计图,现在就可以实现它了,它需要左偏门(A-1)、右偏门(A+1)、最大门Min(A,0)、最小门Max(A,0)门、三态复用器3Mux1,按照下面的思路就可以弄出来了。

加法器设计图

5.1平衡三进制半加器

平衡三进制半加器的真值表

        如上图所示,半加器的真值表,它的电路分为加和位与进位位,其实它的输入用了左偏与右偏及Max(A,0)与Min(A,0),这样是简化了设计思路,但加了零件成本,后期可以单独增加两条线路,专门用于不同的输入,可以得到下面两张图:

半加器加法位
半加器进位位

5.2平衡三进制全加器

全加器27种结果的真值表

只要其中一张就可以表示所有的输出结果了,这样将它的加法位与进位位分开,就得了它的输入逻辑了,如下图所示:

全加器真值表简化版

这样就可以完成设计了,也就是下图所示:

        如上图所示,有6个输入,最上面的2个输入代表进位位,后面的4个输入代表,可以输入两个平衡三进制数;有4个输出,上面是加和位,下面是进位位,跟二进制的加法器很想,但只是每一位trit都要2bit来表示,经过测试这个电路完全符合预期的标准,对加位的电路做了优化,也就是将输出的结果进行了左偏与右偏,再用第三位做选择,就可以少用一些电路,但对于进位位,它不能这样做,因为它偏置操作也得不到想要的数据,所以用偏置后错误的数据,再用第三位选择也得不到正确的结果。


5.3平衡三进制多位加法器

        为什么是4位加法器,在二进制中1byte=8bit,在这里用2bit代表1trit,所以只能1byte=4trit,和前苏联的三进制计算机相比,还少了2trit,标准的是6个trit=1个三进制字节tryte;如果想达到标准的6个trit,那需要12bit才行,图灵完备只有8bit,所以只能弄4trit的平衡三进制加法器了;二进制的8位全加器串联可计算255以内的加法,也就是2个byte输入及1个进位输入,输出是1个byte输出及1个进位输出,所以设计也要类似就行,如下图所示:

        这就是类似于二进制的平衡三进制加法器了,它可以计算(-81到81)以内的加减法,是的,加减法,这个就是它的优点,加法器与减法器都是它,现在就可以试试它的计算功能了,如下图所示:

        看完了上面,是否感觉,算的太少了,那就再串联一次,这样就得到了8trit的平衡三进制加法器了,下面的8trit加法可以算(-6561~6561)内的加减法,如果还不够可以继续串联,如下图所示的方法:


累了,更不动了,后面有空再更吧。。。

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

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

相关文章

vue-饼形图-详细

显示效果 代码 <template> <div style"height: 350px;"> <div :class"className" :style"{height:height,width:width}"></div> </div> </template> <script> import * as echarts from echarts; req…

fiddler打开后,requests无法使用

Fiddler实用小技巧 错误情况 打开fiddler后&#xff0c;requests无法请求 requests.exceptions.ProxyError: HTTPSConnectionPool(hosth5api.m.taobao.com, port443): 说明 其实这是一个很小的坑&#xff0c;确也是一个很常见的坑。 在打开fiddler后&#xff0c;根据fiddle…

LaTeX 学习 第1节 数学模型概说

----用教授的方式学习 https://download.csdn.net/download/weixin_38135241/89416392 LaTex 安装包 LaTeX 有多种工作模式&#xff1a;输入一行文字时我们在水平模式&#xff0c;在水平模式上&#xff0c;文字、符号等各种排版元素&#xff0c;也就是各种盒子&#xff0c;都…

厂里资讯之自媒体文章自动审核

自媒体文章-自动审核 1)自媒体文章自动审核流程 1 自媒体端发布文章后&#xff0c;开始审核文章 2 审核的主要是审核文章的内容&#xff08;文本内容和图片&#xff09; 3 借助第三方提供的接口审核文本 4 借助第三方提供的接口审核图片&#xff0c;由于图片存储到minIO中&…

DeepDriving | 经典的目标检测算法:CenterNet

本文来源公众号“DeepDriving”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;经典的目标检测算法&#xff1a;CenterNet 1 前言 CenterNet是2019年发表的一篇文章《Objects as Points》中提出的一个经典的目标检测算法&#xf…

VBA_NZ系列工具NZ08:图表添加标签工具

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

micro SD控制——zynq(未完)

文章目录 一、SD基础知识二、SD卡控制器三、文件系统&#xff08;FATFS&#xff09;四、 SD卡控制任务&#xff1a;4.1 txt文本任务&#xff1a;4.1.1 硬件部分&#xff1a;4.1.2 软件部分&#xff1a;1.板级支持包中加入FATFS文件系统2.C设计 一、SD基础知识 1.SD卡的类型、协…

跟着刘二大人学pytorch(第---12---节课之RNN基础篇)

文章目录 0 前言0.1 课程视频链接&#xff1a;0.2 课件下载地址&#xff1a; 1 Basic RNN1.1 复习DNN和CNN1.2 直观认识RNN1.3 RNN Cell的内部计算方式 2 具体什么是一个RNN&#xff1f;3 使用pytorch构造一个RNN3.1 手动构造一个RNN Cell来实现RNN3.2 直接使用torch中现有的RN…

Java项目之消息队列(手写java模拟实现mq)【七、⽹络通信协议设计、消息队列服务器端实现、客户端实现】✔ ★

⼗⼀. ⽹络通信协议设计 定义 Request / Response /** 表示一个网络通信中的请求对象. 按照自定义协议的格式来展开的*/ public class Request {private int type;private int length;private byte[] payload;public int getType() {return type;}public void setType(int typ…

简单谈谈云服务器私网IP的存在意义及优势

云服务器是基于虚拟化技术的计算资源&#xff0c;可以在云平台上灵活创建和管理。为了满足不同用户的需求&#xff0c;云服务提供商在云服务器上分配了两种类型的IP地址&#xff1a;公网IP和私网IP。其中&#xff0c;私网IP是指在局域网内使用的内部IP地址&#xff0c;无法通过…

机器学习(V)--无监督学习(二)主成分分析

当数据的维度很高时&#xff0c;很多机器学习问题变得相当困难&#xff0c;这种现象被称为维度灾难&#xff08;curse of dimensionality&#xff09;。 在很多实际的问题中&#xff0c;虽然训练数据是高维的&#xff0c;但是与学习任务相关也许仅仅是其中的一个低维子空间&am…

环形链表2证明

解法 快慢指针相遇后&#xff0c;其中一个指回头部&#xff0c;然后同步前进 代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:ListNod…

【gitcode】idea 在本地拉取和push本地代码到gitcode仓库

【首次使用】 1、idea 拉取代码&#xff0c;很容易这里就不记录了。 2、push代码时&#xff0c;总是弹窗登录输入在gitcode.com登录能成功。但是在idea 怎么都不成功。控制台提示 remote: HTTP Basic: Access denied fatal: Authentication failed for ******* 认证失败 3…

3D ToF赋能小米CyberDog 2提升视觉灵敏度

随着科技的进步,智能机器人越来越多地融入我们的日常生活。其中,CyberDog 2作为一款前沿的四足机器人,凭借其出色的视觉灵敏度和多功能技术配备,受到了广泛的关注。本文将重点探讨CyberDog 2的视觉系统,尤其是其四种不同类型的摄像头如何共同提升其视觉灵敏度,以及激光传…

uniapp实现路由拦截——遇到问题(三)

uniapp路由拦截开发过程中遇到问题 文章目录 uniapp路由拦截开发过程中遇到问题App 无法退出应用监听返回数据结构解决方式模拟原生物理返回键提示不提示&#xff0c;直接退出应用 微信小程序 登录成功返回页面报错效果图不同平台来源页面数据结构解决方式 App 无法退出应用 安…

HP惠普暗影精灵10 OMEN Gaming Laptop 16-wf1xxx原厂Win11系统镜像下载

惠普hp暗影精灵10笔记本电脑16-wf1000TX原装出厂Windows11&#xff0c;恢复开箱状态oem预装系统安装包&#xff0c;带恢复重置还原 适用型号:16-wf1xxx 16-wf1000TX,16-wf1023TX,16-wf1024TX,16-wf1025TX, 16-wf1026TX,16-wf1027TX,16-wf1028TX,16-wf1029TX, 16-wf1030TX,16-…

Autosar诊断-FIM模块功能介绍

文章目录 前言一、FIM模块概述二、FID概念介绍Event ID和DTC之间的关系Event ID与FID之间的关系FIM数据结构三、FiM模块与SW-C模块交互关系四、FIM模块函数调用关系FiM功能模块作用过程前言 Autosar诊断的主体为UDS(Unified Diagnostic Services)协议,即统一的诊断服务,是…

python实战根据excel的文件名称这一列的内容,找到电脑D盘的下所对应的文件位置,要求用程序实现

今天客户需要 根据excel的文件名称这一列的内容&#xff0c;找到电脑D盘的下所对应的文件位置&#xff0c;要求用程序实现 数据样例&#xff1a;记录.xlsx 解决代码&#xff1a; 1、安装必要的库&#xff1a; pip install pandas openpyxl2、编写Python脚本&#xff1a; im…

Modbus为何要转成ProfiNET

Modbus与ProfiNET代表了工业通讯不同阶段的发展&#xff0c;各自具有优缺点。Modbus简单易用&#xff0c;适合小型系统&#xff1b;ProfiNET高效稳定&#xff0c;适用于大型复杂网络。转换Modbus为ProfiNET可提高系统性能和扩展性。实际场景下&#xff0c;升级生产线控制器为Pr…

分享一个 .NET Core 使用选项方式读取配置内容的详细例子

前言 在 .NET Core 中&#xff0c;可以使用选项模式&#xff08;Options Pattern&#xff09;来读取和管理应用程序的配置内容。 选项模式通过创建一个 POCO&#xff08;Plain Old CLR Object&#xff09;来表示配置选项&#xff0c;并将其注册到依赖注入容器中&#xff0c;方…