Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

The settings.txt optimization for different rigs
Vick Nan
#1 Posted : Saturday, October 24, 2015 11:20:12 AM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 235
Location: 192.168.1.1

Thanks: 60 times
Was thanked: 81 time(s) in 37 post(s)
I tweaked my settings.txt to look like this. Some values doubled up, some 30% more. Not really sure which do what and of what importance they are so if someone could chime in I'd appreciate that.

Code:
// This File: Settings.txt
//    Author: Blackoak
//   Version: 0.3 (20-Oct-15)
// Deck Name: SecretPaladin
//      Hero: Paladin
// Deck Type: Mid-Range (Control)

enfacehp = 29;
maxwide = 7000;
twotsamount = 2000;
simEnemySecondTurn = true;
playarround = true;
playaroundprob = 50;
playaroundprob2 = 80;
enemyTurnMaxWideSecondTime = 300;
enemyTurnMaxWide = 60;
enemySecondTurnMaxWide = 90;
nextTurnDeep = 6;
nextTurnMaxWide = 40;
nextTurnTotalBoards = 300;
useSecretsPlayArround = true;
alpha = 50;
simulatePlacement = true; 
useExternalProcess = true;
passiveWaiting = false;
behave = control;
concedeOnBadBoard = true;
speed = false;


speed set to false in regards to botmaker talking about the dirty fix in the latest version needing that setting

Here's the default contents from latest version, with botmakers comments ofcourse

Quote:
enfacehp = 15; // hp of enemy when your hero is allowed to attack the enemy face with his weapon
maxwide = 5000; // numer of boards which are taken to the next deep-lvl
twotsamount = 1000; // number of boards where the next turn is simulated
simEnemySecondTurn = true; // if he simulates the next players-turn, he also simulates the enemys respons
playarround = false; //play around some enemys aoe-spells?
playaroundprob = 50; //probability where the enemy plays the aoe-spell, but your minions will not die through it
playaroundprob2 = 80; // probability where the enemy plays the aoe-spell, and your minions can die!
enemyTurnMaxWide = 40; // bords calculated in enemys-first-turn in first AI step (lower than enemySecondTurnMaxWide)
enemyTurnMaxWideSecondTime = 200; // bords calculated in enemys-first-turn BUT in the second AI step (higher than enemyTurnMaxWide)
enemySecondTurnMaxWide = 40; // number of enemy-board calculated in enemys second TURN
nextTurnDeep = 6; //maximum combo-deep in your second turn (dont change this!)
nextTurnMaxWide = 20; //maximum boards calculated in one second-turn-"combo-step"
nextTurnTotalBoards = 200;//maximum boards calculated in second turn simulation
useSecretsPlayArround = false; // playing arround enemys secrets
alpha = 50; // weight of the second turn in calculation (0<= alpha <= 100)
simulatePlacement = true; // set this true, and ai will simulate all placements, whether you have a alpha/flametongue/argus
useExternalProcess = true; // use silver.exe for calculations a lot faster than turning it off (true = recomended)
passiveWaiting = false; // process will wait passive for silver.exe to finish
behave = control; // select the behavoir of the ai: control, rush, face (new) or mana (very experimental, dont use that :D)
concedeOnBadBoard = false; // set this to true and ai will concede if enemy is to good
speed = false; //set this to true, to support sending multiple actions to bot


After one game while writing this I can see it is not going to work out with speed=false, almost lost 10+ damage in a turn, so changing that back to true


Best,
2 users thanked Vick Nan for this useful post.
Jigglez on 10/28/2015(UTC), Somerandombot007 on 12/3/2015(UTC)
Vick Nan
#2 Posted : Saturday, October 24, 2015 11:26:08 AM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 235
Location: 192.168.1.1

Thanks: 60 times
Was thanked: 81 time(s) in 37 post(s)
As I see it, optimally silverfish would do constant calculations on the side, while HR manages to make all moves (barely) before roping out. I know, a bit Hollywood-esque image painted but my point is we should utilize the potential of optimizing predictions based on calculations with the already available processing power.
1 user thanked Vick Nan for this useful post.
Somerandombot007 on 12/3/2015(UTC)
Vick Nan
#3 Posted : Tuesday, October 27, 2015 4:57:24 AM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 235
Location: 192.168.1.1

Thanks: 60 times
Was thanked: 81 time(s) in 37 post(s)
BlackOak;31746 wrote:
I would start with doubling up the values of the following in settings.txt:
Code:
maxwide = ????;
twotsamount = ????;
enemyTurnMaxWideSecondTime = ????;
enemyTurnMaxWide = ????;
enemySecondTurnMaxWide = ????;
nextTurnMaxWide = ????;
nextTurnTotalBoards = ????;
If you rope out a lot then reduce them, if not then keep increasing them the higher these values are the better the bot plays :)

As a rule or thumb set:
twotsamount at 20% of maxwide
enemyTurnMaxWide & enemySecondTurnMaxWide at 10% of enemyTurnMaxWideSecondTime
nextTurnTotalBoards at 20% of twotsamount
nextTurnMaxWide at 10% of nextTurnTotalBoards

On a personal note I will be buying myself a new machine for Christmas so I will be producing new numbers for settings once it's built :)

1 user thanked Vick Nan for this useful post.
Somerandombot007 on 10/28/2015(UTC)
Vick Nan
#4 Posted : Tuesday, October 27, 2015 5:23:41 AM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 235
Location: 192.168.1.1

Thanks: 60 times
Was thanked: 81 time(s) in 37 post(s)
With a 4GHz 6-Core CPU, 32GB DDR3 1600MHz, SSD those settings are too much, atleast with secret pally and loads of toons on the board with muster, different weapons, boombots, whatnot.

I took it down from 100% increase to 75% increase.

thus, the settings.exe looks like this atm:

Code:
// This File: Settings.txt
//    Author: Blackoak
//   Version: 0.4 (23-Oct-15)
// Deck Name: SecretPaladin
//      Hero: Paladin
// Deck Type: Tempo (Control)

enfacehp = 29;
maxwide = 7500;
twotsamount = 750;
simEnemySecondTurn = true;
playarround = false;
playaroundprob = 50;
playaroundprob2 = 80;
enemyTurnMaxWideSecondTime = 240;
enemyTurnMaxWide = 24;
enemySecondTurnMaxWide =12;
nextTurnDeep = 6;
nextTurnMaxWide = 24;
nextTurnTotalBoards = 24;
useSecretsPlayArround = true;
alpha = 50;
simulatePlacement = true; 
useExternalProcess = true;
passiveWaiting = false;
behave = control;
concedeOnBadBoard = true;
speed = true;


Thanks for pointing the way Oakie
1 user thanked Vick Nan for this useful post.
Somerandombot007 on 10/28/2015(UTC)
Somerandombot007
#5 Posted : Tuesday, October 27, 2015 3:17:13 PM(UTC)
Somerandombot007


Rank: Advanced Member

Groups: Registered
Posts: 33
Location: Zurich

Thanks: 63 times
Was thanked: 20 time(s) in 12 post(s)
Hi All

How do I change the Values to make the most out of my 24 cores @3.33GHz ? Wich values do affect the Parallelisation the most ?

Regards Somerandombot007

PS: ist there a test.txt with a very complex hand and board so one can test the extreme scenarios directly without having to let the bot play a couple of rounds ?
Dre
#6 Posted : Tuesday, October 27, 2015 3:29:36 PM(UTC)

Rank: Advanced Member

Groups: HSModerator, Registered
Posts: 888
Man
Location: The Netherlands

Thanks: 216 times
Was thanked: 480 time(s) in 315 post(s)
Does the bot gain speed only from the CPU or does more ram help as well? And what about putting hearthstone and the bot on an ssd (I installed it all on my normal hdd now because I didn't tought it mattered)
1 user thanked Dre for this useful post.
Somerandombot007 on 12/3/2015(UTC)
Vick Nan
#7 Posted : Tuesday, October 27, 2015 5:14:27 PM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 235
Location: 192.168.1.1

Thanks: 60 times
Was thanked: 81 time(s) in 37 post(s)
Dre;31775 wrote:
Does the bot gain speed only from the CPU or does more ram help as well? And what about putting hearthstone and the bot on an ssd (I installed it all on my normal hdd now because I didn't tought it mattered)


Some guy had stuttering and the first thing JoyAdmin asked was if it was a hdd or ssd, so there's that atleast. I think speed would get benefits from ssd but it's just a hunch.


1 user thanked Vick Nan for this useful post.
Somerandombot007 on 12/3/2015(UTC)
Somerandombot007
#8 Posted : Wednesday, November 4, 2015 12:03:34 PM(UTC)
Somerandombot007


Rank: Advanced Member

Groups: Registered
Posts: 33
Location: Zurich

Thanks: 63 times
Was thanked: 20 time(s) in 12 post(s)
Sorry for bothering you again. Does someone know wich settings I have to increase to reach a higher usage of all my threads (CPU-Cores).
At the moment only one is pushed to 100% from time to time. I d like to see all of them at 100% when the bot is calculating something.

Greetings Travelers :)
omgfrost
#10 Posted : Sunday, November 15, 2015 3:21:13 PM(UTC)
omgfrost


Rank: Advanced Member

Groups: Registered
Posts: 324

Thanks: 67 times
Was thanked: 83 time(s) in 66 post(s)
Vick Nan;31624 wrote:
I tweaked my settings.txt to look like this. Some values doubled up, some 30% more. Not really sure which do what and of what importance they are so if someone could chime in I'd appreciate that.

Code:
// This File: Settings.txt
//    Author: Blackoak
//   Version: 0.3 (20-Oct-15)
// Deck Name: SecretPaladin
//      Hero: Paladin
// Deck Type: Mid-Range (Control)

enfacehp = 29;
maxwide = 7000;
twotsamount = 2000;
simEnemySecondTurn = true;
playarround = true;
playaroundprob = 50;
playaroundprob2 = 80;
enemyTurnMaxWideSecondTime = 300;
enemyTurnMaxWide = 60;
enemySecondTurnMaxWide = 90;
nextTurnDeep = 6;
nextTurnMaxWide = 40;
nextTurnTotalBoards = 300;
useSecretsPlayArround = true;
alpha = 50;
simulatePlacement = true; 
useExternalProcess = true;
passiveWaiting = false;
behave = control;
concedeOnBadBoard = true;
speed = false;


speed set to false in regards to botmaker talking about the dirty fix in the latest version needing that setting

Here's the default contents from latest version, with botmakers comments ofcourse



After one game while writing this I can see it is not going to work out with speed=false, almost lost 10+ damage in a turn, so changing that back to true


Best,


Hello, can you explain, or someboy who knows, why it's "playaRRound" with 2 "R" instead of "playaround..." , that's because it seems not to work the moment opponent has lethal and my hero still playing.. thanks.
Vick Nan
#9 Posted : Monday, November 16, 2015 7:44:58 AM(UTC)

Rank: Advanced Member

Groups: Registered
Posts: 235
Location: 192.168.1.1

Thanks: 60 times
Was thanked: 81 time(s) in 37 post(s)
Somerandombot007;32108 wrote:
Sorry for bothering you again. Does someone know wich settings I have to increase to reach a higher usage of all my threads (CPU-Cores).
At the moment only one is pushed to 100% from time to time. I d like to see all of them at 100% when the bot is calculating something.

Greetings Travelers :)



The thread utilization has to be hardcoded into the client afaik, that does not exist atm.

Only then will there be settings to adjust that
Somerandombot007
#11 Posted : Wednesday, December 2, 2015 1:42:26 PM(UTC)
Somerandombot007


Rank: Advanced Member

Groups: Registered
Posts: 33
Location: Zurich

Thanks: 63 times
Was thanked: 20 time(s) in 12 post(s)
It's really sad to watch the Silver.exe not using the full potential ;(

[img=http://i.imgur.com/RNeNOb9.jpg?1][/img] http://i.imgur.com/RNeNOb9.jpg?1

Anyone got an idear ?

ASAP the bot uses 100% of the resources I'll by a liftime license :P
JoyAdmin
#12 Posted : Thursday, December 3, 2015 12:30:34 AM(UTC)
Rank: Administration

Groups: Administrators
Posts: 4,847

Thanks: 805 times
Was thanked: 4539 time(s) in 1637 post(s)
Since modern CPU is multi-core, usually OS will prevent it to use 100% CPU power.
1 user thanked JoyAdmin for this useful post.
Somerandombot007 on 12/3/2015(UTC)
Somerandombot007
#13 Posted : Thursday, December 3, 2015 10:03:42 AM(UTC)
Somerandombot007


Rank: Advanced Member

Groups: Registered
Posts: 33
Location: Zurich

Thanks: 63 times
Was thanked: 20 time(s) in 12 post(s)
I know it wont use true 100% but when I rendern someting it usually fluctuate betwen 90% and 99%. I didn´t find out wich boardcalculations can be done simultaniously with the actual version of silverfish. I tried to Increas one Value at the time to evaluate wich one is the one I am looking for.
Thanks for the quick reply :)
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

Powered by YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.101 seconds.