Author Topic: Gauss Accuracy And effect of salvoes size  (Read 5197 times)

0 Members and 1 Guest are viewing this topic.

Offline Energyz (OP)

  • Sub-Lieutenant
  • ******
  • E
  • Posts: 106
  • Thanked: 27 times
Gauss Accuracy And effect of salvoes size
« on: May 07, 2020, 11:47:11 AM »
EDIT : I forgot the ROF, with this added the change are even more dramatic.

Following the discution on rail vs gauss that went off topic, here's the result of some simulation I did with matlab.

First, how affected quad gauss canon are by the number of missile in the salvo:



Base accuracy is set to 50% (let's say TS is half speed of the missile)

Then, the impact of gauss cannon base accuracy (size) on the number of shot needed.



That was with a volley of 10, the effect is even more dramatic with volley of 4 missile :



As we can see, the smaller the gauss cannon turret the better. We see this because it lowers the impact of the number of missile in the salvo.

If we use single gauss turret with ROF =1, it disappears and it is equivalent :



The matlab scripts, feel free to check as I'm not 100% sure of the mechanics I used :
https://drive.google.com/drive/folders/1RqbR1ZweUl0NV_fIEG2rb2lu4Fvm4-o-?usp=sharing
« Last Edit: May 07, 2020, 01:05:25 PM by Energyz »
 
The following users thanked this post: UberWaffe

Offline SpikeTheHobbitMage

  • Bug Moderators
  • Commodore
  • ***
  • S
  • Posts: 670
  • Thanked: 159 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #1 on: May 07, 2020, 12:17:02 PM »
Unless I'm reading your charts wrong then your analysis is flawed.  I did a fairly in-depth analysis* back in the VB days, and the smaller Gauss Cannons consistently did worse than larger ones.  They only reached parity at saturation (IE more incoming missiles than could possibly be shot down).  The core problem is that they have a wider distribution so they tend to leak more, and in the end it is the leaks that kill you.  While much has changed in C#, that much is the same.

*http://aurora2.pentarch.org/index.php?topic=10443.msg115247
 

Offline Energyz (OP)

  • Sub-Lieutenant
  • ******
  • E
  • Posts: 106
  • Thanked: 27 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #2 on: May 07, 2020, 12:34:23 PM »
Unless I've missed something on the mechanics, that's no longer the case.

I've added the min and max value of the simulation (worse and best case for 100 runs), and even worse case is better that the expected value of a 100% sized gauss

 

Offline Energyz (OP)

  • Sub-Lieutenant
  • ******
  • E
  • Posts: 106
  • Thanked: 27 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #3 on: May 07, 2020, 02:03:56 PM »
A comparison HS wise beetween multiple quad gauss cannon (without gear) :



An exemple reading this graph :  a quad gauss 0.6HS will shoot down on average (0.33/0.6)*4 = 2.2 missiles for a base accuracy of 50%

Here what's happen with a base accuracy of 100% (IE the full size turret will shoot a missile 100% of the time) :



 

Offline SpikeTheHobbitMage

  • Bug Moderators
  • Commodore
  • ***
  • S
  • Posts: 670
  • Thanked: 159 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #4 on: May 07, 2020, 03:37:41 PM »
While your math appears correct, your methodology is wrong.  IE you are missing critical factors and thus are correctly measuring the wrong things.

This setup assumes saturation, though you approach it from the opposite direction.  Instead of assuming there are exactly enough missiles to shoot down each time, it assumes exactly enough turrets for each round.  As a result you never count more than a single turret's worth of overkill, while completely ignoring underkill.  This matters because the primary consideration when designing a PD system is preventing leakage, so that your shields an armour can withstand everything that gets through.

Try rerunning your calculations for a 90/90 success rate, IE how much tonnage do you need to have a 90% chance of killing 90% of each volley.  That is, how many guns do you need to guarantee that no more than one in ten volleys get more than one in ten missiles through.
 

Offline Energyz (OP)

  • Sub-Lieutenant
  • ******
  • E
  • Posts: 106
  • Thanked: 27 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #5 on: May 07, 2020, 04:25:33 PM »
Although you are correct I'm not giving out "how much tonnage do you need to have a 90% chance of killing 90% of each volley ", which is ultimatly what we need to design PD, that's not removing the fact that more small gauss is factually better than few big gauss.

The fact that the worst case scenario with the 0.6HS is still better than the average of 6HS is enough to convince me, but i could be wrong.

Here is three views with only 100 missiles (you often encounter at least that) and 100 simulations (that combination will allow extreme situation to arise):







As you can see, the advantage of the 0.6 HS tends to disappear with small hit chance, and the spread can be a problem with less than 100 missiles. BUT the spread will also be a problem for 6HS turrets, in fact I didn't notice any difference :

5%, not 50%




I've simulated that with only ONE salvo of 12 missiles. Even in this best case scenario for the 6HS, the 06HS still isn't bad

In conclusion and if I'm not wrong, 0.6HS is very often better, sometimes just as good as 6HS.


« Last Edit: May 07, 2020, 04:51:13 PM by Energyz »
 

Offline Jorgen_CAB

  • Admiral of the Fleet
  • ***********
  • J
  • Posts: 2839
  • Thanked: 674 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #6 on: May 07, 2020, 04:47:37 PM »
It probably are just easier to do a small application that simulate attacks and look at the real results.

I did that a while ago and my conclusion was that smaller turrets did worse, but I can be wrong... perhaps will dig up that application I did again.
 

Offline Graham

  • Chief Petty Officer
  • ***
  • Posts: 47
  • Thanked: 17 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #7 on: May 07, 2020, 05:35:26 PM »
I'd like to point out that while people are arguing that 100% size Gauss is better because 1x100% chance against 1 missile is better than 2x50%, that's a very limited scenario, which while having some merit, isn't realistic.
Firstly, such small numbers of missiles are unlikely. Missile volleys are normally fairly sizable. This very much lessens the importance of this. Secondly, it's very unlikely that any Gauss will have a 100% to hit chance, given the normal missile speeds vs BFC tracking speeds at comparative tech levels. I'd say you rarely get shots at more than 70%. This combines with the fact that the more dice you roll, the more likely you are to get the expected result. If you have 10 quad turrets at 100%, that's say 40 shots. If you instead have 400 shots at 10% you're unlikely to deviate from expected results very much. So overall I don't buy this argument.

I think the question of how exactly ECM / ECCM applies to hit percentages is the real issue that could sink reduced size Gauss so to speak.
 

Offline Iceranger

  • Registered
  • Commander
  • *********
  • I
  • Posts: 391
  • Thanked: 230 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #8 on: May 07, 2020, 05:39:48 PM »
I'd like to point out that while people are arguing that 100% size Gauss is better because 1x100% chance against 1 missile is better than 2x50%, that's a very limited scenario, which while having some merit, isn't realistic.
Firstly, such small numbers of missiles are unlikely. Missile volleys are normally fairly sizable. This very much lessens the importance of this. Secondly, it's very unlikely that any Gauss will have a 100% to hit chance, given the normal missile speeds vs BFC tracking speeds at comparative tech levels. I'd say you rarely get shots at more than 70%. This combines with the fact that the more dice you roll, the more likely you are to get the expected result. If you have 10 quad turrets at 100%, that's say 40 shots. If you instead have 400 shots at 10% you're unlikely to deviate from expected results very much. So overall I don't buy this argument.

I think the question of how exactly ECM / ECCM applies to hit percentages is the real issue that could sink reduced size Gauss so to speak.

Done that test on discord, the result is something like this:
Code: [Select]
( min( 1, tracking/(target speed)*(1+tracking bonus) ) * (PD range penalty) - ECM ) * (CIC bonus) * (crew bonus) * (1/2 of commanding officer's tactical bonus) * (gauss size penalty)

For example, if a full size gauss's hit rate is 100%, after ECM6 it is 40%. Then under the same circumstance, a 10% gauss which had a 10% hit chance before ECM6, will have a 4% hit chance after ECM6.
« Last Edit: May 07, 2020, 07:13:40 PM by Iceranger »
 

Offline Iceranger

  • Registered
  • Commander
  • *********
  • I
  • Posts: 391
  • Thanked: 230 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #9 on: May 07, 2020, 06:02:06 PM »
Unless I'm reading your charts wrong then your analysis is flawed.  I did a fairly in-depth analysis* back in the VB days, and the smaller Gauss Cannons consistently did worse than larger ones.  They only reached parity at saturation (IE more incoming missiles than could possibly be shot down).  The core problem is that they have a wider distribution so they tend to leak more, and in the end it is the leaks that kill you.  While much has changed in C#, that much is the same.

*http://aurora2.pentarch.org/index.php?topic=10443.msg115247
I also did some simulation on gauss gun firing, and it seems my result is very similar to OP's

First, the PD firing rule was tested:
http://aurora2.pentarch.org/index.php?topic=11317.msg131588#msg131588
A BFC will engage a salvo using available guns/turrets until it is completely destroyed.

My simulation is simple: have 1000 full-size equivalent quad gauss turrets engaging a fixed number of incoming missiles. I use the 'saturation factor' to determining how many missiles are fired. Saturation factor = 1 means for every expected hit, I'm firing a missile, thus for 1000 quad gauss with 0.5 base hit chance, that's 8000 missiles. Then I tally the missiles that aren't intercepted at the end of the interception. The simulation was repeated 1000 times for each turret size. Here are the examples:

Saturation factor = 2, i.e. the saturated situation in your comment:


Saturation factor = 0.9, i.e. it is not saturated.


In both cases, larger turrets performed worse than smaller ones. The smaller ones have a higher variance, but too small a difference to be seen.

MATLAB code for checking:


Code: [Select]

gaussRoF = 4;
baseHit = 0.5;
totalTurrets = 1000;
saturationFactor = 0.9;
totalMissilesGuide = round( totalTurrets * gaussRoF * 4 * baseHit ) * saturationFactor;
maxSalvoSize = 20;


gunSizeToTest = [6, 3, 1, 0.6];
testRun = 1000;
resultAvg = zeros( maxSalvoSize, length(gunSizeToTest) );
resultVar = zeros( maxSalvoSize, length(gunSizeToTest) );

for salvoSize = 1:20;
    totalSalvo = ceil( totalMissilesGuide / salvoSize);
    totalMissiles = totalSalvo * salvoSize;
    for i = 1:length(gunSizeToTest)
        gunSize = gunSizeToTest(i);
        %disp(['Test for size ', num2str(gunSize) , ' gauss turrets' ]);
        tempResult = zeros( testRun, 1 );

        for run = 1:testRun

            remainingTurrets = totalTurrets * 6 / gunSize;
            lastRemaining = 0;
            for salvo = 1:totalSalvo
                %disp([' Salvo ', num2str(salvo) , ' is being engaged' ]);
                remainingMissiles = salvoSize;
                while (remainingMissiles > 0)
                    %pick a new turret to fire as long as there are still
                    %missiles in the salvo
                    %disp(['  Turret ', num2str(totalTurrets * 6 / gunSize - remainingTurrets + 1) , ' is firing']);
                    for j = 1:4 * gaussRoF
                        % iterate through each turret's guns
                        if rand() < gunSize / 6 * baseHit
                            remainingMissiles = remainingMissiles - 1;
                        end;
                        if remainingMissiles == 0
                            break;
                        end;
                    end;
                    %one turret completely fired, or a salvo is completely
                    %destroyed
                    %disp(['  Turret ', num2str(totalTurrets * 6 / gunSize - remainingTurrets + 1) , ' fired, ' , num2str(remainingMissiles) , ' missiles remaining in Salvo ' , num2str(salvo)]);
                    remainingTurrets = remainingTurrets - 1;
                    if remainingTurrets == 0
                        lastRemaining = remainingMissiles;
                        break;
                    end;
                end;
                if remainingTurrets == 0
                    break;
                end;
            end;

            % at this point, remaining missiles are tallied
            remain = (totalSalvo - salvo) * salvoSize + lastRemaining;
            %disp([' All turrets fired, missiles remaining ' , num2str(remain)]);

            tempResult(run) = remain;

        end;
        resultAvg(salvoSize, i) = mean(tempResult/totalMissiles);
        resultVar(salvoSize, i) = var(tempResult/totalMissiles);
       
    end;
   
end;

errorbar(1-resultAvg, resultVar);
title({['Destroyed Missile Fraction with Satuation Factor = ', num2str(saturationFactor), ' and Base Hit Chance = ', num2str(baseHit)], ...
    ['Averaged over ', num2str(testRun), ' Runs with ', num2str(totalTurrets), ' Full Size Equivalent Quad Gauss Turrets with RoF ', num2str(gaussRoF)]});
xlim([0,20]);
xlabel('Salvo Size');
ylabel('Destroyed Fraction');
legend('6 HS Gauss', '3 HS Gauss', '1 HS Gauss', '0.6 HS Gauss','Location','Best');

« Last Edit: May 07, 2020, 06:05:52 PM by Iceranger »
 

Offline Jorgen_CAB

  • Admiral of the Fleet
  • ***********
  • J
  • Posts: 2839
  • Thanked: 674 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #10 on: May 07, 2020, 06:58:57 PM »
I have the same results... more or less... the smaller the turret the less leakers you get from Gauss... at some point though the gain is so small that turret them into dual, tripple or quad actally gain more performance due to the weight savings.

Here is a .NET application that you can plug in some test values and it run 10.000 simulation in each.

https://www.dropbox.com/s/hbvbnqj77jrkl4r/TestPDlLeaker.exe?dl=0



The main issue in Aurora is how the game distribute the shots as larger turrets tends to waste more energy in firing on one single missile when you can potentially hit many more very often. Really small Gauss turrets have less than 100% to hit a single missile.

What you want is a turret with as close to 100% to hit ONE missile... but never more than 100% but close to it. Here the standard deviation become beneficial again as argued before. Sure there will always be a chance to hit two or even more missile but those chances are so small they are negligible if the Gauss is small enough.  ;)

The main issue is at roughly what size does the weight saving become more efficient than the chance to hit more than one missile so you very rarely waste any shots.
« Last Edit: May 07, 2020, 07:11:28 PM by Jorgen_CAB »
 

Offline Jorgen_CAB

  • Admiral of the Fleet
  • ***********
  • J
  • Posts: 2839
  • Thanked: 674 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #11 on: May 07, 2020, 07:55:57 PM »
I think that a size 1HS Gauss in single turrets seem the best option and the weight saving is only about 5% on a quad and one 17% Gauss shooting 4 shots kill a single missile on roughly 1/3 chance (if the weapon is fast enough), the chance that you kill two missiles is about 10%.

Why I choose this one is because it is the lowest threshold for receiving a 1HTK... smaller and it is a 0 HTK which might not be desirable. Anything below a size 1HS Gauss the gain in efficiency is too small to benefit not having the 1HTK on the weapon itself.
« Last Edit: May 07, 2020, 08:02:25 PM by Jorgen_CAB »
 

Offline SpikeTheHobbitMage

  • Bug Moderators
  • Commodore
  • ***
  • S
  • Posts: 670
  • Thanked: 159 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #12 on: May 07, 2020, 10:07:11 PM »
I don't have matlab, so I'm gimping it with python.

PD tons per incoming missile to reliably kill 90% of each salvo 90% of the time.

This takes into account gear size savings for larger mounts.
Taking the 90th percentile from each group rather than averaging lets us count overkill properly.
Code: [Select]
#!/usr/bin/python3

import math, random

def turretsToKill(shotsPerTurret, cth, missiles):
    shots = 0
    missiles = math.ceil(missiles * 0.9) # a partial missile is as good as a whole one
    while missiles:
        shots += 1 # shoot
        if random.random() < cth:
            missiles -= 1 # hit
    turrets = shots // shotsPerTurret # full turrets
    if shots % shotsPerTurret:
        turrets += 1 # partial turret
    return turrets

# assuming 4x tracking speed
gearFactor = {
1:1.4,
2:1.36,
3:1.34,
4:1.32
}

print(', '.join(['baseCTH', 'guns/turret', 'gunSize', '2', '4', '6', '8', '10', '12', '14', '16', '18', '20']))
for baseCTH in [1.0, 0.75, 0.5, 0.25]:
    for gunsPerTurret in range(1, 5):
        gunRoF = 4
        gunSizes = [0.6, 1, 3, 6]
        shotsPerTurret = gunRoF * gunsPerTurret
        for gunSize in gunSizes:
            cth = baseCTH * gunSize / 6 # smaller gun accuracy penalty
            print(', '.join(['%0.2f' % baseCTH, str(gunsPerTurret), str(gunSize)] + ['%0.3f' % (sorted(turretsToKill(shotsPerTurret, cth, salvoSize) for x in range(10000))[8999]*gunSize*gunsPerTurret*gearFactor[gunsPerTurret]/salvoSize) for salvoSize in range(2, 22, 2)]))

Looking over the data, the results vary all over the place.

turret.csv is the output of the above program .

best.csv is the best mount for each target set, grouped by base chance to hit.
The best overall was against 16 missile salvos at 100% base chance, with the quad/6 coming out on top at 1.98HS/missile.
The worst winner was against 2 missile salvos at 25% base chance, with the triple/0.6 coming out on top at 15.678HS/missile.

Single turrets were best 10 times and doubles 4 times with triples and quads tied at 13 times each.
Size 0.6 guns were best 9 times, size 1 guns 5 times, size 3 guns 7 times, and size 6 guns won 19 times.
Despite quad and size 6 both being leaders, quad/6 only won twice.

I think the mistake I made before was using too-large missile salvos, which masked the overkill problem that quad/6 turrets experience against very small salvos.
« Last Edit: May 07, 2020, 10:20:54 PM by SpikeTheHobbitMage »
 

Offline Jorgen_CAB

  • Admiral of the Fleet
  • ***********
  • J
  • Posts: 2839
  • Thanked: 674 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #13 on: May 08, 2020, 06:11:59 AM »
My testing shows that the number of salvos is key here and that is why you need the really small turret to get a good results.

My testing using simulating the game mechanics showed that a single turret 1HS guns was by far the best option if you don't want to go smaller... going smaller you need turrets that have 0 HTK and the gain is so small that it is not worth that extra efficiency... not in my opinion.

You can of course add more weapons in the turret if you are up against someone with better technology as you will hit less missiles anyway, but that is another question entirely.

Sure the big high accuracy turrets will produce better result against single or very few really large salvos, such as from box launchers on cruisers or something... but the difference here are much smaller than when you look at the same thing fired from say 40 fighters firing 5 missiles each or something versus a cruiser lobbing 200 missiles. The 40 fighters are way more dangerous to the type of PD gun you have as the large salvo produce rather small differences in total missiles leaked while the difference can be huge against the fighters.

Example...

PD option A
80 100% Gauss turrets firing 4 shots, TS 16000km/s, Crew Grade +5%, FC hit rate 90%

PD option B
471 17% Gauss turrets firing 4 shots, TS 16000km/s, Crew Grade +5%, FC hit rate 90%

200 incoming missiles at speed 24000km/s in one salvo
Option A leaks 2.67 missiles
Option B leaks 4.7 missiles

200 incoming missiles at speed 24000km/s fired from 40 fighters in 5 salvos each.
Option A leaks 31.4 missiles
Option B leaks 7.7 missiles

For good measure I also added in a test of a quad Gauss with 20 turrets 100% size, that turret leaked 100 missiles in the last test... :)

Another good thing with the smaller turrets are that they fit better into the ship as the 17% turret is only about 60-70 tons and you can use them as fillers if you have the PD anyway. They are cheaper to research, cost less MSP to maintain and repair due to losses from combat failures. There are almost only upside to these very small turrets.

From a RP point of view it is perhaps a bit boring how inefficient max size Gauss cannons really are.
« Last Edit: May 08, 2020, 08:18:34 AM by Jorgen_CAB »
 
The following users thanked this post: consiefe, skoormit

Offline Iceranger

  • Registered
  • Commander
  • *********
  • I
  • Posts: 391
  • Thanked: 230 times
Re: Gauss Accuracy And effect of salvoes size
« Reply #14 on: May 10, 2020, 11:46:17 PM »
My testing shows that the number of salvos is key here and that is why you need the really small turret to get a good results.

My testing using simulating the game mechanics showed that a single turret 1HS guns was by far the best option if you don't want to go smaller... going smaller you need turrets that have 0 HTK and the gain is so small that it is not worth that extra efficiency... not in my opinion.

You can of course add more weapons in the turret if you are up against someone with better technology as you will hit less missiles anyway, but that is another question entirely.

Sure the big high accuracy turrets will produce better result against single or very few really large salvos, such as from box launchers on cruisers or something... but the difference here are much smaller than when you look at the same thing fired from say 40 fighters firing 5 missiles each or something versus a cruiser lobbing 200 missiles. The 40 fighters are way more dangerous to the type of PD gun you have as the large salvo produce rather small differences in total missiles leaked while the difference can be huge against the fighters.

Example...

PD option A
80 100% Gauss turrets firing 4 shots, TS 16000km/s, Crew Grade +5%, FC hit rate 90%

PD option B
471 17% Gauss turrets firing 4 shots, TS 16000km/s, Crew Grade +5%, FC hit rate 90%

200 incoming missiles at speed 24000km/s in one salvo
Option A leaks 2.67 missiles
Option B leaks 4.7 missiles

200 incoming missiles at speed 24000km/s fired from 40 fighters in 5 salvos each.
Option A leaks 31.4 missiles
Option B leaks 7.7 missiles

For good measure I also added in a test of a quad Gauss with 20 turrets 100% size, that turret leaked 100 missiles in the last test... :)

Another good thing with the smaller turrets are that they fit better into the ship as the 17% turret is only about 60-70 tons and you can use them as fillers if you have the PD anyway. They are cheaper to research, cost less MSP to maintain and repair due to losses from combat failures. There are almost only upside to these very small turrets.

From a RP point of view it is perhaps a bit boring how inefficient max size Gauss cannons really are.

So from your test, if the missiles are even faster, quad turrets could improve their performance? Like in the situation of dreaded SPAMM? :)