diff --git a/(Re)configuration using Answer Set Programming.pdf b/(Re)configuration using Answer Set Programming.pdf new file mode 100644 index 0000000..f3888dc Binary files /dev/null and b/(Re)configuration using Answer Set Programming.pdf differ diff --git a/Knowledge-based (re)configuration of complex products and services.pdf b/Knowledge-based (re)configuration of complex products and services.pdf new file mode 100644 index 0000000..c6d7195 Binary files /dev/null and b/Knowledge-based (re)configuration of complex products and services.pdf differ diff --git a/Milestone - 1.docx b/Milestone - 1.docx new file mode 100644 index 0000000..a6d9770 Binary files /dev/null and b/Milestone - 1.docx differ diff --git a/Milestone - 1.pdf b/Milestone - 1.pdf new file mode 100644 index 0000000..b05ed34 Binary files /dev/null and b/Milestone - 1.pdf differ diff --git a/draft_hcp.asp b/draft_hcp.asp new file mode 100644 index 0000000..f7c1f6c --- /dev/null +++ b/draft_hcp.asp @@ -0,0 +1,25 @@ +% each thing must be placed in exactly one cabinet +1 { cabinetTOthing(C, T) : cabinetDomain(C) } 1 :- thing(T). + +% no cabinet should contain more than 5 things +:- 6 {cabinetTOthing(C, T) : thing(T)}, cabinetDomain(C). + +% each cabinet must be placed in exactly one room +1 { roomTOcabinet(R, C) : room(R) } 1 :- cabinetDomain(C). + +% a room can hold at most 4 cabinets +:- 5 {roomTOcabinet(R, C) : cabinetDomain(C)}, room(R). + +% only one owner per room +personTOroom(P, R) :- personTOthing(P, T), cabinetTOthing(C, T), roomTOcabinet(R, C). + +% one room per person +:- personTOroom(P1, R), personTOroom(P2, R), P1 != P2. + +% things of one person cannot be placed in a cabinet together with things of another person +:- cabinetTOthing(X,Y1), cabinetTOthing(X,Y2), personTOthing(P1,Y1), personTOthing(P2,Y2), P1!= P2. + +#show cabinetTOthing/2. +#show roomTOcabinet/2. +#show cabinet/1. +#show room/1.