- ❛r❜❛❣❡ ❈♦❧❧❡❝t✐♦♥
r t r t - - PowerPoint PPT Presentation
r t r t - - PowerPoint PPT Presentation
r t r t r t tt rs str s t
- ❛r❜❛❣❡ ❈♦❧❧❡❝t✐♦♥
- ❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ ❛✉t♦♠❛t✐❝❛❧❧② ❢r❡❡s st♦r❛❣❡ ✇❤✐❝❤ ✐s ♥♦t
✉s❡❞ ❜② t❤❡ ♣r♦❣r❛♠ ❛♥② ♠♦r❡✳ ❍❛s t✇♦ ♣❤❛s❡s✿ ④ ●❛r❜❛❣❡ ❞❡t❡❝t✐♦♥ ⑤ ☞♥❞s ✇❤✐❝❤ ♦❜❥❡❝ts ❛r❡ ❛❧✐✈❡ ❛♥❞ ✇❤✐❝❤ ❞❡❛❞❀ ④ ●❛r❜❛❣❡ r❡❝❧❛♠❛t✐♦♥ ⑤ ❞❡❛❧❧♦❝❛t❡s ❞❡❛❞ ♦❜❥❡❝ts✳ ▲✐✈❡♥❡ss ✐s ❛ ❣❧♦❜❛❧ s❡♠❛♥t✐❝ ♣r♦♣❡rt② ✇❤✐❝❤ ✐s ✉♥s♦❧✈❛❜❧❡ ✐♥ ❣❡♥❡r❛❧✳
- ❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ ✉s❡s ❛♥ ❛♣♣r♦①✐♠❛t✐♦♥✿ ❛♥ ♦❜❥❡❝t ✐s ❛❧✐✈❡
✐❢ ✐t✬s r❡❛❝❤❛❜❧❡ ❢r♦♠ t❤❡ r♦♦t s❡t❀ ♦t❤❡r✇✐s❡ ✐t✬s ❞❡❛❞✳
❘❡❢❡r❡♥❝❡✲❈♦✉♥t✐♥❣
❘❡❢❡r❡♥❝❡✲❈♦✉♥t✐♥❣
❊❛❝❤ ♦❜❥❡❝t ❤❛s ❛ ❝♦✉♥t❡r ✇❤✐❝❤ ❦❡❡♣s tr❛❝❦ t❤❡ ♥✉♠❜❡r ♦❢ r❡❢❡r❡♥❝❡s t♦ t❤❡ ♦❜❥❡❝t✳ ❈♦✉♥t❡r ✐s ♠♦❞✐☞❡❞ ✇❤❡♥ r❡❢❡r❡♥❝❡s t♦ t❤❡ ♦❜❥❡❝t ❛r❡ ❛❞❞❡❞✴❞❡❧❡t❡❞✿ ④ ❝♦✉♥t❡r ✐s ✐♥❝r❡♠❡♥t❡❞ ♦♥ ❛❞❞✐♥❣ ❛ ♥❡✇ r❡❢❡r❡♥❝❡❀ ④ ❝♦✉♥t❡r ✐s ❞❡❝r❡♠❡♥t❡❞ ♦♥ ❞❡❧❡t✐♦♥ ♦❢ ❛ r❡❢❡r❡♥❝❡✳ ■❢ ❝♦✉♥t❡r ✐s ③❡r♦✱ t❤❡♥ t❤❡ ♦❜❥❡❝t ✐s ❢r❡❡❞✿ ④ t❤❡ ♦❜❥❡❝t ✐s ✐♥s❡rt❡❞ ✐♥t♦ t❤❡ ❢r❡❡ ❧✐st❀ ④ ❛❧❧ ✐ts ♦✉t❣♦✐♥❣ ♣♦✐♥t❡rs ❛r❡ ❞❡❧❡t❡❞✳
❘❡❢❡r❡♥❝❡✲❈♦✉♥t✐♥❣
❊①❛♠♣❧❡✿
1 2 1 1 1 1 2 1 1
HEAP SPACE ROOT SET
❘❡❢❡r❡♥❝❡✲❈♦✉♥t✐♥❣
❊①❛♠♣❧❡✿
2 2 1 1 1 1 2 1
HEAP SPACE ROOT SET
❘❡❢❡r❡♥❝❡✲❈♦✉♥t✐♥❣
❊①❛♠♣❧❡✿
2 2 1 1 1 1 2
HEAP SPACE ROOT SET
❘❡❢❡r❡♥❝❡✲❈♦✉♥t✐♥❣
❊①❛♠♣❧❡✿
2 2 1 1 1 1 1
HEAP SPACE ROOT SET
❘❡❢❡r❡♥❝❡✲❈♦✉♥t✐♥❣
❆❞✈❛♥t❛❣❡s
✔ s✐♠♣❧❡ t♦ ✐♠♣❧❡♠❡♥t❀ ✔ ❛❝t✐✈✐t✐❡s r❡❧❛t❡❞ t♦ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ ❛r❡ ❞✐str✐❜✉t❡❞✿ ④ r❡❧❛t✐✈❡❧② ❡❛s② t♦ ♠❛❦❡ ✐t ✐♥❝r❡♠❡♥t❛❧❀ ✔ ❣♦♦❞ ❧♦❝❛❧✐t②✿ ④ ♠♦❞✐☞❡s ♦♥❧② ❝♦✉♥t❡rs ♦❢ s♦✉r❝❡ ❛♥❞ t❛r❣❡t r❡❢❡r❡♥❝❡s❀ ✔ ♠✐♥✐♠❛❧ ③♦♠❜✐❡ t✐♠❡ ✭t✐♠❡ ❜❡t✇❡❡♥ t❤❡ ♦❜❥❡❝t ❜❡❝♦♠✐♥❣ ❛ ❣❛r❜❛❣❡ ❛♥❞ ✐ts r❡❝❧❛♠❛t✐♦♥✮❀ ✔ ❛❧❧♦✇s ❡❛s② ✐♠♣❧❡♠❡♥t❛t✐♦♥ ♦❢ ♦❜❥❡❝t ☞♥❛❧✐③❛t✐♦♥✳
❘❡❢❡r❡♥❝❡✲❈♦✉♥t✐♥❣
❉r❛✇❜❛❝❦s
✘ r❡❧❛t✐✈❡❧② ✐♥❡✍❝✐❡♥t✿ ④ ♠✉st ♠❛♥❛❣❡ ❝♦✉♥t❡rs ❡✈❡♥ ✇❤❡♥ t❤❡r❡ ✐s ♥♦ ❣❛r❜❛❣❡❀ ✘ ♠❡♠♦r② ❢r❛❣♠❡♥t❛t✐♦♥✿ ④ ❛♥❛❧♦❣♦✉s t♦ ♦t❤❡r ❢r❡❡ ❧✐st ❜❛s❡❞ ♠❡t❤♦❞s❀ ✘ ✐❢ t❤❡r❡ ❛r❡ ♠❛♥② s♠❛❧❧ ♦❜❥❡❝ts✱ ♠❛② r❡q✉✐r❡ s✉❜st❛♥t✐❛❧ ❛♠♦✉♥t ♦❢ ♠❡♠♦r② ❢♦r ❝♦✉♥t❡rs❀ ✘ t❤❡ ❝♦♠♣❧❡①✐t② ♦❢ r❡❝✉rs✐✈❡ ❞❡❛❧❧♦❝❛t✐♦♥ ✐s ✐♥ ✇♦rst ❝❛s❡ ❜♦✉♥❞❡❞ ❜② s✐③❡ ♦❢ t❤❡ ❤❡❛♣❀ ✘ ✐s ✉♥❛❜❧❡ t♦ r❡❝❧❛✐♠ ❛❧❧ ❣❛r❜❛❣❡✿ ④ ❝②❝❧✐❝ ❞❛t❛ str✉❝t✉r❡s✳
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
▼❛r❦✲❙✇❡❡♣
❍❛s t✇♦ ♣❤❛s❡s✿
✶ st❛rt✐♥❣ ❢r♦♠ r♦♦ts✱ ♠❛r❦ ❛❧❧ r❡❛❝❤❛❜❧❡ ♦❜❥❡❝ts❀ ✷ s❝❛♥ ♦✈❡r t❤❡ ❤❡❛♣ ❛♥❞ ❢r❡❡ ❛❧❧ ♦❜❥❡❝ts ✇❤✐❝❤ ❛r❡ ♥♦t ♠❛r❦❡❞✳
void gc () { foreach x ✷ Roots do mark (x); end; collect (); }
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
Pr♦❝❡❞✉r❡ mark()
▼❛r❦s t❤❡ ❣✐✈❡♥ ♥♦❞❡ ❛♥❞ t❤❡♥ r❡❝✉rs✐✈❡❧② ♠❛r❦s ❛❧❧ ♥♦❞❡s r❡❛❝❤❛❜❧❡ ❢r♦♠ ✐t✳ ❘❡❝✉rs✐♦♥ st♦♣s ✇❤❡♥ t❤❡ ♥♦❞❡ ✐s ❛❧r❡❛❞② ♠❛r❦❡❞ ♦r ✐❢ t❤❡ ♥♦❞❡ ❝♦♥t❛✐♥s ♦♥❧② ♣r✐♠✐t✐✈❡ ✈❛❧✉❡s ✭♥♦ ♣♦✐♥t❡rs✮✳
void mark (ref x) { if (x✦mark == 0) { x✦mark = 1; foreach y ✷ sons(x) do mark (y); end; } }
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
Pr♦❝❡❞✉r❡ collect()
P❡r❢♦r♠s ❛ ❢✉❧❧ s❝❛♥ ♦✈❡r t❤❡ ❤❡❛♣ ❛♥❞ ♣✉ts ❛❧❧ ✉♥♠❛r❦❡❞ ♦❜❥❡❝ts ✐♥t♦ t❤❡ ❢r❡❡ ❧✐st✳
void collect () { freelist = NIL; foreach x ✷ objects() do if (x✦mark == 0) { x✦next = freelist; freelist = x; } else x✦mark = 0; end; }
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1 1
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1 1 1
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1 1 1
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1 1 1
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1 1 1 FL
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1 1 FL
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1 1 FL
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1 FL
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
1 FL
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊①❛♠♣❧❡✿
✶ ❘❡❝✉rs✐✈❡ ♠❛r❦✐♥❣✿ ✷ ❈♦❧❧❡❝t✐♥❣ t❤❡ ❣❛r❜❛❣❡✿
FL
▼❛r❦✲❙✇❡❡♣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❉r❛✇❜❛❝❦s
✘ ▼❛r❦✐♥❣ ✐s r❡❝✉rs✐✈❡✳ ④ ■♥ t❤❡ ✇♦rst ❝❛s❡✱ s✐③❡ ♦❢ t❤❡ r❡❝✉rs✐♦♥ st❛❝❦ ✐s ❧✐♥❡❛r t♦ s✐③❡ ♦❢ t❤❡ ❤❡❛♣✦✦ ④ P♦ss✐❜❧❡ s♦❧✉t✐♦♥✿ ❉❡✉ts❝❤✲❙❝❤♦rr✲❲❛✐t❡ ♣♦✐♥t❡r r❡✈❡rs❛❧ ❛❧❣♦r✐t❤♠✳ ✘ ▲✐✈❡ ♦❜❥❡❝ts ❛r❡ ♠✐①❡❞ ✇✐t❤ ❢r❡❡ ❤❡❛♣ ❛r❡❛s✳ ④ ▼❡♠♦r② ❢r❛❣♠❡♥t❛t✐♦♥✳ ④ P♦ss✐❜❧❡ s♦❧✉t✐♦♥✿ ▼❛r❦✲❈♦♠♣❛❝t ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥✳
P♦✐♥t❡r ❘❡✈❡rs❛❧
❉❡✉ts❝❤✲❙❝❤♦rr✲❲❛✐t❡ ❛❧❣♦r✐t❤♠
void mark (ref x) { FP = x; BP = NIL; while (FP✦mark ✻❂ -1 || BP ✻❂ NIL) { if (FP✦mark == 0) { FP✦mark = i = nextidx(FP); if (i ✻❂ -1) { tmp = FP; FP = tmp[i]; tmp[i] = BP; BP = tmp; } } else { // FP✦mark ✻❂ 0 ... } } }
P♦✐♥t❡r ❘❡✈❡rs❛❧
i BP FP i i BP FP
P♦✐♥t❡r ❘❡✈❡rs❛❧
❉❡✉ts❝❤✲❙❝❤♦rr✲❲❛✐t❡ ❛❧❣♦r✐t❤♠
... } else { // FP✦mark ✻❂ 0 i = nextidx(BP); if (i ✻❂ -1) { tmp = FP; FP = BP[i]; BP[i] = BP[BP✦mark]; BP[BP✦mark] = tmp; BP✦mark = i; } else { tmp = FP; FP = BP; BP = FP[FP✦mark]; FP[FP✦mark] = tmp; FP✦mark = i; } } ...
P♦✐♥t❡r ❘❡✈❡rs❛❧
i i j BP FP j i j BP FP
P♦✐♥t❡r ❘❡✈❡rs❛❧
j i j BP FP
- 1
i j BP FP
P♦✐♥t❡r ❘❡✈❡rs❛❧
FP BP
P♦✐♥t❡r ❘❡✈❡rs❛❧
1 FP BP
P♦✐♥t❡r ❘❡✈❡rs❛❧
1
- 1
FP BP
P♦✐♥t❡r ❘❡✈❡rs❛❧
2
- 1
FP BP
P♦✐♥t❡r ❘❡✈❡rs❛❧
2
- 1
1 FP BP
P♦✐♥t❡r ❘❡✈❡rs❛❧
2
- 1
- 1
FP BP
P♦✐♥t❡r ❘❡✈❡rs❛❧
- 1
- 1
- 1
FP BP
▼❛r❦✲❈♦♠♣❛❝t ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
▼❛r❦✲❈♦♠♣❛❝t
❍❛s t❤r❡❡ ♣❤❛s❡s✿
✶ st❛rt✐♥❣ ❢r♦♠ r♦♦ts✱ ♠❛r❦ ❛❧❧ r❡❛❝❤❛❜❧❡ ♦❜❥❡❝ts ✭s✐♠✐❧❛r❧②
❢♦r ▼❛r❦✲❙✇❡❡♣✮❀
✷ ♣❡r❢♦r♠ ❢✉❧❧ s❝❛♥ ♦❢ t❤❡ ❤❡❛♣ ❛♥❞ ❝♦♠♣✉t❡ ♥❡✇ ❛❞❞r❡ss❡s
❢♦r ♠❛r❦❡❞ ♦❜❥❡❝ts❀
✸ ♠♦✈❡ ♠❛r❦❡❞ ♦❜❥❡❝ts t♦ t❤❡✐r ♥❡✇ ❧♦❝❛t✐♦♥s ❛♥❞ ❝❤❛♥❣❡
♣♦✐♥t❡rs ❛❝❝♦r❞✐♥❣❧②✳ ✔ ❆t t❤❡ ❡♥❞ ♦❢ t❤❡ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ ❛❧❧ ❢r❡❡ ♠❡♠♦r② ❢♦r♠s ❛ s✐♥❣❧❡ ❝♦♠♣❛❝t r❡❣✐♦♥ ✐♥ t❤❡ ❤❡❛♣✳ ✘ ❘❡❧❛t✐✈❡❧② ✐♥❡✍❝✐❡♥t✱ ❛s ✐t r❡q✉✐r❡s s❡✈❡r❛❧ s❝❛♥s ♦✈❡r t❤❡ ❤❡❛♣✳
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❈♦♣②✐♥❣
❚❤❡ ❤❡❛♣ ✐s ❞✐✈✐❞❡❞ ✐♥t♦ t✇♦ ❡q✉❛❧ s✉❜r❡❣✐♦♥s✿ ❋r♦♠❙♣❛❝❡ ❛♥❞ ❚♦❙♣❛❝❡✳ ❋r♦♠❙♣❛❝❡ ✐s ❛ ❝✉rr❡♥t❧② ❛❝t✐✈❡ ♠❡♠♦r② r❡❣✐♦♥ t♦ ✇❤❡r❡ ❛❧❧♦❝❛t❡❞ ♦❜❥❡❝ts ❛r❡ s❛✈❡❞✳
- ❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ ✐s ✐♥✈♦❦❡❞ ✇❤❡♥ ❋r♦♠❙♣❛❝❡ ❜❡❝♦♠❡s
❢✉❧❧✿ ④ ❧✐✈❡ ♦❜❥❡❝ts ❛r❡ ❝♦♣✐❡❞ ❢r♦♠ ❋r♦♠❙♣❛❝❡ t♦ ❚♦❙♣❛❝❡❀ ④ ❋r♦♠❙♣❛❝❡ ❛♥❞ ❚♦❙♣❛❝❡ ✌✐♣ t❤❡ r♦❧❡s ✭✐❡✳ ❢♦r♠❡r ❚♦❙♣❛❝❡ ❜❡❝♦♠❡s ❋r♦♠❙♣❛❝❡ ❛♥❞ ✈✐❝❡ ✈❡rs❛✮✳
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
TOSPACE FROMSPACE ROOT SET
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❈❤❡♥❡②✬s ❛❧❣♦r✐t❤♠
❍❛s t✇♦ ✭✐♥t❡r❝❤❛♥❣✐♥❣✮ ♣❤❛s❡s✿ t❤❡ ☞rst ♣❤❛s❡ ✭❡✈❛❝✉❛t❡✮ ❝♦♣✐❡s ❛❧❧ ❞✐r❡❝t❧② r❡❛❝❤❛❜❧❡ ♦❜❥❡❝ts ❢r♦♠ ❋r♦♠❙♣❛❝❡ t♦ ❚♦❙♣❛❝❡✱ r❡♣❧❛❝❡s ✉s❡❞ ♣♦✐♥t❡rs ❜② t❤❡ ♦♥❡s ♣♦✐♥t✐♥❣ t♦ t❤❡ ♥❡✇ ❝♦rr❡s♣♦♥❞✐♥❣ ♦❜❥❡❝ts✱ ❛♥❞ ✐♥st❛❧❧s ❢♦r✇❛r❞✐♥❣ ♣♦✐♥t❡rs ✐♥ ♣❧❛❝❡s ♦❢ t❤❡ ❡✈❛❝✉❛t❡❞ ♦❜❥❡❝ts❀ t❤❡ s❡❝♦♥❞ ♣❤❛s❡ ✭s❝❛✈❡♥❣❡✮ ❧✐♥❡❛r❧② s❝❛♥s t❤❡ ♦❜❥❡❝ts ❝♦♣✐❡❞ ✐♥t♦ ❚♦❙♣❛❝❡ ❛♥❞ ❛❧❧ ♦❜❥❡❝ts ✭✐♥ ❋r♦♠❙♣❛❝❡✮ ❞✐r❡❝t❧② r❡❛❝❤❛❜❧❡ ❢r♦♠ t❤❡♠ ❛r❡ ❡✈❛❝✉❛t❡❞❀ ✐❢ t❤❡ ♦❜❥❡❝t ❤❛s ❛❧r❡❛❞② ❜❡❡♥ ❡✈❛❝✉❛t❡❞ ❜❡❢♦r❡✱ t❤❡♥ ✐t ✐s ♥♦t ❝♦♣✐❡❞ ❛❣❛✐♥ ❜✉t t❤❡ ♣♦✐♥t❡r t♦ ✐t ✐s r❡♣❧❛❝❡❞ ❜② t❤❡ ❢♦r✇❛r❞✐♥❣ ♣♦✐♥t❡r❀ t❤❡ ♣r♦❝❡ss ❡♥❞s✱ ✇❤❡♥ ❛❧❧ ♦❜❥❡❝ts ✐♥ ❚♦❙♣❛❝❡ ❛r❡ s❝❛♥♥❡❞✳
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET A B C D E F G Free Scan
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET A B C D E F G A B Free Scan
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET A B C D E F G A B C Free Scan
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET A B C D E F G A B C D Free Scan
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET A B C D E F G A B C D E Free Scan
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET A B C D E F G A B C D E F Free Scan
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET A B C D E F G A B C D E F G Free Scan
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET A B C D E F G A B C D E F G Free Scan
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
FROMSPACE TOSPACE ROOT SET A B C D E F G A B C D E F G Free Scan
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❆❞✈❛♥t❛❣❡s
✔ ❛❧❧ ❢r❡❡ ♠❡♠♦r② ✐s ✐♥ ❛ s✐♥❣❧❡ ❝♦♠♣❛❝t r❡❣✐♦♥❀ ✔ ♦❜❥❡❝t ❝r❡❛t✐♦♥ ✐s ✈❡r② ❝❤❡❛♣✿ ④ ♠❡♠♦r② ❛❧❧♦❝❛t✐♦♥ ✐s ❛♥ ✐♥❝r❡♠❡♥t❛t✐♦♥ ♦❢ t❤❡ ❤❡❛♣ ♣♦✐♥t❡r ❜② t❤❡ ♦❜❥❡❝t s✐③❡❀ ④ ❝❤❡❝❦✐♥❣ ♦❢ t❤❡ ❤❡❛♣ ❡①❤❛✉st✐♦♥ ✐s ❛ ❝♦♠♣❛r✐s♦♥ ♦❢ t✇♦ ♣♦✐♥t❡rs❀ ✔ ♦♥❧② ❧✐✈❡ ♦❜❥❡❝ts ❛r❡ ✐♥s♣❡❝t❡❞✿ ④ ♠♦st ♦❜❥❡❝ts ❤❛✈❡ r❡❧❛t✐✈❡❧② s❤♦rt ❧✐❢❡ s♣❛♥❀ ④ ❤❡♥❝❡✱ ✉s✉❛❧❧② t❤❡r❡ ❛r❡ ♠✉❝❤ ❧❡ss ❧✐✈❡ ♦❜❥❡❝ts t❤❛♥ ❣❛r❜❛❣❡❀ ✔ t❤❡♦r❡t✐❝❛❧ ❛♠♦rt✐③❡❞ ❡✍❝✐❡♥❝② ✐s ✈❡r② ❣♦♦❞✿ ④ ♦♥ ✐♥❝r❡❛s❡ ♦❢ t❤❡ ❤❡❛♣ s✐③❡✱ t❤❡ ❝♦st ♦❢ ❝♦♣②✐♥❣ ✇✐❧❧ ♥❡❛r t♦ ③❡r♦✦
❈♦♣②✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❉r❛✇❜❛❝❦s
✘ t❤❡ ✇❤♦❧❡ ✇♦r❦ ✐s ❝♦♥❝❡♥tr❛t❡❞ t♦ t❤❡ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ t✐♠❡✿ ④ ♠✐❣❤t r❡s✉❧t ❢♦r ❛♥♥♦②✐♥❣ ♣❛✉s❡s❀ ✘ ❜r❡❛t❤✲☞rst tr❛✈❡rs❛❧ ♠❛② ♠✐① ❧♦❝❛❧✐t② ♣❛tt❡r♥s❀ ✘ ❛❧❧ ♣♦✐♥t❡rs ❛r❡ r❡❛rr❛♥❣❡❞✿ ④ ♠✐❣❤t ✐♥✈❛❧✐❞❛t❡ s♦♠❡ ✐♥✈❛r✐❛♥ts t❤❡ ♣r♦❣r❛♠ ✐s ❛ss✉♠✐♥❣❀ ✘ ❤❛❧❢ ♦❢ t❤❡ ♠❡♠♦r② ✐s ✧✉s❡❧❡ss✧❀ ✘ ♦❜❥❡❝ts ✇✐t❤ ❧♦♥❣ ❧✐❢❡ s♣❛♥ ❛r❡ ❝♦♣✐❡❞ ♦✈❡r ❛♥❞ ♦✈❡r ❛❣❛✐♥✿ ④ ♠✐❣❤t ❜❡ q✉✐t❡ ❝♦st❧② ✐❢ ✧✈❡t❡r❛♥✧ ♦❜❥❡❝ts ❛r❡ ❧❛r❣❡✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❊♠♣✐r✐❝❛❧ ❢❛❝ts
■♥❢❛♥t ♠♦rt❛❧✐t② ④ ♠♦st ♦❜❥❡❝ts ❤❛✈❡ ✈❡r② s❤♦rt ❧✐❢❡ s♣❛♥✳ ❯s✉❛❧❧② ✽✵✲✾✵✪ ♦❜❥❡❝ts ❞✐❡ ❜❡❢♦r❡ t❤❡ ♥❡①t ♠❡❣❛❜②t❡ ✐s ✉s❡❞✿ ④ ✻✵✲✾✵✪ ❈▲ ❛♥❞ ✼✺✲✾✺✪ ❍❛s❦❡❧❧ ♦❜❥❡❝ts ❞✐❡ ❜❡❢♦r❡ ❣❡tt✐♥❣ ✧✶✵ ❦❜ ♦❧❞✧✳ ④ ❙▼▲✴◆❏ ❢r❡❡s ✾✽✪ ♦❢ ♦❜❥❡❝ts ❞✉r✐♥❣ ❡❛❝❤ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥✳ ④ ✾✺✪ ♦❢ ❏❛✈❛ ♦❜❥❡❝ts ❛r❡ ✧s❤♦rt✲❧✐✈❡❞✧✳ ❚❤❡ ♦❧❞❡r t❤❡ ♦❜❥❡❝t✱ t❤❡ ♠♦r❡ ♣r♦❜❛❜❧❡ t❤❛t ✐t s✉r✈✐✈❡s t❤❡ ♥❡①t ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥✳ ❉✐r❡❝t✐♦♥❛❧✐t② ♦❢ r❡❢❡r❡♥❝❡ ④ ✉s✉❛❧❧② ②♦✉♥❣❡r ♦❜❥❡❝ts ♣♦✐♥t t♦ t❤❡ ♦❧❞❡r ♦♥❡s✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
▼❡♠♦r② ✐s ❞✐✈✐❞❡❞ ❜② t❤❡ ❛❣❡ ♦❢ ♦❜❥❡❝ts ❧✐✈✐♥❣ t❤❡r❡ ✐♥t♦ ❣❡♥❡r❛t✐♦♥s✳ ❚❤❡ ♥✉♠❜❡r ❛♥❞ s✐③❡ ♦❢ ❞✐☛❡r❡♥t ❣❡♥❡r❛t✐♦♥s ✐s ✉s✉❛❧❧② ☞①❡❞ ❜❡❢♦r❡❤❛♥❞✳ ◆❡✇ ♦❜❥❡❝ts ✭✐♥❢❛♥ts✮ ❛r❡ ❝r❡❛t❡❞ ✐♥t♦ t❤❡ ②♦✉♥❣❡st ❣❡♥❡r❛t✐♦♥ ✭♥✉rs❡r②✮✳ ❲❤❡♥ ❛❧✐✈❡ ♦❜❥❡❝ts ❣❡t ♦❧❞❡r ✭t❡♥✉r❡✮ t❤❡② ❛r❡ ♣r♦♠♦t❡❞ t♦ t❤❡ ♥❡①t ❣❡♥❡r❛t✐♦♥✳
- ❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥s ♦❢ ❞✐☛❡r❡♥t ❣❡♥❡r❛t✐♦♥s ❛r❡ ❞♦♥❡ ✐♥
❞✐☛❡r❡♥t ❢r❡q✉❡♥❝✐❡s ④ ♠♦st ❢r❡q✉❡♥t❧② ✐♥ t❤❡ ②♦✉♥❣❡st ❣❡♥❡r❛t✐♦♥✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
▼❡♠♦r② ❞✐✈✐s✐♦♥ ✐♥t♦ ❣❡♥❡r❛t✐♦♥s
Generation 1 (youngest) Generation 2 Generation n (oldest)
. . .
Live object Dead object
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❘❡♠❡♠❜❡r❡❞ s❡ts
■♥ ❛❞❞✐t✐♦♥ t♦ ✧♥♦r♠❛❧✧ r♦♦ts✱ t❤❡ ❣✐✈❡♥ ❣❡♥❡r❛t✐♦♥ ♠❛② ❤❛✈❡ ♦✉ts✐❞❡ ♣♦✐♥t❡rs ❢r♦♠ ♦t❤❡r ❣❡♥❡r❛t✐♦♥s✳ ❚❤❡✐r ❧♦❝❛t✐♦♥s ❝❛♥✬t ❜❡ ❞❡t❡r♠✐♥❡❞ st❛t✐❝❛❧❧② ✳ ❉②♥❛♠✐❝❛❧❧② s❡❛r❝❤✐♥❣ ♣♦ss✐❜❧❡ r♦♦ts ❢r♦♠ ♦t❤❡r ❣❡♥❡r❛t✐♦♥s ❞✉r✐♥❣ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ ✐s ✈❡r② ❝♦st❧②✳ ❍❡♥❝❡✱ ❡❛❝❤ ❣❡♥❡r❛t✐♦♥ ❤❛s ❛ ❝♦rr❡s♣♦♥❞✐♥❣ r❡♠❡♠❜❡r❡❞ s❡t✱ ✇❤✐❝❤ ❝♦♥t❛✐♥s r❡❢❡r❡♥❝❡s ❢r♦♠ ♦t❤❡r ❣❡♥❡r❛t✐♦♥s ④ ✐❢ t❤❡r❡ ✐s ❛ ♣♦✐♥t❡r ❢r♦♠ ♦♥❡ ❣❡♥❡r❛t✐♦♥ t♦ ❛♥♦t❤❡r✱ t❤❡♥ t❤❡ r❡❢❡r❡♥❝❡ ✐s ❛❞❞❡❞ ✐♥t♦ t❤❡ r❡♠❡♠❜❡r❡❞ s❡t ♦❢ t❤❡ t❛r❣❡t ❣❡♥❡r❛t✐♦♥✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❘❡♠❡♠❜❡r❡❞ s❡ts
Root set Young generation Remembered set Old generation Remembered set
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
Pr♦❜❧❡♠
❘❡♠❡♠❜❡r❡❞ s❡ts ♠❛② r❡q✉✐r❡ ❛ s✐❣♥✐☞❝❛♥t ❛♠♦✉♥t ♦❢ ♠❡♠♦r② ④ ❛❧❧ ✐♥t❡r❣❡♥❡r❛t✐♦♥ ❞❡♣❡♥❞❡♥❝✐❡s ♠✉st ❜❡ r❡❝♦r❞❡❞✳ ❘❡♠❡♠❜❡r❡❞ s❡ts ♠✉st ❜❡ ♠❛✐♥t❛✐♥❡❞ ❞✉r✐♥❣ t❤❡ ♣r♦❣r❛♠ ❡①❡❝✉t✐♦♥ ✇❤✐❝❤ ♠❛② ❜❡ ✈❡r② ❝♦st❧② ④ ❡❛❝❤ ♣♦✐♥t❡r ✈❛r✐❛❜❧❡ ♠❛② ♣♦t❡♥t✐❛❧❧② ❜❡ ✐♥t❡r❣❡♥❡r❛t✐♦♥❛❧✳
❙♦❧✉t✐♦♥
❘❡❝♦r❞ ✐♥ r❡♠❡♠❜❡r❡❞ s❡ts ♦♥❧② r❡❢❡r❡♥❝❡s ❢r♦♠ t❤❡ ♦❧❞❡r ❣❡♥❡r❛t✐♦♥ t♦ ②♦✉♥❣❡r ♦♥❡s ④ ✐♥ ❝❛s❡ ♦❢ t✇♦ ❣❡♥❡r❛t✐♦♥s✱ ♦♥❧② ♦♥❡ r❡♠❡♠❜❡r❡❞ s❡t ✭❢♦r t❤❡ ♥✉rs❡r②✮ ✐s ♥❡❡❞❡❞✳ ❯s❡ ❛♣♣r♦①✐♠❛t❡ r❡♠❡♠❜❡r❡❞ s❡ts✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❖♥❡✲✇❛② r❡♠❡♠❜❡r❡❞ s❡ts
Root set Young generation Remembered set Old generation
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❘❡♠❡♠❜❡r❡❞ s❡ts
P♦✐♥t❡rs ❢r♦♠ ❛♥ ♦❧❞❡r t♦ ❛ ②♦✉♥❣❡r ❣❡♥❡r❛t✐♦♥ ❛r❡ r♦♦ts ❢♦r t❤❡ ②♦✉♥❣❡r ❣❡♥❡r❛t✐♦♥✿ ④ s✉❝❤ ♣♦✐♥t❡rs ❛r❡ r❡❧❛t✐✈❡❧② ✐♥❢r❡q✉❡♥t❀ ④ t❤❡② ♠❛② ❜❡ ❝r❡❛t❡❞ ♦♥❧② ❜② ❞❡str✉❝t✐✈❡❧② ✉♣❞❛t✐♥❣ ❛ ♣♦✐♥t❡r ✐♥ ❛ t❡♥✉r❡ ♦❜❥❡❝t❀ ④ s✉❝❤ ❛ss✐❣♥♠❡♥ts ❛r❡ ❝❛✉❣❤t ❜② ✇r✐t❡ ❜❛rr✐❡rs✳ P♦✐♥t❡rs ❢r♦♠ ❛ ②♦✉♥❣❡r t♦ ❛♥ ♦❧❞❡r ❣❡♥❡r❛t✐♦♥ ❛r❡ ❢r❡q✉❡♥t✿ ④ ♥♦t ❛ ♣r♦❜❧❡♠✱ ✐❢ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ ♦❢ t❤❡ ♦❧❞❡r ❣❡♥❡r❛t✐♦♥ ❛❧✇❛②s ❝♦❧❧❡❝ts ❛❧s♦ t❤❡ ②♦✉♥❣❡r ♦♥❡✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❯s✉❛❧❧② t❤❡r❡ ❛r❡ ❥✉st t✇♦ ❣❡♥❡r❛t✐♦♥s ❛♥❞ t❤❡ ②♦✉♥❣❡r ♦♥❡ ✐s r❡❧❛t✐✈❡❧② s♠❛❧❧✳ ◆♦r♠❛❧❧②✱ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ ♣❡r❢♦r♠s ♦♥❧② ❛ ♠✐♥♦r ❝♦❧❧❡❝t✐♦♥ ✇❤✐❝❤✿ ④ r❡♠♦✈❡s ❣❛r❜❛❣❡ ♦♥❧② ❢r♦♠ t❤❡ ♥✉rs❡r②❀ ④ ♦❧❞ ❡♥♦✉❣❤ ♦❜❥❡❝ts ❛r❡ ♣r♦♠♦t❡❞ t♦ t❤❡ t❡♥✉r❡❞ s♣❛❝❡✳ ❲❤❡♥ t❤❡ t❡♥✉r❡❞ s♣❛❝❡ ✐s ❡①❤❛✉st❡❞✱ ❛ ♠❛❥♦r ❝♦❧❧❡❝t✐♦♥ ✐s ♣❡r❢♦r♠❡❞❀ ✐❡✳ ❣❛r❜❛❣❡ ✐s ❝♦❧❧❡❝t❡❞ ❢r♦♠ ❜♦t❤ ❣❡♥❡r❛t✐♦♥s✳ ▼✐♥♦r ❛♥❞ ♠❛❥♦r ❝♦❧❧❡❝t✐♦♥s ♠❛② ✉s❡ ❞✐☛❡r❡♥t ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥ ♠❡t❤♦❞s ✭❡❣✳ ♠✐♥♦r ✉s❡s ❝♦♣②✐♥❣ ❛♥❞ ♠❛❥♦r ✉s❡s ♠❛r❦✲❝♦♠♣❛❝t✮✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
■ss✉❡s
▼✐♥♦r ❝♦❧❧❡❝t✐♦♥s ❞♦❡s♥✬t r❡♠♦✈❡ ❣❛r❜❛❣❡ ✐♥ t❤❡ t❡♥✉r❡❞ s♣❛❝❡✿ ④ ❛❧❧ ②♦✉♥❣ ♦❜❥❡❝ts ♣♦✐♥t❡❞ ❜② ❛ t❡♥✉r❡❞ ❣❛r❜❛❣❡ ✇✐❧❧ r❡♠❛✐♥ ✉♥❝♦❧❧❡❝t❡❞ ✭♥❡♣♦t✐s♠✮✳ ❍♦✇ ♦❧❞ ♠✉st ❜❡ ❛♥ ♦❜❥❡❝t ❜❡❢♦r❡ ♣r♦♠♦t✐♥❣❄ ④ ❖♥❡ ♠✐♥♦r ❝♦❧❧❡❝t✐♦♥ ✐s ♥♦t ❡♥♦✉❣❤✱ ❛s ♦❜❥❡❝ts ❝r❡❛t❡❞ ❥✉st ❜❡❢♦r❡ t❤❡ ❝♦❧❧❡❝t✐♦♥ ❤❛✈❡♥✬t ②❡t ❤❛❞ t✐♠❡ t♦ ❞✐❡✳ ④ ❯s✉❛❧❧②✱ t✇♦ ♠✐♥♦r ❝♦❧❧❡❝t✐♦♥s ✐s ❝♦♥s✐❞❡r❡❞ t♦ ❜❡ ❡♥♦✉❣❤✳ ❍♦✇ ❧❛r❣❡ s❤♦✉❧❞ ❜❡ t❤❡ ♥✉rs❡r②❄ ④ ▼✉st ☞t ✐♥t♦ t❤❡ ♠❛✐♥ ♠❡♠♦r②✳ ④ ❚♦♦ ❜✐❣ ♠❛② r❡s✉❧t t♦ t♦♦ ❧♦♥❣ ♠✐♥♦r ❝♦❧❧❡❝t✐♦♥ ♣❛✉s❡s✳ ④ ❚♦♦ s♠❛❧❧ ❞♦❡s♥✬t ❣✐✈❡ ❡♥♦✉❣❤ t✐♠❡ ❢♦r ②♦✉♥❣ ♦❜❥❡❝ts t♦ ❞✐❡✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠
▼❛❥♦r ❝♦❧❧❡❝t✐♦♥ ♠❛② r❡s✉❧t t♦ t♦♦ ❧♦♥❣ ♣❛✉s❡s ❢♦r ✐♥t❡r❛❝t✐✈❡ ♣r♦❣r❛♠s✳ ❚r❛✐♥ ❛❧❣♦r✐t❤♠ ❜② ❍✉❞s♦♥ ❛♥❞ ▼♦ss ✉s❡s ✐♥❝r❡♠❡♥t❛❧ ❝♦❧❧❡❝t✐♦♥ ❢♦r t❤❡ ♦❧❞ ❣❡♥❡r❛t✐♦♥✳ ❚❤❡ t❡♥✉r❡❞ s♣❛❝❡ ✐s ❞✐✈✐❞❡❞ ✐♥t♦ ❝❛rs✿ ④ ❡❛❝❤ ❝❛r ❤❛s ✐ts ♦✇♥ r❡♠❡♠❜❡r❡❞ s❡t❀ ④ ♦♥❧② ♦♥❡ ❝❛r❡ ✐s ❝♦❧❧❡❝t❡❞ ❛t ♦♥❝❡✳ ❆s s✉❜str✉❝t✉r❡s ♠❛② ❧✐✈❡ ✐♥ ❞✐☛❡r❡♥t ❝❛rs✱ t❤❡ ❝❛rs ❛r❡ ❣r♦✉♣❡❞ ✐♥t♦ tr❛✐♥s✿ ④ t❤❡ ❛✐♠ ✐s t♦ ❛❝❝✉♠✉❧❛t❡ r❡❧❛t❡❞ ❞❛t❛ str✉❝t✉r❡s ✐♥t♦ ♦♥❡ tr❛✐♥✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠ ⑤ ❞✐✈✐s✐♦♥ ♦❢ t❤❡ t❡♥✉r❡❞ s♣❛❝❡
Old generation Train 1 Train 2 Train 3 Car 1.1 Car 1.2 Car 1.3 Car 2.1 Car 2.2 Car 3.1 Car 3.2 Car 3.3 Car 3.4
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠
❊❛❝❤ ❝❛❧❧ ♦❢ t❤❡ ❛❧❣♦r✐t❤♠ ❢r❡❡s t❤❡ ☞rst ❝❛r ✭❋r♦♠❈❛r✮ ♦❢ t❤❡ ☞rst tr❛✐♥ ✭❋r♦♠❚r❛✐♥✮✳ ■❢ ❋r♦♠❚r❛✐♥ ❞♦❡s♥✬t ❤❛✈❡ ❛♥② ♦✉ts✐❞❡ ♣♦✐♥t❡rs t♦ ✐t✱ t❤❡ ✇❤♦❧❡ tr❛✐♥ ✇✐❧❧ ❜❡ ❢r❡❡❞✳ ❖t❤❡r✇✐s❡✱ t❤❡ ♦❜❥❡❝ts ✐♥ ❋r♦♠❈❛r ♣♦✐♥t❡❞ ❢r♦♠ ♦t❤❡r tr❛✐♥s ❛r❡ ❡✈❛❝✉❛t❡❞ ✐♥t♦ t❤❡s❡ tr❛✐♥s❀ ♦❜❥❡❝ts ♣♦✐♥t❡❞ ❢r♦♠ ♦t❤❡r ❣❡♥❡r❛t✐♦♥s ❛r❡ ❡✈❛❝✉❛t❡❞ ✐♥t♦ s♦♠❡ ♦t❤❡r ✭♠❛② ❜❡ ❝♦♠♣❧❡t❡❧② ♥❡✇✮ tr❛✐♥✳ ❘❡♠❛✐♥✐♥❣ ♦✉ts✐❞❡ ♣♦✐♥t❡rs ♦❢ ❋r♦♠❈❛r ❛r❡ ❢r♦♠ ♦t❤❡r ❝❛rs ♦❢ ❋r♦♠❚r❛✐♥❀ ❝♦rr❡s♣♦♥❞✐♥❣ ♦❜❥❡❝ts ❛r❡ ❡✈❛❝✉❛t❡❞ ✐♥t♦ t❤❡ ❧❛st ❝❛r ♦❢ ❋r♦♠❚r❛✐♥ ✭❝r❡❛t✐♥❣ ❛ ♥❡✇ ❝❛r ✐❢ ♥❡❝❡ss❛r②✮✱ ❛❢t❡r ✇❤✐❝❤ ❋r♦♠❈❛r ✐s ❢r❡❡❞✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠ ⑤ t❤❡ ✐♥✐t✐❛❧ st❛t❡
Root set Train 1 Train 2
R A C S D E T F B
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠ ⑤ t❤❡ st❛t❡ ❛❢t❡r t❤❡ ☞rst ❝♦❧❧❡❝t✐♦♥
Root set Train 1 Train 2
S D E T F C B R A
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠ ⑤ t❤❡ st❛t❡ ❛❢t❡r t❤❡ s❡❝♦♥❞ ❝♦❧❧❡❝t✐♦♥
Root set Train 1 Train 2
T F C D E B R A S
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠ ⑤ t❤❡ st❛t❡ ❛❢t❡r t❤❡ t❤✐r❞ ❝♦❧❧❡❝t✐♦♥
Root set Train 1 Train 2
F C D E B R A S T
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠ ⑤ t❤❡ st❛t❡ ❛❢t❡r t❤❡ ❢♦✉rt❤ ❝♦❧❧❡❝t✐♦♥
Root set Train 1 Train 2
B R A S T
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠ ⑤ t❤❡ st❛t❡ ❛❢t❡r t❤❡ ☞❢t❤ ❝♦❧❧❡❝t✐♦♥
Root set Train 2 Train 3
T R S
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠ ⑤ t❤❡ st❛t❡ ❛❢t❡r t❤❡ s✐①t❤ ❝♦❧❧❡❝t✐♦♥
Root set Train 2 Train 3
R S T
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥
❚r❛✐♥ ❛❧❣♦r✐t❤♠ ⑤ ❝♦♥❝❧✉s✐♦♥
✔ ■❢ str✉❝t✉r❡s ✇✐t❤♦✉t ♦✉ts✐❞❡ ♣♦✐♥t❡rs ❛r❡ ❝♦♠♣❧❡t❡❧② ✐♥ ❛ s✐♥❣❧❡ tr❛✐♥✱ t❤❡② ❝❛♥ ❜❡ ❢r❡❡❞ ✐♠♠❡❞✐❛t❡❧②✳ ✔ ■♥ ❡❛❝❤ ❝♦❧❧❡❝t✐♦♥✱ t❤❡ ♥✉♠❜❡r ♦❢ ❡✈❛❝✉❛t❡❞ ♦❜❥❡❝ts ✐s ❜♦✉♥❞❡❞ ❜② s✐③❡ ♦❢ ❛ s✐♥❣❧❡ ❝❛r✳ ✔ ❊✈❛❝✉❛t❡❞ ♦❜❥❡❝ts ❛r❡ ❝♦♠♣❛❝t❡❞ ✐♥t♦ ❛ s✐♥❣❧❡ tr❛✐♥✳ ✘ ❘❡❧❛t✐✈❡❧② ❝♦♠♣❧✐❝❛t❡❞✳ ✘ ❘❡q✉✐r❡s q✉✐t❡ ❛ ❧♦t ♦❢ ♠❡♠♦r② ❢♦r r❡♠❡♠❜❡r❡❞ s❡ts✳
- ❡♥❡r❛t✐♦♥❛❧ ❣❛r❜❛❣❡ ❝♦❧❧❡❝t✐♦♥