ASP Timetable
1.0.0
ASP 시간표는 인공 지능 과정의 응답 세트 프로그래밍 및 Clingo 해결사를 사용하여 선언적 방식으로 구현된 시간표 작성 응용 프로그램입니다. 시간표 작성은 많은 제약 조건이 포함된 고전적인 AI 문제로 간주되며, 이 프로그램은 시간표 생성과 관련된 다양한 과제와 고려 사항을 다룹니다.
atoms.lp
에서 사용자 지정)src
폴더에 CD를 넣습니다. git clone https://github.com/Adamouization/ASP-Timetable
cd ASP-Timetable/src/
Clingo
사용하여 응답 세트를 생성하고 데이터를 구문 분석하고 GUI를 생성하는 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 출력을 Python 스크립트로 파이프합니다.python Timetable.py
Python 스크립트를 실행하여 JSON 출력을 구문 분석하고 최적 답변의 데이터로 Tkinter GUI를 생성합니다.ASP에서 타임테이블이 생성되고 Python에서 GUI가 시작될 때까지 기다립니다.
Tkinter GUI 없이 clingo를 사용하여 답변 세트를 생성하려는 경우:
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/.lp --outf=2 | python Timetable.py
웹 브라우저에서 LANA 문서(SeaLion Eclipse 확장을 사용하여 생성됨)를 볼 수 있습니다. 이렇게 하려면 documentation
폴더로 이동하여 웹 브라우저에서 index.html
파일을 엽니다.