2009-05-14 10 views
9

भले ही मैं अपने कॉम्पसी कोर्स पर बेहतर प्रोग्रामर में से एक मानता हूं, मैं उन लोगों से मोहक हूं जो गणित में वास्तव में अच्छे हैं। मुझे यह कहना है कि जब भी मेरे पास गणित-प्रकार का असाइनमेंट होता है या परीक्षा होती है तो मेरा दृष्टिकोण बहुत फॉर्मूलात्मक होता है, यानी अगर मुझे ऐसी समस्या आती है जो ए जैसा दिखता है तो मुझे विधि बी का उपयोग करना चाहिए और परिणाम सी की तरह दिखना चाहिए, अन्यथा मैंने गलती की है। मैं केवल वास्तव में जानता हूं कि मैंने संशोधित समस्याओं को कैसे हल किया है।बेहतर प्रोग्रामर बनने के लिए मेरे गणित कौशल में सुधार कैसे करें

मैं इस गर्मी में गणितीय समस्याओं और उनके समाधानों को बेहतर ढंग से समझने के लिए कुछ समय देना चाहता हूं ताकि एल्गोरिदमिक्स और कम्प्यूटेशनल जटिलता के क्षेत्र में गहराई से गोता लगा सकूं।

कोई सुझाव?

उत्तर

26

ऐसा लगता है कि आप सभ्य गणित कौशल है - आप यांत्रिकी और हो सकता है कि आपने क्या सीखा पीछे अंतर्ज्ञान का एक छोटा सा समझते हैं - लेकिन आप अच्छा समस्या को सुलझाने पर एक छोटे से कम कर रहे हैं कि कौशल, खासकर जब से आप कहते हैं "मैं केवल वास्तव में उन समस्याओं को हल करने के बारे में जानता हूं जो मैंने पहले [पहले सामना किया था]"।

इसे ठीक करने के लिए, मैं Project Euler पर एक नज़र डालेगा। इन समस्याओं को हल करने के लिए निश्चित रूप से कोई निर्धारित तरीका नहीं है, और उन्हें सफलतापूर्वक प्रत्येक से निपटने के लिए कई ज्ञान क्षेत्रों के संश्लेषण की आवश्यकता होती है। आपके पास केक होगा और इसे भी खाएगा - एक बेहतर प्रोग्रामर/गणितज्ञ और एक बेहतर सामान्य समस्या-सॉल्वर बनकर, एक विशेष समस्या के खिलाफ कई चीजें सहन करने के तरीके को देखकर। और आपको गहन अंतर्दृष्टि मिल जाएगी कि चीजें जो पूरी तरह अलग दिखती हैं वास्तव में एक एकीकृत पूरे में एक साथ फिट हो सकती हैं। (यह विशेष रूप से गणित के कई क्षेत्रों के बारे में सच है।)

अंत में, आपके शिल्प के बेहतर व्यवसायी बनने की आपकी इच्छा के लिए आपको धन्यवाद! यदि हर कोई महत्वाकांक्षा के समान स्तर को प्रदर्शित करता है, तो मैं यह सोचने में मदद नहीं कर सकता कि सामान्य रूप से सॉफ्टवेयर बहुत बेहतर होगा।

+0

+1। मैं थोड़ी देर के लिए ऐसा कुछ ढूंढ रहा हूं। –

0

मुझे लगता है कि यह निर्भर करता है। एक पुस्तक जिसे मैंने पढ़ने का आनंद लिया है - जो गणित के पुनरीक्षण के साथ शुरू होता है - मैट बकलैंड की Programming Game AI by Example है।

एक त्वरित Google ने this book का उत्पादन किया, लेकिन फिर यह इस बात पर निर्भर करता है कि आप किस प्रकार के प्रोग्रामिंग कर रहे हैं या करने पर योजना बना रहे हैं।

मुझे व्यक्तिगत रूप से नहीं लगता कि आप भौतिकी और बीजगणितीय गणित की अच्छी समझ के साथ गलत हो सकते हैं।

2
  1. अभ्यास अभ्यास अभ्यास
  2. उपयोग ट्यूशन सेवाओं है कि ज्यादातर विश्वविद्यालयों में आम तौर पर उपलब्ध हैं (यह आमतौर पर मुक्त करने और अपने शिक्षण पैसे का उपयोग कर के लिए भुगतान किया हो जाएगा)।
0

मुझे धीरे-धीरे छात्र दिवसों की याद दिलाता है। मैंने जल्दी से सीखा कि गणितीय समस्या उत्पन्न करना और विश्लेषणात्मक रूप से समस्या को हल करने के लिए संख्यात्मक या मोंटे कार्लो समाधान ढूंढना आसान था (यानी कंप्यूटरलेस गणित प्रोफेसर ब्लैकबोर्ड पर होगा)। यह संख्यात्मक समस्याओं के लिए काम करता है और आमतौर पर गणितीय अर्थशास्त्र परीक्षा उत्तीर्ण करने में आपकी सहायता नहीं करेगा।

कंप्यूटर पर गणित करने का दूसरा तरीका गणित या इसी तरह का उपयोग करना है, लेकिन इससे कई गणित की समस्याएं हल हो जाती हैं ताकि आप वास्तव में कुछ भी सीख सकें। हाथ से मनमाने ढंग से जटिल कार्यों का एकीकरण रॉकेट विज्ञान है। गणित में मनमाने ढंग से कार्यों (विश्लेषणात्मक रूप से!) का एकीकरण कैल्क का उपयोग करने से कहीं अधिक कठिन नहीं है।exe

मैं अनुशंसा करता हूं कि आप पहिया का पुन: आविष्कार करें और अपनी पसंद की घुंघराले ब्रेस भाषा में एक खुली स्रोत, स्वयं निहित लाइब्रेरी लिखने की अनुशंसा करते हैं, जिसका उद्देश्य आपकी गणित की पसंदीदा शाखा है, चाहे वह प्राइम या रैखिक प्रोग्रामिंग हो। मैथ एपीआई लाइब्रेरी काले बक्से लिखने के लिए शैतानी रूप से कड़ी मेहनत के लिए मशहूर हैं कि कोई भी फिर से स्पर्श करने में सक्षम नहीं होगा। एक उदाहरण एक्सेल में आंकड़े प्लग है, जो ऐसा नहीं लगता है कि दशकों में किसी ने भी सुधार किया है। गणित पुस्तकालय कौन लिखता है एक टन सीखेंगे।

1

मैं इन क्षेत्रों के साथ जाना होगा चाहते हैं:

असतत गणित, रेखीय बीजगणित, कॉम्बीनेटॉरिक्स, संभावना और सांख्यिकी, ग्राफ़ थ्योरी, गणितीय तर्क।

इससे आपको सीएस के अधिकांश क्षेत्रों में पकड़ मिल जाएगी। आप विशेष क्षेत्र में जाने के लिए चाहते हैं, आप विशेष रूप से कुछ क्षेत्रों में गोता लगाने के लिए है:

Computer graphics -> Linear Algebra 
Gaming -> Linear Algebra, Physics 
Computer Linguistics -> Statistics, Graph Theory 
AI -> Statistics, Stochastics, Logic, Graph Theory 

आप निश्चित रूप से इन प्रविष्टियों पाया है जाएगा: blogs to freshen up my math in practice और math programming and learning। उनके पास कुछ सलाह होगी।

अन्यथा जो रैखिक बीजगणित और तर्क पर स्वयं को कुछ अच्छी मूलभूत किताबें प्राप्त करते हैं। सेडगेविक में बुनियादी गणित अवधारणाओं के साथ एल्गोरिदम पर कुछ अच्छी किताबें हैं। जॉन विन्स में match concepts for computer graphics पर एक है।

0

गोटो www.projecteuler.net वेबसाइट। आपको चुनौतीपूर्ण समस्याएं मिलेंगी। उन्हें हल करने का प्रयास करें और आपको एक दिन अपने आप पर गर्व होगा। अच्छी किस्मत

8

आखिरकार, आपको "सैडल में कुछ समय बिताएं" और कुछ ब्याज लेने की आवश्यकता है और फिर इसका उपयोग कैसे करें सीखें। मुझे गेम प्रोग्रामिंग गणित में दिलचस्पी थी और इस विषय पर नई राइडर्स पुस्तक उठाई - इस समय नाम याद नहीं है। इसमें अवधारणाएं और अभ्यास थे और जैसे ही मैंने प्रगति की, मुझे लगा कि न केवल अवधारणाओं और सिद्धांतों को समझता हूं बल्कि इसे अभ्यास में कैसे रखा जाता है।

आप इनमें से कुछ संबंधित प्रश्नों को देख सकते हैं। वहाँ कुछ अच्छे जवाब हैं। वे सभी आपके मामले में लागू नहीं हो सकते हैं, लेकिन कुछ होंगे।

How can I learn the math necessary for working with computer vision?

How to learn mathematical notation?

https://stackoverflow.com/questions/651865/basic-math-book-for-a-programmer

Learning Applied Statistics with a focus on R

https://stackoverflow.com/questions/568899/user-friendly-math-textbooks

https://stackoverflow.com/questions/509488/recommendations-for-discrete-math-resources

https://stackoverflow.com/questions/488502/best-language-to-program-some-math-free-fast-easy-cool-etc

Learning game programming (part 2) (math)

Math Resources for C/C++ Programmers

https://stackoverflow.com/questions/420500/helpful-math-classes-for-programmers

Math, programming, and learning

1

को लागू करें। बहुत।

कैलकुंस और रैखिक बीजगणित जाने का एक बुरा तरीका है। संख्यात्मक तरीके आपकी मदद करेंगे (उन्हें कंप्यूटरों में लागू किया गया था), क्योंकि यदि आप उन्हें लागू कर सकते हैं, तो आप कुछ प्रयासों से गणित से संबंधित कुछ भी लागू कर सकते हैं।

यहां कुछ विषय हैं जिन्हें मैं आपको ढूंढना शुरू करने की सलाह देता हूं। मैंने कम से कम एक तरह का एक प्रकार लागू किया है और उन्होंने मुझे न केवल गणित को समझने में मदद की, बल्कि वास्तव में कुछ कठिन गणित की समस्याओं को कैसे प्रोग्राम किया जाए।

रूट खोज। रैखिक प्रणालियों और अन्य मैट्रिक्स हेरफेर को हल करना (जैसे ल्यू अपघटन और कुशल निर्धारक एल्गोरिदम)। गैर रेखीय प्रणालियों को हल करना। कम वर्ग विधि (निरंतर और अलग)। इंटरपोलेशन (लैग्रेज बहुसंख्यक, और सरल मैट्रिक्स इंटरपोलेशन।) संख्यात्मक एकीकरण (मुझे लगता है कि यह एक सबसे आसान है ... न्यूटन-कोट्स, चेबिशहेव-गॉस, गॉस-लागुरेरे, आदि) संख्यात्मक सामान्य अंतर समीकरण (रनगेकुट्टा और multistep विधि)

अब, कुछ गैर संख्यात्मक विषयों:

ऑपरेशनल रिसर्च/रैखिक प्रोग्रामिंग/अनुकूलन: मैट्रिक्स अंकन के साथ सिंप्लेक्स के साथ शुरू (मैं व्यक्तिगत रूप से इस परिसर कहते हैं), फिर एक BranchAndBound और रोमांच गतिशील प्रोग्रामिंग yourselfinto कोशिश ..

संख्या सिद्धांत में कुछ interes हैं टिंग अनुप्रयोग, विशेष रूप से सुरक्षा और क्रिप्टोग्राफी

स्वयं एक वेक्टर 3 डी कक्षा लागू करें।

इसके अलावा, सबसे कम पथ एल्गोरिदम और खोजों सहित ग्राफ के साथ मज़े करें। मैं इसे सबसे महत्वपूर्ण डेटा संरचना मानता हूं।

यदि आप अपने लिए चुनौती चाहते हैं, तो अनुकूलन में गहरी खुदाई करें: क्यूई थ्योरी। निर्णय लेना। चींटी कॉलोनी अनुकूलन।

मुझे आशा है कि मैंने आपकी कुछ अंतर्दृष्टि दी है और आपको डरा नहीं दिया! :)

+0

मुझे लगता है कि यह वास्तव में सभ्य उत्तर है और -1 योग्य नहीं है, हालांकि इसे छोटा किया जा सकता है। गणना के माध्यम से गणितीय समस्याओं को हल करने का तरीका सीखना आपको समस्या में बहुत अंतर्दृष्टि दे सकता है। कंप्यूटिंग अंतर्दृष्टि के बारे में है, संख्या नहीं। – temp2290

1

अभ्यास, अभ्यास और अभ्यास जवाब है।मेरे बच्चे को गणित के साथ एक समस्या थी और मैं इस समस्या को दूर करने में सक्षम था कि वह लगभग 30 मिनट के लिए लगभग हर दिन गणित का अभ्यास करता है, जो कि वह Wii गेम खेलने के आधे से भी कम समय से कम है। यह अभ्यास www.ourflashcards.com से इस टूल के साथ पूरा किया गया था। मैं उपकरण के लिए विज्ञापन नहीं कर रहा हूं और मैं वादा करता हूं कि आप इसके बारे में उसी तरह महसूस करेंगे। ProjectEuler लिंक के लिए

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