Kvant

Bản dịch tự động sơ bộ, chất lượng thấp: có thể còn lỗi và câu chữ chưa tự nhiên. Bản này sẽ được thay bằng bản dịch tốt hơn. Bản gốc →

20

Về việc đổ đầy và mua chai

M. L. Gerver

Mọi người đã xong: anh ấy đã hâm nóng bữa tối,
Vystro ngồi xuống - ngồi xuống học bài,
«Kvant» đọc - chà đạp bóng đá…
Cối xay. “Sương mù, hay những câu chuyện về đầu mũi tên”

Một người làm rất nhiều việc khác nhau mỗi ngày. Anh ấy đến trường vào buổi sáng (nếu anh ấy là học sinh), trở về nhà - bữa trưa đã được hâm nóng, v.v. (xem phần ngoại truyện). Bạn thường có thể trao đổi mọi thứ xung quanh: đầu tiên là chơi bóng đá - sau đó làm bài tập về nhà, ăn trưa trước - sau đó khởi động…

Dừng lại! Có điều gì đó không ổn trong bữa tối - không phải mọi thứ trên thế giới đều có thể sắp xếp lại được.

Điều này cũng áp dụng cho những việc phục vụ hoàn toàn: cần cẩu tầm cao không liên quan gì đến công trường cho đến khi đặt xong móng nhà; Không thể cùng lúc cày, lưới, đập lúa “để giảm thời gian”…

Thực tế là sự chậm trễ trong một nhiệm vụ có thể cản trở việc bắt đầu những nhiệm vụ khác phải được tính đến khi lập kế hoạch - ví dụ: khi ước tính lượng lớn thời gian mà một nhóm lớn các công việc có liên quan đến nhau sẽ cần. Sự thay thế sử dụng một ví dụ hài hước để cho thấy loại bài toán toán học nào có thể gặp trong trường hợp này.

  1. Sản xuất bài toán

Họ mang chai đến dây chuyền tự động, rất nhiều: N cái. Và có 2 máy trên đường dây: I và II. Tôi đổ đầy chai, II – mua hàng

21

gầm lên. Các chai có khác nhau: cổ rộng và cổ hẹp, cao, bụng bầu là không chuẩn. Đối với mỗi chai, chúng tôi biết phải mất bao lâu để đổ đầy và mất bao lâu để niêm phong nó.

Dây chuyền tự động sẽ hoạt động trong bao lâu kể từ khi chai đầu tiên bắt đầu được đổ đầy cho đến khi chai cuối cùng được đóng nắp? Điều này phụ thuộc vào thứ tự các chai sẽ rơi vào máy (ví dụ: đối với 6 chai thì có P6=720P_6=720 đơn hàng như vậy). Vì vậy, có hai câu hỏi nảy sinh:

Làm thế nào để xác định nhanh thứ tự thời gian vận hành của dây chuyền sẽ ngắn nhất? Và con số trong thời gian ngắn nhất này là bao nhiêu?

  1. Ví dụ số

Hãy bắt đầu với một ví dụ: đường đi của một lô 6 chai được đặc trưng bởi bảng 1.

Chúng ta hãy cố gắng cho các chai vào máy theo đúng thứ tự được chỉ định trong bảng: đầu tiên là chai thứ 1, sau đó là chai thứ 2, v.v. cho đến chai thứ 6. Sau đó máy móc sẽ hoạt động như thế này.

Sau 7 giây, máy rót sẽ rót đầy chai thứ 1 (Hình 1), sau 7 + 9 = 16 s. - Lần thứ 2, sau 16 + 3 = 19 giây. - Lần thứ 3, sau 19 + 2 = 21 giây. - Lần 4, sau 21 + 11 = 32 s. - Lần thứ 5, sau 32 + 5 = 37 s. - thứ 6*).

Máy đóng nắp sẽ làm xong chai thứ nhất trong thời gian 7 + 10 = 17 giây. và chỉ khi đó anh ta mới có thể lấy chai thứ hai (do đó, chai này sẽ đầy trong cả giây). Anh ta sẽ uống hết chai thứ 2 trong 17 + 8 = 25 giây. (như vậy chai thứ 3 sẽ được tha trong khi chờ nút chai 6 giây). Sau 25 + 1 = 26 giây. chai thứ 3 sẽ mở nút trong 26 + 4 = 30 s. - Thứ 4. Bây giờ máy niêm phong có thể lấy chai thứ 5, nhưng chai đó, như chúng ta biết, vẫn chưa đầy nên máy mất 2 s. tha thứ mà không làm gì cả. Sau 32 + 6 = 38 giây. chai thứ 5 sẽ được đóng nút và sau 38 + 12 = 50 s, cuối cùng là chai thứ 6.

Hãy xây dựng bảng phụ 2.

*) Người ta tin rằng, sau khi đổ đầy chai, máy có thể bắt đầu đổ đầy vào lần tiếp theo mà không lãng phí một giây nào.

22

Các số trong cột đầu tiên của nó đã quen thuộc với chúng ta: nó được viết ở đây trong bao nhiêu giây máy sẽ đổ đầy chai đầu tiên, hai chai đầu tiên, ba chai đầu tiên, v.v. Cột này có được bằng cách cộng tuần tự (từ trên xuống dưới) các số trong cột thứ hai của bảng 1. Sẽ thuận tiện hơn khi đọc cột thứ hai của bảng 2 từ trên xuống dưới: để có được cột này, hãy cộng các số từ cột thứ ba của bảng 1. Cột thứ ba 2 là tổng của hai cột đầu tiên của nó. cột.

Cột thứ hai của Bảng 2 có ý nghĩa như sau: nếu máy II làm việc mà không quét thì nó sẽ đóng nắp tất cả các chai trong 41 giây; nếu anh ta đóng nút tất cả các chai bắt đầu từ chai thứ 2 mà không nhìn, anh ta sẽ mất 31 giây.; Phải mất 23 giây để đóng nút mà không cần dùng hết chai, bắt đầu từ chai thứ 3. vân vân.

Trong ví dụ của chúng tôi, máy II chỉ hoạt động mà không xem sau khi chai thứ 5 chạm vào nó. Sau đó nó được nộp (xem hàng 5 của Bảng 2) sau 32 giây. sau khi bắt đầu hoạt động của dây chuyền tự động; sau đó, máy II làm việc trong 18 giây nên toàn bộ dây chuyền vận hành kéo dài 50 giây. (xem cột thứ ba của Bảng 2).

Trong đoạn 5, chúng ta sẽ quay lại ví dụ này và bây giờ chúng ta sẽ trình bày cách tính thời gian hoạt động của dây chuyền tự động trong trường hợp chung - với điều kiện là thứ tự cấp chai cho ăn trên dây chuyền được chỉ định.

  1. Thời gian vận hành đường dây tự động

Trong ví dụ của chúng tôi, 50 giây. là số lớn nhất trong cột thứ ba của Bảng 2. Điều này không phải ngẫu nhiên: điều sau đây đúng.

Phát biểu 1. Đặt thời gian đổ đầy và đóng nắp chai theo bảng 3 và để các chai rơi vào máy theo thứ tự được chỉ định trong bảng này. Hãy xây dựng bảng phụ 4 dựa trên bảng 3 (tương tự cách làm ở trên, bảng 2 được xây dựng từ bảng 1).

Khi đó thời gian vận hành của dây chuyền tự động bằng số lớn nhất ở cột thứ 3 Bảng 4.

Bằng chứng. Hãy vẽ hai đường thẳng nằm ngang: I và II (Hình 2.) Trên đường thẳng I chúng ta sẽ đặt sang một bên (tiếp theo

23

ở bên phải) các đoạn P0P1,P1P2,…,PN−1PNP_0P_1, P_1P_2, \dots, P_{N-1}P_N (có độ dài a1,a2,…,aNa_1, a_2, \dots, a_N). Trên đường thẳng IIII, chúng ta vẽ (cũng từ trái sang phải) các đoạn H1K1,H2K2,…,HNKNH_1K_1, H_2K_2, \dots, H_NK_N (có độ dài b1,b2,…,bNb_1, b_2, \dots, b_N). Chúng tôi sẽ đặt điểm H1H_1 trên cùng một chiều dọc với P1P_1, và sau đó - đối với bất kỳ ii, 1<i≤N1 < i \leq N nào - chúng tôi sẽ đặt điểm HiH_i trên cùng một chiều dọc với các điểm đúng hơn từ các điểm PiP_i và Ki−1K_{i-1} (điều này tương ứng với thực tế là máy IIII bắt đầu làm tắc chai tiếp theo khi nó đã đầy và khi chai trước đó đã bị đóng nút). Chúng ta hãy chiếu trực giao trên trục thời gian ngang tt các điểm P0,P1,…,PNP_0, P_1, \dots, P_N vào các điểm O,A1,…,ANO, A_1, \dots, A_N và điểm KNK_N vào điểm TNT_N. Rõ ràng TNT_N là thời gian hoạt động của dây chuyền tự động trong trường hợp ta đang xét.

Độ dài đoạn AiTNA_iT_N trên trục tt sẽ được ký hiệu là CiC_i i=1,…,Ni=1, \dots, N; thì TN=Ai+CiT_N = A_i + C_i.

Có thể có khoảng cách giữa các đoạn H1K1,H2K2,…,HNKNH_1K_1, H_2K_2, \dots, H_NK_N trên đường IIII và điểm HiH_i nằm trên cùng một chiều dọc với PiP_i hoặc ở bên phải; do đó Ci⩾Bi=bi+bi+1+⋯+bNC_i \geqslant B_i = b_i + b_{i+1} + \dots + b_N. Do đó, TN⩾Ai+BiT_N \geqslant A_i + B_i (i=1,…,Ni=1, \dots, N).

Hãy lấy khoảng cách ngoài cùng bên phải giữa các đoạn HiKiH_iK_i. Ở bên phải của nó là các đoạn HnKn,Hn+1Kn+1,…,HNKNH_nK_n, H_{n+1}K_{n+1}, \dots, H_NK_N, tạo thành một đoạn “rắn” (không có khoảng trống) *) có chiều dài BnB_n. Vì HnH_n không trùng với Kn−1K_{n-1} (chúng cách nhau một khoảng cách) nên HnH_n nằm trên cùng một chiều dọc với PnP_n và AnA_n. Vì vậy, TN=An+BnT_N = A_n + B_n.

Do đó, TNT_N bằng giá trị lớn nhất của các số Ai+BiA_i + B_i (i=1,…,Ni=1, \dots, N). Mệnh đề 1 đã được chứng minh.

Bảng 4 được xây dựng từ bảng 3 đã cho cực kỳ nhanh chóng: 2 cột đầu tiên

a1=A1B2+b1=B1A1+B1A1+a2=A2B3+b2=B2A2+B2A2+a3=A3B4+b3=B3A3+B3………AN−3+aN−2=AN−2BN−1+bN−2=BN−2AN−2+BN−2AN−2+aN−1=AN−1BN+bN−1=BN−1AN−1+BN−1AN−1+aN=ANbN=BNAN+BN\begin{array}{c c c} a_1 = A_1 & B_2 + b_1 = B_1 & A_1 + B_1 \\ A_1 + a_2 = A_2 & B_3 + b_2 = B_2 & A_2 + B_2 \\ A_2 + a_3 = A_3 & B_4 + b_3 = B_3 & A_3 + B_3 \\ \dots & \dots & \dots \\ A_{N-3} + a_{N-2} = A_{N-2} & B_{N-1} + b_{N-2} = B_{N-2} & A_{N-2} + B_{N-2} \\ A_{N-2} + a_{N-1} = A_{N-1} & B_N + b_{N-1} = B_{N-1} & A_{N-1} + B_{N-1} \\ A_{N-1} + a_N = A_N & b_N = B_N & A_N + B_N \end{array}

24

  1. Thứ tự tốt nhất

Đầu tiên xét trường hợp có hai chai.

Giả sử thời gian điền và mua của một trong số chúng lần lượt bằng aa và bb, còn đối với cái còn lại, lần lượt là cc và dd. Vậy thì thứ tự nào tốt hơn - thứ tự được chỉ ra trong bảng 5 hay thứ tự được chỉ ra trong bảng 5'?

Thời gian hoạt động của dây chuyền ở phương án thứ nhất (Bảng 5) tương ứng với tt. Trong bảng 4 ký hiệu cho N=2N = 2

A1=a,B1=b+dA_1 = a, \quad B_1 = b + d
A2=a+c,B2=d.A_2 = a + c, \quad B_2 = d.

Theo Tuyên bố 1, thời gian tt bằng số lớn hơn trong các số A1+B1A_1 + B_1 và A2+B2A_2 + B_2:

t=max⁡(A1+B1,A2+B2)=max⁡(a+b+d,a+c+d).t = \max(A_1 + B_1, A_2 + B_2) = \max(a + b + d, a + c + d).

Chúng ta hãy biểu thị tổng a+b+c+da + b + c + d bằng SS. Khi đó công thức của tt có ​​thể được viết lại như sau:

t=max⁡(S−c,S−b)=S−min⁡(b,c)t = \max(S - c, S - b) = S - \min(b, c)

(nếu các số bb và cc khác với SS thì các số S−bS - b và S−cS - c sẽ lớn hơn).

Tất nhiên, một công thức tương tự cũng đúng cho t′t', trong đó t′t' là thời gian vận hành đường dây trong tùy chọn thứ hai (Bảng 5’):

t′=S−min⁡(a,d).t' = S - \min(a, d).

Vì vậy, nếu min⁡(a,d)≥min⁡(b,c)\min(a, d) \geq \min(b, c) thì t≥t′t \geq t'.

Nói cách khác, đối với N=2N = 2 thứ tự tốt nhất được xác định theo quy tắc sau: chọn nhiều nhất từ ​​các số a,b,ca, b, c và dd; nếu là aa hoặc dd thì tùy chọn đầu tiên sẽ tốt hơn (Bảng 5), nhưng nếu là bb hoặc cc thì tùy chọn thứ hai (Bảng 5’). Nghĩa là, khi N=2N = 2 trong bảng biểu thị thứ tự tốt nhất, hầu hết các số phải ở phía trên bên trái hoặc phía dưới bên phải.

Trong trường hợp NN tùy ý thì câu cuối được khái quát như sau.

Phát biểu 2. Thứ tự “tốt nhất” có thể được xác định theo các quy tắc sau. Chúng ta hãy chọn nhiều số a1,b1,…,aN,bN∗a_1, b_1, \dots, a_N, b_N^* nhất trong Bảng 3. Nếu số này là aka_k thì chai thứ kk phải được phục vụ theo hàng của chai đầu tiên; nếu con số này là bkb_k thì chai kk phải được phục vụ cuối cùng trên hàng. Tìm hiểu càng nhiều càng tốt số phận của chai thứ kk bằng cách xóa dòng thứ kk khỏi Bảng 3. Trong số các số còn lại ai,bia_i, b_i (1≤i≤N,i≠k1 \leq i \leq N, i \neq k), chúng ta lại chọn nhiều nhất trong số các số ∗*. Nếu nó bằng ala_l thì chai thứ ll sẽ được gửi đến đầu hàng đợi và nếu nó bằng blb_l thì chai thứ ll sẽ được gửi đến cuối hàng đợi (được tạo thành bởi tất cả các chai ngoại trừ chai thứ kk). Cứ thế cho đến chai cuối cùng.

Chúng ta sẽ chứng minh khẳng định 2 trong đoạn 6 và bây giờ áp dụng khẳng định 1 và 2 vào ví dụ của mình.

*) Nếu có một số số như vậy, bạn có thể lấy bất kỳ số nào trong số đó.

25

  1. Ví dụ số (cuối)

Tên theo các con số chỉ thời gian ở Bảng 1 là 1. Đây là thời điểm đóng nút chai thứ 3. Vì vậy, chúng tôi sẽ gửi chai thứ 3 đến cuối hàng. Hãy gạch bỏ dòng thứ 3 trong bảng 1 và tìm lại số tên. Lần này bằng 2 - đây là lúc đổ đầy chai thứ 4. Theo quy định của chúng tôi, chúng tôi gửi chai thứ 4 đến đầu hàng đợi. Tiếp tục làm tương tự ta thu được bảng 1'.

Đường dây sẽ hoạt động trong bao lâu theo đơn đặt hàng mới? Chúng ta hãy soạn, như thường lệ, bảng 2′.

Số lượng tối đa trong cột thứ 3 là 44. Đây là thời gian của dòng công việc. So với trật tự cũ chúng ta được 6 giây.

Lưu ý: Hãy sắp xếp lại 2 hàng cuối cùng của bảng 1 (tức là đặt chai thứ 3 và chai thứ 5). Bốn dòng đầu tiên trong bảng 1′ và 2′ sẽ không thay đổi, nhưng hai dòng cuối cùng sẽ giống như trong bảng 1” và 2” ở trang 26.

Theo Phát biểu 1 thì thời gian hoạt động của thước vẫn là 44 s. Vì vậy, có thể nói rằng nhiều đơn hàng khác nhau là “tốt nhất”. Tuyên bố 2 cho phép bạn nhanh chóng tìm thấy một trong số chúng.

  1. Bằng chứng Tuyên bố 2

Hãy lần lượt chọn hai hàng trong Bảng 3 và hoán đổi chúng (xem Bảng 6 và 6′).

Hãy xem Bảng 4 thay đổi như thế nào. Nếu chúng ta sắp xếp lại các hàng có số i và (i+1), thì với k < i và với k > i + 1 các số AkA_k và

Bảng 2′

26

Bảng 1"

| 3 | 3 | 1 |
| :— | :— | :— |
| 5 | 11 | 6 |

Bảng 2"

| 23+3=26 | 6+1=7 | 26+7=33 |
| :— | :— | :— |
| 26+11=37 | 6 | 37+6=43 |

Bảng 3'

| ii | aa | bb |
| :— | :— | :— |
| i+1i+1 | cc | dd |

BkB_k không thay đổi. Các thay đổi sẽ chỉ xảy ra ở các dòng được đánh số ii và i+1i+1 (xem bảng 7 và 7’).

Như vậy
Ai+Bi=(Ai−1+Bi+2)+a+b+d,A_i + B_i = (A_{i-1} + B_{i+2}) + a + b + d,
Ai′+Bi′=(Ai−1+Bi+2)+b+c+d,A'_i + B'_i = (A_{i-1} + B_{i+2}) + b + c + d,
Ai+1+Bi+1=(Ai−1+Bi+2)+a+c+d,A_{i+1} + B_{i+1} = (A_{i-1} + B_{i+2}) + a + c + d,
Ai+1′+Bi+2′=(Ai−1+Bi+2)+a+b+c.A'_{i+1} + B'_{i+2} = (A_{i-1} + B_{i+2}) + a + b + c.

Ký hiệu Ai−1+Bi+2A_{i-1} + B_{i+2} bằng HH và sử dụng công thức cho tt và t′t' từ bước 4, ta tìm được
max⁡(Ai+Bi,Ai+1+Bi+1)=H+t,\max(A_i + B_i, A_{i+1} + B_{i+1}) = H + t,
max⁡(Ai′+Bi′,Ai+1′+Bi+1′)=H+t′.\max(A'_i + B'_i, A'_{i+1} + B'_{i+1}) = H + t'.

Số lớn nhất trong số Ak+BkA_k + B_k (tại k≠ik \neq i và k≠i+1k \neq i+1) chúng ta biểu thị bằng KK. Thời gian vận hành đường dây trong hai so sánh

Chúng tôi biểu thị các biến thể loại trừ lẫn nhau bằng TT và T′T'. Sau đó, theo Tuyên bố 1,
T=max⁡(K,H+t),T = \max(K, H + t),
T′=max⁡(K,H+t′).T' = \max(K, H + t').

Rõ ràng là nếu t≥t′t \geq t' thì T≥T′∗T \geq T'^*.
Trong phần 4 chúng ta đã chứng minh rằng t≥t′t \geq t' nếu min⁡(a,d)≥min⁡(b,c)\min(a, d) \geq \min(b, c).

Do đó, kết quả vừa thu được có thể được biểu diễn như sau:
Bổ đề. Chúng ta hãy chọn hai hàng liền kề tùy ý trong Bảng 3 (xem.

*) Lưu ý rằng nếu t>t′t > t' thì không nhất thiết phải là T>T′T > T'. Người ta có thể tuân theo max⁡(K,H+t,H+t′)=K\max(K, H + t, H + t') = K đó và sau đó T=T′T = T' bất kể số tt và t′t' nào lớn hơn.

Bảng 4**

| Ai−1+a=AiA_i - 1 + a = A_i | Bi+1+b=BiB_{i+1} + b = B_i | Ai+BiA_i + B_i |
| :— | :— | :— |
| Ai+c=Ai+1A_i + c = A_{i+1} | Bi+2+d=Bi+1B_{i+2} + d = B_{i+1} | Ai+1+Bi+1A_{i+1} + B_{i+1} |

Bảng 5'

| Ai′−1+c=Ai′A'_i - 1 + c = A'_i | Bi′+1+d=Bi′B'_i + 1 + d = B'_i | Ai′+Bi′A'_i + B'_i |
| :— | :— | :— |
| Ai′+a=Ai′+1A'_i + a = A'_i + 1 | Bi′+2+b=Bi′+1B'_i + 2 + b = B'_i + 1 | Ai′+1+Bi′+1A'_i + 1 + B'_i + 1 |

26

27

6). Nếu vì họ
min (a, d) ≥ min (b, c),
khi đó những dây chuyền này có thể được sắp xếp lại (xem Bảng 6’), và thời gian vận hành của dây chuyền sẽ không tăng lên.

Điều này đã ngụ ý câu 2 từ điểm 4. Hãy chứng minh điều đó.
Hãy bắt đầu với hai ghi chú đơn giản.

  1. Thứ tự mà chúng ta đạt được khi áp dụng các quy tắc ở đoạn 4, không phụ thuộc vào thứ tự chúng được sắp xếp ban đầu. Vì vậy, chỉ cần chứng minh Tuyên bố 2 trong trường hợp lệnh nêu trong Bảng 3 đã được “khóc” (chính xác hơn là một trong những lệnh “đã khóc” *).
  2. Giả sử rằng, bằng cách áp dụng nhất quán các quy tắc của bước 4, chúng ta đã quyết định (ở một số bước) di chuyển một số chai đến gần cuối hàng: từ vị trí thứ i đến thứ (i + s). thì điều này có thể được thực hiện theo s giai đoạn: đầu tiên di chuyển chai đã chọn đến vị trí (i + 1), sau đó đến vị trí (i + 2), v.v. Điều tương tự cũng đúng nếu chúng ta phải di chuyển một số chai đến gần đầu hàng: điều này cũng có thể được thực hiện trong một số giai đoạn, chỉ hoán đổi các chai gần đó. Nếu bạn chắc chắn rằng bổ đề có thể áp dụng được ở từng giai đoạn thì sẽ chứng minh được rằng việc tuân theo các quy tắc của bước 4 không làm tăng thời gian hoạt động của đường thẳng. Theo nhận xét trước, đây là điều duy nhất còn lại cần xác minh để chứng minh Tuyên bố 2.

Nghe này, khi một chai được chuyển đến đầu hoặc cuối hàng, chai hoàn hảo cũng được coi là theo cách tương tự. Hãy xem xét, ví dụ, thứ hai trong số họ.

Giả sử, theo quy tắc ở điểm 4, tại một bước nào đó, người ta quyết định chuyển một số chai từ vị trí thứ i sang vị trí thứ (i + s), và ở bước này, hàng thứ i và (i + 1)-th được chỉ định trong Bảng 6. Khi đó số b là số nhỏ nhất trong số đó.

*) Xem ghi chú ở cuối đoạn 5.

những con số biểu thị thời gian đổ đầy và đóng nắp đối với tất cả các chai chưa được đặt vào vị trí cuối cùng tại thời điểm này. Cụ thể, b = min(a, b, c, d). Do đó, min (a, d) ≥ min (b, c). Điều này có nghĩa là bổ đề có thể áp dụng được. Theo cách tương tự, nó đã được chứng minh rằng nó có thể áp dụng được ở bất kỳ giai đoạn nào. Như vậy chứng minh đã hoàn tất.

Ở sự khác biệt

  1. Ở đoạn 3, chúng ta đã tính toán rằng nếu chỉ định thứ tự cung cấp chai cho dây chuyền tự động thì thời gian vận hành của dây chuyền được tính bằng 3N - 2 phép cộng (trong đó N là số chai). Bạn cần thực hiện bao nhiêu hành động để xác định thứ tự “ai đã khóc”?

Nếu chúng ta gọi “hành động” là việc chọn số nhỏ nhất trong một bảng gồm hai cột và số hàng tùy ý, thì sẽ cần có N hành động (xem câu 2 trong đoạn 4). Miễn là N không lớn thì định nghĩa về “hành động” này là hợp lý - ví dụ: chúng ta có thể giả sử rằng khi tổng hợp bảng 1’ từ bảng 1 trong đoạn 5, chúng ta thực sự đã tiêu thụ N hành động (N = 6). Đối với N lớn, việc tìm số nhỏ nhất trong bảng sẽ sắp xếp lại chai một cách rõ ràng bằng một hành động cơ bản, do đó, “hành động” được gọi hợp lý hơn là so sánh hai số (và chọn số nhỏ nhất trong số đó). Cần bao nhiêu thao tác so sánh như vậy để xác định được thứ tự nhỏ nhất?

  1. Bạn có thể xem xét “bài toán về chai” không phải cho hai mà cho n máy. (Trong tài liệu toán học, lời giải hậu duệ của bài toán được gọi là “Johnson’s bài toán với n = 2”.)

Với n > 2 (thêm nữa với n = 3) điều này bài toán vẫn chưa được giải. Điều này phần lớn được giải thích bởi những điều sau đây. Khi n = 2, việc thêm chai thứ (N + 1) vào N chai đã được sắp xếp theo sự hiện diện không ảnh hưởng đến thứ tự tương đối của N chai đầu tiên. Đối với n > 2, điều này có vẻ đúng: đối với n = N = 3, bạn có thể đặt thời gian a_i, b_i, c_i (i = 1, 2, 3) để xử lý ba chai theo cách “khi có chai thứ 3”, chai thứ 1 phải được nạp đến vạch thứ 2 và “trong trường hợp không có chai thứ 3”, ngược lại, chai thứ 2 phải được nạp đến vạch bằng với thứ nhất. Đưa ra một ví dụ để hỗ trợ điều này.

  1. Kiểm tra rằng, với n = 3, các chai được sắp xếp theo cách tốt nhất có thể được đưa vào từng máy theo cùng một thứ tự. Đối với n > 3, điều này không còn nhất thiết phải xảy ra nữa: để giảm thiểu thời gian vận hành của dây chuyền, đôi khi nó có thể gặp một chai khác được xử lý bởi máy A chưa hoàn chỉnh và đưa nó đến máy B tiếp theo sau chai ra khỏi máy A muộn hơn máy này. Đưa ra một ví dụ có liên quan.