Stranica 1 od 1

Poslato: 12 Nov 2010, 08:16
od Mars
Imate AI u srednjoj?

Poslato: 12 Nov 2010, 08:24
od Anhedonie
:yes:

Prvo polugodje radimo prolog, posle cemo (na zahtev nas, ucenika) uglavnom da se zadrzimo na neuronskim mrezama.

Poslato: 12 Nov 2010, 08:30
od Mars
Iznađen sam.

Jel prolog beše ovako ide...

sum(1,1)!
sum(N,S):- N1 is N-1,
sum(N1,S1),
S is S1+N!

Poslato: 12 Nov 2010, 16:49
od Anhedonie
Originally posted by Mars

Iznađen sam.

Jel prolog beše ovako ide...

sum(1,1)!
sum(N,S):- N1 is N-1,
sum(N1,S1),
S is S1+N!
:klap:

sa tackom na kraju recenice, ne uzvicnikom (a mozda moze i uzvicnik, nisam probao)

Poslato: 12 Nov 2010, 17:12
od Mars
Originally posted by Vetur úlfur

sa tackom na kraju recenice, ne uzvicnikom (a mozda moze i uzvicnik, nisam probao)
Tačka na kraju prvog reda, da...Ali negde mora i uzvičnik (cut predikat)...mislio sam da je posle te rekurzije.

Još samo nešto: onaj nazovi tekstualni deo, p, q, r, izvodjenja i dokazivanja ona...kako se to beše zove u AI?

Poslato: 12 Nov 2010, 17:38
od Anhedonie
Originally posted by Mars
Originally posted by Vetur úlfur

sa tackom na kraju recenice, ne uzvicnikom (a mozda moze i uzvicnik, nisam probao)
Tačka na kraju prvog reda, da...Ali negde mora i uzvičnik (cut predikat)...mislio sam da je posle te rekurzije.

Još samo nešto: onaj nazovi tekstualni deo, p, q, r, izvodjenja i dokazivanja ona...kako se to beše zove u AI?
sigurno znam da ne mora ni posle rekurzije, jer mi radimo sa tackom.

PRENEX normalna forma? :B

Poslato: 12 Nov 2010, 17:47
od Mars
Nije to.

Ono kad imaš recimo dva objekta, jedan na drugom...pa da logički nateraš robota da ih prebaci sa mesta A na mesto B.

Poslato: 12 Nov 2010, 18:03
od Mars
Originally posted by Vetur úlfur

sigurno znam da ne mora ni posle rekurzije, jer mi radimo sa tackom.
U stvari...cut, kao što mu ime kaže - treba iza uslova za kraj rekurzije, ono gde se staje po dubini...

lcs([], _, []) :- !.
lcs(_, [], []) :- !.
lcs([X|Xs], [X|Ys], [X|Ls]) :- !, memo(lcs(Xs, Ys, Ls)).
lcs([X|Xs], [Y|Ys], Ls) :-
memo(lcs([X|Xs], Ys, Ls1)), memo(lcs(Xs, [Y|Ys], Ls2)),
length(Ls1, L1), length(Ls2, L2),
( L1 >= L2 -> Ls = Ls1 ; Ls = Ls2 )

...ili problem Hanojskih kula, isto našao na netu

class hanoi
predicates
hanoi : (unsigned N).
end class hanoi

implement hanoi
domains
pole = string.

clauses
hanoi(N) :- move(N, "left", "centre", "right").

class predicates
move : (unsigned N, pole A, pole B, pole C).
clauses
move(0, _, _, _) :- !.
move(N, A, B, C) :-
move(N-1, A, C, B),
stdio::writef("move a disc from % pole to the % pole\n", A, C),
move(N-1, B, A, C).
end implement hanoi

goal
console::init(),
hanoi::hanoi(4).