associative operation
定義所以樹狀結構的資料,如果f可以放在node的位置,如果operands順序一樣,不論樹狀結構如何,evaluate (e.g. reduce)出來的結果都一樣。
Floating point operation not associative
在某些極端的float值,使用associative operators可能會造成非預期結果,例如以下:這根data size有關,可能在運算過程中會產生overflow,相當於沒有associativity。
Association on tuples
如果定義f為以下:且f1 f2 為associative operation,則f也為associative operation。
舉例來說,以下times是associative function,因為*是associative:
再舉一個average的例子,假設要算某個collection的average,我們可以用兩個reduce function做到:
如果要改寫成一個reduce呢? 這就要用到tuples:
(等式右邊有typo)
這個f定義符合上面的associative operation定義,所以f也是一個associative operation,可以用來做parallel computation。
average =
沒有留言:
張貼留言