An encode-decoder enabled RNN that can generate improved runtime code. The RNN will be trained on number of coding samples from www.hackerrank.com and www.leetcode.com and then later will be tested as...

An encode-decoder enabled RNN that can generate improved runtime code. The RNN will be trained on number of coding samples from www.hackerrank.com and www.leetcode.com and then later will be tested as well. Figure 1: An algorithm optimizer concept. The project can be divided into three parts. 1. Data collection: Computer programs that can be solved both in polynomial time (e.g. O(Nk )) and linear time (e.g. O(N)) can be collected from the coding sites as www.hackerrank.com or www.leetcode.com. These program files can be stored into different folders where the input folder stores the polynomial time coding sample and the output folder will store the corresponding linear time coding sample. 2. RNN model training: The RNN model can be trained on the 80% of the stored datasets. The RNN model with encoder-decoder (https://machinelearningmastery.com/developencoder-decoder-model-sequence-sequence-prediction-keras/) or seq2seq (https://machinelearningmastery.com/define-encoder-decoder-sequence-sequence-modelneural-machine-translation-keras/ ) feature needs to be applied for better performance. 3. Testing: The above two steps can be tested, integrated for final analysis.


Algorithmic runtime complexity improvement by the recurrent neural network. Project Supervisor: Mahbubur Rahman, PhD Assistant Professor Department of Computer Science North American University 11929 W Airport Blvd Stafford, TX 77477 www.na.edu Email: [email protected] Phone: (832)-230- 5079 An encode-decoder enabled RNN that can generate improved runtime code. The RNN will be trained on number of coding samples from www.hackerrank.com and www.leetcode.com and then later will be tested as well. Figure 1: An algorithm optimizer concept. http://www.na.edu/ mailto:[email protected] http://www.hackerrank.com/ http://www.leetcode.com/ The project can be divided into three parts. 1. Data collection: Computer programs that can be solved both in polynomial time (e.g. O(Nk)) and linear time (e.g. O(N)) can be collected from the coding sites as www.hackerrank.com or www.leetcode.com. These program files can be stored into different folders where the input folder stores the polynomial time coding sample and the output folder will store the corresponding linear time coding sample. 2. RNN model training: The RNN model can be trained on the 80% of the stored datasets. The RNN model with encoder-decoder (https://machinelearningmastery.com/develop- encoder-decoder-model-sequence-sequence-prediction-keras/) or seq2seq (https://machinelearningmastery.com/define-encoder-decoder-sequence-sequence-model- neural-machine-translation-keras/ ) feature needs to be applied for better performance. 3. Testing: The above two steps can be tested, integrated for final analysis. Fig1. The overall workflow of the project Input: O(N2) coding samples. Recurrent Neural Network will learn and convert the O(N2) code into O(N) using encoder- decoder, seq2seq modeling. Output: O(N) coding samples. http://www.hackerrank.com/ http://www.leetcode.com/ https://machinelearningmastery.com/develop-encoder-decoder-model-sequence-sequence-prediction-keras/ https://machinelearningmastery.com/develop-encoder-decoder-model-sequence-sequence-prediction-keras/ https://machinelearningmastery.com/define-encoder-decoder-sequence-sequence-model-neural-machine-translation-keras/ https://machinelearningmastery.com/define-encoder-decoder-sequence-sequence-model-neural-machine-translation-keras/ This is a very exciting project. RNN has been used in the language translation domain. Why not in the coding translation? Interested students can continue working in this project for their final capstone project. Software Engineering Goals: 1. Analyze the requirements 2. Design UML, Sequence Diagram, Class Diagram after fixing the requirements. 3. Design a prototype from step 2. Algorithm Design Goals: 1. Analyze the codes that can be improved from the polynomial time complexity to linear time complexity. 2. Implement the prototype of the RNN modeling (e.g. Fig .1) following the software engineering goal. Future Application of this system 1. Algorithm optimization options can be integrated with the IDEs (e.g. visual studio, jetbrains etc. Fig 2). Figure 2. Algorithm optimization can be integrated with the IDE. 2. Cloud application can be built and it can optimize the billions of coding samples in the cloud (e.g. github). 3. Educational, learning tools can be designed and developed on top of this system. Figure 3. Algorithm optimizer can be integrated with the compiler optimization to enhance overall computing time.
Oct 16, 2021
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here