-
Notifications
You must be signed in to change notification settings - Fork 158
Open
Description
?- length(L,N), time(countall(setof(t,permutation(L,L),[t]),CntS)).
% CPU time: 0.000s, 285 inferences
L = [], N = 0, CntS = 1
; % CPU time: 0.000s, 377 inferences
L = [_A], N = 1, CntS = 1
; % CPU time: 0.000s, 466 inferences
L = [_A,_B], N = 2, CntS = 2
; % CPU time: 0.001s, 1_160 inferences
L = [_A,_B,_C], N = 3, CntS = 5
; % CPU time: 0.006s, 9_696 inferences
L = [_A,_B,_C,_D], N = 4, CntS = 15
; % CPU time: 0.079s, 164_374 inferences
L = [_A,_B,_C,_D,_E], N = 5, CntS = 52
; % CPU time: 1.849s, 3_998_725 inferences
L = [_A,_B,_C,_D,_E,_F], N = 6, CntS = 203
; % CPU time: 59.779s, 126_965_911 inferences
L = [_A,_B,_C,_D,_E,_F,_G], N = 7, CntS = 877
; ... .
The number of inferences should go up from one answer to the next by a factor of N. And for comparison, this is Trealla:
?- length(L,N), time(countall(setof(t,permutation(L,L),[t]),CntS)).
% Time elapsed 0.000s, 57 Inferences, 1.727 MLips
L = [], N = 0, CntS = 1
; % Time elapsed 0.000s, 64 Inferences, 1.306 MLips
L = [_A], N = 1, CntS = 1
; % Time elapsed 0.000s, 98 Inferences, 3.630 MLips
L = [_A,_B], N = 2, CntS = 2
; % Time elapsed 0.000s, 208 Inferences, 5.333 MLips
L = [_A,_B,_C], N = 3, CntS = 5
; % Time elapsed 0.000s, 645 Inferences, 5.864 MLips
L = [_A,_B,_C,_D], N = 4, CntS = 15
; % Time elapsed 0.001s, 2749 Inferences, 4.574 MLips
L = [_A,_B,_C,_D,_E], N = 5, CntS = 52
; % Time elapsed 0.003s, 14849 Inferences, 5.183 MLips
L = [_A,_B,_C,_D,_E,_F], N = 6, CntS = 203
; % Time elapsed 0.026s, 96741 Inferences, 3.702 MLips
L = [_A,_B,_C,_D,_E,_F,_G], N = 7, CntS = 877
; % Time elapsed 0.271s, 738325 Inferences, 2.728 MLips
L = [_A,_B,_C,_D,_E,_F,_G,_H], N = 8, CntS = 4140
; % Time elapsed 3.088s, 6459205 Inferences, 2.092 MLips
L = [_A,_B,_C,_D,_E,_F,_G,_H,_I], N = 9, CntS = 21147
; ... .
Probably due to #3176
Metadata
Metadata
Assignees
Labels
No labels