ASP Timetable — это приложение для составления расписания, реализованное декларативным образом с использованием программирования наборов ответов и решателя Clingo из моего курса по искусственному интеллекту. Составление расписания считается классической проблемой ИИ, включающей множество ограничений, и эта программа решает различные проблемы и соображения, связанные с составлением расписаний.
atoms.lp )

src проекта. git clone https://github.com/Adamouization/ASP-Timetable
cd ASP-Timetable/src/
Сгенерируйте набор ответов с помощью Clingo и передайте выходные данные в скрипт Python, который проанализирует данные и сгенерирует графический интерфейс: clingo -n 0 asp/timetable.lp asp/atoms.lp --outf=2 | python Timetable.py где:
clingo — это команда, используемая для запуска генерации набора ответов с использованием указанных файлов AnsProlog.timetable.lp содержит генераторы, правила, ограничения и параметры отображения для создания оптимального расписания.atoms.lp содержит все атомы, такие как курсы, лекторы, комнаты и т. д.--outf=2 выводит сгенерированный набор ответов в формате JSON.| передает вывод JSON в скрипт Pythonpython Timetable.py запускает сценарий Python для анализа вывода JSON и создания графического интерфейса Tkinter с данными оптимального ответа.Подождите, пока расписание будет создано в ASP и графический интерфейс будет запущен на Python.
Если вы просто хотите просто сгенерировать набор ответов с помощью clingo без графического интерфейса Tkinter:
clingo -n 0 asp/timetable.lp asp/atoms.lp
Если вы просто хотите запустить тестовые примеры, перед использованием этой команды убедитесь, что вы находитесь в папке «src», и замените тестовым примером в каталоге ASP-Timetable/src/asp/test_cases :
clingo -n 0 asp/timetable.lp asp/test_cases/<test-file>.lp --outf=2 | python Timetable.py
Вы можете просмотреть документацию LANA в своем веб-браузере (созданную с использованием расширения SeaLion Eclipse). Для этого перейдите в папку documentation и откройте файл index.html в веб-браузере.