Intelligent Problem Solver for Discrete Structures

Team Name

The Machine Team

Timeline

Fall 2018 – Spring 2019

Students

  • Anh Phuc Do
  • Brandon Carter
  • Mohammed Ali
  • Salvador Medina Nava
  • Faryal Farooq
  • Sajen Shrestha

 

Abstract

Online calculators have been on rise in the past few years. An online calculator for discrete mathematics is almost impossible to find. There are few online calculators that take up this challenge, but they have very limited functionality. This problem is mainly because discrete math problems have their own set of rules that apply only to that problem. We wrote a modified forward chaining algorithm on wolfram programming lab that can solve discrete mathematics problems. We also created a beautiful front-end using React and materials-UI framework. An application program interface (API) will be used to connect the back-end with the front-end. The problem that the user types will be put in proper format and sent to the back-end to be processed. The step-by-step solution is then returned that is displayed to the user.

Background

Up to now, there have been a bunch of education sites that assist students with their academic studies
such as Chegg, Khan Academy, Wolfram Alpha, and so on. However, all of them still have a limitation,
which is having real tutors supporting the students whenever they have a random question which is not
listed in any solution manual. Inevitably, this reality causes some disadvantages:

  • Increase in demand for tutors.
  • Difficulty validating the tutors’ experience.
  • Difficulty updating new knowledge with all that many tutors.

In order to lessen the number of online supports for students, there are two ways currently applied in
business:

  • Introducing the step-by-step solutions for predefined academic problems.
  • Applying fees for real tutors’ supports.

With this in mind, there exists an increasing need for a system that can automatically assist the student
without real tutors’ expertise. This situation motivates an application that is capable of:

  • Allowing the students to type in the prompt of a problem using a query language.
  • Generating a step-by-step solution for the problem without human intervention.

Project Requirements

  • The product shall have a Graphical User Interface for Users to interact with the display. The GUI will allow user to input Discrete Structure problem as text.
  • The product’s GUI shall have an Input Field for the user to define a problem. The input field shall take input in plain text.
  • The product shall deliver a step-by-step solution to the user defined valid Discrete Structure problem. The solution will be structured in the manner of Step 1, Step 2, Step 3 and so on.
  • The product shall allow a user to click a step on displayed solution, which will than cause the engine to retrieve information/topics/knowledge related to that step of solution and present it to the user.
  • There must be a web app hosted on some web server that the user can access through his/her web browser.
  • The software should take in the user input, process the information provided by the user and successfully give the step-by-step solution to every problem.

System Overview

According to the COKB model stated in the Chapter referenced by [1], the IPSE consists of the following
components:

  • Knowledge Base: contains the knowledge for solving problems in a specific knowledge domain. The knowledge may be concepts, objects, relations, operators, functions, facts, and rules.
  • Inference Engine: uses the knowledge stored in the Knowledge Base to solve problems, to search, or to answer the question query. It is the “brain” of the system and is used for generating new conclusions. In addition, the solutions generated by an IPSE have to be readable, thinkable, and writable for humans.
  • Explanation Component: supports the users by providing explanations of different phases or concepts mentioned in the generated solutions from the Inference Engine.
  • User Interface: is the means of communication between a user and the IPSE. An effective interface has to be able to accept the queries, instructions, or problems in a form that the user enters and translates them into the specification language that the system understands. It also has to be able to translate the answers, produced by the system, into a form that the user can understand

Results

We successfully created an interactive web application that can solve discrete mathematics problems.

Select Problem Topic

PropositionalLogic/Proof

BinaryRelations/Properties

Step-by-Step Solution

Explanation Component

 Future Work

Types of problem that can be solved through this web app should be expanded to user’s needs over time. This will help keep a constant flow of users for the website.

Project Files

Project Charter

System Requirements Specification

Architectural Design Specification

Detailed Design Specification

Poster

References

[1] Nhon Van Do (2012). Intelligent Problem Solvers in Education: Design Method and Applications, Intelligent Systems, Prof. Vladimir M. Koleshko (Ed.), ISBN: 978-953-51-0054-6, InTech, Available from: http://www.intechopen.com/books/intelligent-systems/intelligent-problem-solvers-in-education-design-methodand- applications

chenc4