Jaccard index: Difference between revisions
Content added Content deleted
(→{{header|BQN}}: Use sum instead of count to get sizes) |
No edit summary |
||
Line 283: | Line 283: | ||
J(F,E) = 0 |
J(F,E) = 0 |
||
J(F,F) = 1 |
J(F,F) = 1 |
||
</pre> |
|||
=={{header|Prolog}}== |
|||
<lang prolog> |
|||
show([]). |
|||
show([X|Xs]):- write(X), show(Xs). |
|||
j(N,M,X):- M > 0 -> X is N/M; X is 1. |
|||
task:- L = [[], [1,2,3,4,5], [1,3,5,7,9], [2,4,6,8,10], [2,3,5,7], [8]], |
|||
member(A,L), member(B,L), |
|||
findall(X, (member(X,A), member(X,B)), I), length(I,N), |
|||
findall(X, (member(X,B), not(member(X,A))), T), append(A,T,U), length(U,M), |
|||
j(N,M,J), show(["A = ",A,", B = ",B", J = ",J]), nl, fail; true. |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
?- task. |
|||
A = [], B = [], J = 1 |
|||
A = [], B = [1,2,3,4,5], J = 0 |
|||
A = [], B = [1,3,5,7,9], J = 0 |
|||
A = [], B = [2,4,6,8,10], J = 0 |
|||
A = [], B = [2,3,5,7], J = 0 |
|||
A = [], B = [8], J = 0 |
|||
A = [1,2,3,4,5], B = [], J = 0 |
|||
A = [1,2,3,4,5], B = [1,2,3,4,5], J = 1 |
|||
A = [1,2,3,4,5], B = [1,3,5,7,9], J = 0.42857142857142855 |
|||
A = [1,2,3,4,5], B = [2,4,6,8,10], J = 0.25 |
|||
A = [1,2,3,4,5], B = [2,3,5,7], J = 0.5 |
|||
A = [1,2,3,4,5], B = [8], J = 0 |
|||
A = [1,3,5,7,9], B = [], J = 0 |
|||
A = [1,3,5,7,9], B = [1,2,3,4,5], J = 0.42857142857142855 |
|||
A = [1,3,5,7,9], B = [1,3,5,7,9], J = 1 |
|||
A = [1,3,5,7,9], B = [2,4,6,8,10], J = 0 |
|||
A = [1,3,5,7,9], B = [2,3,5,7], J = 0.5 |
|||
A = [1,3,5,7,9], B = [8], J = 0 |
|||
A = [2,4,6,8,10], B = [], J = 0 |
|||
A = [2,4,6,8,10], B = [1,2,3,4,5], J = 0.25 |
|||
A = [2,4,6,8,10], B = [1,3,5,7,9], J = 0 |
|||
A = [2,4,6,8,10], B = [2,4,6,8,10], J = 1 |
|||
A = [2,4,6,8,10], B = [2,3,5,7], J = 0.125 |
|||
A = [2,4,6,8,10], B = [8], J = 0.2 |
|||
A = [2,3,5,7], B = [], J = 0 |
|||
A = [2,3,5,7], B = [1,2,3,4,5], J = 0.5 |
|||
A = [2,3,5,7], B = [1,3,5,7,9], J = 0.5 |
|||
A = [2,3,5,7], B = [2,4,6,8,10], J = 0.125 |
|||
A = [2,3,5,7], B = [2,3,5,7], J = 1 |
|||
A = [2,3,5,7], B = [8], J = 0 |
|||
A = [8], B = [], J = 0 |
|||
A = [8], B = [1,2,3,4,5], J = 0 |
|||
A = [8], B = [1,3,5,7,9], J = 0 |
|||
A = [8], B = [2,4,6,8,10], J = 0.2 |
|||
A = [8], B = [2,3,5,7], J = 0 |
|||
A = [8], B = [8], J = 1 |
|||
true. |
|||
</pre> |
</pre> |
||