Symphony 1.0
|
Symphony (System for Yielding Multi-dimensional Problem Heuristic Optimization and Navigation) is a C++ project focused on implementing search algorithms for rational agent problems.
It provides a flexible, extensible framework for defining states, actions, and search strategies, along with example problems and test cases to ensure correctness and performance.
The inspiration for this project is drawn from a university course on Artificial Intelligence, where students learn about rational agents, search algorithms, and problem-solving techniques. By providing a structured, modular codebase, Symphony aims to help students and enthusiasts understand and experiment with these concepts in a practical, hands-on way.
To get started with Symphony, follow these steps:
g++
>= 10 or clang++
>= 12).gtest
and gtest_main
libraries are installed on your system, or use the provided configuration if you have them in your environment.Configure and Build:
After building, the executables will be located in the build directory:
Problem
and State
, defining domain-specific logic, actions, and heuristics.Search
with new search strategies (e.g., DepthFirstSearch
, UniformCostSearch
, AStarSearch
) and integrate them into the problem-solving pipeline.Contributions are welcome! If you find issues or want to add features, feel free to:
git checkout -b feature/my-feature
))
Push the branch (
git push origin feature/my-feature`)Symphony is designed to be a springboard for further exploration into rational agents, search algorithms, and AI problem-solving techniques. With its clean architecture and example-driven approach, you can quickly adapt and extend it for your own research or educational projects.