So, what would be an example of non-symmetry?
Roll (N+1)dX drop highest/lowest is going to be asymetrical. Drop lowest skews high, highest skews low.
Range is N to N*X. Diameter is (X-1)*N. OP wants a diameter of 11; so you need mixed dice, or use d12s.
d2 has diameter of 1, d4 has diameter of 3, d6 5, d8s 7. Adding up to 11 is basically 2d4+1d6, or 2d6+1d2.
Average for symmetrical is (1+12)/2 or 6.5. OP wants 5. So we should examine:
2d4+2d6 drop highest, 3d4 drop highest+1d6, etc.
I lack anydice chops. And there are 100s of cases. I guess I can write a C++ program... one sec.
Ok, (2d42d6) drop highest, then -2 is 5.31 (I just averaged the 1000-odd cases).
The min is 1, max is 12 in both cases.
Spoiler
Code:
#include<vector>
#include<iostream>
int eval(std::vector<int> v ){
std::sort(v.begin(),v.end());
v.pop_back();
int r=0;
for(int x:v)r+=x;
return r;
}
std::vector<int> inc( std::vector<int> in, std::vector<int> const& max){
for(int i=0; i<in.size();++i){
if (in[i]==max[i]){
in[i]=1;
continue;
}
++in[i];
return in;
}
return {};
}
int total( std::vector<int> dice ){
int total=0;
std::vector<int> cur( dice.size(), 1 );
while(!cur.empty()){
total+=eval(cur);
cur=inc(std::move(cur),dice);
}
return total;
}
int main(){
auto x=total({4,4,6,6})/double(4*4*6*6);
std::cout<<(x-2)<<"\n";
}
could be made way faster, but am lazy and finishes the problem in a fraction of a second on a phone cpu, so good enough.