2012-04-01 31 views
7

SICP अध्याय 3.5.3 http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-24.html#%_sec_3.5.3एसआईसीपी में वर्णित सिग्नल-फ्लो आरेख को गहराई से कैसे समझें? प्रतिक्रिया पाश से -

अनुभाग Streams as signals में, SICP Implicit style of definition का एक दृश्य-श्रव्य स्पष्टीकरण देता है। लेकिन मैं जानना चाहता हूं कि आरेख को वास्तव में कैसे समझें? असली लाभ क्या है और क्या कोई पृष्ठभूमि ज्ञान है?

एक और उदाहरण लें, नहीं योजना में है, लेकिन हास्केल में:

fibs = fix (scanl (+) 0 . (1:)) 
fibs = fix ((0:) . scanl (+) 1) 

हम भी या तो के लिए संकेत प्रवाह आरेख आकर्षित कर सकते हैं। हम इन ग्राफों का लाभ कैसे उठा सकते हैं?

सलाह और जानकारी के लिए धन्यवाद!

+0

खोज टिप्पणी में अपने प्रश्न का उत्तर देने। –

उत्तर

4

वास्तविक आरेखों के ऑडियोविज़ुअल स्पष्टीकरण के लिए, आप वीडियो के साथ क्यों नज़र डालेंगे? वे here, व्याख्यान 6 ए और 6 बी में हैं।

आरेखों के "वास्तविक लाभ" के लिए, अच्छी तरह से, वे स्ट्रीम प्रोसेसिंग का एक दृश्य प्रस्तुतिकरण हैं, उन्हें समझने के लिए "पृष्ठभूमि ज्ञान" की आवश्यकता नहीं है, AFAIK इन आरेखों के लिए नोटेशन idiosyncrasies का हिस्सा है एसआईसीपी, पुस्तक पढ़कर और वीडियो देखकर आप उन्हें जानते होंगे कि उनके बारे में सब कुछ पता है।

+0

धन्यवाद। मैं बस एसआईसीपी पढ़ रहा हूं लेकिन मुझे इस प्रकार के आरेख की स्पष्ट तस्वीर नहीं मिल सकती है। मैं तस्वीर के अर्थ को समझ सकता हूं, लेकिन जब मैं एक आरेख पढ़ने की कोशिश करता हूं (जैसे कि उन हास्केल कोडों के लिए), मुझे लगता है कि मैं तुरंत नहीं जानता कि यह फिबोनाची अनुक्रम के लिए एक आरेख है। यही कारण है कि मुझे 'स्पष्ट रूप से समझने' का तरीका आश्चर्य है ' –

+0

ठीक है। लेकिन मुझे लगता है कि मैं अभी भी इसे स्पष्ट रूप से समझ नहीं सकता। हालांकि मैंने एसआईसीपी दूसरे संस्करण में संबंधित अभ्यास समाप्त कर दिए हैं, मुझे लगता है कि मैं थोड़ा और मुश्किल के लिए एक अंतर्निहित परिभाषा तैयार नहीं कर सकता। उदाहरण के लिए, यादृच्छिक रूप से इस स्ट्रीम को लिखना: a_0 = 1, a_n = a_0 + a_1 + ... + a_ (n div 2), मैं एक अंतर्निहित परिभाषा नहीं खोज सकता। –

+0

अभी भी आपका धन्यवाद। –

1

, * क्हान और MACQUEEN dataflow नेटवर्क * के लिए

Prelude> let bs = 1:map (\n-> sum $ take (n+1) bs) (map (`div`2) [1..]) 
Prelude> take 20 bs 
[1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46] 

Prelude> let as = 1:1:g 2 (drop 2 as) where g x ~(a:b) = x:x:g(x+a)b 
Prelude> take 20 as 
[1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46] 

Prelude> take 20 $ map (\n-> sum $ take (n+1) as) $ map (`div`2) [0..] 
[1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46] 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^