Test | Status | Code Input and Output |
---|---|---|
1 | Pass |
feval(@assignin,'caller','score',100);
|
2 | Pass |
vf=[ 17 2 3 20 5 22 7 8 11 13 16 10 15 9 12 14 41 18 19 44 21 46 23 24 25 26 27 28 29 30 31 32 33 34 6 36 4 38 39 1 40 42 43 37 45 35 47 48;
1 2 3 4 5 25 28 30 9 10 8 12 7 14 15 6 19 21 24 18 23 17 20 22 43 26 27 42 29 41 31 32 33 34 35 36 37 38 39 40 11 13 16 44 45 46 47 48 ;
1 2 38 4 36 6 7 33 9 10 11 12 13 14 15 16 17 18 3 20 5 22 23 8 27 29 32 26 31 25 28 30 48 34 35 45 37 43 39 40 41 42 19 44 21 46 47 24 ;
3 5 8 2 7 1 4 6 33 34 35 12 13 14 15 16 9 10 11 20 21 22 23 24 17 18 19 28 29 30 31 32 25 26 27 36 37 38 39 40 41 42 43 44 45 46 47 48 ;
14 12 9 4 5 6 7 8 46 10 11 47 13 48 15 16 17 18 19 20 21 22 23 24 25 26 1 28 2 30 31 3 35 37 40 34 39 33 36 38 41 42 43 44 45 32 29 27 ;
1 2 3 4 5 6 7 8 9 10 11 12 13 22 23 24 17 18 19 20 21 30 31 32 25 26 27 28 29 38 39 40 33 34 35 36 37 14 15 16 43 45 48 42 47 41 44 46 ;
40 2 3 37 5 35 7 8 14 12 9 15 10 16 13 11 1 18 19 4 21 6 23 24 25 26 27 28 29 30 31 32 33 34 46 36 44 38 39 41 17 42 43 20 45 22 47 48 ;
1 2 3 4 5 16 13 11 9 10 41 12 42 14 15 43 22 20 17 23 18 24 21 19 6 26 27 7 29 8 31 32 33 34 35 36 37 38 39 40 30 28 25 44 45 46 47 48 ;
1 2 19 4 21 6 7 24 9 10 11 12 13 14 15 16 17 18 43 20 45 22 23 48 30 28 25 31 26 32 29 27 8 34 35 5 37 3 39 40 41 42 38 44 36 46 47 33 ;
6 4 1 7 2 8 5 3 17 18 19 12 13 14 15 16 25 26 27 20 21 22 23 24 33 34 35 28 29 30 31 32 9 10 11 36 37 38 39 40 41 42 43 44 45 46 47 48 ;
27 29 32 4 5 6 7 8 3 10 11 2 13 1 15 16 17 18 19 20 21 22 23 24 25 26 48 28 47 30 31 46 38 36 33 39 34 40 37 35 41 42 43 44 45 9 12 14 ;
1 2 3 4 5 6 7 8 9 10 11 12 13 38 39 40 17 18 19 20 21 14 15 16 25 26 27 28 29 22 23 24 33 34 35 36 37 30 31 32 46 44 41 47 42 48 45 43 ;
41 2 3 44 5 46 7 8 16 15 14 13 12 11 10 9 40 18 19 37 21 35 23 24 25 26 27 28 29 30 31 32 33 34 22 36 20 38 39 17 1 42 43 4 45 6 47 48 ;
1 2 3 4 5 43 42 41 9 10 30 12 28 14 15 25 24 23 22 21 20 19 18 17 16 26 27 13 29 11 31 32 33 34 35 36 37 38 39 40 8 7 6 44 45 46 47 48 ;
1 2 43 4 45 6 7 48 9 10 11 12 13 14 15 16 17 18 38 20 36 22 23 33 32 31 30 29 28 27 26 25 24 34 35 21 37 19 39 40 41 42 3 44 5 46 47 8 ;
8 7 6 5 4 3 2 1 25 26 27 12 13 14 15 16 33 34 35 20 21 22 23 24 9 10 11 28 29 30 31 32 17 18 19 36 37 38 39 40 41 42 43 44 45 46 47 48 ;
48 47 46 4 5 6 7 8 32 10 11 29 13 27 15 16 17 18 19 20 21 22 23 24 25 26 14 28 12 30 31 9 40 39 38 37 36 35 34 33 41 42 43 44 45 3 2 1 ;
1 2 3 4 5 6 7 8 9 10 11 12 13 30 31 32 17 18 19 20 21 38 39 40 25 26 27 28 29 14 15 16 33 34 35 36 37 22 23 24 48 47 46 45 44 43 42 41 ];
cube_orig=[zeros(1,8) ones(1,8) ones(1,8)*2 ones(1,8)*3 ones(1,8)*4 ones(1,8)*5];
tsum=0;
msum=0;
Lbest=30;
for cube_sets=1:4
if cube_sets==2
tsum=0;
msum=0;
end
encode=randi(18,1,80);
fprintf('Encode: ');fprintf('%i ',encode);fprintf('\n')
r=cube_orig;
for i= encode
r=r(vf(i,:));
end
encode=[]; % anti-shortcut
encode_str='';
cube=r;
fprintf('%i',r);fprintf('\n')
% Time function
ta=clock;
[v]=Rubik_Solver(cube);
t1=etime(clock,ta)*1000; % time in msec
tsum=tsum+t1;
Lv=length(v);
msum=msum+Lv;
assert(Lv<=30)
fprintf('Time: %.0f msec Total Time %.0f\n',t1,tsum)
fprintf('Solution length %i\n',length(v))
fprintf('%i ',v);fprintf('\n')
r=cube;
for i=v
r=r(vf(i,:));
end
fprintf('Solved Cube\n');fprintf('%i',r);fprintf('\n')
tf=isequal(r,cube_orig);
fprintf('Solved %i Moves %i \n\n\n\n',tf, Lv)
assert(tf)
assert(~isequal(1,2))
if Lv<Lbest,Lbest=Lv;end
end % cubesets
msiz=mtree('Rubik_Solver.m','-file').count
tsum=tsum/3000; % avg in seconds
msum=msum/3;
score=msum+msiz/2000+exp(tsum/3);
fprintf('Size %.0f Avg Time %5.2f Moves Avg %5.1f\n',msiz,tsum,msum)
feval( @assignin,'caller','score',floor(min( 100,score )) );
Encode: 18 9 12 13 11 6 12 16 9 15 18 13 4 17 10 4 14 1 2 13 7 11 13 18 1 11 2 16 10 8 9 18 6 11 12 7 6 12 18 6 8 13 10 9 16 12 2 18 16 1 17 9 17 18 17 7 9 6 8 1 5 1 12 6 6 12 9 16 7 10 15 7 17 12 2 8 13 18 13 7
105024424204131131305055032433151304045222452531
ans =
'/users/mss.system.z4p7vL/RubikP1_c_e_m_map.mat'
Elapsed time is 0.582486 seconds.
Elapsed time is 0.623627 seconds.
Solution found L= 4
Solutions found 1
Decode: 5 10 17 18 9 5 7 10
Solution Sequence: B LP B2 R2 DP B UP LP
Phase 1 Input
105024424204131131305055032433151304045222452531
Phase 1 Result
555205553331131324245222131131314244244400005000
Phase 1 Sequence: 5 10 17 18 9 5 7 10
Phase 1 Output
555205553331131324245222131131314244244400005000
ans =
'/users/mss.system.z4p7vL/RubikP2_mec_map.mat'
Elapsed time is 0.240077 seconds.
Elapsed time is 0.295192 seconds.
Solution found L= 7
Solutions found 272
Decode: 15 18 13 18 14 16 17 1 14 16 17 9 16
Solution Sequence: D2 R2 U2 R2 F2 L2 B2 U F2 L2 B2 DP L2
Phase 2 Input
555205553331131324245222131131314244244400005000
Final Cube after hf_seq
000000001111111122222222333333334444444455555555
Max idx 146635
Phase 2 Sequence: 15 18 13 18 14 16 17 1 14 16 17 9 16
Phase 2 Output
000000001111111122222222333333334444444455555555
Full Sequence: 5 10 17 18 9 5 7 10 15 18 13 18 14 16 17 1 14 16 17 9 16
Time: 1714 msec Total Time 1714
Solution length 21
5 10 17 18 9 5 7 10 15 18 13 18 14 16 17 1 14 16 17 9 16
Solved Cube
000000001111111122222222333333334444444455555555
Solved 1 Moves 21
Encode: 3 6 18 15 10 1 15 4 3 8 16 5 8 7 4 17 14 15 13 12 15 10 8 14 2 18 10 13 1 15 5 7 16 4 17 2 15 5 7 14 14 5 1 11 2 16 7 1 18 3 7 10 5 2 6 5 12 4 13 7 15 1 9 2 16 16 10 16 5 9 13 2 7 11 5 8 2 11 15 6
500104251235131053103123432440313421402245455502
Solution found L= 5
Solutions found 21
Decode: 14 3 4 14 10 13 10 2 10
Solution Sequence: F2 D L F2 LP U2 LP F LP
Phase 1 Input
500104251235131053103123432440313421402245455502
Phase 1 Result
255452041313113354042240313131132205042405420505
Phase 1 Sequence: 14 3 4 14 10 13 10 2 10
Phase 1 Output
255452041313113354042240313131132205042405420505
Solution found L= 7
Solutions found 1
Decode: 16 7 16 14 1 18 7 18 14 18 16 7 14 9
Solution Sequence: L2 UP L2 F2 U R2 UP R2 F2 R2 L2 UP F2 DP
Phase 2 Input
255452041313113354042240313131132205042405420505
Final Cube after hf_seq
000000001111111122222222333333334444444455555555
Max idx 146635
Phase 2 Sequence: 16 7 16 14 1 18 7 18 14 18 16 7 14 9
Phase 2 Output
000000001111111122222222333333334444444455555555
Full Sequence: 14 3 4 14 10 13 10 2 10 16 7 16 14 1 18 7 18 14 18 16 7 14 9
Time: 782 msec Total Time 782
Solution length 23
14 3 4 14 10 13 10 2 10 16 7 16 14 1 18 7 18 14 18 16 7 14 9
Solved Cube
000000001111111122222222333333334444444455555555
Solved 1 Moves 23
Encode: 8 12 7 10 9 17 14 11 6 6 14 5 9 14 2 6 2 14 18 12 5 9 4 6 1 10 14 11 7 6 16 13 2 10 10 15 5 12 10 15 2 13 3 7 5 14 7 6 12 11 11 17 9 13 8 15 8 4 14 5 6 1 17 12 17 5 6 13 8 5 6 4 2 18 17 18 16 6 11 10
414030235244204315415530005402411531025222113335
Solution found L= 5
Solutions found 8
Decode: 17 15 1 10 3 7 11 12 2 10
Solution Sequence: B2 D2 U LP D UP BP RP F LP
Phase 1 Input
414030235244204315415530005402411531025222113335
Phase 1 Result
000504501331311354244525333111314245204425202502
Phase 1 Sequence: 17 15 1 10 3 7 11 12 2 10
Phase 1 Output
000504501331311354244525333111314245204425202502
Solution found L= 7
Solutions found 119
Decode: 15 14 16 14 1 17 3 1 18 3 16 17 16
Solution Sequence: D2 F2 L2 F2 U B2 D U R2 D L2 B2 L2
Phase 2 Input
000504501331311354244525333111314245204425202502
Final Cube after hf_seq
000000001111111122222222333333334444444455555555
Max idx 146635
Phase 2 Sequence: 15 14 16 14 1 17 3 1 18 3 16 17 16
Phase 2 Output
000000001111111122222222333333334444444455555555
Full Sequence: 17 15 1 10 3 7 11 12 2 10 15 14 16 14 1 17 3 1 18 3 16 17 16
Time: 763 msec Total Time 1544
Solution length 23
17 15 1 10 3 7 11 12 2 10 15 14 16 14 1 17 3 1 18 3 16 17 16
Solved Cube
000000001111111122222222333333334444444455555555
Solved 1 Moves 23
Encode: 17 10 12 3 3 17 16 11 9 14 7 5 17 16 18 14 11 3 11 7 7 8 14 5 10 17 12 15 1 5 17 2 17 1 13 3 13 12 12 2 14 18 1 2 10 2 2 1 2 12 18 12 15 9 11 15 12 18 1 2 14 15 6 6 8 12 14 2 5 16 13 15 5 10 3 13 11 17 15 11
045111032552431423053540241251534312002230403514
Solution found L= 5
Solutions found 17
Decode: 1 4 11 6 15 6 5 6 11
Solution Sequence: U L BP R D2 R B R BP
Phase 1 Input
045111032552431423053540241251534312002230403514
Phase 1 Result
055452543311113354502422113131332225404050002404
Phase 1 Sequence: 1 4 11 6 15 6 5 6 11
Phase 1 Output
055452543311113354502422113131332225404050002404
Solution found L= 7
Solutions found 1
Decode: 17 14 9 18 9 18 14 13 17 7 14 3 17 18
Solution Sequence: B2 F2 DP R2 DP R2 F2 U2 B2 UP F2 D B2 R2
Phase 2 Input
055452543311113354502422113131332225404050002404
Final Cube after hf_seq
000000001111111122222222333333334444444455555555
Max idx 146635
Phase 2 Sequence: 17 14 9 18 9 18 14 13 17 7 14 3 17 18
Phase 2 Output
000000001111111122222222333333334444444455555555
Full Sequence: 1 4 11 6 15 6 5 6 11 17 14 9 18 9 18 14 13 17 7 14 3 17 18
Time: 784 msec Total Time 2329
Solution length 23
1 4 11 6 15 6 5 6 11 17 14 9 18 9 18 14 13 17 7 14 3 17 18
Solved Cube
000000001111111122222222333333334444444455555555
Solved 1 Moves 23
msiz =
3905
Size 3905 Avg Time 0.78 Moves Avg 23.0
|
1365 Solvers
27 Solvers
13 Solvers
56 Solvers
Flip the main diagonal of a matrix
506 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!