xnor真值表
文章推薦指數: 80 %
csdn已为您找到关于xnor真值表相关内容,包含xnor真值表相关文档代码介绍、相关教程视频课程,以及相关xnor真值表问答内容。
为您解决当下相关问题,如果想了解更 ...
精华内容
下载资源
问答
我要提问
xnor真值表
千次阅读
2020-08-1819:36:42
逻辑符号xor
Wealllovecomputers.Theycandosomanyamazingthings.Withinacoupleofdecadescomputershavecompletelyrevolutionizedalmostalltheaspectsofhumanlife.
我们都喜欢计算机。
他们可以做很多令人惊奇的事情。
在几十年的时间里,计算机彻底改变了人类生活的几乎所有方面。
Theycandotasksofvaryingdegreesofsophistication,allbyjustflippingzerosandones.Itisremarkabletoseehowsuchasimpleactioncanleadtosomuchcomplexity.
他们可以通过翻转零和一来完成各种复杂程度的任务。
令人惊讶的是,看到这样一个简单的动作如何导致如此多的复杂性。
ButI'msureyouallknowthatsuchcomplexitycannotbeachieved(practically)byjustrandomlyflippingthenumbers.Thereisindeedsomereasoningbehindit.Therearerulesthatgovernthewaythisshouldbedone.Inthisarticlewewilldiscussthoserulesandwewillseehowtheygovernthewaycomputers"think".
但是我敢肯定,大家都知道,仅通过随机翻转数字是无法(实际上)实现这种复杂性的。
确实有其背后的原因。
有一些规则控制该操作的方式。
在本文中,我们将讨论这些规则,并了解它们如何控制计算机的“思考”方式。
什么是布尔代数?(WhatisBooleanAlgebra?)
TherulesImentionedabovearedescribedbyafieldofMathematicscalledBooleanAlgebra.
我上面提到的规则由称为布尔代数的数学领域描述。
Inhis1854book,BritishMathematicianGeorgeBooleproposedasystematicsetofrulesformanipulationofTruthValues.Theserulesgaveamathematicalfoundationfordealingwithlogicalpropositions.ThesesetsoffoundationsledtothedevelopmentofBooleanAlgebra.
英国数学家乔治·布尔(GeorgeBoole)在其1854年的著作中提出了一套系统的规则,以操纵真值。
这些规则为处理逻辑命题提供了数学基础。
这些基础导致了布尔代数的发展。
TobestunderstandBooleanAlgebra,wefirsthavetounderstandthesimilaritiesanddifferencesbetweenBooleanAlgebraandotherformsofAlgebra.
为了最好地理解布尔代数,我们首先必须了解布尔代数和其他形式的代数之间的异同。
Algebra,ingeneral,dealswiththestudyofmathematicalsymbolsandtheoperationsthatcanbeperformedonthesesymbols.
一般来说,代数研究数学符号以及可以在这些符号上执行的运算。
Thesesymbolsdonothaveameaningoftheirown.Theyrepresentsomeotherquantity.Itisthisquantitythatgivessomevaluetothesesymbolsanditisthisquantityonwhichtheoperationsareactuallybeingperformed.
这些符号没有自己的含义。
它们代表其他数量。
正是这些数量为这些符号赋予了一些价值,并且正是该数量实际执行了操作。
BooleanAlgebraalsodealswithsymbolsandtherulesthatgoverntheoperationsonthesesymbolsbutthedifferenceliesinwhatthesesymbolsrepresent.
布尔代数还处理符号和控制这些符号上的运算的规则,但区别在于这些符号表示的内容。
IncaseofordinaryAlgebra,thesymbolsrepresenttheRealnumberswhereasinBooleanAlgebratheyrepresenttheTruthvalues.
对于普通代数,符号表示实数,而在布尔代数中,符号表示真值。
TheimagebelowshowstheentiresetofRealnumbers.ThesetofRealnumbersincludesNaturalnumbers(1,2,3,4....),Wholenumbers(alltheNaturalnumbersand0),Integers(.....-2,-1,0,1,2,3...)andsoon.OrdinaryAlgebradealswiththisentiresetofnumbers.
下图显示了整个实数集。
实数集包括自然数(1、2、3、4...),整数(所有自然数和0),整数(.....-2,-1、0、12、3...)等。
普通代数处理这整套数字。
TheTruthvalues,incomparison,consistofasetofonlytwovalues:FalseandTrue.Here,Iwouldliketopointoutthefactthatwecanuseanyothersymboltorepresentthesevalues.
相比之下,“真值”值仅由一组两个值组成:“假”和“真”。
在这里,我想指出一个事实,我们可以使用任何其他符号来表示这些值。
ForexampleinComputerSciencewemostlyrepresentthesevaluesusing0and1.0isusedforFalseand1forTrue.
例如,在计算机科学中,我们通常使用0和1表示这些值。
0表示False,1表示True。
YoucanalsodoitinmorefancywaysbyrepresentingtruthvalueswithsomeothersymbolssuchasCatsandDogsorBananasandOranges.
您还可以通过用其他一些符号(如猫和狗或香蕉和橘子)表示真值,以更花哨的方式做到这一点。
Thepointhereisthattheinternalmeaningofthesesymbolswillremainthesameirrespectiveofthesymbolyouuse.Butmakesurethatyoudon'tchangethesymbolswhileperformingtheoperations.
这里的要点是,无论您使用什么符号,这些符号的内部含义都将保持不变。
但是请确保在执行操作时不要更改符号。
Nowthequestionisthatif(TrueandFalse),(0and1)arejusttherepresentations,thenwhatisitthattheyaretryingtorepresent?
现在的问题是,如果(True和False),(0和1)仅是表示形式,那么它们试图表示什么?
TheunderlyingmeaningbehindtruthvaluescomesfromfieldofLogicwheretruthvaluesareusedtotellifapropositionis"True"or"False".Herethetruthvaluesrepresenttherelationofapropositiontotruth,thatis,whether thepropositionistrueorfalse.
真值背后的潜在含义来自逻辑领域,其中,真值用于判断命题是“真”还是“假”。
在这里,真值表示命题与真理的关系,即命题是对还是错。
Apropositionisjustastatementlike"Allcatsarecute."
命题只是“所有的猫都很可爱”这样的说法。
Iftheabovepropositionistruethenweassignitthetruthvalueof"True"or"1"otherwiseweassignit"False"or"0".
如果上述命题为真,则将其真值指定为“True”或“1”,否则将其赋值为“False”或“0”。
InDigitalElectronics,truthvaluesareusedtorepresentthe"On"and"Off"statesofelectroniccircuits.Wewilldiscussmoreaboutthatlaterinthisarticle.
在数字电子产品中,真值用于表示电子电路的“开”和“关”状态。
我们将在本文后面详细讨论。
布尔运算和真值表(BooleanOperationsandTruthTables)
JustlikeOrdinaryAlgebra,BooleanAlgebraalsohasoperationswhichcanbeappliedonthevaluestogetsomeresults.Althoughtheseoperationsarenotsimilartoonesinordinaryalgebrabecause,aswediscussedearlier,BooleanalgebraworksonTruthvaluesratherthanRealNumbers.
与普通代数一样,布尔代数也具有可应用于这些值的运算,以得到一些结果。
尽管这些运算与普通代数中的运算不同,这是因为如前所述,布尔代数适用于真值而不是实数。
布尔代数具有三个基本运算。
(BooleanAlgebrahasthreebasicoperations.)
OR:AlsoknownasDisjunction.ThisoperationisperformedontwoBooleanvariables.TheoutputoftheORoperationwillbe0whenbothoftheoperandsare0,otherwiseitwillbe1.
或:也称为析取。
此操作在两个布尔变量上执行。
当两个操作数都为0时,OR运算的输出将为0,否则为1。
TogetaclearerpictureofwhatthisoperationdoeswecanvisualizeitwiththehelpofaTruthTablebelow.
为了更清楚地了解此操作的内容,我们可以在下面的真值表的帮助下将其可视化。
TruthtablesgiveusaninsightfulrepresentationofwhattheBooleanoperationsdoandtheyalsoactasahandytoolforperformingBooleanoperations.
OROperation
Variable-1 Variable-2 Output
0 0 0
0 1 1
1 0 1
1 1 1
AND:AlsoknownasConjunction.ThisoperationisperformedontwoBooleanvariables.TheoutputofANDoperationswillbe1whenbothoperandsare1,otherwiseitwillbe0.Thetruthtablerepresentationisasfollows.
AND:也称为Conjunction。
此操作在两个布尔变量上执行。
当两个操作数均为1时,AND运算的输出将为1,否则将为0。
真值表表示如下。
ANDOperation
Variable-1 Variable-2 Output
0 0 0
0 1 0
1 0 0
1 1 1
NOT:AlsoknownasNegation.Thisoperationisperformedonlyononevariable.Ifthevalueofthevariableis1thenthisoperationsimplyconvertsitinto0andifthevalueofthevariableis0,thenitconvertsitinto1.
不:也称为否定。
仅对一个变量执行此操作。
如果变量的值为1,则此操作将其简单地转换为0,如果变量的值为0,则将其转换为1。
NotOperation
Variable-1 Output
0 1
1 0
布尔代数和数字电路(BooleanAlgebraandDigitalCircuits)
Afteritsinitialdevelopment,BooleanAlgebra,foraverylongtime,remainedoneofthoseconceptsinMathematicswhichdidnothaveanysignificantpracticalapplications.
在最初的发展之后,布尔代数在很长的一段时间内一直是数学中没有任何实际应用的概念之一。
Inthe1930s,ClaudeShannon,anAmericanMathematician,realisedthatBooleanAlgebracouldbeusedincircuitswherethebinaryvariablescouldrepresentthe"low"and"high"voltagesignalsor"on"and"off"states.
在1930年代,美国数学家克劳德·香农(ClaudeShannon)意识到布尔代数可以用在二进制变量可以表示“低”和“高”电压信号或“开”和“关”状态的电路中。
ThissimpleideaofmakingcircuitswiththehelpofBooleanAlgebraledtothedevelopmentofDigitalElectronicswhichcontributedheavilyinthedevelopmentofcircuitsforcomputers.
这种借助布尔代数来制作电路的简单想法促成了数字电子学的发展,它为计算机电路的开发做出了巨大贡献。
DigitalCircuitsimplementBooleanAlgebrawiththehelpofLogicGates.LogicGatesarethecircuitswhichrepresentabooleanoperation.ForexampleanORgatewillrepresentanORoperation.ThesamegoesforNOTandANDgatesaswell.
数字电路在逻辑门的帮助下实现布尔代数。
逻辑门是代表布尔运算的电路。
例如,“或”门将表示“或”运算。
NOT和AND门也是如此。
Alongsidethebasiclogicgateswealsohavelogicgatesthatcanbecreatedusingthecombinationofthebasiclogicgates.
除了基本逻辑门外,我们还可以使用基本逻辑门的组合来创建逻辑门。
NAND:NANDgateisformedbyacombinationoftheNOTandANDgates.NANDgategivesanoutputof0ifbothinputsare1,otherwise1.
NAND:NAND门由NOT和AND门的组合形成。
如果两个输入均为1,则NAND门的输出为0,否则为1。
NANDgateholdsthepropertyofFunctionalCompleteness,whichmeansthatanybooleanfunctioncanbeimplementedjustbyusingacombinationofNANDgatesonly.
NAND门具有功能完整性的特性,这意味着仅使用NAND门的组合就可以实现任何布尔函数。
NANDGate
Variable-1 Variable-2 Output
0 0 1
0 1 1
1 0 1
1 1 0
NOR:NORgateisformedbyacombinationofNOTandORgates.NORgategivesanoutputof1ifbothinputsare0,otherwise0.
NOR:NOR门由NOT和OR门的组合形成。
如果两个输入均为0,则NOR门的输出为1,否则为0。
NORgate,justlikeNANDgate,holdsthepropertyofFunctionalCompleteness,whichmeansthatanybooleanfunctioncanbeimplementedjustbyusingacombinationofNORgatesonly.
NOR门与NAND门一样,具有功能完整性的特性,这意味着仅通过使用NOR门的组合就可以实现任何布尔函数。
NORGate
Variable-1 Variable-2 Output
0 0 1
0 1 0
1 0 0
1 1 0
MostdigitalcircuitsarebuiltusingNANDorNORgatesbecauseoftheirfunctionalcompletenesspropertyandalsobecausetheyareeasytofabricate.
大多数数字电路由于其功能完整性特性以及易于制造而使用NAND或NOR门构建。
Otherthantheabovementionedgateswealsohavesomespecialkindofgateswhichservesomespecificpurpose.Theseareasfollows:
除了上述门之外,我们还具有一些特殊的门,可用于某些特定目的。
这些如下:
XOR:XORgateorExclusive-ORgateisaspecialtypeoflogicgatewhichgives0asoutputifbothoftheinputsareeither0or1,otherwiseitgives1.
XOR:XOR门或异或门是一种特殊的逻辑门,如果两个输入均为0或1,则输出为0,否则为1。
XORGate
Variable-1 Variable-2 Output
0 0 0
0 1 1
1 0 1
1 1 0
XNOR:XNORgateorExclusive-NORgateisaspecialtypeoflogicgatewhichgives1asoutputwhenboththeinputsareeither0or1,otherwiseitgives0.
XNOR:XNOR门或Exclusive-NOR门是一种特殊的逻辑门,当两个输入均为0或1时输出为1,否则为0。
XNORGate
Variable-1 Variable-2 Output
0 0 1
0 1 0
1 0 0
1 1 1
结论(Conclusion)
So,withallthatwecannowconcludeourdiscussiononBooleanAlgebrahere.IhopebynowyouhaveadecentpictureofwhatBooleanAlgebraisallabout.
因此,我们现在可以在这里结束对布尔代数的讨论。
我希望到目前为止,您对布尔代数的含义有一个了解。
ThisisdefinitelynotallyouneedtoknowaboutBooleanAlgebra.BooleanAlgebrahasalotofconceptsanddetailsthatwewerenotabletodiscussinthisarticle.
对于布尔代数,这绝对不是您需要知道的全部。
布尔代数具有许多我们在本文中无法讨论的概念和细节。
翻译自:https://www.freecodecamp.org/news/boolean-algebra/
逻辑符号xor
更多相关内容
存算一体文献阅读笔记二:XNOR-RRAMarchitectureforBNNfromShimengYuinASU2017
2022-03-1510:13:50
目录参考文献Background:BNN与XNORoperation前向传播反向传播XNOR小结RRAMCircuitdesignPeripheralcircuitSAmux&decoder参考文献[Sun,X.,Yin,S.,Peng,X.,Liu,R.,Seo,J.S.,&Yu,S.(2018...
目录
参考文献Background:BNN与XNORoperation前向传播反向传播XNOR小结
RRAMCircuitdesignPeripheralcircuitSAmux&decoder
参考文献
[Sun,X.,Yin,S.,Peng,X.,Liu,R.,Seo,J.S.,&Yu,S.(2018).XNOR-RRAM:Ascalableandparallelresistivesynapticarchitectureforbinaryneuralnetworks.Proceedingsofthe2018Design,AutomationandTestinEuropeConferenceandExhibition,DATE2018,2018-Janua,1423–1428.https://doi.org/10.23919/DATE.2018.8342235]《BinarizedNeuralNetworks:TrainingNeuralNetworkswithWeightsandActivationsConstrainedto+1or−1》【深度学习——BNN】:二值神经网络BNN——学习与总结深度学习【6】二值网络(BinarizedNeuralNetworks)学习与理解读书笔记一:RRAM(ReRAM)
Background:BNN与XNORoperation
BNNbinarizedneuralnetwork,是在CNN的基础上,对权值和激活值(特征值)做二值化处理,即取值是+1或-1。
跟CNN结构是相似的。
梯度下降,权值更新,卷积运算都还是在,各有优化。
xb=sign(x)ifx>=0xb=+1elsexb=-1
前向传播
二值网络训练时的权值参数W,必须包含实数型的参数。
将实数型权值参数二值化得到二值型权值参数。
然后利用二值化后的参数计算得到实数型的中间向量,该向量再通过BatchNormalization操作,得到实数型的隐藏层激活向量。
如果不是输出层的话,就再将该向量二值化。
反向传播
由于Sign(x)函数的梯度,几乎处处为0,这显然不利于反向传播。
于是采用HTanh(x)代替Sign(x)。
此处略。
左图表示HTanh(x)函数,右图表示HTanh(x)梯度。
XNOR
二值网络中最重要的乘法优化,是前向传播中隐藏层的输出乘以权值W的乘法优化,也就是卷积操作的优化。
对于二值网络的卷积运算,只是+1与-1之间的乘累加运算。
根据+1与-1的乘法运算真值表的特点,Bengio提出了“XNOR”代替“乘法”的优化方式。
可以说是绝了。
输入层数据是8位二进制,而激活向量和权值矩阵中的元素全都是1位二进制表示。
为什么可以用“Xnor”代替乘法?如下图为+1,-1的乘法运算真值表,和Xnor(同或)真值表:不难发现将-1替换为0后,真值表完全一致。
举个例子,
a=[1,-1,1,1,-1]W=[-1,1,1,-1,-1]
正常的乘法:
a1·w1+a2·w2+a3·w3+a4·w4+a5·w5=1·-1+-1·1+1·1+1·-1+-1·-1=-1
Xnor的计算方式:
a=[1,0,1,1,0]W=[0,1,1,0,0]a·W=[1·0,0·1,1·1,1·0,0·0]=[1,1,0,1,0]popcount(a·w)=3
popcount(x)这一操作,表示统计向量x中1的个数。
故a·W的异或求和结果为:
popcount-(5-popcount)=2*popcount(a·W)-5=1
再加上非运算为-1,即a·W全元素的XNOR结果为-1
小结
总的来说,BNN有以下几个特点:①减小内存占用:显然,权值和激活值二值化后,只需1bit即可表示,大幅度地降低了内存的占用。
②降低功耗:因为二值化,原来32位浮点数,只需要1bit表示,存取内存的操作量降低了;其实,存取内存的功耗远大于计算的功耗,所以相比于32-bitDNN,BNN的内存占用和存取操作量缩小了32倍,极大地降低了功耗。
③减小硬件面积开销:XNOR代替乘法,用1-bit的XNOR-gate代替了原来的32-bit浮点数乘法,对面向深度学习的硬件来说有很大影响。
譬如,FPGA原来完成一个32-bit的浮点数乘法需要大约200个Slices,而1-bit的Xnor-gate只需要1个Slice,硬件面积开销,直接缩小了200倍。
④速度快:作者专门写了一个二值乘法矩阵的GPU核,可以保证在准确率无损失的前提下,运行速度提高7倍。
RRAM
不妨看涛涛的文章吧,害,我这博客属实是东拼西凑了……读书笔记一:RRAM(ReRAM)
Circuitdesign
在RRAM的crossarray上怎么实现XNOR操作。
这篇讲ShimengYu提出的方案:也比较好理解,感觉后面2022年三星的MRAM的nature上的存算电路架构跟这个挺相似的,两个结加两个管子一组合当一个单元使,管子的通断和结的高低阻排列组合,搞出一个真值逻辑来。
Acrossbararrayofmagnetoresistivememorydevicesforin-memorycomputing那这么来看,ShimengYu的XNOR-RRAM这套架构,如果电路实现了,不只是仿真的层次,那妥妥的nature的水准,人家可是2017年就提出来了这种架构。
不过三星还是厉害,说做啥就做啥,我一个更基础的架构搞了两年了也没出电路……
Peripheralcircuit
SA
这个方案做过调研,2010年之后大多数新型阻变存储器的SA都是这一路了,latch式curent-modeSA,上电快,容错率高,电路结构更简洁。
mux&decoder
本文电路设计上的一大亮点就是采用并行的weight电流累加操作,每次选通一根WL和所有的BL,一次标定出一列上所有的+1/-1权重的Icell,来跟总的Iref作对比。
以往的方案是先对一列上的单元的WL选通,然后逐根选通BL,rowbyrow的逐个单元的送至列底部的CSA,标定出weight为+1/-1,然后送到累加器进行寄存,最终得出一列的权重之和。
但是我没懂的地方是,你这样做的话,你的Iref不得划分得很细很多level吗,不能拿一个Iref就区分出一列上所有权重值之和了吧,比如一列有64个bit,其中10个为+1(LRS)/54个为-1(HRS),那么HRS的电流可以忽略不计,电流之和就是10I_LRS_bit,那换一种情况,13个为+1(LRS)/51个为-1(HRS),电流之和就是13I_LRS_bit,那有多少张情况不得设置多少种Iref吗?这个文中所说的Multi-levelsenseamplifier好像不是这么回事啊???有大佬给我讲讲吗……
在后面就是介绍这个方案下,怎样划分sub-array和MLSA的level数来优化accuracy的过程了,就是纯仿真了。
多层感知机/CNNonMNIST/CIFAR-10platform:Theano
但这里我又有疑问了:电路设计只到array以及SA/MUX/Decoder这些就结束了不说下去了,后面仿真结果是base什么来仿的呢,是拿array做XNOR然后把neuronoutput送到哪里去再继续执行呢?软件端吗?没看明白。
有点云里雾里的,比如backwardpropagation怎么做的?pooling怎么做的?电路只给了个框架图,然后就仿真了,感觉确实看得有些懵逼。
收起
展开全文
深度学习
机器学习
同或门(XNOR)电路的网络学习
千次阅读
2016-04-2220:50:33
主要内容,参考...本文使用Theano实现XNOR功能。
对tensor的变量定义,以及theano.function做一个简单学习。
具体如下:XNOR函数的网络表达:真值表:编程实现:mporttheanoimpor
主要内容,参考http://www.analyticsvidhya.com/blog/2016/04/neural-networks-python-theano/
本文使用Theano实现XNOR功能。
对tensor的变量定义、自动求导,以及theano.function做一个简单学习。
具体如下:
XNOR函数的网络表达:
真值表:
编程实现:
importtheano
importtheano.tensorasT
importnumpyasnp
importmatplotlib.pyplotasplt
if__name__=='__main__':
#Definevariables:
x=T.matrix('x')
w1=theano.shared(np.random.rand(2,2))#weightforlayer1
w2=theano.shared(np.random.rand(2))
b=theano.shared(np.ones(2))#bias
learning_rate=1.;
#Step2:Definemathematicalexpression
a1=1/(1+T.exp(-T.dot(x,w1)-b[0]))
a=1/(1+T.exp(-T.dot(a1,w2)-b[1]))#predictoutput
#Step3:Definegradientandupdaterule
y=T.vector('y')#Actualoutput
cost=-(y*T.log(a)+(1-y)*T.log(1-a)).sum()
dw1,dw2,db=T.grad(cost,[w1,w2,b])
train=theano.function(
inputs=[x,y],
outputs=[a,cost],
updates=[
[w1,w1-learning_rate*dw1],
[w2,w2-learning_rate*dw2],
[b,b-learning_rate*db]
]
)
inputs=[
[0,0],
[0,1],
[1,0],
[1,1]
]
outputs=[1,0,0,1]
#Iteratethroughallinputsandfindoutputs:
cost=[]
foriterationinrange(1000):
pred,cost_iter=train(inputs,outputs)
cost.append(cost_iter)
#Printtheoutputs:
print'TheoutputsoftheNNare:'
foriinrange(len(inputs)):
print'Theoutputforx1=%d|x2=%dis%.2f'%(inputs[i][0],inputs[i][1],pred[i])
#Plottheflowofcost:
print'\nTheflowofcostduringmodelrunisasfollowing:'
plt.plot(cost)
实验结果:
TheoutputsoftheNNare:Theoutputforx1=0|x2=0is1.00Theoutputforx1=0|x2=1is0.00Theoutputforx1=1|x2=0is0.00Theoutputforx1=1|x2=1is1.00
Theflowofcostduringmodelrunisasfollowing:
收起
展开全文
theano
离散数学实践:真值表与范式
千次阅读
2015-04-0909:57:01
根据合式公式的真值表与主合取范式与主析取范式的关系来求。
在命题逻辑中,合式公式的真值表的应用非常广泛。
列合式公式真值表的步骤如下:(1)找出合式公式中出现的所有命题变项。
(2)按照二进制的顺序给出命题...
预备知识
根据合式公式的真值表与主合取范式与主析取范式的关系来求。
在命题逻辑中,合式公式的真值表的应用非常广泛。
列合式公式真值表的步骤如下:
找出合式公式中出现的所有命题变项。
按照二进制的顺序给出命题公式的2n种赋值。
对每个赋值按照合式公式的层次求出它的值。
所有成真赋值的合取即为主合取范式,所有成假赋值的析取即为主析取范式
熟悉真值表定义,并列出合式公式的真值表,并根据真值表的结果来判断公式的类型。
源程序参考
PropostionalLogicHeader头文件
/**************************************************************************
*(C)Copyright2015-2018byGavinY.LiuAllRightsReserved.*
**
*DISCLAIMER:Theauthorsandpublishershallnotbeliableinanyevent*
*forincidentalorconsequentialdamagesinconnectionwith,orarising*
*outof,thefurnishing,performance,oruseoftheseprograms.*
**************************************************************************/
/*File:PropostionalLogicHeader.h
*-------------------------------
*Thisinterfaceexportsasimplesymbolltableabstraction
*
*/
#ifndef_PROPOSTIONALLOGICHEADER_H_
#define_PROPOSTIONALLOGICHEADER_H_
/*
*Constants
*------------------
*LengthMaxLimit-LengthMaxvalueforthetables
*/
#defineLengthMaxLimit100
/*Privatefunctionprototypes*/
/*
*Function:negation
*Usage:negation(p);
*-------------------
*Thisfuntionisanoperationthattakesapropositionptoanotherproposition"notp",
*written¬p,whichisinterpretedintuitivelyasbeingtruewhenpisfalseandfalsewhenpistrue.
*/
staticintnegation(constintp);
/*
*Function:conjunction
*Usage:conjunction(p,q);
*---------------------------------
*Thisfunctionisanoperationontwologicalvalues,typicallythevaluesoftwopropositions,that
*producesavalueoftrueifandonlyifbothofitsoperandsaretrue.Theconjunctiveidentityis1,
*whichistosaythatAND-inganexpressionwith1willneverchangethevalueoftheexpression.In
*keepingwiththeconceptofvacuoustruth,whenconjunctionisdefinedasanoperatororfunctionof
*arbitraryarity,theemptyconjunction(AND-ingoveranemptysetofoperands)isoftendefinedas
*havingtheresult1.
*/
staticintconjunction(constintp,constintq);
/*
*Function:disjunction
*Usage:disjunction(p,q);
*----------------------------------------
*TheFunctionisthevaluesoftwopropositions,thathasavalueoffalseifandonlyifbothofits
*operandsarefalse.Moregenerally,adisjunctionisalogicalformulathatcanhaveoneormoreliterals
*separatedonlybyORs.Asingleliteralisoftenconsideredtobeadegeneratedisjunction.
*
*Thedisjunctiveidentityisfalse,whichistosaythattheorofanexpressionwithfalsehasthesame
*valueastheoriginalexpression.Inkeepingwiththeconceptofvacuoustruth,whendisjunctionisdefined
*asanoperatororfunctionofarbitraryarity,theemptydisjunction(OR-ingoveranemptysetofoperands)
*isgenerallydefinedasfalse.
*/
staticintdisjunction(constintp,constintq);
/*
*Function:conditional
*Usage:conditional(p,q)
*----------------------------------------
*ThefunctionisThematerialconditionalisusedtoformstatementsoftheform"p→q"(termedaconditional
*statement)whichisreadas"ifpthenq"andconventionallycomparedtotheEnglishconstruction"If...
*then...".ButunlikeastheEnglishconstructionmay,theconditionalstatement"p→q"doesnotspecifya
*causalrelationshipbetweenpandqandistobeunderstoodtomean"ifpistrue,thenqisalsotrue"such
*thatthestatement"p→q"isfalseonlywhenpistrueandqisfalse.[1]Thematerialconditionalisalsoto
*bedistinguishedfromlogicalconsequence.
*/
staticintconditional(constintp,constintq);
/*
*Function:bicondtional
*Usage:bincontional(p,q)
*----------------------------------------------
*Thefunctionisthelogicalconnectiveoftwostatementsasserting"pifandonlyifq",whereqisan
*antecedentandpisaconsequent.Thisisoftenabbreviatedpiffq.Theoperatorisdenotedusinga
*doubleheadedarrow(↔),aprefixedE(Epq),anequalitysign(=),anequivalencesign(≡),orEQV.Itis
*logicallyequivalentto(p→q)∧(q→p),ortheXNOR(exclusivenor)booleanoperator.Itisequivalentto
*"(notporq)and(notqorp)".Itisalsologicallyequivalentto"(pandq)or(notpandnotq)",meaning
*"bothorneither".
*
*Theonlydifferencefrommaterialconditionalisthecasewhenthehypothesisisfalsebuttheconclusionis
*true.Inthatcase,intheconditional,theresultistrue,yetinthebiconditionaltheresultisfalse.
*
*Intheconceptualinterpretation,a=bmeans"Alla'sareb'sandallb'sarea's";inotherwords,the
*setsaandbcoincide:theyareidentical.Thisdoesnotmeanthattheconceptshavethesamemeaning.
*Examples:"triangle"and"trilateral","equiangulartrilateral"and"equilateraltriangle".Theantecedentis
*thesubjectandtheconsequentisthepredicateofauniversalaffirmativeproposition.
*
*Inthepropositionalinterpretation,a⇔bmeansthataimpliesbandbimpliesa;inotherwords,thatthe
*propositionsareequivalent,thatistosay,eithertrueorfalseatthesametime.Thisdoesnotmeanthat
*theyhavethesamemeaning.Example:"ThetriangleABChastwoequalsides",and"ThetriangleABChastwo
*equalangles".Theantecedentisthepremiseorthecauseandtheconsequentistheconsequence.Whenan
*implicationistranslatedbyahypothetical(orconditional)judgmenttheantecedentiscalledthehypothesis
*(orthecondition)andtheconsequentiscalledthethesis.
*/
staticintbiconditional(constintp,constintq);
/*
*Function:compute
*Usage:compute(p,qch)
*----------------------------------
*/
staticintcompute(constintp,constintq,constcharch);
/*
*Function:is_proposition
*Usage:is_propositon(ch)
*----------------------------------
*/
staticintis_proposition(constcharch);
/*
*Function:is_LogicalConnectives
*Usage:is_LogicalConnectives(c)
*----------------------------------
*/
staticintis_LogicalConnectives(constcharc);
/*
*Function:get_isp
*Usage:get_isp(ch)
*----------------------------------
*/
staticintget_isp(constcharch);
/*
*Function:get_icp
*Usage:get_icp(ch)
*----------------------------------
*/
staticintget_icp(constcharch);
/*
*Function:to_InersePolandT
*Usage:to_InersePolandT(*last_exp,*pre_exp)
*-------------------------------------------
*/
staticvoidto_InversePolandT(char*last_exp,constchar*pre_exp);
/*
*Function:add_blackets
*Usage:add_blackets(s)
*----------------------------
*/
staticvoidadd_blackets(char*s);
/*
*Function:exp_resolve
*Usage:exp_resolve(*exp,length,(*re_exp)[LengMaxLimit],k)
*----------------------------
*/
staticvoidexp_resolve(constchar*exp,constintlength,char(*re_exp)[LengthMaxLimit],intk);
staticvoidbinary_inc(int*a,intlength);
/*
*Function:get_proposition
*Usage:get_proposition(*exp,length,*p)
*------------------------------------------
*Thepropositionsintheselogicsaremorecomplex.First,termsmustbedefined.Atermis(i)avariableor
*(ii)afunctionsymbolappliedtothenumberoftermsrequiredbythefunctionsymbol'sarity.Forexample,
*if+isabinaryfunctionsymbolandx,y,andzarevariables,thenx+(y+z)isaterm,whichmightbewritten
*withthesymbolsinvariousorders.Apropositionis(i)apredicatesymbolappliedtothenumberofterms
*requiredbyitsarity,(ii)anoperatorappliedtothenumberofpropositionsrequiredbyitsarity,or
*(iii)aquantifierappliedtoaproposition.Forexample,if=isabinarypredicatesymboland∀isa
*quantifier,then∀x,y,z[(x=y)→(x+z=y+z)]isaproposition.Thismorecomplexstructureofpropositions
*allowstheselogicstomakefinerdistinctionsbetweeninferences,i.e.,tohavegreaterexpressivepower.
*
*Inthiscontext,propositionsarealsocalledsentences,statements,statementforms,formulas,andwell-formed
*formulas,thoughthesetermsareusuallynotsynonymouswithinasingletext.Thisdefinitiontreatspropositions
*assyntacticobjects,asopposedtosemanticormentalobjects.Thatis,propositionsinthissensearemeaningless,
*formal,abstractobjects.Theyareassignedmeaningandtruth-valuesbymappingscalledinterpretationsand
*valuations,respectively.
*/
staticintget_proposition(constchar*exp,constintlength,char*p);
staticvoidproposition_ass(constchar*pre_exp,intlength,char*p,int*v,intn,char*last_exp);
staticintbin2dec(int*v,intn);
/*Publicfunctionprototyes*/
/*
*Function:is_wellformed
*Usage:is_wellformed(s,length)
*-----------------------------------
*Theformulasareinductivelydefinedasfollows:
*Eachpropositionalvariableis,onitsown,aformula.
*Ifφisaformula,then\lnotφisaformula.
*Ifφandψareformulas,and•isanybinaryconnective,then(φ•ψ)isaformula.
*Here•couldbe(butisnotlimitedto)theusualoperators∨,∧,→,or↔.
*ThisdefinitioncanalsobewrittenasaformalgrammarinBackus–Naurform,providedtheset
*ofvariablesisfinite.
*/
intis_wellformed(constchar*s,constintlength);
/*
*Function:compute_wellformed
*Usage:compute_wellformed(exp,length)
*-------------------------------------------
*/
intcompute_wellformed(constchar*exp,constintlength);
/*
*Function:truth_table
*Usage:truth_table(exp,length)
*----------------------------------
*atruthtableiscomposedofonecolumnforeachinputvariable(forexample,AandB),and
*onefinalcolumnforallofthepossibleresultsofthelogicaloperationthatthetableis
*meanttorepresent(forexample,AXORB).Eachrowofthetruthtablethereforecontainsone
*possibleconfigurationoftheinputvariables(forinstance,A=trueB=false),andtheresultof
*theoperationforthosevalues.Seetheexamplesbelowforfurtherclarification.
*/
voidtruth_table(constchar*exp,constintlength);
intget_main_disjunction(constchar*exp,char*resu);
intget_main_conjunction(char*exp,char*resu);
voidhelp();
#endif//endof_PROPOSTIONALLOGICHEADER_H_
PropostionalLogicSource源文件
/**************************************************************************
*(C)Copyright2015-2018byGavinY.LiuAllRightsReserved.*
**
*DISCLAIMER:Theauthorsandpublishershallnotbeliableinanyevent*
*forincidentalorconsequentialdamagesinconnectionwith,orarising*
*outof,thefurnishing,performance,oruseoftheseprograms.*
**************************************************************************/
#include
若两个输入的电平相同,则输出为高电平(1);若两个输入的电平相异,则输出为低电平(0)。
AB⊕0(F)0(F)1(T)0(F)1(T)0(F)1...
收起
F#
C++
C#
Python逻辑代码:AND、NAND、OR、NOR、XOR、XNOR和NOT模拟
2020-12-2323:55:07
当我运行代码并传入1作为A和B的值时,输出仍然是False。
我已经试过调整它,但它仍然提供False作为输出。
下面是我迄今为止所做的一个例子:aInput=int(input('EntervalueforA:'))bInput=int(input('Enter...
收起
位运算(包括OR,AND,XOR,NOR,NAND,XNOR,以及&0xFF等常见应用)
千次阅读
2022-01-2613:37:23
位运算(包括OR,AND,XOR,NOR,NAND,XNOR,以及&0xFF等常见应用)位运算是C语言的重要特点,是其他计算机高级语言所没有的,位运算是以二进制为对象的运算,二进制表示法与计算机内存完全对应,每个单元(位)都...
收起
c++
[转]Verilog学习笔记基本语法篇(十三)...............Gate门
2019-09-2207:12:38
Verilog中已有一些建立好的逻辑门和开关的模型。
在所涉及的模块中,可通过实例引用这些门与开关模型,从而对模块进行结构化的描述。
逻辑门:and(output,input,...)nand(output,input,...)...xnor(o...
收起
QuartusII之1位全加器
千次阅读
2022-03-2821:47:09
二进制半加器的理解比较简单,就是逢2进1,其真值表为如下图:2.1位全加器全加器只是加多了一个输入,其实原理和半加器是一样的。
全加器真值表如下:二、实验目的通过1位全加器的详细设计,掌握原理图输入...
收起
Verilog
全加器
XNOR-Net:ImageNetClassificationUsingBinaryConvolutionalNeuralNetworks
2018-09-1316:20:39
这篇文章提出了两个二进制类的网络模型,一个叫做Binary-...其中指出二进制的表达XNOR-Nets在执行卷积运算时能够提升58×的速度,而可以节省32×的内存空间,这为XNOR-Nets在CPU上运行提供了可能性。
Binary-...
收起
Verilog基础学习三
2022-03-3009:48:45
真值表3.关于电路设计思路4.门电路与向量二、多路选择器(multiplexer)1.2-to-1multiplexer(Mux2to1)2.9-to-1multiplexer(Mux9to1v)3.256-to-1multiplexer(Mux256to1)4.256-to-14-bitmultiplexer(Mux...
收起
fpga开发
逻辑门、锁存器和触发器
千次阅读
2020-11-1800:00:39
真值表:输入输入输出ABAxnorB001010100111总结:不同为0,相同为1。
3、与非和或非与非和或非,其实相当于与门和或门输出取反:真值表这里就不放了,其实就是把与门和或门的输出状态取反...
收起
逻辑门
触发器
时序图
电子技术基础(三)__第5章之复合逻辑
2020-12-0518:50:07
一与非门二或非门三异或门四同或门与非门(NAND),与非逻辑的运算表达式如下:读作“F等于A与非B ”,与非门逻辑符号如下图所示: ,与非门真值表口诀:见0得1,全1得0或非门(NOR),或非逻辑的...
收起
[Verilog]Verilog中提供的逻辑门和开关模型的定義及用法總結
千次阅读
2019-12-3113:29:56
或門(or)真值表or0 1 x z 0 01xx111 11xx1xxzx1xx4、或非門(nor)真值表或非門(nor)真值表nor0 1 x z 0 10xx100 00xx0xxzx0xx5、同或門(xnor)真值表...
收起
吴恩达机器学习之神经网络——表述:非线性假设、神经元和大脑、模型表示、特征和直观理解、样本和直观...
千次阅读
2020-03-1711:42:41
下图中左半部分是神经网络的设计与output层表达式,右边上部分是sigmod函数,下半部分是真值表。
我们可以用这样的一个神经网络表示AND函数:所以我们的:这就是AND函数。
接下来再介绍一个OR函数:OR与AND整体...
收起
神经网络
算法
大数据
编程语言
python
三、6【VerilogHDL】基础知识之门级建模
2022-04-1911:48:18
5.1.4门级建模举例(1)门级多路选择器引脚信息表及功能真值表输入输出信号描述信号位宽类型功能描述i01bitinput输入信号0i11bitinput输入信号1i21bitinput输入信号2i31bitinput输入信号3...
收起
数字电子技术基础
HDLBITS笔记15:组合逻辑之7420芯片
2022-04-0811:29:12
7400系列集成电路是一系列数字芯片,每个芯片有几个门。
7420是一款具有两个4输入NAND门的芯片。
moduletop_module(inputa,b,outputout_and,...outputout_xnor,outputout_anotb);assig
收起
fpga开发
对于bufif1、bufif0、notif1、notif0的详解
千次阅读
2022-04-1916:43:09
Verilog语言内置了12个基本门级元件模型,如下表所示。
门级元件的输出、输入必须为线网类型的变量。
1.多输入门and、nand、or、nor、xor和xnor是具有多个输入的逻辑门,它们的共同特点是:只允许有一个输出,但...
收起
fpga开发
dsp开发
arm开发
HDLBits第六章练习及答案
2021-09-1708:33:18
组合逻辑电路1:基本门电路1、线2、地3、或非门4、另一个门5、两门6、更多逻辑门7、7420芯片8、真值表9、两位相等10、简单电路A11、简单电路B12、组合电路A和B13、响铃还是振动?14、恒温器15、三位计数器16、门和...
收起
verilog
机器学习:神经网络之表达
千次阅读
2015-08-1314:08:30
该神经网络对应的输出与同或运算的真值表相同。
多分类问题当我们有不止两种分类时(也就是y=1,2,3….),比如我们要训练一个神经网络算法来识别路人、汽车、摩托车和卡车,在输出层我们应该有4个值。
...
收起
机器学习
神经网络
【Verilog-18】Gate门
2022-01-1423:04:47
Verilog已有一些建立好的逻辑门和开关的模型。
在所设计的模块中,可通过实例引用这些门与开关模型,从而对模块进行结构化的描述。
逻辑门:...xnor(Output,Input,…)//同或缓冲器与非门:buf(Ou
收起
【深度学习——BNN】:二值神经网络BNN——学习与总结
万次阅读
多人点赞
2018-08-0416:44:28
我在这里做了一下推导,我们不妨先写出+1,-1的乘法运算真值表,和Xnor(同或)真值表:不难发现,假如用0表示-1,那么原来的二值乘法运算,与Xnor的真值表,一毛一样。
。
。
如果,用数学表达式,描述这种...
收起
一周掌握FPGAVerilogHDL语法day2
2020-05-0813:53:24
今天给大侠带来的是一周掌握FPGAVerilogHDL语法,今天开启第二天。
上一篇提到了整数型以及参数型,此篇我们...变量即在程序运行过程中其值可以改变的量,在VerilogHDL中变量的数据类型有很多种,这里只对常用的...
收起
verilog
逻辑门逻辑_逻辑门
千次阅读
2020-08-0217:25:27
SymbolandTruthtableforANDGate:AND门的符号和真值表:2)或门(2)ORGate)AnORGatemayalsohavetwoormoreinputs.TheoutputofORGatewillbe1whenanyofitsinputsareinstate1.The...
收起
java
python
android
javascript
大数据
二值化神经网络(BNN)综述
千次阅读
2020-11-0315:58:46
摘要:二值化神经网络BNN由于可以实现极高的压缩比和加速效果,所以它是推动以深度神经网络为代表的人工智能模型在资源受限和功耗受限的移动端设备,嵌入式设备上落地应用的一门非常有潜力的技术。
虽然目前的BNN仍然...
收起
神经网络
卷积
人工智能
算法
[darknet源码系列-3]在darknet中,如何根据解析出来的配置进行网络层构建
2020-11-2616:50:13
//这一段都是在对对应的值进行赋值,没太多可说的size_tworkspace_size=0;//workspace_size指明了所有层(layer)中最大的内存需求,从而提前开辟出整块内存以便后续计算,同一时间内,GPU或者CPU只有一个...
收起
darknet
深度学习
深度学习系统
Verilog门级描述
2021-11-3010:03:25
逻辑综合(综合,就是在标准单元库和特定的设计约束的基础上,将设计的高层次描述(Verilog建模)转换为门级网表的过程)->布局布线->时序仿真(后仿真)(布局布线后,电路模型中已经包含了时延信息。
...
收起
verilog
Verilog学习笔记基本语法篇(十三)...............Gate门
2021-03-0706:33:20
Verilog中已有一些建立好的逻辑门和开关的模型。
...逻辑门:and(output,input,...)nand(output,input,...)or(output,input,...)nor(output,input,...)xor(output,input,...)xnor(output,input,.....
收起
逻辑电路nand_通用逻辑门(NAND,NOR)
万次阅读
多人点赞
2020-07-2511:19:23
NAND门的逻辑运算可以写成Y=ABSymbolandTruthTableforatwo-inputNANDGateis:两输入与非门的符号和真值表是:2)或非门(2)NORGate)NORGateisalsoacombinationoftwogatesnamely,ORGate...
收起
空空如也
空空如也
1
2
3
4
5
...
20
收藏数
482
精华内容
192
热门标签
同或门
同或门电路图
同或门电路
同或函数(xnorfunction)
xnor3的真值表
相关推荐
5门电平模型化.zip
Verilog介绍文档,介绍Verilog中门电平的相关知识
exercise.rar
quatuasII的练习代码,可以根据这份资料自我学习
.rar.rar
基于VHDL语言8位加法器设计基于VHDL语言8位加法器设计
005.rar
给大家上传一本非常好的关于verilog-hdl的电子书,实用,易懂,易学。
此为第五章
verilogHDL05.rar
VerilogHDL硬件描述语言之5
关键字:xnor真值表
友情链接:
myOFC.rar
延伸文章資訊
- 1反互斥或閘- 維基百科,自由的百科全書
反互斥或閘(英語:XNOR gate,偶爾寫作ENOR gate、ExNOR gate,在Intel處理器中,此項 ... 又稱互斥或反閘,是數位邏輯中實現邏輯雙條件的邏輯閘,功能見右側真值表。
- 2第1 章數位邏輯
真值表. 補充說明. NAND,有0 則1. ※先求AND,再求NOT. ※邏輯閘符號,如下圖: ... XNOR(eXclusive NOR):反互斥(相等),X⊙Y 或X'Y' XY。
- 3xnor真值表的價格和怎麼買,YOUTUBE和PTT加密貨幣版
其中NOT閘另可叫inverter;XOR是exclusive-OR的簡寫;XNOR是exclusive-NOR的簡寫。以下延伸八個邏輯閘之表示式。 有了八個邏輯閘符號、真值表、數學算式後,當然...
- 4反互斥或閘
反互斥或閘(英語:XNOR gate,偶爾寫作ENOR gate、ExNOR gate,在Intel處理器中, ... 又稱互斥或反閘,是數位邏輯中實現邏輯雙條件的邏輯閘,功能見右側真值表。
- 5xnor真值表
csdn已为您找到关于xnor真值表相关内容,包含xnor真值表相关文档代码介绍、相关教程视频课程,以及相关xnor真值表问答内容。为您解决当下相关问题,如果想了解更 ...