T-79.194 Tenhusen kotitehtävien tulokset, mallivastaukset ja hieman arvosteluperusteista. 1) Annoin tehtävästä joko 0, 1/2 tai 1 pistettä. Tyypillisiä 1/2 pisteen virheitä olivat c-kohdan puuttuminen tai se, että a-kohdan johto ei ollut stabiloituva, vaikkakin oli epäonnistunut. Tehtävään ei luonnollisestikaan ollut yhtä ainoaa oikeata vastausta. Alla kuitenkin esimerkkivastaukset. a) Seuraava esimerkki perustuu Emil Falckin vastaukseen. Valitaan sääntöjoukoksi EQUALITY ja DISEQUALITY. Rajoitteissa esiintyvä merkintä w = 2 vastaa merkintää w \in {2}, missä \in puolestaan tarkoittaa 'kuuluu joukkoon'. < x != y, y != z, z = u, x != u ; x,y \in {1,2}, z \in {2,3,4}, u = 2 > disequality x != u < x != y, y != z, z = u ; x = 1, y \in {1,2}, z \in {2,3,4}, u = 2 > equality z = u < x != y, y != z ; x = 1, y \in {1,2}, z = 2, u = 2 > disequality y != z < x != y ; x = 1, y = 1, z = 2, u = 2 > disequality x != y < ; x \in {}, y = 1, z = 2, u = 2 > x:n domain on tyhjä joukko, joten kyseessä on epäonnistunut johto. Rajoitteiden joukko on tyhjä, joten viimeinen CSP on suljettu valitun sääntöjoukon suhteen -> kyseessä on stabiloituva johto. b) Seuraava esimerkki perustuu Leena Salmelan vastaukseen. Valitaan sääntöjoukoksi linear LIN.-INEQUALITY ja EQUALITY < x = u, x < y, x > z ; u,y \in {0,1,2}, x \in {0,...,5}, z \in {0,1} > equality x = u < x = u, x < y, x > z ; u,y,x \in {0,1,2}, z \in {0,1} > lin.inequality x < y < x = u, x < y, x > z ; u \in {0,1,2}, x,z \in {0,1}, y \in {1,2} > lin.inequality x > z < x = u, x < y, x > z ; u \in {0,1,2}, x=1, y \in {1,2}, z=0 > equality x = u < x < y, x > z ; u=1, x=1, y \in {1,2}, z=0 > lin.inequality x < y < x < y, x > z ; u=1, x=1, y=2, z=0 > c) Seuraava esimerkki perustuu Emilia Oikarisen vastaukseen. Johdossa käytetään ainoastaan LIN.-INEQUALITY sääntöä. Merkintä 'inf' tarkoittaa ääretöntä. < x < y, y < x ; x \in [0,inf[ y \in [1,inf[ > lin.inequality y < x < x < y, y < x ; x \in [2,inf[ y \in [1,inf[ > lin.inequality x < y < x < y, y < x ; x \in [2,inf[ y \in [3,inf[ > lin.inequality y < x ... jatkossa sovelletaan lin.inequality sääntöä vuorotellen rajoitteisiin. 2) Tehtävässä oli kaksi kohtaa. Kummastakain kohdasta sain 0 tai 1/2 pistettä. Tehtävässä ei täsmällisesti mainittu, mitkä kirjamista olivat muuttujia ja mitkä funktioita. Kuitenkin jos oletti, että muuttujien joukko oli jotakin muuta, kuin {x,y,z}, niin tämä piti mainita vastauksessa. Ainoa useammin, kuin kerran esiintynyt virhe oli, että substituution korvauksen ajateltiin tehtäväksi jossakin tietyssä järjestyksessä, jolloin ensimmäisen sidonnan mahdollisesti esittelemiin uusiin muuttujiin sovellettiin toisen sidonnan mukaista korvausta. a) { f(g(x,a),z) = f(y,b) } decomposition { g(x,a) = y, z = b } transposition { y = g(x,a), z = b } mgu on siis {y/g(x,a), z/b} b) { f2(f1(g(x,a)),x) = f2(f1(y),b) } decomposition { f1(g(x,a)) = f1(y), x=b } substitution { f1(g(b,a)) = f1(y), x=b } decomposition { g(b,a)) = y, x=b } transpostition { y = g(b,a)), x=b } mgu on siis {x/b, y/g(b,a)}. Sääntöjä saattoi soveltaa myös jossakin toisessa järjestyksessä.