作者INsoarDEEP (我/我/我)
看板EE_DSnP
標題[請益] 卡關超久的f^g和~a|~b Q_Q
時間Sat Jan 16 23:16:53 2010
已經de了快要6小時的bug,盯著ddd的我已經眼花了還是看不出所以然的f^g和~a|~b...
狀況是這樣的,我的leftCofactor和rightCofactor寫法類似,都是先看level大小,
然後決定需不需要call小孩,然後我沒有去管neg edge的東西...
testBdd的前三個都順利過關,但是後兩個發生問題,結果如下:
f^g
[4](+) 0x9c04e98 (2)
[0](+) 0x9bec288 (15)
[3](+) 0x9c04df8 (3)
[0](+) 0x9bec288 (15) (*)
[0](-) 0x9bec288 (15) (*)
==> Total #BddNodes: 3
~a|~b
[2](+) 0x9c04ea8 (1)
[0](+) 0x9bec288 (16)
[1](-) 0x9c04da8 (4)
[0](+) 0x9bec288 (16) (*)
[0](-) 0x9bec288 (16) (*)
==> Total #BddNodes: 3
沒有頭緒...可以請大家幫個忙看一下嗎? 說實話我已經不知道該怎麼做了orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.216.45
1F:推 yclanner:妳可以先看看2553篇... 01/16 23:18
2F:→ INsoarDEEP:呃對了我還沒寫standardize(就卡住了...QQ) 01/16 23:20
3F:→ yclanner:那2153篇..? 01/16 23:21
4F:推 a3785lexx:請問您的getCofactor()s有管bubble嗎?? 01/16 23:22
5F:→ a3785lexx:可以看看#1AGAKx8g 你的xor好像長的跟他一樣XD 01/16 23:24
6F:→ a3785lexx:而我當初也是同一個問題XD 01/16 23:24
7F:→ INsoarDEEP:呃沒有耶...我完全沒做check isNegEdge之類的事情說... 01/16 23:25
8F:→ yclanner:所以應該是2153篇的問題吧? 01/16 23:25
9F:→ INsoarDEEP:難道說在getCofactor裡面就要處理neg edge嗎?? 01/16 23:26
10F:推 a3785lexx:呵呵你說呢~ 01/16 23:26
11F:→ a3785lexx:你可以手作一下XOR的ITE運算 01/16 23:27
12F:→ a3785lexx:如果發現作不出參考的結果...就可以知道觀念有地方錯了 01/16 23:28
13F:→ INsoarDEEP:我以為ite裡面已經把neg edge處理掉了,所以就沒管它.. 01/16 23:28
14F:→ a3785lexx:我當初就是這樣發現的...orz 01/16 23:28
15F:→ a3785lexx:老師在原PO上一篇說neg edge處理掉的意思是, 01/16 23:29
16F:→ a3785lexx:ITE(F,G,H)的G端絕對不能有neg edge的要求會被處理 01/16 23:30
17F:→ a3785lexx:不過如果一個node本身是頭上頂泡泡的 01/16 23:31
18F:→ a3785lexx:這個在getCofactor()s的時候要注意一下:) 01/16 23:31
19F:推 mymaydayya:應該要看edge喔 因為cofactor的定義 01/16 23:42
20F:→ INsoarDEEP:!! 好像發現自己錯在哪裡了... 01/16 23:55
21F:→ INsoarDEEP:~a|~b正確了,但是現在f^g多了四個node 囧 01/17 00:12
22F:→ INsoarDEEP:~a|~b的refCount也不太一樣... 01/17 00:27