This project is an expert system designed to help users explore and understand concepts in quantum computing and physics. It uses Experta for the inference engine and uses forward chaining search algorithms, making it adaptable to both general and targeted queries. The system displays conflict sets and resolution steps to help users gain insight into the reasoning process.
- Interactive User Interface: Built with Tkinter to enable easy interaction.
- Conflict Set and Resolution Display: Visualize the conflict set and selected rules for each query.
- Knowledge Base: Stores rules on quantum computing and physics, with the flexibility to expand for more complex concepts.
project_root/
├── knowledge_base.py # Knowledge base file defining rules about quantum computing and physics
├── main.py # Main code file containing the inference engine and UI setup
├── README.md # Project documentation
- Python 3.9
- Experta: Install using
pip install experta
- Tkinter: Comes pre-installed with most Python distributions.
-
Clone the repository:
git clone https://github.com/SandeepaDilshanAlagiyawanna/Quantum-Concept-Clarifier.git cd Quantum-Concept-Clarifier
-
Install dependencies:
pip install tk pip install experta
-
Run the program:
python main.py
- Launch the program by running
main.py
. - Enter a Query: Type in a question about quantum computing or physics (e.g., "quantum_superposition").
- Choose the Level: Select between Beginner, Intermediate or Advanced(leters dont need to be correct ;-]).
- View Results:
- See the system’s inference results and conflict set.
- Observe how the conflict resolution strategy works to select rules.
To expand the system, you can add more rules to knowledge_base.py
. Follow the syntax of existing rules for consistency. Pyke will process these additional rules when you run the program.
- Forward Chaining:
quantum_superposition
- Explores knowledge related to quantum uncertainty.
- Enhance the knowledge base with more complex rules and relationships.
- Implement additional conflict resolution strategies.
- Integrate user-defined priority levels for more customized conflict handling.
This project is licensed under the MIT License.