» »

Prolog

Prolog

Robocop1 ::

Pozdravljeni!

Potrebujem malce pomoči pri pisanju programa (seminarske naloge) v prologu.

Podanih imam več predikatov, vsak od njih sprejme 2 argumenta: število (0 - 9) in seznam števil, ki to število predstavljajo.
Na primer: code('0',[1,2,3,6,7,10,11,14,15,16]). To je le eden od predikatov.

Potem pa imam spet več predikatov, ki povedo za katero število gre, na primer: show([1,4,6,15,16]).

Pokazati bi moral torej število (izmed predikatov code), katerega seznam števil je najbolj podoben predikatu show. Izmeriti moram torej razlike - katere cifre so v nekem predikatu, pa jih v drugem ni, in obratno.

Blazzz ::

iz wikipedie

Dynamic programming

The following Prolog program uses dynamic programming to find the longest common subsequence of two lists in polynomial time. The clause database is used for memoization:

:- dynamic(stored/1).

memo(Goal) :- ( stored(Goal) -> true ; Goal, assertz(stored(Goal)) ).

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 ).

Example query:

?- lcs([x,m,j,y,a,u,z], [m,z,j,a,w,x,u], Ls).
Ls = [m, j, a, u]

tx-z ::

Da ne odpiram nove teme; a lahko kdo razloži tole stvar, mamo neko križanko,
 Križanka

Križanka


ki jo v prologu zapišemo kot:
crosswd(V1,V2,V3,H1,H2,H3) :-
        word(V1,_,V12,_,V14,_,V16,_),
        word(V2,_,V22,_,V24,_,V26,_),
        word(V3,_,V32,_,V34,_,V36,_),
        word(H1,_,V12,_,V22,_,V32,_),
        word(H2,_,V14,_,V24,_,V34,_),
        word(H3,_,V16,_,V26,_,V36,_).

Ampak ne razumem zakaj je to tko kakor je(najbrž se da tut na kšn drug način)...A lahko kdo razloži?
tx-z

Zgodovina sprememb…

  • spremenilo: tx-z ()

Genetic ::

Besede V1,V2,V3,H1,H2,H3 resijo krizanko ce:
- je druga crka besede V1 (V12) enaka drugi crki besede H1 (V12);
...

- z word(W,C1,C2,C3,...) razbijes besedo W na znake C1,C2,... in te znake poimenujes (ce je _, te znak ne zanima);
- kjer se besede krizajo, morata imeti enak znak

tx-z ::

Ajaaa, najprej je cela beseda, pol pa vsaka črka posebi. Jst sm pa mislu da je V1 že prva črka in mi je blo čudn zakaj je prva pomembna, druga pa ne; k druga je v bistvu šele prva:D No, hvala ;)
tx-z


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Najprimernejša banka/kartica za dvigovanje s PayPal-a

Oddelek: Kaj kupiti
132101 (1912) Batash
»

Excel - seštevanje vrednosti brez upoštevanja besedila

Oddelek: Pomoč in nasveti
227735 (7380) arnecan1
»

Konfiguracija i7, prosim za nasvete čimprej

Oddelek: Kaj kupiti
322970 (1253) 1metek
»

Esej

Oddelek: Šola
84846 (4670) OwcA

Več podobnih tem