逻辑优化基础-disjoint support decomposition

非交支持分解是布尔函数优化的技术,通过将函数分解为没有共同变量的子函数,简化表达式并便于处理。这种方法识别出不相交的支持子集,使函数可以被分解为相互独立的部分,有助于从局部最优逐步达到全局最优。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先遣兵

在了解 disjoint support decomposition 之前,先学习两个基本的概念。

  • disjoint

数学含义上的两个集合交集,所谓非相交,即交集为空集。

A ∩ B = C = ⊘ A \cap B = C = \oslash AB=C=
在这里插入图片描述

  • support

逻辑综合中的 s u p p o r t support support 概念是指: 一个门 g g g s u p p o r t support support 是指该门 g g g 的所有原始输入 P I PI PI

例如有一个函数:
F o u t = h ( x ) + g ( x ) Fout = h(x) + g(x) Fout=h(x)+g(x)
其中 h ( x ) = A + B h(x) = A + B h(x)=A+B g ( x ) = D + E g(x) = D + E g(x)=D+E,则 n o d e node node h h h g g g s u p p o r t support support 分别为 { A, B }、{ D, E }, F o u t Fout Fout s u p p o r t support support 为 { A, B, D, E }。

其他概念有兴趣可参考 逻辑综合知识点总结 持续更新中…

1. 简介

disjoint support decomposition ,它是用于优化布尔函数的一种技术,将其分解成具有不交 s u p p o r t support support 的较小子函数。

一个布尔函数可以表示为 (sum of products,SOP)表达式或积和式(product of sums,POS)表达式。

disjoint support decomposition 的目的是将给定表达式转换为具有较小且更易于处理的子表达式的形式。它的基本思想是识别原始表达式中没有共同变量的变量子集,并将表达式分解为只取决于这些子集的较小表达式的和。这使得函数更容易进行优化,因为较小的表达式通常更容易处理。

即:

非相交分解 == 一个函数 F F F可以被子函数 K K K J J J 表示,且 K K K J J J s u p p o r t support support 不相交,且 4J$ 只有一个输出,
F = K ( x 1 , x 2 , . . . , x j − 1 , J ( x j , . . . , x n ) ) F = K (x_1, x_2, ..., x_{j-1}, J(x_j, ..., x_n)) F=K(x1,x2,...,xj1,J(xj,...,xn))
例如有一个函数:
F = ( x 1 + x 2 ) ( x 3 ⊕ x 4 ) F = (x_1 + x_2)(x_3 \oplus x_4) F=(x1+x2)(x3x4)
最简单的 d s d dsd dsd 为图 (a) 所示:
K = ( x 3 ⊕ x 4 ) J 1 , J 1 = ( x 1 + x 2 ) K = (x_3 \oplus x_4)J_1, J_1 = (x_1 + x_2) K=(x3x4)J1,J1=(x1+x2)
或者图 (b):
K = ( x 1 + x 2 ) J 2 , J 2 = ( x 3 ⊕ x 4 ) K = (x_1 + x_2)J_2, J_2 = (x_3 \oplus x_4) K=(x1+x2)J2,J2=(x3x4)
再进一步表示为图 © F = K ( J 1 , J 2 ) = ( x 1 + x 2 ) ( x 3 ⊕ x 4 ) F = K(J_1, J_2) = (x_1 + x_2)(x_3 \oplus x_4) F=K(J1,J2)=(x1+x2)(x3x4)

在这里插入图片描述
如果一个 o u t p u t output output 被全部用 d s d dsd dsd 表示,这意味着拿掉某一个 s u p p o r t support support 不会对其他的 s u p p o r t support support 支持的逻辑造成影响,个人理解是否可以通过 d s d dsd dsd 分解由局部最优达到全局最优。

如果 F F F被一个 D A G ( G ) DAG(G) DAG(G) 表示的话,也可以表示为,应该比较容易理解:
E d g e ( G ) = E d g e ( K ) + E d g e ( J ) Edge(G) = Edge(K) + Edge(J) Edge(G)=Edge(K)+Edge(J)

2. 算法

TODO

3. 优点

TODO

语音W-Disjoint Orthogonality(WDO)是一种短时正交特性,它在语音处理中具有重要作用。短时正交特性是指在短时间内,不同的语音信号之间具有正交性,即彼此之间相互独立且互不干扰。 语音信号通常由一系列短时帧组成,每个帧的持续时间通常在10至30毫秒之间。在WDO中,不同的语音信号通过应用窗函数来加以分析和处理,通常使用的窗函数是矩形窗和汉宁窗。这些窗函数的作用是在时间域上将信号切割成较小的窗口以进行进一步的分析。 在窗函数应用后,信号会在频域上转换为复数值的频谱表示,同时每个频率分量也会变为相位和振幅。WDO利用这些频域的相位信息来判断不同的语音信号之间是否正交。如果两个语音信号之间的频域相位信息相互独立,则它们在时间上是正交的。 WDO的短时正交特性在语音信号识别、语音合成和语音增强等领域非常有用。通过分析和利用不同语音信号之间的正交性,可以准确地分离和识别不同的语音成分,从而提高语音信号的质量和可识别性。同时,WDO还可以用于去除背景噪声和改善语音信号的清晰度。 总之,语音W-Disjoint Orthogonality(WDO)是一种基于短时正交特性的语音处理方法。它通过分析语音信号的频域相位信息,判断不同语音信号之间的正交性,从而提高语音信号的质量和可识别性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值