Anyway you overcomplicating things.
Sorry if I'm being captian obvious
Let say
1) We have 3 workers.
2) Each has different profession. So, he can do only single type of job.
3) They can't do several jobs at once.
4) They do only single type product.
5) Time to make any kind of job are equal between.
So, making this product, requires steps:
First worker (A) don't need anything, and can create, starting product = completion state 1
Starting product can be updated to next completion state only by second worker (B) = completion state 2
And last completion state is made by last worker (C) = finished product = completion state 3
In time zero - we don't have any product. All workers free, but only A can do his job.
where A B C - workers, 1 - id of product, X is - slacking (does nothing)
Next time, A can start make next, B has to do... so whole table will looks like this:
Code: Select all
A B C
1 X X
2 1 X
3 2 1
4 3 2
5 4 3
....
500 499 498
...
Idea simple: all workers "update" product to next completion state. And, you don't need to have 6 workers for each kind of job (6*3), to make 6 products.
Here is same, difference is, products are remade. Channels results remade.
I'll use term Channel, for 6 FM channels, and Operators, for 4 operators.
(just to make it strict, at least for myself, because I was struggling to remember this stuff)
So, from scratch I suppose it should look like:
Code: Select all
A B C
1 3 2
2 1 3
3 2 1
1 3 2
2 1 3
.....
But taking into consideration, that there is 6 channels, 4 operators.
So, we call "product" as channel output. Number of workers = number of steps to update one operator. One important addition in this case, that each worker must do his job 4 times (must do his job for each operator)
Let say, workers again 3, then sequence will look like
Code: Select all
A B C
11 64 54
21 11 64
31 21 11
12 31 21
22 12 31
32 22 12
13 32 22
23 13 32
33 23 13
14 33 23
24 14 33
34 24 14
41 34 24
21 41 34
...
54 34 24
64 54 34
...repeat...
where first digit is - channel id, second is operator id processed. They can place it in other order... For example... whole cycle of channels first, then operators.
Anyway, each channel update time will take only 6*4 steps, and will do all jobs at once (all workers are busy).
But what I consider, should be taken from this example, is that result is not dependent to order of channels.
So, you can think as about processing single channel. and only order of updating operators, and completion steps (you may say phase), does matter.
Summary, I think, process should be well explainable by defining N steps. (jobs in previous examples), and their order for operators.
For previous example, it is representable as array: A1 B1 C1 A2 B2 C2 A3 B3 C3 A4 B4 C4 (job, operator)
To verify that, you may replace all numbers starting not from 1, to XX, and see, that processing of single channel does exactly in this way.
So, in my theory, all chanels should be indpendent.