NPN class(Negation Permutation Negation)

LEXSAT

find the minimum satisfying assignment:

  • Initialize an all-zero array A
  • 遍历 MSB->LSB
    Algorithm 1 [2]
    在这里插入图片描述
    Algorithm 2(Knuth)
    在这里插入图片描述
    可视作一个LEX优化问题:
    m i n : l e x min: lex min:lex
    s . t . s.t. s.t. All satisfying assignment for the given CNF

find the maximum satisfying assignment:

  • Initialize an all-one array A
  • 遍历 MSB->LSB
    在这里插入图片描述

Moreover, find the closet larger or smaller assignment of the present asignment

Fomulation:
m i n : ∣ a s s ′ − a s s ∣ min: |ass'-ass| min:assass
s . t . s.t. s.t. ∣ a s s ′ − a s s ≠ 0 ∣ |ass'-ass\neq 0| assass=0

Heuristic NPN Classification

Main idea:
Given a Boolean function f f f, find its corresponding NPN class representative r ( f ) r(f) r(f)
<=> find the smallest lex function in its NPN class [ f ] [f] [f]
=relax=> 在遍历的NPN等价的functions中找出LEX minimum Boolean functions (找到局部最优解 )。

Encoding as a lex optimization problem

  1. encode the truth table as lex, such as:
  • Example
    OR gate f ( X ) = x 1 ∨ x 2 f(X)=x_1 \lor x_2 f(X)=x1x2, its corresponding lex is 0111 0111 0111 ( 0 0 0 corresponds to the function value with the assignment 00 00 00). Its NPN class representative r ( f ) = x ˉ 1 ∨ x ˉ 2 ‾ r(f)=\overline{ \bar{x}_{1} \vee \bar{x}_{2}} r(f)=xˉ1xˉ2 has a lex 0001 0001 0001 smaller than 0111 0111 0111.
  1. Given two NPN equal Boolean functions g g g and h h h, then g < h g < h g<h if and only if:
    g ≠ h g\neq h g=h and g ( m i n ( g ⊕ h ) ) = 0 g(min(g\oplus h))=0 g(min(gh))=0
  • Example
    g = x 1 ∨ x 2 g=x_1 \lor x_2 g=x1x2 h = x ˉ 1 ∨ x ˉ 2 ‾ h=\overline{ \bar{x}_{1} \vee \bar{x}_{2}} h=xˉ1xˉ2. m i n ( g ⊕ h ) = 01 min(g\oplus h)=01 min(gh)=01 and g ( 01 ) = 0 g(01)=0 g(01)=0. Thus g < h g<h g<h.
  1. NPN(Input negation&Variable Permuation&Output negation) Class
    布尔函数 f ( x ) f(x) f(x),它的NPN class定义为 [ f ] [f] [f],另外一个布尔函数 g ( x ) g(x) g(x) f f f g g g是NPN等价,当且仅当 [ f ] = [ g ] [f]=[g] [f]=[g] [ f ] [f] [f]NPN class representative定义为 r ( f ) r(f) r(f) r ( f ) ≤ l e x g r(f)\le_{lex} g r(f)lexg for ∀ g ∈ [ f ] \forall g \in[f] g[f])。
  • Example
    f ( X ) = x 1 ∨ x 2 f(X)=x_1 \lor x_2 f(X)=x1x2 => r ( f ) = x ˉ 1 ∨ x ˉ 2 ‾ r(f)=\overline{ \bar{x}_{1} \vee \bar{x}_{2}} r(f)=xˉ1xˉ2
  1. As NPN equal can be easily achieved in AIG, the NPN classification is implemented through AIG. The algorithm consists of three steps [1]:
    在这里插入图片描述

[1] Soeken M , Mishchenko A , Petkovska A , et al. Heuristic NPN Classification for Large Functions Using AIGs and LEXSAT[C]// International Conference on Theory and Applications of Satisfiability Testing. Springer International Publishing, 2016.
[2] Mishchenko A , Brayton R , Petkovska A , et al. Canonical computation without canonical representation[C]// the 55th Annual Design Automation Conference. 2018.

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值