From de7b441fe4ebd88fc19abbd6542cb8129f735ced Mon Sep 17 00:00:00 2001 From: Aleksander Sadikov Date: Sun, 22 May 2016 20:37:28 +0200 Subject: Denotational semantics, part #1: tests and translations added. --- .../denotational_semantics/prog_8puzzle_3/sl.py | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 prolog/problems/denotational_semantics/prog_8puzzle_3/sl.py (limited to 'prolog/problems/denotational_semantics/prog_8puzzle_3/sl.py') diff --git a/prolog/problems/denotational_semantics/prog_8puzzle_3/sl.py b/prolog/problems/denotational_semantics/prog_8puzzle_3/sl.py new file mode 100644 index 0000000..63744f9 --- /dev/null +++ b/prolog/problems/denotational_semantics/prog_8puzzle_3/sl.py @@ -0,0 +1,35 @@ +name = 'prog_8puzzle/3' +slug = 'jezik za reševanje igre Osem s pomenom' + +description = '''\ +

+Napiši DCG za jezik igre Osem (angl. 8-puzzle). Sintaksa tega jezika naj bo enaka kot v prejšnji nalogi. +Prvi simbol vsake besede je simbol [begin], temu pa sledi poljubno zaporedje "ukazov" iz nabora +{left, right, up down}, na koncu pa je simbol +[end]. Začetni nekončni simbol naj se imenuje prog_8puzzle. +

+ +

+Pomen besede (programa) v tem jeziku ima obliko In-->Out in pomeni preslikavo +med vhodnim seznamom In in izhodnim seznamom Out. Stanje je seznam (permutiran) +števil od 0 do 8, kjer 0 pomeni prazno polje, ostala števila pa pomenijo oznako ustrezne ploščice. Prva +tri števila v seznamu predstavljajo prvo vrstico stanja igre Osem, naslednja tri srednjo vrstico in zadnja +tri spodnjo vrstico. Pomen ukazov left, right, up in down +je "premik" praznega polja v ustrezni smeri. +

+ +
+?- prog_8puzzle([0,1,2,3,4,5,6,7,8]-->Out, [begin,down,right,end], []).
+  Out = [3,1,2,4,0,5,6,7,8].
+
+ +

+Pomožni predikati (že definirani): +

+ +''' + +hint = {} -- cgit v1.2.1