private void updateNetworkState() {
        boolean[] updatedInfections = new boolean[numberOfComputers];
        for (int i = 0; i < numberOfComputers; ++i)
            updatedInfections[i] = infections[i];
        for (int i = 0; i < numberOfComputers; ++i) {
            if (infections[i]) {
                for (int j = 0; j < numberOfComputers; ++j) {
                    if (connections[i][j] == 1 && !infections[j]) {
                        double probability = getProbability(j);
                        double rand = randomizer.nextDouble();
                        if (rand <= probability) {
                            updatedInfections[j] = true;
                        }
                    }
                }
            }
        }
        infections = updatedInfections;
    }