→ Helicoid:原PO可以再看一次講義和相關資料 再來決定要不要發文 12/09 23:34
嗯,又看過一次了,大概吧。是指這個嗎?http://fmv.jku.at/aiger/FORMAT
我決定還是繼續問吧。
看了講義與參考資料後,搞懂了PI、PO跟AIG可以互相重複
但還是不懂11號跟3號是怎麼來的。他們已經超過MAX variable的編號了吧。
推 kickpp:我記得M就是var個數才是 literal跟varible不一樣 12/10 00:08
→ kickpp:一個varible會有正負所以有兩個literal 我的理解是這樣 12/10 00:09
→ takua624:M就是VAR個數的話,opt01 M=2,可是東西有三個耶 12/10 00:10
→ takua624:對,一個VAR有兩個LITERAL 12/10 00:10
推 vuluy:output不用編號 12/10 00:22
推 kickpp:推樓上 12/10 00:39
推 ric2k1:1. M 是指最大 variables 個數 (也是 varID),中間缺沒關係 12/10 01:26
→ ric2k1:2. 11 & 3 是 literal ID, which is 2*varId or 2*varID+1 12/10 01:27
→ ric2k1:3. PO 不用有自己的 varID, 因為他一定是從別的 gate接來的 12/10 01:28
謝謝教授。可是SPEC上面那個線路裡面,"11"如果是literal,指的應該是5號吧?
但是他是連到3號GATE的OUTPUT耶!
然後對這個aag:
aag 2 1 0 1 1
2
4
4 1 2
cirg 3 竟然有東西?明明沒有3號variable啊?
如果3是一個literal,那應該是指1號variable,但並不是
這個神秘3是2號GATE的輸出不是嗎?
→ e124553423:程式裡PO好像會從M+1開始編號 12/10 07:56
→ e124553423:可能是為了方便?(但是input還是要接對) 12/10 07:56
嗯,這樣就還算能看出道理了,感謝樓上!
所以以opt01來說,神秘3號的確是一個variable,指的是"第[3-M]個PO",也就是第一個PO
然後要找第一個PO就要看aag的第三行那個"4",這個4是一個literal
所以就知道了第1個PO是接在2號variable的輸出端,且沒有反相
然後2號variable是一個AIG...[下略]
然後SPEC的神秘11例子裡,11也是一個額外的variable,表示第一個PO
不過這樣跟教授說的"PO不用有自己的varID"好像有點衝突。
是說在AIG的規則裡面PO沒有自己的varID,但在這個程式裡為了方便,還是幫它編號吧?
※ 編輯: takua624 來自: 61.57.147.96 (12/10 09:04)
推 ric2k1:從 1 號開始編 var ID 是因為 0 號留給 const 0 12/10 11:05
→ ric2k1:PO 的 ID 是要在程式裡頭自己編的,為了 report 區別方便 12/10 11:06
→ ric2k1:否則 cirg 3 你就不知道應該要 report 哪一個了 12/10 11:07
推 ric2k1:關於 PO 的 ID,請見 spec 第四頁 1.7 12/10 11:09