Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,20 @@
|
|||
test :-
|
||||
time(lcs("thisisatest", "testing123testing", Lcs)),
|
||||
writef('%s',[Lcs]).
|
||||
|
||||
|
||||
lcs([ H|L1],[ H|L2],[H|Lcs]) :- !,
|
||||
lcs(L1,L2,Lcs).
|
||||
|
||||
lcs([H1|L1],[H2|L2],Lcs):-
|
||||
lcs( L1 ,[H2|L2],Lcs1),
|
||||
lcs([H1|L1], L2 ,Lcs2),
|
||||
longest(Lcs1,Lcs2,Lcs),!.
|
||||
|
||||
lcs(_,_,[]).
|
||||
|
||||
|
||||
longest(L1,L2,Longest) :-
|
||||
length(L1,Length1),
|
||||
length(L2,Length2),
|
||||
((Length1 > Length2) -> Longest = L1; Longest = L2).
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
%declare that we will add lcs_db facts during runtime
|
||||
:- dynamic lcs_db/3.
|
||||
|
||||
test :-
|
||||
retractall(lcs_db(_,_,_)), %clear the database of known results
|
||||
time(lcs("thisisatest", "testing123testing", Lcs)),
|
||||
writef('%s',[Lcs]).
|
||||
|
||||
|
||||
% check if the result is known
|
||||
lcs(L1,L2,Lcs) :-
|
||||
lcs_db(L1,L2,Lcs),!.
|
||||
|
||||
lcs([ H|L1],[ H|L2],[H|Lcs]) :- !,
|
||||
lcs(L1,L2,Lcs).
|
||||
|
||||
lcs([H1|L1],[H2|L2],Lcs) :-
|
||||
lcs( L1 ,[H2|L2],Lcs1),
|
||||
lcs([H1|L1], L2 ,Lcs2),
|
||||
longest(Lcs1,Lcs2,Lcs),!,
|
||||
assert(lcs_db([H1|L1],[H2|L2],Lcs)).
|
||||
|
||||
lcs(_,_,[]).
|
||||
|
||||
|
||||
longest(L1,L2,Longest) :-
|
||||
length(L1,Length1),
|
||||
length(L2,Length2),
|
||||
((Length1 > Length2) -> Longest = L1; Longest = L2).
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
?- time(lcs("beginning-middle-ending","beginning-diddle-dum-ending", Lcs)),writef('%s', [Lcs]).
|
||||
% 10,875,184 inferences, 1.840 CPU in 1.996 seconds (92% CPU, 5910426 Lips)
|
||||
beginning-iddle-ending
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
?- time(lcs("beginning-middle-ending","beginning-diddle-dum-ending", Lcs)),writef('%s', [Lcs]).
|
||||
% 2,376 inferences, 0.010 CPU in 0.003 seconds (300% CPU, 237600 Lips)
|
||||
beginning-iddle-ending
|
||||
Loading…
Add table
Add a link
Reference in a new issue