Các bước này được thực hiện lặp đi lặp lại cho đến khi kết thúc và đạt được mục đích, tại điểm kết thúc ta cú c s Grăobner đối với thứ tự đích.
3.1 Băng qua các nón
Gi s rng ta cú c s Grăobner được đánh dấu Gold tương ứng với nón
Cold, và một ma trận Mold với hàng đầu tiên wold tương ứng với thứ tự
>old. Đặt wnew là điểm cuối cùng trên đường đi nằm trong nón Cold. Vectơ wnew có thể được tính như sau. Đặt
Gold = {xα(i)+X
i,β
cixβ : 1 ≤ i ≤ t},
trong đó xα(i) là từ dẫn đầu tương ứng với thứ tự >Mold. Để đơn giản hóa ký hiệu, đặt v1, . . . , vm biểu thị cho vectơ α(i)−β với 1 ≤i ≤t và ci,β 6= 0. Theo ký hiệu của CG, khi đó Cold bao gồm các điểm trong góc phần dương
(Rn)+ với
w.vj ≥ 0, 1 ≤j ≤ m.
Để đơn giản ta nói rằng phần cịn lại của đường đi chứa đoạn thẳng từwold
đếnwt. Tham số hóa đường thẳng này bằng (1−u)wold+uwt với u∈ [0,1],
ta thấy rằng điểm nằm trong Cold tương ứng với tham số u nằm trong Cold
nếu và chỉ nếu
(1−u)(wold.vj) + u(wt.vj) ≥ 0, 1≤ j ≤ m. (3.1) Khi đó wnew = (1−ulast)wold+ wlastwt, với ulast đươc tính bởi thuật tốn sau
Input: wold, wt, v1, . . . , vm
Output: ulast ulast = 1
3.1 Băng qua các nón 23
IF wt.vj < 0 THEN uj := wold.vj
wold.vj −wt.vj
IF uj < ulast THEN ulast := uj
Ý tưởng sau đó của (3.2) là nếu wt.vj ≥0 thì (3.1) xảy ra với mọiu ∈ [0,1]
vì wold.vj 6= 0. Mặt khác, nếu wt.vj < 0, thì cơng thức uj cho giá trị lớn nhất của u sao cho (3.1) xảy ra với các giá trị j này. Trong trường hợp này chú ý rằng 0 ≤ uj < 1.
Mệnh đề 3.1. Đặt wnew = (1−ulast)wold+ulastwt là điểm cuối cùng trên
phần đường từ wold đến wt nằm trên Cold.
Khi chúng ta có wnew, ta cần chọn hình nón tiếp theo trong quạt Grăobner. t >new là thứ tự trọng số mà ta so sánh wnew-trọng số và phân định tiếp bằng cách sử dụng thứ tự đích. Vì >t được biểu diễn bởi
Mt, nên >new được biểu diễn bởi wnew
Mt
!
. Thứ tự này cho ta nón mới
Cnew.
Hơn nữa, trong trường hợp mà Mt là phần đáy của ma trận biểu diễn
>old bổ đề sau đây cho thấy rằng bất cứ khi nào wold 6= wt quá trình trên được đảm bảo để đưa chúng ta đến gần hơn với wt.
Bổ đề 3.2. Đặt ulast như ở (3.2) và giả sử rằng >old là được biểu diễn bởi
wold Mt
!
. Khi đó ulast > 0.
Chứng minh. Theo (3.2), nếu ulast = 0 thì wold.vj = 0 và wt.vj < 0với một số j. Tuy nhiên vj = α(j)−β với một sốg = xα(j)+P
j,βcj,βxβ ∈ G, trong
đó xα(j) là từ dẫn đầu đối với thứ tự >old và cj,β 6= 0. Từ đó suy ra
wold.α(j) = wold.β và wt.α(j) < wt.β. (3.3) Vì >old được biểu diễn bởi wold
Mt
!
, đẳng thức trong (3.3) nói rằng xα(j)
và xβ có cùng wold-trọng, vì vậy ta phải phân định tiếp sử dụngMt. Nhưng
wt là hàng đầu tiên của Mt, vì vậy bất đẳng thức trong (3.3) suy ra rằng