Adam-Kulju / Patricia

Super aggressive chess engine
MIT License
76 stars 10 forks source link

Whenever I enable UCI_LimitStrength the engine slows down tremendously. (Patricia not taking priority over my program.) v3.1 bug? #111

Closed dawackyman closed 3 weeks ago

dawackyman commented 3 weeks ago

I enable UCI_LimitStrength and adjust either UCI_Elo or Skill_Level to set the engine’s Elo to my desired level. However, no matter what I set, the engine takes an absurdly long time to search for a move, which I assume is because my program is overwriting the depth (normally 15) instead of using the limit I set in Patricia's engine settings to 1. This has to be a bug with her v3.1 version, right?

It shouldn't be searching for this long. Usually, other chess engines control the depth dynamically; however, Patricia doesn't seem to do so. My program is overwriting instructions that Patricia is providing (e.g., depth settings). Normally, my program searches at a depth of 15, but when I limit the strength to 1 (500 Elo) in Patricia's engine settings, it's still searching at a depth of 15.

Log below.

Patricia Chess Engine, written by Adam Kulju

id name Patricia 3.1 id author Adam Kulju option name Hash type spin default 32 min 1 max 131072 option name Threads type spin default 1 min 1 max 1024 option name MultiPV type spin default 1 min 1 max 255 option name UCI_LimitStrength type check default false option name Skill_Level type spin default 20 min 1 max 20 option name UCI_Elo type spin default 3000 min 500 max 3000 uciok readyok id name Patricia 3.1 id author Adam Kulju option name Hash type spin default 32 min 1 max 131072 option name Threads type spin default 1 min 1 max 1024 option name MultiPV type spin default 1 min 1 max 255 option name UCI_LimitStrength type check default false option name Skill_Level type spin default 20 min 1 max 20 option name UCI_Elo type spin default 3000 min 500 max 3000 uciok info multipv 1 depth 1 seldepth 1 score cp -10 nodes 32 nps 32000 time 1 pv d1d2 info multipv 2 depth 1 seldepth 3 score cp -20 nodes 65 nps 65000 time 1 pv d1c1 info multipv 3 depth 1 seldepth 2 score cp -22 nodes 99 nps 99000 time 1 pv h2h3 info multipv 4 depth 1 seldepth 2 score cp -28 nodes 131 nps 131000 time 1 pv a2a4 info multipv 5 depth 1 seldepth 2 score cp -29 nodes 161 nps 161000 time 1 pv d1f3 info multipv 1 depth 2 seldepth 3 score cp 24 nodes 270 nps 270000 time 1 pv d1d2 d8d6 info multipv 2 depth 2 seldepth 2 score cp 15 nodes 399 nps 399000 time 1 pv d1c1 b7b6 info multipv 3 depth 2 seldepth 2 score cp 14 nodes 561 nps 561000 time 1 pv h2h3 d8d6 info multipv 4 depth 2 seldepth 2 score cp 12 nodes 690 nps 690000 time 1 pv a2a4 d8d6 info multipv 5 depth 2 seldepth 6 score cp 7 nodes 883 nps 441500 time 2 pv d3b5 c8d7 info multipv 1 depth 3 seldepth 5 score cp 20 nodes 1104 nps 552000 time 2 pv d1d2 d8d6 h6f4 info multipv 2 depth 3 seldepth 9 score cp 2 nodes 1714 nps 857000 time 2 pv d1c1 b7b6 d3b5 info multipv 3 depth 3 seldepth 3 score cp 2 nodes 1924 nps 641333 time 3 pv d1f3 d8d6 h6f4 info multipv 4 depth 3 seldepth 3 score cp -8 nodes 2160 nps 720000 time 3 pv d1c2 b7b6 d3b5 info multipv 5 depth 3 seldepth 3 score cp -10 nodes 2428 nps 809333 time 3 pv h2h3 d8d6 d1d2 info multipv 1 depth 4 seldepth 4 score cp 22 nodes 2564 nps 854666 time 3 pv h2h3 d8d6 d1d2 b7b6 info multipv 2 depth 4 seldepth 6 score cp 22 nodes 2775 nps 925000 time 3 pv d1d2 d8d6 h2h3 b7b6 info multipv 3 depth 4 seldepth 7 score cp 11 nodes 3150 nps 787500 time 4 pv d1c1 d8d6 h6f4 e7e5 info multipv 4 depth 4 seldepth 5 score cp -8 nodes 3346 nps 836500 time 4 pv d1f3 d8d6 h6f4 e7e5 info multipv 5 depth 4 seldepth 6 score cp 5 nodes 3728 nps 932000 time 4 pv g1h1 b7b6 f2f4 e7e6 info multipv 1 depth 5 seldepth 9 score cp 20 nodes 4406 nps 881200 time 5 pv d1d2 d8d6 h2h3 b7b6 h6f4 info multipv 2 depth 5 seldepth 7 score cp 20 nodes 4989 nps 997800 time 5 pv h2h3 d8d6 d1d2 b7b6 h6f4 info multipv 3 depth 5 seldepth 15 score cp 10 nodes 5660 nps 943333 time 6 pv d1f3 d8d6 h2h3 b7b6 d3b5 info multipv 4 depth 5 seldepth 5 score cp 16 nodes 6118 nps 1019666 time 6 pv a2a4 d8d6 d1d2 b7b6 h6f4 info multipv 5 depth 5 seldepth 7 score cp 4 nodes 6959 nps 994142 time 7 pv g1h1 b7b6 d1f3 d8d6 d3b5 info multipv 1 depth 6 seldepth 10 score cp 20 nodes 8152 nps 1164571 time 7 pv d1d2 d8d6 a2a4 b7b6 d3b5 c8d7 info multipv 2 depth 6 seldepth 10 score cp 20 nodes 9743 nps 1082555 time 9 pv a2a4 b7b6 d1d2 d8d6 d3b5 c8d7 info multipv 3 depth 6 seldepth 9 score cp 13 nodes 12483 nps 1248300 time 10 pv h2h3 d8d6 d1d2 b7b6 h6f4 e7e5 info multipv 4 depth 6 seldepth 6 score cp 12 nodes 13007 nps 1182454 time 11 pv d1f3 d8d6 h2h3 a7a6 h6f4 e7e5 info multipv 5 depth 6 seldepth 6 score cp -5 nodes 13686 nps 1244181 time 11 pv g1h1 b7b6 d1f3 a7a6 f3g3 b6b5 info multipv 1 depth 7 seldepth 14 score cp 20 nodes 18078 nps 1291285 time 14 pv g1h1 b7b6 d1d2 a7a6 f2f4 b6b5 f4f5 info multipv 2 depth 7 seldepth 10 score cp 7 upperbound nodes 18770 nps 1251333 time 15 pv g1h1 info multipv 2 depth 7 seldepth 13 score cp 10 nodes 23178 nps 1287666 time 18 pv d1d2 d8d6 a2a4 b7b6 a4a5 c8d7 h6f4 e7e5 info multipv 3 depth 7 seldepth 9 score cp -4 upperbound nodes 23421 nps 1301166 time 18 pv g1h1 info multipv 3 depth 7 seldepth 8 score cp -11 upperbound nodes 23556 nps 1308666 time 18 pv g1h1 info multipv 3 depth 7 seldepth 14 score cp -28 upperbound nodes 23791 nps 1321722 time 18 pv g1h1 info multipv 3 depth 7 seldepth 14 score cp 17 nodes 28248 nps 1284000 time 22 pv d1f3 d8d6 h2h3 b7b6 d3b5 c8d7 h6f4 info multipv 4 depth 7 seldepth 12 score cp 0 upperbound nodes 28626 nps 1301181 time 22 pv g1h1 info multipv 4 depth 7 seldepth 8 score cp -27 upperbound nodes 28737 nps 1306227 time 22 pv g1h1 info multipv 4 depth 7 seldepth 9 score cp -39 upperbound nodes 28851 nps 1311409 time 22 pv g1h1 info multipv 4 depth 7 seldepth 11 score cp 10 nodes 32263 nps 1344291 time 24 pv a2a4 b7b6 d1d2 d8d6 a4a5 c8d7 h6f4 info multipv 5 depth 7 seldepth 7 score cp 0 upperbound nodes 32416 nps 1350666 time 24 pv g1h1 info multipv 5 depth 7 seldepth 8 score cp -27 upperbound nodes 32535 nps 1301400 time 25 pv g1h1 info multipv 5 depth 7 seldepth 8 score cp -39 upperbound nodes 32648 nps 1305920 time 25 pv g1h1 info multipv 5 depth 7 seldepth 16 score cp 0 nodes 38042 nps 1358642 time 28 pv h2h4 d8d6 d1d2 b7b6 d3b5 c8d7 h6f4 info multipv 1 depth 8 seldepth 18 score cp 10 lowerbound nodes 41049 nps 1368300 time 30 pv h2h4 info multipv 1 depth 8 seldepth 15 score cp 21 lowerbound nodes 48860 nps 1357222 time 36 pv d1f3 info multipv 1 depth 8 seldepth 14 score cp 8 nodes 54664 nps 1366600 time 40 pv d1f3 d8d6 h2h4 b7b6 h4h5 c8d7 h5g6 h7g6 h6f4 info multipv 2 depth 8 seldepth 12 score cp -2 upperbound nodes 56741 nps 1383926 time 41 pv d1f3 info multipv 2 depth 8 seldepth 13 score cp -12 upperbound nodes 58818 nps 1367860 time 43 pv d1f3 info multipv 2 depth 8 seldepth 18 score cp -1 nodes 68141 nps 1390632 time 49 pv d1d2 d8d6 a2a4 b7b6 h2h3 c8d7 a4a5 b6a5 info multipv 3 depth 8 seldepth 21 score cp -11 upperbound nodes 70287 nps 1378176 time 51 pv d1f3 info multipv 3 depth 8 seldepth 16 score cp -11 nodes 84376 nps 1406266 time 60 pv h2h4 b7b6 d1f3 d8d6 h4h5 c8d7 h5g6 h7g6 info multipv 4 depth 8 seldepth 14 score cp -21 upperbound nodes 85844 nps 1407278 time 61 pv d1f3 info multipv 4 depth 8 seldepth 9 score cp -32 upperbound nodes 86240 nps 1390967 time 62 pv d1f3 info multipv 4 depth 8 seldepth 14 score cp -48 upperbound nodes 87362 nps 1386698 time 63 pv d1f3 info multipv 4 depth 8 seldepth 23 score cp -13 nodes 117499 nps 1335215 time 88 pv d1c1 b7b6 d3c4 d8d6 h6f4 d4e5 f4e5 d6e5 info multipv 5 depth 8 seldepth 16 score cp -3 lowerbound nodes 124900 nps 1314736 time 95 pv d3c4 info multipv 5 depth 8 seldepth 12 score cp 6 lowerbound nodes 125373 nps 1319715 time 95 pv d3c4 info multipv 5 depth 8 seldepth 13 score cp -7 nodes 126714 nps 1319937 time 96 pv d3c4 e7e6 d1f3 e6d5 c4d5 c8e6 d5e6 e8e6 b1b7 info multipv 1 depth 9 seldepth 16 score cp 3 lowerbound nodes 129980 nps 1312929 time 99 pv d3c4 info multipv 1 depth 9 seldepth 17 score cp 15 lowerbound nodes 144838 nps 1293196 time 112 pv d1d2 info multipv 1 depth 9 seldepth 19 score cp 6 nodes 158459 nps 1288284 time 123 pv d1d2 d8d6 h6e3 d4e3 d2e3 b7b6 d3c4 e7e5 c4b5 info multipv 2 depth 9 seldepth 3 score cp -6 upperbound nodes 158478 nps 1288439 time 123 pv d1d2 info multipv 2 depth 9 seldepth 15 score cp -15 upperbound nodes 159097 nps 1293471 time 123 pv d1d2 info multipv 2 depth 9 seldepth 19 score cp -2 nodes 187340 nps 1310069 time 143 pv d1f3 d8d6 f1e1 d4e5 h2h4 b7b6 h4h5 c8d7 h5g6 h7g6 info multipv 3 depth 9 seldepth 14 score cp -15 upperbound nodes 187725 nps 1312762 time 143 pv d1d2 info multipv 3 depth 9 seldepth 9 score cp -23 upperbound nodes 187999 nps 1305548 time 144 pv d1d2 info multipv 3 depth 9 seldepth 11 score cp -38 upperbound nodes 188390 nps 1308263 time 144 pv d1d2 info multipv 3 depth 9 seldepth 18 score cp -8 nodes 204842 nps 1304726 time 157 pv f1e1 d8d6 d1f3 d4e5 h2h3 b7b6 d3b5 c8d7 b5d7 d6d7 info multipv 4 depth 9 seldepth 22 score cp -18 upperbound nodes 219740 nps 1315808 time 167 pv d1d2 info multipv 4 depth 9 seldepth 15 score cp -28 upperbound nodes 222455 nps 1316301 time 169 pv d1d2 info multipv 4 depth 9 seldepth 23 score cp -16 nodes 244168 nps 1327000 time 184 pv d3c4 b7b6 d1d2 a7a6 a2a4 c8d7 h6e3 d7a4 e3d4 c5d4 d2h6 b6b5 info multipv 5 depth 9 seldepth 18 score cp -26 upperbound nodes 246395 nps 1317620 time 187 pv d1d2 info multipv 5 depth 9 seldepth 20 score cp 0 nodes 267282 nps 1316660 time 203 pv d1c1 b7b6 h6e3 d4g7 e3h6 g7d4 info multipv 1 depth 10 seldepth 18 score cp -10 upperbound nodes 288292 nps 1322440 time 218 pv d1d2 info multipv 1 depth 10 seldepth 21 score cp -20 upperbound nodes 295794 nps 1320508 time 224 pv d1d2 info multipv 1 depth 10 seldepth 20 score cp 0 nodes 330043 nps 1320172 time 250 pv d1d2 b7b6 a2a4 c8d7 a4a5 b6a5 h6e3 a5a4 e3d4 c5d4 d2h6 info multipv 2 depth 10 seldepth 21 score cp -10 upperbound nodes 335929 nps 1317368 time 255 pv d1d2 info multipv 2 depth 10 seldepth 15 score cp -20 upperbound nodes 336707 nps 1315261 time 256 pv d1d2 info multipv 2 depth 10 seldepth 19 score cp -35 upperbound nodes 340484 nps 1314610 time 259 pv d1d2 info multipv 2 depth 10 seldepth 22 score cp -7 nodes 367023 nps 1315494 time 279 pv d1f3 d8d6 h2h4 b7b6 h4h5 c8d7 a2a4 a8b8 h6f4 e7e5 info multipv 3 depth 10 seldepth 9 score cp -17 upperbound nodes 368124 nps 1319440 time 279 pv d1d2 info multipv 3 depth 10 seldepth 13 score cp -28 upperbound nodes 369275 nps 1318839 time 280 pv d1d2 info multipv 3 depth 10 seldepth 14 score cp -44 upperbound nodes 370962 nps 1320149 time 281 pv d1d2 info multipv 3 depth 10 seldepth 20 score cp -3 nodes 389534 nps 1324945 time 294 pv d3c4 b7b6 a2a4 c8d7 d1b3 e7e5 b3g3 d7a4 h2h4 a4c2 h6g5 d8d6 info multipv 4 depth 10 seldepth 3 score cp -14 upperbound nodes 389560 nps 1325034 time 294 pv d1d2 info multipv 4 depth 10 seldepth 12 score cp -28 upperbound nodes 389950 nps 1321864 time 295 pv d1d2 info multipv 4 depth 10 seldepth 25 score cp -17 nodes 433309 nps 1333258 time 325 pv f1e1 d8d6 d1d2 b7b6 a2a4 c8d7 a4a5 b6a5 h6f4 e7e5 info multipv 5 depth 10 seldepth 9 score cp -28 upperbound nodes 433470 nps 1333753 time 325 pv d1d2 info multipv 5 depth 10 seldepth 11 score cp -37 upperbound nodes 433713 nps 1334501 time 325 pv d1d2 info multipv 5 depth 10 seldepth 9 score cp -55 upperbound nodes 433897 nps 1330972 time 326 pv d1d2 info multipv 5 depth 10 seldepth 14 score cp -84 upperbound nodes 434571 nps 1333039 time 326 pv d1d2 info multipv 5 depth 10 seldepth 13 score cp -112 upperbound nodes 435183 nps 1330834 time 327 pv d1d2 info multipv 5 depth 10 seldepth 15 score cp -162 upperbound nodes 449222 nps 1333002 time 337 pv d1d2 info multipv 5 depth 10 seldepth 22 score cp -15 nodes 527588 nps 1345887 time 392 pv d1c1 b7b6 g1h1 a7a6 h6e3 d4e3 c1e3 d8d6 e3h6 b6b5 info multipv 1 depth 11 seldepth 24 score cp -26 upperbound nodes 570371 nps 1342049 time 425 pv d1d2 info multipv 1 depth 11 seldepth 22 score cp 4 lowerbound nodes 607699 nps 1344466 time 452 pv d1d2 info multipv 1 depth 11 seldepth 20 score cp 20 lowerbound nodes 615329 nps 1346452 time 457 pv d1d2 info multipv 1 depth 11 seldepth 23 score cp 12 nodes 667025 nps 1352991 time 493 pv d1d2 b7b6 g1h1 d8d6 b1e1 a8b8 h6f4 d4e5 f4e5 d6e5 f2f4 e5d4 info multipv 2 depth 11 seldepth 16 score cp 1 upperbound nodes 668160 nps 1352550 time 494 pv d1d2 info multipv 2 depth 11 seldepth 20 score cp -8 upperbound nodes 670574 nps 1354694 time 495 pv d1d2 info multipv 2 depth 11 seldepth 15 score cp -24 upperbound nodes 672664 nps 1356177 time 496 pv d1d2 info multipv 2 depth 11 seldepth 22 score cp -46 upperbound nodes 679345 nps 1355978 time 501 pv d1d2 info multipv 2 depth 11 seldepth 27 score cp -3 nodes 788444 nps 1311886 time 601 pv d3c4 b7b6 a2a4 c8d7 d1b3 e7e5 b3g3 d7a4 h2h4 a4c2 h6g5 d8d6 info multipv 3 depth 11 seldepth 14 score cp -15 upperbound nodes 790383 nps 1310751 time 603 pv d1d2 info multipv 3 depth 11 seldepth 18 score cp -23 upperbound nodes 793266 nps 1309019 time 606 pv d1d2 info multipv 3 depth 11 seldepth 20 score cp -39 upperbound nodes 795433 nps 1308277 time 608 pv d1d2 info multipv 3 depth 11 seldepth 24 score cp -11 nodes 839004 nps 1284845 time 653 pv d1f3 d8d6 h2h4 b7b6 h4h5 c8d7 a2a4 a8c8 d3a6 c8b8 h6f4 e7e5 d5e6 info multipv 4 depth 11 seldepth 11 score cp -22 upperbound nodes 839652 nps 1283871 time 654 pv d1d2 info multipv 4 depth 11 seldepth 13 score cp -32 upperbound nodes 840081 nps 1284527 time 654 pv d1d2 info multipv 4 depth 11 seldepth 16 score cp -47 upperbound nodes 843467 nps 1283815 time 657 pv d1d2 info multipv 4 depth 11 seldepth 18 score cp -70 upperbound nodes 856835 nps 1284610 time 667 pv d1d2 info multipv 4 depth 11 seldepth 26 score cp -10 nodes 918908 nps 1285186 time 715 pv a2a4 e7e6 d3c4 e6d5 c4d5 c8e6 d5b7 a8b8 h6f4 e6a2 f4b8 a2b1 b7c6 e8e6 c6d5 b1e4 d5e6 info multipv 5 depth 11 seldepth 4 score cp -22 upperbound nodes 918960 nps 1285258 time 715 pv d1d2 info multipv 5 depth 11 seldepth 18 score cp -30 upperbound nodes 921638 nps 1285408 time 717 pv d1d2 info multipv 5 depth 11 seldepth 20 score cp -24 nodes 965843 nps 1291233 time 748 pv h6g5 d8d6 d1d2 b7b6 d3c4 e7e6 h2h3 e6d5 c4d5 c8a6 f1d1 info multipv 1 depth 12 seldepth 20 score cp -34 upperbound nodes 985201 nps 1292914 time 762 pv d1d2 info multipv 1 depth 12 seldepth 22 score cp -45 upperbound nodes 1003397 nps 1294705 time 775 pv d1d2 info multipv 1 depth 12 seldepth 28 score cp 1 nodes 1120999 nps 1303487 time 860 pv d1d2 b7b6 g1h1 d8d6 b1e1 c8d7 f2f4 f7f5 h2h3 a8d8 e4f5 d7f5 d3f5 g6f5 info multipv 2 depth 12 seldepth 2 score cp -20 upperbound nodes 1121006 nps 1303495 time 860 pv d1d2 info multipv 2 depth 12 seldepth 2 score cp -20 upperbound nodes 1121011 nps 1303501 time 860 pv d1d2 info multipv 2 depth 12 seldepth 22 score cp -34 upperbound nodes 1130599 nps 1305541 time 866 pv d1d2 info multipv 2 depth 12 seldepth 12 score cp -57 upperbound nodes 1131846 nps 1305474 time 867 pv d1d2 info multipv 2 depth 12 seldepth 19 score cp -92 upperbound nodes 1135792 nps 1305508 time 870 pv d1d2 info multipv 2 depth 12 seldepth 19 score cp -144 upperbound nodes 1159393 nps 1305622 time 888 pv d1d2 info multipv 2 depth 12 seldepth 25 score cp -9 nodes 1415776 nps 1313335 time 1078 pv d3c4 a8b8 a2a4 e7e6 d1d2 e6d5 h6g5 d8c7 g5f4 d4e5 f4e5 c7e5 info multipv 3 depth 12 seldepth 11 score cp -22 upperbound nodes 1416635 nps 1312914 time 1079 pv d1d2 info multipv 3 depth 12 seldepth 7 score cp -30 upperbound nodes 1416715 nps 1312988 time 1079 pv d1d2 info multipv 3 depth 12 seldepth 7 score cp -58 upperbound nodes 1416798 nps 1313065 time 1079 pv d1d2 info multipv 3 depth 12 seldepth 12 score cp -95 upperbound nodes 1417095 nps 1312125 time 1080 pv d1d2 info multipv 3 depth 12 seldepth 15 score cp -104 upperbound nodes 1417606 nps 1312598 time 1080 pv d1d2 info multipv 3 depth 12 seldepth 17 score cp -154 upperbound nodes 1419309 nps 1312959 time 1081 pv d1d2 info multipv 3 depth 12 seldepth 25 score cp -14 nodes 1694653 nps 1302577 time 1301 pv d1f3 d8d6 h2h4 b7b6 h4h5 c8d7 a2a4 a8c8 d3a6 c8b8 h5g6 h7g6 h6f4 e7e5 d5e6 d6e6 info multipv 4 depth 12 seldepth 11 score cp -30 upperbound nodes 1695433 nps 1302175 time 1302 pv d1d2 info multipv 4 depth 12 seldepth 18 score cp -35 upperbound nodes 1700861 nps 1303341 time 1305 pv d1d2 info multipv 4 depth 12 seldepth 20 score cp -50 upperbound nodes 1707284 nps 1304265 time 1309 pv d1d2 info multipv 4 depth 12 seldepth 24 score cp -73 upperbound nodes 1724206 nps 1305227 time 1321 pv d1d2 info multipv 4 depth 12 seldepth 25 score cp -14 nodes 1958102 nps 1323936 time 1479 pv a2a4 b7b6 d1d2 c8d7 a4a5 b6a5 h6e3 a5a4 e3d4 c5d4 d2h6 a8b8 e4e5 b8b1 f1b1 a4a3 info multipv 5 depth 12 seldepth 2 score cp -56 upperbound nodes 1958107 nps 1323939 time 1479 pv d1d2 info multipv 5 depth 12 seldepth 2 score cp -56 upperbound nodes 1958112 nps 1323943 time 1479 pv d1d2 info multipv 5 depth 12 seldepth 2 score cp -56 upperbound nodes 1958117 nps 1323052 time 1480 pv d1d2 info multipv 5 depth 12 seldepth 10 score cp -73 upperbound nodes 1958363 nps 1323218 time 1480 pv d1d2 info multipv 5 depth 12 seldepth 7 score cp -149 upperbound nodes 1958495 nps 1323307 time 1480 pv d1d2 info multipv 5 depth 12 seldepth 16 score cp -159 upperbound nodes 1961278 nps 1323399 time 1482 pv d1d2 info multipv 5 depth 12 seldepth 28 score cp -3 nodes 2237900 nps 1332876 time 1679 pv f1e1 d8d6 d1e2 e7e5 e2f3 a7a6 a2a4 b7b6 f3g3 c8d7 h2h4 d7a4 info multipv 1 depth 13 seldepth 24 score cp -13 upperbound nodes 2270933 nps 1335842 time 1700 pv d1d2 info multipv 1 depth 13 seldepth 24 score cp -23 upperbound nodes 2294861 nps 1338892 time 1714 pv d1d2 info multipv 1 depth 13 seldepth 28 score cp 5 nodes 2582209 nps 1356914 time 1903 pv d1d2 b7b6 h6e3 e7e5 f2f4 c8d7 f4f5 d8h4 e3d4 e5d4 b1e1 c5c4 f5g6 h7g6 info multipv 2 depth 13 seldepth 8 score cp -37 upperbound nodes 2582526 nps 1356368 time 1904 pv d1d2 info multipv 2 depth 13 seldepth 22 score cp -14 upperbound nodes 2608258 nps 1357760 time 1921 pv d1d2 info multipv 2 depth 13 seldepth 25 score cp -15 nodes 2812491 nps 1366613 time 2058 pv a2a4 b7b6 d1f3 d8d6 h2h4 c8d7 h4h5 a8b8 h6f4 e7e5 d5e6 d6e6 f4b8 info multipv 3 depth 13 seldepth 22 score cp -27 upperbound nodes 2815433 nps 1366715 time 2060 pv d1d2 info multipv 3 depth 13 seldepth 26 score cp 4 lowerbound nodes 2894864 nps 1370025 time 2113 pv d1f3 info multipv 3 depth 13 seldepth 26 score cp -13 nodes 3000456 nps 1374464 time 2183 pv f1e1 d8d6 d1f3 d4e5 h2h4 b7b6 d3b5 c8d7 b5d7 d6d7 h4h5 a8c8 h6f4 d7d6 f4e5 d6e5 h5h6 c8d8 info multipv 4 depth 13 seldepth 28 score cp -24 upperbound nodes 3076752 nps 1376622 time 2235 pv d1d2 info multipv 4 depth 13 seldepth 26 score cp -24 nodes 3140334 nps 1379760 time 2276 pv d1f3 e7e6 d3c4 a8b8 f1d1 e6d5 c4d5 c8e6 h6f4 b7b6 f4b8 d8b8 g1h1 e6d5 e4d5 e8e5 h2h3 e5f5 info multipv 5 depth 13 seldepth 15 score cp -34 upperbound nodes 3144690 nps 1379855 time 2279 pv d1d2 info multipv 5 depth 13 seldepth 19 score cp -45 upperbound nodes 3150209 nps 1380459 time 2282 pv d1d2 info multipv 5 depth 13 seldepth 19 score cp -60 upperbound nodes 3156569 nps 1380826 time 2286 pv d1d2 info multipv 5 depth 13 seldepth 27 score cp -20 nodes 3511359 nps 1393396 time 2520 pv h2h3 b7b6 d1d2 d8d6 g1h1 c8d7 f2f4 f7f5 f1f3 a8d8 e4f5 d7f5 d3f5 g6f5 info multipv 1 depth 14 seldepth 25 score cp -10 lowerbound nodes 3561834 nps 1394064 time 2555 pv h2h3 info multipv 1 depth 14 seldepth 26 score cp 0 lowerbound nodes 3645245 nps 1395042 time 2613 pv d1d2 info multipv 1 depth 14 seldepth 26 score cp -6 nodes 3786494 nps 1399812 time 2705 pv d1d2 b7b6 h6e3 e7e5 f2f4 d8d6 d3c4 d4e3 d2e3 e5f4 e3f4 d6f4 f1f4 info multipv 2 depth 14 seldepth 18 score cp -16 upperbound nodes 3793001 nps 1400148 time 2709 pv d1d2 info multipv 2 depth 14 seldepth 27 score cp -6 nodes 3965763 nps 1403809 time 2825 pv d1f3 b7b6 d3c4 d8d6 h6f4 d4e5 f4e5 d6e5 f3e3 c8d7 f2f4 e5d4 e3d4 c5d4 f1d1 e8c8 info multipv 3 depth 14 seldepth 21 score cp -16 upperbound nodes 3990423 nps 1403102 time 2844 pv d1d2 info multipv 3 depth 14 seldepth 26 score cp -26 upperbound nodes 4030351 nps 1402348 time 2874 pv d1d2 info multipv 3 depth 14 seldepth 26 score cp -42 upperbound nodes 4077197 nps 1403510 time 2905 pv d1d2 info multipv 3 depth 14 seldepth 28 score cp -28 nodes 4367245 nps 1407880 time 3102 pv a2a4 b7b6 d1f3 c8d7 a4a5 a8b8 a5b6 a7b6 h6e3 e7e5 f3g3 b6b5 e3d4 e5d4 info multipv 4 depth 14 seldepth 16 score cp -38 upperbound nodes 4370765 nps 1408107 time 3104 pv d1d2 info multipv 4 depth 14 seldepth 28 score cp -25 nodes 4514288 nps 1410715 time 3200 pv d3c4 a8b8 a2a4 e7e6 d1f3 e6d5 c4d5 c8e6 h6f4 b7b6 f4b8 d8b8 f1d1 b8e5 a4a5 c5c4 d5e6 e8e6 a5b6 info multipv 5 depth 14 seldepth 18 score cp -35 upperbound nodes 4518298 nps 1410645 time 3203 pv d1d2 info multipv 5 depth 14 seldepth 17 score cp -45 upperbound nodes 4521275 nps 1410694 time 3205 pv d1d2 info multipv 5 depth 14 seldepth 21 score cp -61 upperbound nodes 4529779 nps 1411146 time 3210 pv d1d2 info multipv 5 depth 14 seldepth 11 score cp -87 upperbound nodes 4530490 nps 1410928 time 3211 pv d1d2 info multipv 5 depth 14 seldepth 16 score cp -119 upperbound nodes 4531215 nps 1410714 time 3212 pv d1d2 info multipv 5 depth 14 seldepth 17 score cp -170 upperbound nodes 4533562 nps 1411005 time 3213 pv d1d2 info multipv 5 depth 14 seldepth 27 score cp -12 nodes 4902748 nps 1418208 time 3457 pv h2h3 d8d6 d1d2 b7b6 d3c4 c8d7 h6f4 d6f6 b1b3 d4e5 f4g3 e5g3 b3g3 b6b5 c4e2 a8b8 info multipv 1 depth 15 seldepth 28 score cp -22 upperbound nodes 5080739 nps 1421185 time 3575 pv d1d2 info multipv 1 depth 15 seldepth 29 score cp -32 upperbound nodes 5362022 nps 1424175 time 3765 pv d1d2 info multipv 1 depth 15 seldepth 31 score cp 2 nodes 6532359 nps 1421004 time 4597 pv d1f3 b7b6 d3c4 c8d7 f1d1 b6b5 c4b5 d7b5 b1b5 a8b8 d1b1 d8d6 g2g3 c5c4 g1g2 c4c3 info multipv 2 depth 15 seldepth 25 score cp -7 upperbound nodes 6663638 nps 1420212 time 4692 pv d1f3 info multipv 2 depth 15 seldepth 27 score cp -17 upperbound nodes 6865041 nps 1421333 time 4830 pv d1f3 info multipv 2 depth 15 seldepth 29 score cp -17 nodes 6988078 nps 1422944 time 4911 pv d1d2 e7e6 d3c4 b7b6 h6e3 d4e3 f2e3 e6d5 b1d1 c8b7 e4d5 d8d6 f1f4 e8e7 e3e4 a8e8 d1f1 e7e4 f4f7 info multipv 3 depth 15 seldepth 18 score cp -28 upperbound nodes 6994969 nps 1422898 time 4916 pv d1f3 info multipv 3 depth 15 seldepth 13 score cp -38 upperbound nodes 6996862 nps 1422994 time 4917 pv d1f3 info multipv 3 depth 15 seldepth 12 score cp -55 upperbound nodes 6997307 nps 1423084 time 4917 pv d1f3 info multipv 3 depth 15 seldepth 17 score cp -82 upperbound nodes 6997838 nps 1422903 time 4918 pv d1f3 info multipv 3 depth 15 seldepth 23 score cp -111 upperbound nodes 7002063 nps 1422605 time 4922 pv d1f3 info multipv 3 depth 15 seldepth 24 score cp -162 upperbound nodes 7018397 nps 1421591 time 4937 pv d1f3 info multipv 3 depth 15 seldepth 34 score cp -29 nodes 8901758 nps 1389596 time 6406 pv d3c4 a8b8 a2a4 e7e6 d1f3 e6d5 e4d5 c8d7 d5d6 d8f6 f3f6 d4f6 a4a5 b7b6 a5b6 a7b6 info multipv 4 depth 15 seldepth 25 score cp -40 upperbound nodes 8916804 nps 1389992 time 6415 pv d1f3 info multipv 4 depth 15 seldepth 32 score cp -18 nodes 9826158 nps 1397348 time 7032 pv a2a4 b7b6 d1d2 e7e6 d3c4 d8d6 a4a5 c8d7 h6e3 e6e5 f2f4 d4e3 d2e3 e5f4 e3f4 d6f4 f1f4 info multipv 5 depth 15 seldepth 26 score cp -28 upperbound nodes 9834462 nps 1397536 time 7037 pv d1f3 info multipv 5 depth 15 seldepth 28 score cp -38 upperbound nodes 9853110 nps 1397802 time 7049 pv d1f3 info multipv 5 depth 15 seldepth 30 score cp -31 nodes 10228266 nps 1401324 time 7299 pv h6e3 d4e3 f2e3 d8d6 d1f3 e8f8 h2h4 b7b6 h4h5 c8d7 h5h6 a8b8 f3f4 b6b5 e4e5 d6d5 d3e4 bestmove d1f3

Adam-Kulju commented 3 weeks ago

If you lower Patricia's skill level, she doesn't search for less time; instead, she searches for the normal amount of time, then intentionally picks a suboptimal move based on how bad it is compared to the "best" move.

dawackyman commented 3 weeks ago

If you lower Patricia's skill level, she doesn't search for less time; instead, she searches for the normal amount of time, then intentionally picks a suboptimal move based on how bad it is compared to the "best" move.

I see, thanks for the clarification. Do you plan to improve Patricia in this specific way? With engines like Rybka232, limiting the strength automatically reduces the search depth, but with Patricia, lowering her skill level actually seems to slow her down. Will future updates allow Patricia to speed up when her strength is limited?

dawackyman commented 3 weeks ago

Another odd issue I’ve noticed: although my program is set to search at a depth of 15 (and I can change the depth at any time), Patricia still searches 15 moves deep even when I limit her to 500 Elo. From what you mentioned, it sounds like she’s spending the normal amount of time to search but then intentionally picking a suboptimal move. Could you clarify why she’s still going so deep when playing at such a low strength level?

Adam-Kulju commented 3 weeks ago

She slows down and searches as deeply as she can because in order to weaken an engine like Patricia to below 2000, searching for less time is not enough - you have to intentionally play suboptimal moves. So, when Patricia's strength is limited she searches the 5 best moves (which takes 5 times as long as a regular search), then once she is finished searching she uses the information about those 5 moves, together with the ELO she is set to, to determine which to play.

So, if you search her from a random position, she'll come up with this: Move 1 - 1.24 Move 2 - 1.04 Move 3 - 1.0 Move 4 - 0.8 Move 5 - 0.3

and then if her strength is set to 3000 she'll probably play Move 1, while if her strength is set to 500 she'll probably play Move 5.

dawackyman commented 3 weeks ago

She slows down and searches as deeply as she can because in order to weaken an engine like Patricia to below 2000, searching for less time is not enough - you have to intentionally play suboptimal moves. So, when Patricia's strength is limited she searches the 5 best moves (which takes 5 times as long as a regular search), then once she is finished searching she uses the information about those 5 moves, together with the ELO she is set to, to determine which to play.

So, if you search her from a random position, she'll come up with this: Move 1 - 1.24 Move 2 - 1.04 Move 3 - 1.0 Move 4 - 0.8 Move 5 - 0.3

and then if her strength is set to 3000 she'll probably play Move 1, while if her strength is set to 500 she'll probably play Move 5.

Thank you for the detailed explanation! It makes sense that in order to weaken an engine like Patricia below 2000, she needs to search deeply and intentionally play suboptimal moves. I appreciate knowing that when her strength is limited, she evaluates the five best moves, which indeed takes longer, and then selects one based on the Elo setting.

However, I’m curious about how this approach impacts the overall gameplay experience, particularly at lower strength levels. For instance, if I set her to 500 Elo but she still searches at a depth of 15, it feels like the gameplay may not align with the expected strength level. This discrepancy could be confusing for users seeking a more consistent experience at these lower settings.

To enhance user experience, is there a specific depth I should consider setting for each rank from 1 to 20? You mentioned that she evaluates five moves, but what would be the optimal depth for different Elo ratings? Finding a balance between search depth and playability would be incredibly beneficial, especially for those of us looking for a more accurately matched challenge at various skill levels in our chess games.

Adam-Kulju commented 3 weeks ago

Patricia with skill levels turned on is mostly calibrated to time; her 3000 setting plays at a 3000 level at 1"+1' time control, for example. That being said, if you're using a low skill level, say 1000, it makes no difference if the depth is 5 or 15, the quality of play will be the same.

dawackyman commented 3 weeks ago

Patricia with skill levels turned on is mostly calibrated to time; her 3000 setting plays at a 3000 level at 1"+1' time control, for example. That being said, if you're using a low skill level, say 1000, it makes no difference if the depth is 5 or 15, the quality of play will be the same.

Thank you for the explanation. It helps a lot. Now one last question. Do I have to change both the Skill_Level and UCI_Elo or just one? Like do I keep the Skill_Level default at 20 and change my UCI_Elo to 800 for example?

Adam-Kulju commented 3 weeks ago

You only need to turn on one. Whichever one is set latest will be the one used.

dawackyman commented 3 weeks ago

Thank you.