Skip to content

Latest commit

 

History

History
34 lines (26 loc) · 2.6 KB

README.md

File metadata and controls

34 lines (26 loc) · 2.6 KB

Memory Management Chatbot

This is the project for the third course in the Udacity C++ Nanodegree Program: Memory Management.

The ChatBot code creates a dialogue where users can ask questions about some aspects of memory management in C++. After the knowledge base of the chatbot has been loaded from a text file, a knowledge graph representation is created in computer memory, where chatbot answers represent the graph nodes and user queries represent the graph edges. After a user query has been sent to the chatbot, the Levenshtein distance is used to identify the most probable answer. The code was fully functional and used raw pointers to represent the knowledge graph and interconnections between objects throughout the project.

In this project we analysed and modified the program. Although the program was runnable and worked as intended, no advanced or morden concepts had been used; there were no smart pointers, no move semantics and not much thought has been given to ownership or memory allocation.

The goal here was to use the course knowledge to optimise the ChatBot program from a memory management perspective.

Dependencies for Running Locally

Build Instructions

  1. Clone this repo.
  2. Make a build directory in the top level directory: mkdir build && cd build
  3. Compile: cmake .. && make
  4. Run it: ./membot.