SlideShare a Scribd company logo
1 of 582
Download to read offline
ÁÆ ¾ ÌÖ Ø Ñ ÒØ × ÓÒÒ × Å ×× Ú ×
½ Ä Ö ÖÓÙÔ Ñ ÒØ ÓÒÒ × Ò ÀÈ
Ö Ò Æ Ð× Ò
Ò Ð× Ò Ð ÜºÔÓÐÝØ Ò ÕÙ º Ö
¾¼½¿
ÚÖ Ð ¾¼½
Å ×× ÓÒ ´ ѵÔÓ×× Ð ÆÓÒ¸ Ñ Ñ ×ÙÖ ÐÓ × ¹ µ
ÇÖ Ò × Ø ÓÒ Ù ÓÙÖ×
ÁÆ ¾
Ç Ø × Ù ÓÙÖ× ÁÆ ¾
ÕÙ Ö Ö Ð Ö ×ÓÒÒ Ñ ÒØ Ò ÓÖÑ Ø ÕÙ ÔÓÙÖ Ð ÑÓ Ð Ð ÙÐ
Ô Ö ÐÐ Ð ×ÙÖ Ñ ÑÓ Ö ×ØÖ Ù ´ÁÆ ¿½ ÑÙÐØ ¹ Ð× ×ÙÖ Ñ ÑÓ Ö
Ô ÖØ µ
ÈÖÓ Ö ÑÑ Ö Ò ·· Ò ÙØ Ð × ÒØ Ð³ ÒØ Ö ÅÈÁ ´Å ×× È ×× Ò
ÁÒØ Ö µ¸ Ø × × ÖÚ Ö ³ÙÒ ÐÙ×Ø Ö Ñ Ò ×
½ Ñ Ò × ÓÖ Ò × × Ò ÐÙ×Ø Ö× Ò× Ð × × ÐÐ × Ò ÓÖÑ Ø ÕÙ ×
Ë Ñ Ð Ö × Ö Ú Ð ÑÓÒ Ù ÀÈ » Ø ´¿ È ÁÆ Ç¸ Ô Ö ÓÙÖ×
ÀÈ ÓÙ Ô Ö ÓÙÖ× Ë Ò × ÓÒÒ ×µ
È ÅÓÓ Ð Ù ÓÙÖ×
ØØÔ× »»ÑÓÓ Ð ºÔÓÐÝØ Ò ÕÙ º Ö» ÒÖÓл Ò ÜºÔ Ô ¿¾
Ð ÔÓÙÖ Ð³ Ò× Ö ÔØ ÓÒ ÁÆ ¾¹ ¾¼½¿
ÁÆ ¾ ÙÒ Ô Ö Ù Ù ÓÒØ ÒÙ × ÓÙÖ×»Ì ×
ÍÒ ÓÖÑ Ø ÓÒ Ð Ö Ò ÐÓ ×
Ò ÐÝ× ÓÒÒ × ´ Ú Ð ÀÈ µ
Ö Ö ÜÔÐÓÖ ØÓ Ö ´ ÐÙ×Ø Ö Ò µ
ÔÔÖ ÒØ ×× ×ÙÔ ÖÚ × ´ Ð ×× Ø ÓÒµ
Ð Ö Ð Ò Ö ´Ñ ØÖ ×µ
Ö Ô ×
Ú ÐÙ Ø ÓÒ × Ö ×ÙÐØ Ø× ´× Ò × ÓÒÒ ×µ¸
ÈÖÓ Ö ÑÑ Ö Ò ·· Ú Ð ËØ Ò Ö Ì ÑÔÐ Ø Ä Ö ÖÝ ´ËÌĵ Ø
ÓÓ×Ø ´Ñ ØÖ ×» Ö Ô ×µ¸
È Ö ÐÐ Ð × Ø ÓÒ × ÔÖÓ Ö ÑÑ × Ú Ð Å ×× È ×× Ò ÁÒØ Ö
´ÅÈÁµ
ÁÆ ¾ Ñ Ò ×ØÖ Ø ÓÒ
ÓÒØ Ø Ò Ð× Ò Ð ÜºÔÓÐÝØ Ò ÕÙ º Ö
ÔÖ Ü Ù ×Ù Ø × Ñ Ð× ÁÆ ¾
ÖÓÙÐ Ñ ÒØ
ÐÓ × ½ ¿¼ ÓÙÖ× ×Ù Ú ¾ Ì × · ØÖ Ú Ð Ô Ö×ÓÒÒ Ð
ÓÒØÖ Ð Å Ò ´ Ÿ ¾ µ¸ ÓÒØÖ Ð Ð ×× ÒØ ´ ¸ Ö Ø ¿ µ
ÆÓØ Ø ÓÒ Ù ÓÙÖ×
ÆÓØ Ð ×× ÒØ ∈ [¼, ¾¼] ´ Ü Ñ Ò Ö Ø¸ Ð ½¼ Ù Ò ¾¼½ µ
ÆÓØ Ð Ø Ö Ð ∈ {A, ..., E} ÔÓÙÖ Ð Ú Ð Ø ÓÒ ´ ¸ ¸ µ
× Ò× ÈÖÓ Ø ÁÒ ÓÖÑ Ø ÕÙ ´ÈÁµ
¾ + Å
¿ + Ì ¸ Ú Ì ∈ [−½, ½]
Ú ÈÁ
¾ +Ñ Ü( Å,ÈÁ)
¿ + Ì
Ð Ø ÓÒ × Ð Ù × ¾¼½¿ Ö ÑÔÐ Ö
Ð Ù ÓÙÖ×
Ð Ù × × ÖÓÙÔ ×
ÖÓÙÔ ÆÓÑ Ù Ð Ù
½
¾
¿
½¼
½½
½¾
Ä ÈÖÓ Ø ÁÒ ÓÖÑ Ø ÕÙ ´ÈÁµ
Ä ¿ È ÁÆ Ç ´≥ ¿ ÓÙÖ× ÁÆ Ç ¾ µ
È ÁÆ Ç Ð ÙØ ÚÓ Ö Ø ÙÒ ÈÖÓ Ø ÁÒ ÓÖÑ Ø ÕÙ Ò ¾ ´ÓÙ ÑÓ Ðµ
ŠȹÁÆ Ç ´È Ö ÓÙÖ× ÁÑ ¹Î × ÓÒ¹ ÔÔÖ ÒØ ×× ¸ ÇÔØ Ñ × Ø ÓÒ¸ Ë Ò
× ÓÒÒ ×¸ Ð ÙÐ À ÙØ È Ö ÓÖÑ Ò µ ÈÁ Ò ¾ ÁÆ Ç ÓÙ Å È
È Å Ì ÁÆ Ç ÈÁ Ô × Ó Ð ØÓ Ö Ñ × Ö ÓÑÑ Ò
ÖÓÙÐ Ñ ÒØ × ÈÁ× Ò ÁÆ ¾
ÒÚ ÖÓÒ ¼¼ Ð Ò × Ó ´ÄÇ ×¸ Ð Ò Ó Ó ×¸ ··µ
Ò Ò Ñ
Ö ÔÔÓÖØ Ô ×
×ÓÙØ Ò Ò ´ Ú ÑÓ µ ½ Ñ Òº ´ÔÖ × ÒØ Ø ÓÒµ · ½¼ Ñ Òº ´ÕÙ ×Ø ÓÒ×µ
Ê ÔÔ Ð ÓÑÔØ ÙÒ ÕÙ Ñ ÒØ Ò× Ð ÒÓØ Ð ØØ Ö Ð × Ò× Ô Ò Ð × Ö
¾ + Ñ Ü(ÈÅ, ÈÁ)
¿
+ Ì
Ú Ì ∈ [−½, ½]
Ä ÈÁ Ò ÁÆ ¾
Ö ×ÔÓÒ× Ð × ÈÁ× Ð Ù ³ Ñ ÖÓ× Ó
Ñ ÖÓ× Ó Ð ÜºÔÓÐÝØ Ò ÕÙ º Ö
¿ Ó Ü ´ÓÖ Ö ÔÖ Ö Ò µ Ö Ù ÔÐÙ× Ø Ö ÔÓÙÖ Ð ¾¼ ÚÖ Ð ¾¼½
ÈÁ Ú Ð ÔÓÙÖ ÓÖ Ù ÔÐÙ× Ø Ö Ð ¾¿ ÚÖ Ð ¾¼½
Ø Ö Ñ × Ù ÔÖÓ Ø ×ÓÙ× ÅÓÓ Ð ≤ ¾¾ Ñ ¾¼½
ËÓÙØ Ò Ò ÈÁ ÒØÖ Ð ½ Ö Ù Ò Ø Ð ½¾ Ù Ò ¾¼½
Ä × ×Ù Ø× Ú Ð ÙÖ× ÙÐØ × ´¶ Ð ¸ ¶¶ ÑÓÝ Ò¸ ¶¶¶ Ð µ
¾¹½ ¶ Ä Ò Ö Ö ÝÓÒ ´ Ñ ×ÝÒØ × µ ˺ Ê ÓÒ
¾¹¾ ¶ È Ê Ò ´Ñ ØÖ ×µ Ⱥĺ ÈÓ Ö ÓÒ
¾¹¿ ¶¶ ËÈ ×× ××Ñ ÒØ ÈÖÓØ Ò ËØÖÙ ØÙÖ ÈÖ Ø ÓÒ º À Ð ÓÙ
² Ⱥ ×× Ò Ø
¾¹ ¶¶ Ö Ô × ² Ö Ö × Ö ÓÙÚÖ ÒØ× ´ÑÓ×Ø Ú Ø Ð µ ˺ ÌÓÙ Ð Ò
¾¹ ¶¶¶ Ø Ø ÙÖ Î ÓÐ ÂÓÒ × ´Ú × ÓÒµ º¹Èº ÓÖ ×
¾¹ ¶¶¶ Ê ÔÐ Ñ ÒØ × ÔÖÓØ Ò × ´ ÓÐÓ µ Ⱥ ×× Ò Ø
¾¹ ÈÖÓ Ø Ù Ó Ü¸ ×Ù Ø Ö Ö Ø Ú Ð Ö
¾¹ ÈÖÓ Ø Ù Ó Ü Ò ·· ´× Ò× ÅÈÁµ Ð Ñ ÒØ ÔÓ×× Ð º
ÓÒØ ÒÙ × ÓÙÖ×
Ð ÓÖ Ø Ñ × Ô Ö ÐÐ Ð × ´//µ Ò ·· ´ Ø µ Ú Ð³ ÒØ Ö ÅÈÁ
Ë Ò ×
Ø Ì
½ »¼ Ö ÖÓÙÔ Ñ ÒØ Ô Ö Ô ÖØ Ø ÓÒ Ð × k¹ÑÓÝ ÒÒ ×
¾ ½ »¼ Ö ÖÓÙÔ Ñ ÒØ Ö Ö ÕÙ Ö ÖÓÙÔ Ñ ÒØ Ö Ö ÕÙ
¿ ¾¾»¼ Ð ×× Ø ÓÒ Ø Ø ÙÖ ÔÓÙÖÖ Ð×
»¼ Ð Ö Ð Ò Ö Ö Ñ ÒØ À ÐÐ
½¿»¼ ØÖ Ô Ö ÐÐ Ð Ö Ò × Ñ Ò× ÓÒ× Ø ÔÖÓ Ø ÓÒ×
¾¼»¼ ØÓÔÓÐÓ ³ ÒØ Ö ÓÒÒ Ü ÓÒ ÓÒØÖ Ð Ñ Ò ··»ÅÈÁ
¾ »¼ ÓÖÑ Ð ×Ñ Å ÔÊ Ù ÅʹÅÈÁ ÔÓÙÖ Ð ÓÐÓ
¿»¼ Ö Ô × Ø Ø ÓÒ ³ ×ÓÑÓÖÔ ×Ñ ×
Ü Ñ Ò Ò Ð Ö Ø ¿ ½¼ Ù Ò ¾¼½
ËÓÙØ Ò Ò ÈÁ ÒØÖ Ð ½ Ö Ù Ò Ø Ð ½¾ Ù Ò ¾¼½ º
ÈÐ Ò ÁÆ ¾¹ ½
ÇÖ Ò × Ø ÓÒ Ù ÓÙÖ× ÁÆ ¾
Ä ÀÈ Ð ÙÐ Ô Ö ÐÐ Ð ×ÙÖ Ñ ÑÓ Ö ×ØÖ Ù ´ ÖÓ× Ö Ò×µ
Ä Ö ÖÓÙÔ Ñ ÒØ ´ ÐÙ×Ø Ö Ò µ Ú Ð × k¹ÑÓÝ ÒÒ × ² ÑÔÐ Ñ ÒØ Ø ÓÒ
Â Ú ··
→ Ñ Ñ ÒØÓ ·· ×ÙÖ ÑÓÓ Ð
ÈÖÓ Ö ÑÑ Ö Ò Ô Ö ÐÐ Ð Ú ÅÈÁ ´×ÓÙ× » ··µ
Ä × k¹ÑÓÝ ÒÒ × ×ÙÖ ÙÒ ÐÙ×Ø Ö Ñ Ò × Ð × k ÑÓÝ ÒÒ × Ò Ô Ö ÐÐ Ð
Ä ÀÈ
Ð ÙÐ À ÙØ È Ö ÓÖÑ Ò
À È Ö ÓÖÑ Ò
ÓÑÔÙØ Ò
ÉÙ³ ×ع ÕÙ Ð Ð ÙÐ À ÙØ È Ö ÓÖÑ Ò ´ÀÈ µ
Ë Ò × × ×ÙÔ Ö¹ÓÖ Ò Ø ÙÖ× ´ ØØÔ »»ÛÛÛºØÓÔ ¼¼ºÓÖ »µ
ÌÓÔ ½ Æ Ø ÓÒ Ð ËÙÔ Ö ÓÑÔÙØ Ö ÒØ Ö Ù Ò Þ ÓÙ¸ Ò Ì Ò ¹¾
´Å Ð ÝÏ Ý¹¾µ
¿, ½¾ Å ÐÐ ÓÒ× ÙÖ׸ , È Ø ÓÔ× ´½¼½ ¸ È ÐÓÔ×µ¸ ½ , Å Ï ØØ׸
½ ÅÏ ½¼¼ e» ∼ ½ Åe» Ò
Ö Ò ÀÈ Ú ÐÙ Ð × Ô Ö ÓÖÑ Ò × Ò Å ÐÓÔ׻ϸ
ØØÔ »»ÛÛÛº Ö Ò ¼¼ºÓÖ »
Ä ÀÈ ÓÑ Ò Ò ÐÙ ÒØ Ô Ö Ñ × ÔÖÓ Ö ÑÑ Ø ÓÒ Ô Ö ÐÐ Ð ¸
Ð Ò × ÔÖÓ Ö ÑÑ Ø ÓÒ¸ ÓÙØ Ð× ÐÓ Ð׸ ×Ý×Ø Ñ × Ò ÓÖÑ Ø Õ٠׸ Ú
× × ÓÒ Ö Ò × × ´ Å»Á ËÙÔ Ö ÓÑÔÙØ Ò µ¸ Ø º
Ò Ö Ò ¸ ÌÓØ Ð È Ò Ë Á Á ¾º¿ È ÐÓÔ× ´Ô Ø × Ð µ
Ù ÓÙÖ ³ Ù Ð Ô Ø × Ð ¸ Ø Ñ Ò Ð³ Ü × Ð
ÐÓ ÄÇÈË ½¼¿
Ñ ÄÇÈË ½¼
ÄÇÈË ½¼
Ø Ö ÄÇÈË ½¼½¾
Ô Ø ÄÇÈË ´È ÄÇÈ˸ Ô Ø × Ð µ ½¼½
Ü ÄÇÈË ´ ÄÇÈ˸ Ü × Ð µ ½¼½
Þ ØØ ÄÇÈË ½¼¾½
ÝÓØØ ÄÇÈË ½¼¾
ººº ººº
ÓÓ ÓÐ ÄÇÈË ½¼½¼¼
ºººÑ × Ù×× ÔÓÙÖ Ð × ËÙÔ Ö¹ÇÖ Ò Ø ÙÖ× Ð Ñ ÑÓ Ö ´Ó Ø Ø×» ÝØ ×µ¸ Ð Ò
Ô ×× ÒØ Ù Ö × Ù¸ Ø º
Ä ÙØÙÖ Ü ÐÓÔ× ´½¼½ Ú Ö× ¾¼½ ¹¾¼¾¼µ¸ Þ Ø ÐÓÔ× ´½¼¾½µ Ú Ö× ¾¼¿¼
ÈÓÙÖÕÙÓ Ð ÀÈ ØÖ ÔÐÙ×
ÐÐ Ö ÔÐÙ× Ú Ø Ø ØÖ ÔÐÙ× ÔÖ × ´→ Ð Ñ Ø Óµ
Ê ×ÓÙ Ö ÔÐÙ× ÖÓ× ÔÖÓ Ð Ñ × ´→ × ÑÙÐ Ø ÓÒ¸ → Ø µ
ÓÒÓÑ × Ö Ð³ Ò Ö ü Ñ Ñ ÔÙ ×× Ò ÄÇÈË ÙØ Ð × ¸ ÔÐÙ×
ÔÖÓ ×× ÙÖ× Ð ÒØ× ÕÙ ÓÒ×ÓÑÑ ÒØ ÑÓ Ò×
Ë ÑÔÐ Ö × ØÖ Ø Ñ ÒØ× ÓÒÒ × ÖØ Ò× Ð ÓÖ Ø Ñ × ×ÓÒØ
ÒØÖ Ò× ÕÙ Ñ ÒØ Ô Ö ÐÐ Ð ×
Ú Ó» Ñ ÐØÖ × ÓÖ Ô Ü Ð»ÚÓÜ Ð¸ ÈÍ ² È ÈÍ
Ç Ø Ò Ö Ð Ö ×ÙÐØ Ø Ð ÔÐÙ× Ö Ô Ñ ÒØ ÔÓ×× Ð Ò Ò ÐÙ ÒØ Ð Ó Ø
Ú ÐÓÔÔ Ñ ÒØ Ð ÓÖ Ø Ñ × Ô Ö ÐÐ Ð × ÔÐÙ× Ð × ÑÔÐ Ñ ÒØ Ö ÕÙ³ÙÒ
Ó × ÕÙ ÒØ Ð ÓÔØ Ñ × ÔÐÙ× Ð Ú ÐÓÔÔ Ö ´Ô Ö × Ò Ò ÙÖ×µº
ÚÓ Ö Ð ×ÓÐÙØ ÓÒ Ò Ð ÑÔÐ Ñ ÒØ Ö ÙÒ Ð ÓÖ Ø Ñ · Ü ÙØ Ö Ø
Ð ÓÖ Ø Ñ º
Ä ÀÈ Ò ÕÙ ÐÕÙ × Ñ ×
ÐÙ×Ø Ö Ñ Ò × ´ ÐÙ×Ø Ö× Ò × ÐÐ × Ñ Ò ×µ
m´emoire
locale
processeur
m´emoire
locale
processeur
m´emoire
locale
processeur
m´emoire
locale
processeur
m´emoire
locale
processeur
m´emoire
locale
processeur
r´eseau
d’interconnexion
´echange de messages
avec MPI
ÌÓÔÓÐÓ × Ö × ÙÜ ³ ÒØ Ö ÓÒÒ Ü ÓÒ Ò× ÙÒ ÐÙ×Ø Ö
ÌÓÔÓÐÓ ´Ô Ý× ÕÙ »Ú ÖØÙ ÐÐ µ ÑÔÓÖØ ÒØ ÔÓÙÖ Ð × Ò × Ð ÓÖ Ø Ñ ×
Ô Ö ÐРР׺
ÓÑÑ ÒØ Ö ÙÒ Ù× ÓÒ ´ ÖÓ ×ص ³ÙÒ Ò Ù ØÓÙ× Ð × Ò Ù ×
ÚÓÐÙØ ÓÒ × ÔÖÓ ×× ÙÖ×
r´eseau
ordinateur
(CPU)
carte m`ere carte m`ere
CPU CPU
CPU CPU
cœur
un seul socketsocket socket
socketsocket
4 ordinateurs interconnect´es par un r´eseau une carte m`ere avec 4 processeurs un processeur quad-cœur
ordinateur
(CPU)
ordinateur
(CPU)
ordinateur
(CPU)
cœur
cœurcœur
ÈÓÙÖ Ô ×× Ö Ð³ ÐÐ ¸ Ò× Ð Ð ÙÐ ÙØ Ô Ö ÓÖÑ Ò ¸ Ð ÙØ ÙØ Ð × Ö ÙÒ
ÐÙ×Ø Ö Ñ Ò ×
ÐÙ×Ø Ö ÑÓ ÖÒ ´ ÐÙ×Ø Öµ
r´eseau
d’interconnexion
(topologie)
nœud
Central Processing Unit
m´emoire
nœud
CPU CPU
CPUCPU
m´emoire
ordinateur simple
ordinateur quad processeurs
ordinateur moderne:
CPU multicœurs avec plusieurs cartes GPUs
node
cœur
m´emoire
GPU
GPU
C
P
U
Grappe d’ordinateurs
(computer cluster)
cœur
cœur cœur
Ö Ø ÓÖ ÕÙ Ð Ö ÒØ Ð ÔÖ Ø ÕÙ Ñ × ÙØ Ð ººº
Ì ´ Ó µ ÙÒ ÔÖÓ Ö ÑÑ Ü ÙØ Ö ÕÙ ÓÒÒ Ð Ù ÙÒ ÔÖÓ ××Ù×
ÇÖ ÓÒÒ Ò ÙÖ ×Ø ÓÒÒ Ö × Ö ××ÓÙÖ × ÕÙ Ó × Ø Ð³ Ø Ø ÓÒ ×
Ø × ´ Ó ×µ ÙÜ Ö ××ÓÙÖ × Ù ÐÙ×Ø Ö ´ Ò × ÐÐ × Ò Ó¸ ËÄÍÊŵ
Ö Ø ÓÖ ÕÙ ÔÓÙÖ ÓÙÖ× ÐÓÖ×ÕÙ³ÓÒ Ò ÐÝ× ÙÒ Ð ÓÖ Ø Ñ Ô Ö ÐÐ Ð
ÙÒ ÔÖÓ ××Ù× P ØÓÙÖÒ ×ÙÖ ×ÓÒ ÔÖÓÔÖ ÔÖÓ ×× ÙÖ ´ÙÒ ÈÍ ÑÓÒÓ¹ ÙÖµ
³ÙÒ Ñ Ò ÕÙ ÓÒ×Ø ØÙ ÙÒ Ò Ù Ù ÐÙ×Ø Öº
Ò ÔÖ Ø ÕÙ ÐÙ×Ø Ö Ø ÖÓ Ò Ñ Ò × ´ÑÙÐØ ¹ ÙÖ׸ Ú È͵º
ÈÐÙ× ÙÖ× ÔÖÓ ××Ù× Ô ÙÚ ÒØ × Ö ØÖÓÙÚ Ö Ñ ÔÔ × Ô Ö Ð³ÓÖ ÓÒÒ Ò ÙÖ ×ÙÖ Ð
Ñ Ñ ÔÖÓ ×× ÙÖ ´ÔÓØ ÒØ ÐÐ Ñ ÒØ ×ÙÖ Ð Ñ Ñ ÙÖµ
ÀÈ Ô Ö ÐÐ Ð ×Ñ Ø Ö ÒÙÐ Ö Ø
Ö ÒÙÐ Ö Ø ÔÖÓÔÓÖØ ÓÒ × Ð ÙÐ× ´ Ö Ò× Ð ÙÐ× ÐÓ Ùܵ ×ÙÖ Ð ×
ÓÑÑÙÒ Ø ÓÒ× ´ ÒØ Ö¹ÔÖÓ ××Ù×µº Ö ÕÙ Ò × ÓÑÑÙÒ Ø ÓÒ× ´ÓÙ
×ÝÒ ÖÓÒ × Ø ÓÒµ ÒØÖ Ð × ÔÖÓ ××Ù׺
Ö Ò Ò ´Ô Ø Ø Ö Ò¸ Ò ¹ Ö Ò µ ÔÐ Ò Ô Ø Ø × Ø ×¸ ÓÒÒ ×
×ÓÙÚ ÒØ ØÖ Ò× Ö × ÒØÖ Ð × ÔÖÓ ××Ù× ÔÖ × Ô Ø Ø× Ð ÙÐ׺
ÖÓ× Ö Ò ´ Ó Ö× ¹ Ö Ò µ Ð × ÓÒÒ × Ò ×ÓÒØ Ô × Ò × ×ÓÙÚ ÒØ
Ø ÔÖ × × ÖÓ× Ð ÙÐ׺ × ÜØÖ Ñ ¸ Ñ ÖÖ × Ò ÐÝ Ô Ö ÐÐ Ð
È Ö ÐÐ Ð ×Ñ Ø ÓÒ ÙÖÖ Ò
È Ö ÐÐ Ð ×Ñ Ø × Ü ÙØ × Ð Ø Ö Ð Ñ ÒØ Ò Ñ Ñ Ø ÑÔ׸
ÓÒ ÙÖÖ Ò Ù ÑÓ Ò× ÙÜ Ø × ÕÙ ÔÖÓ Ö ×× ÒØ ÓÒ Ó ÒØ Ñ ÒØ Ò× Ð
Ø ÑÔ׺ È × Ò ×× Ö Ñ ÒØ Ò Ñ Ñ Ø ÑÔ× ´Ø Ñ ¹×Ð Ò ×ÙÖ ÙÒ Ñ Ñ
È͸ ÑÙÐØ ¹Ø ×ÙÖ ÙÒ ÙÖµ
ÅÓ Ð × ÔÖÓ Ö ÑÑ Ø ÓÒ Ô Ö ÐÐ Ð × Ò Ù ×
ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ú ØÓÖ ÐÐ ´ËÁÅ ¸ Ö Ýµ
ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ñ ÑÓ Ö ×ØÖ Ù
Ò × Ñ ×× × ÜÔÐ Ø × → ÅÈÁ ´ ÁÆ ¾ µ
ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ñ ÑÓ Ö Ô ÖØ
ÑÙÐØ ¹Ø Ö Ò ´ÇÔ ÒÅȵ
ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ý Ö
È͸ È ÈÍ ÔÓÙÖ ÖØ Ò× Ð ÙÐ× ´ Í ¸ ÇÔ Ò Ä¸ ÀÅÈȵ
ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ñ ÜØ
ÕÙ ÔÖÓ ××Ù× ÅÈÁ ÙØ Ð × ÔÐÙ× ÙÖ× Ð×»Ø Ö × ´ÀÈ µ
ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ñ ÜØ Ø Ý Ö ´ÅÈÁ· Ð×· È͸ ÀÈ
Ñ ×Ø Ö µ
Ä × Ö Ò × ÓÒÒ ×¸ Ä Ø ººº
ÌÖ Ø Ñ ÒØ Ñ ×× × ÓÒÒ × ´ÀÈ ¸ ÖÓ× Ö Ò×µ¸ ØÖ Ø Ñ ÒØ × ÓÒÒ ×
Ñ ×× Ú × ´ÀÈ ¸ Ô Ø Ø× Ö Ò×µº
Ø ÙÒ ÙÞÞÛÓÖ ØÖ × Ñ Ø × ¸ Ö Ò ÖÑ Ù ÓÙÔ ØØ ×¸
´Ð Ö ¹× Ð µ
Ä × Î ×ÙÖ Ð × ÓÒÒ ×
ÎÓÐÙÑ ¸
Î Ö Ø ´ Ø ÖÓ Ò µ¸
Î Ø ×× ´ ÓÒÒ × Ò Ö × Ò Ø ÑÔ× Ö Ð¸ ÔØ ÙÖ×µ¸
Î Ð ÙÖ ´Ô × × ÑÙÐ Ø ÓÒ Ñ × Ð Ú ÐÓÖ × Ø ÓÒµ
ÌÓÐ Ö Ò ÙÜ Ô ÒÒ × × ÓÖ Ò Ø ÙÖ× ¸ × Ö × ÙÜ ¸ Ø º
ÅÈÁ Þ ÖÓ ØÓÐ Ö Ò Ñ × Ö Ò ×ÓÙÔÐ ×× ÔÖÓ Ö ÑÑ Ø ÓÒ
Å ÔÊ Ù ´À ÓÓÔµ Ö Ò ØÓÐ Ö Ò Ñ × ÑÓ Ð Ð ÙÐ ÔÐÙ× Ð Ñ Ø
ÇÒ Ô ÙØ Ö Ù Å ÔÊ Ù Ú ÅÈÁ ´ Ò Ì µ
ÉÙ ÐÕÙ × Ù×× × × ×ÙÖ Ð × ×Ý×Ø Ñ × ×ØÖ Ù ×
Ä Ö × Ù ×Ø Ð
Ä Ø ÑÔ× Ð Ø Ò ×Ø ÒÙÐ
Ä Ò Ô ×× ÒØ ×Ø Ò Ò
Ä Ö × Ù ×Ø × Ö
Ä ØÓÔÓÐÓ Ù Ö × Ù Ò Ò Ô ×
ÁÐ Ý ÙÒ Ø ÙÒ × ÙÐ Ñ Ò ×ØÖ Ø ÙÖ Ö × Ù
Ä Ó Ø ØÖ Ò×ÔÓÖØ ×Ø ÒÙÐ
Ä Ö × Ù ×Ø ÓÑÓ Ò
Ä Ö ÖÓÙÔ Ñ ÒØ ´ ÐÙ×Ø Ö Ò µ
Ô ÖØ Ø ÓÒÒ Ö Ð × ÓÒÒ ×
Ò ÖÓÙÔ × ÓÑÓ Ò ×
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¾
ÐÙ×Ø Ö Ò Ø Ó × ÖÚ Ø ÓÒ× Ù Ð
ÌÖÓÙÚ Ö Ð × Ð Ü × Ñ × ³Ó Ø× Ð ×Ø × ´ ÖÓÙÔ ¸ ÐÙ×Ø Öµ
ËÐÓ Ò Ø Ð Ë Ý ËÙÖÚ Ý ØØÔ »»ÛÛÛº× ×׺ÓÖ »¸ ¿Å· Ó Ø× Ð ×Ø ×
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¾
Ò× Ð × Ø׸ ÓÒ ÙÒ ×ÓÙÔ ³ ØØÖ ÙØ× Ô Ö ÓÒÒ ººº
 ٠n = ÓÒÒ × ×ÙÖ Ð × Ú Ò׸ d = ½½ ØØÖ ÙØ×
ØØÔ× »» Ö Ú º ׺٠º Ù»Ñл Ø × Ø×»Ï Ò ·ÉÙ Ð ØÝ
Ü ØÝ ÚÓÐ Ø Ð ØÝ ØÖ Ö × Ù Ð ×Ù Ö ÐÓÖ × Ö ×ÙÐ ÙÖ
ÓÜ ØÓØ Ð ×ÙÐ ÙÖ ÓÜ Ò× ØÝ ÔÀ ×ÙÐÔ Ø × Ð Ó ÓÐ ÕÙ Ð ØÝ
¼º¾ ¼º¿ ¾¼º ¼º¼ ½ ¼ ½º¼¼½ ¿ ¼º º
º¿ ¼º¿ ¼º¿ ½º ¼º¼ ½ ½¿¾ ¼º ¿º¿ ¼º º
ººº
½ ¹ Ü ØÝ
¾ ¹ ÚÓÐ Ø Ð ØÝ
¿ ¹ ØÖ
¹ Ö × Ù Ð ×Ù Ö
¹ ÐÓÖ ×
¹ Ö ×ÙÐ ÙÖ ÓÜ
¹ ØÓØ Ð ×ÙÐ ÙÖ ÓÜ
¹ Ò× ØÝ
¹ ÔÀ
½¼ ¹ ×ÙÐÔ Ø ×
½½ ¹ Ð Ó ÓÐ
ÇÒ Ú ÙØ ÖÓÙÔ Ö Ð × Ú Ò× Ô Ö Ö ×× Ñ Ð Ò × ´Ô Ö ÕÙ Ð Ø ¸ Ñ Ñ ÕÙ Ð Ø
Ñ Ñ ÖÓÙÔ µº
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿¼
Ê Ö ÜÔÐÓÖ ØÓ Ö Ä Ö ÖÓÙÔ Ñ ÒØ ´ ÐÙ×Ø Ö Ò µ
È ÖØ Ø ÓÒÒ Ö Ð × ÓÒÒ ×
X = {x½, ..., xn}¸ n ÓÒÒ × ¸ ÙÒ ÓÑÔÓÖØ ÒØ d ØØÖ ÙØ×
xi = (x
(½)
i , ..., x
(j)
i , ..., x
(d)
i )º
È ÖØ Ø ÓÒÒ X Ò k ∈ N ÖÓÙÔ × × Ó ÒØ× ÐÙ×Ø Ö×
X = G½ ∪ G¾ ∪ ... ∪ Gk, Gi ∩ Gj = ∅ ∀i = j
Ô ÖÑ Ø Ø ÓÖ × Ö Ð × ÓÒÒ × Ò ÓÒÒ ÒØ ÙÒ × Ò× × Ñ ÒØ ÕÙ ÙÜ
ÖÓÙÔ × ÓÑÓ Ò × → ³ ×Ø Ð³ ÔÔÖ ÒØ ×× ÒÓÒ¹×ÙÔ ÖÚ × º
ÈÓÙÖ ÕÙ ÖÓÙÔ Gi ¸ ÓÒ Ô ÙØ Ò Ö ÙÒ ÒØÖ ci ¸ ÔÔ Ð ÔÖÓØÓØÝÔ
ÓÙ Ö ÔÖ × ÒØ ÒØ Ù ÐÙ×Ø Ö ´×ÓÙ×¹ Ð ×× ³ Ð ÓÖ Ø Ñ × ÔÔ Ð ÒØ Ö¹ ×
ÐÙ×Ø Ö Ò µ
ººº Ñ × Ð ÐÙ×Ø Ö Ò »Ö ÖÓÙÔ Ñ ÒØ × ÖØ Ù×× ÙÒ ÕÙ ÒØ Ø ³ ÙØÖ ×
Ð ÓÖ Ø Ñ ×ººº
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿½
È ÖØ Ø ÓÒÒ Ö Ð × ÓÒÒ × Ð ÐÙ×Ø Ö Ò
ÈÖÓ Ð Ñ Ú ¿ ØÝÔ × Ö Ò ÙÖ×
n Ð ÒÓÑ Ö ÓÒÒ ×
d Ð Ñ Ò× ÓÒ × ÓÒÒ ×
X ×Ø Ú ×Ù Ð × ÓÑÑ ÙÒ ÒÙ ÔÓ ÒØ× Ò× Rd
ØØÖ ÙØ× ÒÙÑ Ö Õ٠׸ Ø ÓÖ ÐÐ × ÓÙ × Ñ ¹ Ø ÓÖ ÐÐ ×
k Ð ÒÓÑ Ö ÐÙ×Ø Ö× ´k ≤ n Ú ×ÓÙÚ ÒØ k << nµ
×ÓÙÚ ÒØ Ò ÓÒÒÙ ÔÖ ÓÖ
Ò Ö Ð Ñ Òظ ÓÒ n >> d ´n ØÖ × Ö Ò Ú ÒØ dµ Ø k << n ´k ØÖ × Ô Ø Ø
Ú ÒØ n¸ Ò Ð Ð µ Ò ÓÒÒÙ¸ Ñ × ÓÒ Ô ÙØ Ù×× ÚÓ Ö d >> n Ø k = Θ(n)
ÆÓØ Ø ÓÒ a >> b × a > b Ø a
b = ÓÒ×Ø ÒØ
ÜÔn >> n¾ >> n >> ÐÓ n
n½+ >> n ÐÓ a
n ∀ > ¼, a ∈ N
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿¾
ÎÓØÖ Ì Ù ÓÙÖ ³ Ù ÌÖÓÙÚ Ö × ×Ô × Ú Ø Ð × ººº
ÍÒ´ µ ÓÐÐ Ù ÔÓÙÖ Ñ Ò Ð ×× Ö ÙÒ × Ô ÓØÓ× n ÙÖ× ³ Ö ×
´ × ÓÒÒ ×¸ µ Ò ×ÓÙ×¹ Ñ ÐÐ × × Ñ Ð Ð ×
ÇÒ ÜØÖ Ø ÔÓÙÖ ÕÙ Ô ÓØÓ Pi ÙÒ ØØÖ ÙØ xi ∈ R ´ ØÙÖ ÜØÖ Ø ÓÒµ
´½µ ÐÓÒ Ù ÙÖ × Ô Ð Ò Ñ¸ ´¾µ Ð Ö ÙÖ × Ô Ð Ò Ñ¸ ´¿µ ÐÓÒ Ù ÙÖ
Ô Ø Ð Ò Ñ¸ ´ µ Ð Ö ÙÖ Ô Ø Ð Ò Ñ
ººº
º¿¸¿º ¸½º ¸¼º¾
º¼¸¿º¿¸½º ¸¼º¾
º¼¸¿º¾¸ º ¸½º
º ¸¿º¾¸ º ¸½º ¸
ººº
Ð ×× Ö ÕÙ Ô ÓØÓ Pi Ò× ÙÒ × ×ÓÙ×¹ Ñ ÐÐ × ´ Ò× ×ÓÒ ÐÙ×Ø Öµ
ÓÑ Ò Ñ ÐÐ × ´→ ØÖÓÙÚ Ö kµ
Ì ¾ Ö ÐÙ×Ø Ö Ò ×ÙÖ ÔÐÙ× ÙÖ× Ñ Ò × Ò Ô Ö ÐÐ Ð
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿¿
ÓÑÑ Ò ÓÒ× Ú Ð × × ÑÔÐ k = ½ ÐÙ×Ø Ö
ÓÑÑ ÒØ ØÖÓÙÚ Ö Ð ÒØÖ ´ÔÖÓØÓØÝÔ µ Ù ÐÙ×Ø Ö
ÍÒ Ö Ø Ö ×Ø Ñ Ò Ñ × Ö Ð Ú Ö Ò Ù ÐÙ×Ø Ö ´× ×Ô Ö× ÓÒ µ
v(X, c½) =
n
i=½
xi − c½
¾
Ú p − q ¾ = d
j=½(p(j) − q(j))¾¸ Ð ×Ø Ò Ù Ð ÒÒ Ù ÖÖ
p − q ¾ = p − q, p − q Ó x, y = d
j=½ x(j)y(j) ÔÖÓ Ù Ø × Ð Ö
ÇÒ Ú ÙØ Ñ Ò Ñ × Ö
Ñ Òc½
v(X, c½) = Ñ Òc½
n
i=½
xi − c½
¾
Å Ò Ñ × Ö v(X, c½) ≡ Ñ Ò Ñ × Ö ½
n v(G½, c½) ´× ÒÓÖÑ Ð × Ø ÓÒµº
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
ÒØÖ Ø Ú Ö Ò ³ÙÒ ÐÙ×Ø Ö
ÈÓ×ÓÒ× Ð ÔÖÓ Ð Ñ Ñ Ø Ñ Ø ÕÙ Ñ ÒØ
Î Ö Ò Ù ÐÙ×Ø Ö Ñ Ò Ñ × v½(X, c)
Ñ Òc
v½(X, c) =
n
i=½
xi − c ¾
ÒØÖ Ù ÐÙ×Ø Ö
c½ = Ö Ñ Òc
v(X, c) = Ö Ñ Òc
n
i=½
xi − c ¾
, v½(X) = v½(X, c½)
Ö Ñ Ò Ö ÒÚÓ Ð³ Ö ÙÑ ÒØ ÕÙ ÓÒÒ Ð Ù Ù Ñ Ò ÑÙѺ Ò × ³ Ð Ø ¸ ÓÒ
Ö ÒÚÓ Ð ÔÐÙ× Ô Ø Ø ×Ù Ú ÒØ ÙÒ ÓÖ Ö ÓÒÒ º
È Ö Ü ÑÔÐ ¸ ÔÓÙÖ ÙÒ Ø Ð Ù
t[¼] = −¿, t[½] = , t[¾] = − , t[¿] = ½¼, t[ ] = − , t[ ] = ½¾º ÓÖ Ö ≤ ×ÙÖ Ð ×
Ò Ü × ÒØ Ö×
Ñ Ò
i
t[i] = − , Ö Ñ Ò
i
t[i] = ¾
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
Ê ÔÔ Ð ×ÙÖ Ð³ÓÔØ Ñ × Ø ÓÒ ÓÒÚ Ü
ÍÒ ÓÒ Ø ÓÒ f ∈ C¾ ×Ø
×ØÖ Ø Ñ ÒØ ÓÒÚ Ü ×× º ÔÓÙÖ
x = y¸ ∀α ∈ (¼, ½)
f (αx+(½−α)y) < αf (x)+(½−α)f (y)
ÕÙ Ú Ð ÒØ f (x) > ¼ ´x ∈ Rµ
Ñ Ò ÑÙÑ ÙÒ ÕÙ x∗ ××
∃!x∗, f (x∗) = ¼ ´Ô ÙØ Ò Ô ×
Ü ×Ø Ö ÓÑÑ ex µ
Ò ÐÝ× ÑÙÐØ Ú Ö Ú Ø ÙÖ
Â Ó Ò ∇xf (x) = (∂f (x)
∂xi
)i Ø
Ñ ØÖ À ×× ÒÒ
∇¾
x f (x) = (∂¾f (x)
∂xi ∂xj
)i,j ¼
x y
(x, f(x))
(y, f(y))
αx + (1 − α)y
f(αx + (1 − α)y)
αf(x) + (1 − α)f(y)
z = f(x)
f(x)
f(y)
x∗
f(x∗
)
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
ÒØÖ Ñ ×× ¸ ÒØÖ Ö Ú Ø ÓÙ ÒØÖÓ
ÅÓÒØÖÓÒ× ÕÙ c½ = ½
n
n
i=½ xi = ¯x¸ ×Ø Ð ÒØÖ Ñ ×× ÔÔ Ð Ù××
ÒØÖÓ º
Ñ Òc½
n
i=½
xi − c½, xi − c½ =
n
i=½
( xi , xi − ¾ xi , c½ + c½, c½ )
n
i=½ xi , xi ×Ø ÙÒ ÓÒ×Ø ÒØ Ø Ñ ØØÓÒ× Þ ÖÓ Ð × Ö Ú × Ô ÖØ ÐÐ ×
e(c½) = n
i=½(−¾ xi , c½ + c½, c½ )º
∇c½e½(c½) =
n
i=½
(−¾xi + ¾c½) = ¼ ⇒ c½ =
½
n
n
i=½
xi
c½ ×Ø ÙÒ ÕÙ Ö Ð × Ö Ú × Ô ÖØ ÐÐ × × ÓÒ × ∇¾
c½e½(c½) = (¾, ¾, ..., ¾)
×ÓÒØ ×ØÖ Ø Ñ ÒØ ÔÓ× Ø Ú × e(c½) ×Ø ×ØÖ Ø Ñ ÒØ ÓÒÚ Ü º
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
ÁÐÐÙ×ØÖ Ø ÓÒ Ô Ø Ø Ø Ö Ò Ú Ö Ò × ´ ×Ô Ö× ÓÒ×µ ³ÙÒ
ÐÙ×Ø Ö
È Ø Ø Ø Ö Ò Ú Ö Ò ´ ×Ô Ö× ÓÒµ ÙØÓÙÖ Ù ÒØÖ
v½(G½) =
½
n
n
i=½
xi −
½
n
n
l=½
xl
¾
v½(G½) =
½
n
n
i=½
xi
¾
− ¯x ¾
, ¯x =
½
n
n
i=½
xi
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
Ä ÐÙ×Ø Ö Ò Ô Ö Ð ÓÒ Ø ÓÒ × ÓÖ × k¹ÑÓÝ ÒÒ ×
ÇÒ Ö ØÖÓÙÚ Ö Ð × ÖÓÙÔ × Ú Ð × k ÒØÖ × c½, ..., ck ´ÔÖÓØÓØÝÔ ×µ ÕÙ
Ñ Ò Ñ × Ð ÓÒ Ø ÓÒ Ó Ø
ek(X; c½, ..., ck ) = ek (X; C) =
n
i=½
Ñ Ò
j∈{½,...,k}
xi − cj
¾
³ ×Ø ÕÙ Ú Ð ÒØ
ek(X; C) =
k
j=½ x∈Gj
x − cj
¾
Ú
Gj = {xi ∈ X : xi − cj ≤ xi − cl , ∀l ∈ {½, ..., k}}
Æ Ò × ³ Ð Ø × ×Ø Ò ×¸ ÓÒ Ø ×Ù Ú ÒØ Ð³ÓÖ Ö Ð Ü Ó Ö Ô ÕÙ
× ÐÙ×Ø Ö× Ò Ö ×Ô Ø Ö Ð ÔÖÓÔÖ Ø Ô ÖØ Ø ÓÒ º
→ ÇÒ Ú ÙØ Ñ Ò Ñ × Ö Ð ×ÓÑÑ × Ú Ö Ò × × ÐÙ×Ø Ö× ´×ÓÑÑ ×
×Ô Ö× ÓÒ×µº
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
ÌÖ Ø Ð Ø Ù ÐÙ×Ø Ö Ò Ô Ö Ð × k¹ÑÓÝ ÒÒ ×
Ð ÙÐ Ö ÙÒ ÐÙ×Ø Ö Ò ½¹ÑÓÝ ÒÒ Ó Ø O(dn) ´Ø ÑÔ× Ð Ò Ö µ
Å Ò Ñ × Ö Ð ÓÒ Ø ÓÒ Ó Ø × k¹ÑÓÝ ÒÒ × ×Ø Æȹ ÙÖ ÕÙ Ò d > ½
Ø k > ½
ÈÓÐÝÒÓÑ Ð Ò Ø ÑÔ× O(n¾k) ÕÙ Ò d = ½ ´½ ØØÖ ÙØ» ÓÒÒ µ Ô Ö
ÔÖÓ Ö ÑÑ Ø ÓÒ ÝÒ Ñ ÕÙ
→ ÇÒ Ú ÓÒ Ö Ö × ÙÖ ×Ø ÕÙ × ÔÓÙÖ Ö ×ÓÙ Ö Ð × k¹ÑÓÝ ÒÒ × ÕÙ Ò
k > ½ Ø d > ½º
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¼
À ÙÖ ×Ø ÕÙ × ÔÓÙÖ Ð × k¹ÑÓÝ ÒÒ ×
À ÙÖ ×Ø ÕÙ × ÐÓ Ð × ÓÒ Ö Ð × k ÒØÖ × × ÖÓÙÔ × × Ò×
ÓÒ ÙÖ Ø ÓÒ Ò Ø Ð × ÒØÖ ×
À ÙÖ ×Ø ÕÙ × ÐÓ Ð × ÓÒ Ô ÖØ ³ÙÒ ÓÒ ÙÖ Ø ÓÒ × k ÒØÖ ×¸ Ø ÓÒ
Ñ Ð ÓÖ ÐÓ Ð Ñ ÒØ Ð ×ÓÐÙØ ÓÒ
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ½
À ÙÖ ×Ø ÕÙ Ò Ø Ð × Ø ÓÒ Ð ØÓ Ö
Ó × Ö Ð × k Ö Ò × ×Ø Ò Ø × ´× ×µ Ð ØÓ Ö Ñ ÒØ Ò× X ´Ñ Ø Ó
Ø ÓÖ Ý¸ ÒØÖ × Ò Ø ÙÜ Ð Ñ ÒØ× Xµ
Ó × Ö Ð ØÓ Ö Ñ ÒØ Ò× ÙÒ Ó Ø Ò ÐÓ ÒØ ÕÙ ÓÒØ ÒØ Ð × ÓÒÒ ×
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¾
À ÙÖ ×Ø ÕÙ ÄÐÓÝ Ð ÓÖ Ø Ñ Ø Ö Ø
ü Ô ÖØ Ö ³ÙÒ ÓÒ ÙÖ Ø ÓÒ G½, ..., Gk ´ Ú c½, ..., ck µ¸ ÓÒ Ñ Ð ÓÖ
Ø Ö Ø Ú Ñ ÒØ Ð ×ÓÐÙØ ÓÒ Ú × ÙÜ Ø Ô ×
ÐÐÓ Ø ÓÒ × ÓÒÒ × ÙÜ ÖÓÙÔ ×º
ÈÓÙÖ ØÓÙØ xi ∈ X¸ ×Ó Ø li = Ö Ñ Òl xi − cl
¾¸ Ø ÓÖÑÓÒ× Ð ×
ÖÓÙÔ × Gj = {xi : li = j} Ö Ò Ð Ø nj = |Gj |º
Å × ÓÙÖ × ÒØÖ × × ÖÓÙÔ ×º
ÈÓÙÖ ØÓÙØ j ∈ [k] = {½, ..., k}¸ Ð ÙÐ Ö Ð ÒØÖ Ñ ××
cj = ½
nj x∈Gj
xº
Ê Ô Ø Ö × ÙÜ Ø Ô × Ù×ÕÙ³ ÓÒÚ Ö Ò º
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¿
ÐÐÓ Ø ÓÒ × ÓÒÒ × ÙÜ ÖÓÙÔ × Ô ÖØ Ø ÓÒ ÎÓÖÓÒÓ
c1
c2
c3c4
c5
c6
p|lC(p) = 1
q|lC(q) = 3
Vj = {x ∈ Rd
: x − cj ≤ x − cl ∀l ∈ {½, ..., n}}.
lC (x) = Ö
k
Ñ Òj=½
x − cj
¾
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
ÓÒÚ Ö Ò Ð³ Ð ÓÖ Ø Ñ Ø Ö Ø ÄÐÓÝ
Ì ÓÖ Ñ
Ä × k¹ÑÓÝ ÒÒ × ÄÐÓÝ ÓÒÚ Ö ÓÒ ÑÓÒÓØÓÒ Ò ÙÒ ÒÓÑ Ö Ò
³ Ø Ô ×º
ËÓ Ø G(Ct) = {G
(t)
½ , ..., G
(t)
k } Ð Ô ÖØ Ø ÓÒ X г Ø Ô t Ó Ø ck(X, Ct)º
г Ø Ô t + ½¸ ÔÙ ×ÕÙ³ÓÒ ÐÐÓÙ Ð × ÔÓ ÒØ× ÙÜ ÐÙ×Ø Ö× ÓÒØ Ð × ÒØÖ × ×ÓÒØ
Ð × ÔÐÙ× ÔÖÓ ×¸ ÓÒ Ñ Ò Ñ × ÓÒ
ck(G(C(t+½)
), Ct) ≤ ck (X, Ct)
Ê ÔÔ ÐÓÒ× Õ٠гÓÒ ck (G(C(l)), Cl ) = k
j=½ v(G
(l)
j , cj ) ´×ÓÑÑ × Ú Ö Ò ×
× ÐÙ×Ø Ö×µº
ÄÓÖ× Ð Ö Ñ × ÓÙÖ × ÒØÖ × Ô Ö Ð × ÒØÖÓ × × ÖÓÙÔ ×¸ ÔÓÙÖ
ÕÙ ÖÓÙÔ ÓÒ v(G
(t+½)
j , c(t+½) = c(G
(t+½)
j )) ≤ v(G
(t+½)
j , c
(t)
j )¸ Ø ÓÒ
ck(X, Ct+½) ≤ ck(G(C(t+½)
), Ct) ≤ ck(X, Ct)
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ Ð × ÔÓ ÒØ× Ò Ø ÙÜ
n = ½ ÔÓ ÒØ× ´•µ Ø k = ¾ Ö Ò × ´×µ
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ
Ø Ø ÓÒ × ÔÓ ÒØ× ÙÜ ÒØÖ × ´ Ø Ô ½µ
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ
ÒÓÙÚ ÙÜ ÒØÖ × ÒØÖÓ × × ÖÓÙÔ × ´ Ø Ô ½µ
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ
Ø Ø ÓÒ × ÔÓ ÒØ× ÙÜ ÒØÖ × ´ Ø Ô ¾µ
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ
ÒÓÙÚ ÙÜ ÒØÖ × ÒØÖÓ × × ÖÓÙÔ × ´ Ø Ô ¾µ
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¼
ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ
ÓÒÚ Ö Ò Ð × ÔÓ ÒØ× ×ÓÒØ ÐÐÓÙ × ÙÜ Ñ Ñ × ÖÓÙÔ × ´ Ø Ô ¿µ ÕÙ ÐÓÖ×
Ð ÔÖ ÒØ Ø Ö Ø ÓÒ
Ø Ô ¾ Ø Ô ¿
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ½
Ð ÓÖ Ø Ñ ÄÐÓÝ Ð × × ÐÙ×Ø Ö× Ú ×
ÇÒ Ô ÙØ ÚÓ Ö × ÐÙ×Ø Ö× ÕÙ Ú ÒÒ ÒØ Ú × ´ × Ö Ö × Ò ÔÖ Ø ÕÙ Ñ ×
Ô ÙØ ÖÖ Ú Ö µº Ò× ×¸ ÓÒ Ô ÙØ Ô ÖØ ÐÐ Ñ ÒØ Ö Ó × Ö ÙÒ ÓÙ ×
ÒÓÙÚ ÐÐ × Ö Ò ×¸ Ø Ð ×ÓÑÑ × Ú Ö Ò × × ÐÙ×Ø Ö× ÓÒØ ÒÙ Ñ ÒÙ Ö
´Ô ÖØ Ð Ö × Ò µ
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¾
ÍÒ ÒÓÑ Ö ÜÔÓÒ ÒØ Ð Ñ Ò Ñ ÐÓ ÙÜ
Ä ÓÒ Ø ÓÒ Ó Ø × k¹ÑÓÝ ÒÒ × Ô ÙØ ÚÓ Ö ÙÒ ÒÓÑ Ö ÜÔÓÒ ÒØ Ð
Ñ Ò Ñ ÐÓ Ùܺ
Ñ Ò ÑÙÑ ÐÓ Ð ¼.¿ ´ µ Ø ´ µ
Ñ Ò Ñ ÐÓ ÙÜ ∼ ¼. ½ ´ µ Ø ´ µ
ÇÒ Ö ÔÐ ÕÙ ×ÓÙ×¹ Ò× Ñ Ð Ò Ô ÕÙ Ø× Ò Ð × ÐÓ Ò ÒØ ØÖ × ÐÓ Ò× Ð × ÙÒ× ×
ÙØÖ ×
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¿
Ð ÓÖ Ø Ñ ÄÐÓÝ
Å Ö ÜÔ Ö Ñ ÒØ Ð Ñ ÒØ ØÖ × Ò ÑÔÐ Ñ ÒØ Ö ÙÒ Ö Ø Ö ÔÓÙÖ ×ØÓÔÔ Ö
Ð × Ø Ö Ø ÓÒ× ÐÓÖ×ÕÙ Ð ÖÓ ×× Ò Ð ÓÒ Ø ÓÒ Ó Ø Ô ×× ×ÓÙ× ÙÒ
× Ù Ð ÓÒÒ È Ö Ü ÑÔÐ ¸ ek(X, Ct) − ek (X, Ct+½) ≤ ´ÓÙ × Ù Ð Ö Ð Ø Ò
ÔÓÙÖ ÒØ µº
ÓÑÔÐ Ü Ø ÄÐÓÝ O(dn) Ò Ñ ÑÓ Ö Ø O(dns) Ó s ÒÓÑ Ö
³ Ø Ö Ø ÓÒ׺
Ò Ø ÓÖ ¸ г ÙÖ ×Ø ÕÙ ÄÐÓÝ Ô ÙØ ÓÙ Ð Ö ÙÒ ÒÓÑ Ö
ÜÔÓÒ ÒØ ÐÐ Ñ ÒØ Ó × ´Ð Ò Ö Ò ½ µº ººº Ø ×ÓÙÚ ÒÓÒ× ÒÓÙ× ÕÙ
Ñ Ò Ñ × Ö Ð × k¹ÑÓÝ ÒÒ × ×ÓÒØ Æȹ ÙÖ×
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
k¹ÑÓÝ ÒÒ × Ð Ó Ü Ù ÒÓÑ Ö ÐÙ×Ø Ö× k
ÍÒ ÔÖÓ Ð Ñ ÑÔÓÖØ ÒØ Ø ÖÑ Ò Ö Ð ÒÓÑ Ö ÐÙ×Ø Ö× k
ÈÓÙÖ Ò³ ÑÔÓÖØ ÕÙ Ð k¸ ÓÒ Ð ÓÒ Ø ÓÒ k¹ÑÓÝ ÒÒ ÓÔØ Ñ Ð ek (X)
´ Ú ÐÙ Ö ÑÔ Ö ÕÙ Ñ ÒØ Ú Ð³ ÙÖ ×Ø ÕÙ ÄÐÓÝ ×ÙÖ ÔÐÙ× ÙÖ×
Ò Ø Ð × Ø ÓÒ×µ
ek(X) ÖÓ Ø ÓÒ ÑÓÒÓØÓÒ Ù×ÕÙ³ en(X) = ¼ ´ÙÒ ÔÓ ÒØ Ô Ö ÐÙ×Ø Ö¸
Ú Ö Ò ÒÙÐÐ µ
Å Ø Ó Ù ÓÙ ÓÒ ×× Ò Ð ÓÒ Ø ÓÒ (k, ek (X)) Ø ÓÒ Ó × Ø k Ù
Ò Ú Ù Ù ÓÙ ´ Ð ÓÛµº
k
2 3 4 5 6 7 8 9 10
fonctiondecoˆutdesk-moyennesek(X)
avant-brasbras
coude
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
Ä × Ð Ñ Ø Ø ÓÒ× Ð Ø Ò ÕÙ × k¹ÑÓÝ ÒÒ ×
È ÖÑ Ø ØÖÓÙÚ Ö × ÐÙ×Ø Ö× ÓÒØ Ð × ÒÚ ÐÓÔÔ × ÓÒÚ Ü × × ÖÓÙÔ × ×ÓÒØ
ÙÜ ÙÜ × Ô Ö Ð × ´ÔÖÓÔÖ Ø ÎÓÖÓÒÓ µº
È Ö Ü ÑÔÐ ¸ Ò Ô ÖÑ Ø Ô × Ô ÖØ Ø ÓÒÒ Ö ÓÖÖ Ø Ñ ÒØ Ù ÓÒÒ ×
´ÈÓÙÖ Ò ÓÖÑ Ø ÓÒ¸ ÔÖÓ Ð Ñ Ö ×ÓÐÙ Ô Ö Ð × k¹ÑÓÝ ÒÒ × ÒÓÝ Ùµ
Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
Î Ö Ø Ø ÖÖ Ò
Ë Ò× Ú Ö Ø Ø ÖÖ Ò¸ ÙÒ Ò ÐÝ× ×Ù Ø Ú × ÐÙ×Ø Ö× Ô ÖÑ Ø Ñ ØØÖ
Ò Ú Ð ÙÖ Ø ÐÐ ÓÙ Ø ÐÐ Ø Ò ÕÙ ÐÙ×Ø Ö Ò º
Å × ÕÙ Ò d > ¿ ÓÑÑ ÒØ Ú ×Ù Ð × Ö
ÄÓÖ×Õ٠гÓÒ ×ÔÓ× Ú Ö Ø × Ø ÖÖ Ò× Ô Ö × ÙÜ ÓÒÒ × ÓÒØ ÓÒ
ÓÒÒ Ø Ð³ ÔÔ ÖØ Ò Ò ÙÜ ÐÙ×Ø Ö× ´ ³ ×ع ¹ Ö Ð Ð ×× ÔÓÙÖ
ÕÙ ÓÒÒ µ¸ ÓÒ Ô ÙØ Ð ÙÐ Ö Ú Ö× Ò Ü × ÕÙ ÑÓÒØÖ ÒØ Ð
ÓÒ ÓÖ Ò Ù Ö ×ÙÐØ Ø Ú ÐÙ Ø ÕÙ Ø ´×ÙÔÔÓ× ÓÔØ Ñ Ðµº
ÆÓØ Þ Ð ÔÖÓ Ð Ñ Ñ Ð³ Ø ÕÙ ØØ ÔÙ ×ÕÙ Ð × ÐÙ×Ø Ö× Ò ×ÓÒØ Ô ×
ÓÖ Ñ ÒØ ÒÙÑ ÖÓØ × Ú Ð × Ñ Ñ × ÒÙÑ ÖÓ× k! Ô ÖÑÙØ Ø ÓÒ׺
ij Ò Ü Ê Ò × Ñ Ð Ö Ø ÒØÖ ÙÜ ÐÙ×Ø Ö Ò ×
Å ×ÙÖ × Ñ Ð Ö Ø ÒØÖ ÙÜ ÐÙ×Ø Ö Ò × G = Gi Ø G Gi ´ ×ÓÒ׸ ÐÙ
Ó Ø ÒÙ Ô Ö Ð × k¹ÑÓÝ ÒÒ × Ø ÙÒ Ù ÓÒÒ × ÓÖÖ Ø Ñ ÒØ Ø ÕÙ Ø µº
ÓÑÔ Ö ØÓÙØ × Ð × n
¾ Ô Ö × (xi , xj ) ÔÓ ÒØ× Ø ÓÑÔØ ÙÜ ÕÙ × ØÖÓÙÚ ÒØ
Ò× Ð × Ñ Ñ × ÐÙ×Ø Ö× ´aµ Ø ÙÜ ÕÙ × ØÖÓÙÚ ÒØ Ò× × ÐÙ×Ø Ö× Ö ÒØ×
´bµº
R(G, G ) =
a + b
n
¾
, ¼ ≤ R ≤ ½
a #{(i, j) : l(xi ) = l(xj) ∧ l (xi ) = l (xj )}
b #{(i, j) : l(xi ) = l(xj ) ∧ l (xi ) = l (xj )}
ÓÒ Ø ÓÒ½ ∧ ÓÒ Ø ÓÒ¾ ÚÖ ×× º ÓÒ Ø ÓÒ ½ Ø ¾ ×ÓÒØ ÚÖ ×
ÇÒ Ú Ø Ö Ö ÒÙÑ ÖÓØ Ö Ð × k ÖÓÙÔ × ´k! Ô ÖÑÙØ Ø ÓÒ×µº
ÈÖÓ Ö ÑÑ Ö Ð × k¹ÑÓÝ ÒÒ ×
Ò Ô Ö ÐÐ Ð
´½µ ÈÖÓ Ö ÑÑ Ö Ò ··
´¾µ ÈÖÓ Ö ÑÑ Ö Ú ÅÈÁ
Ä Ð Ò ÓÖ ÒØ Ó Ø ´Çǵ ··
Ö Ô Ö ÖÒ ËØÖÓÙ×ØÖÙÔ Ò ½ ¿
ÇÖ ÒØ Ó Ø Ú ØÝÔ ×Ø Ø ÕÙ º ü Ò Ù Ò Â Ú Ø Ö Ú
Ó ÓÑÔ Ð Ö Ô
ÇÒ Ö ×Ó ¹Ñ Ñ Ð Ñ ÑÓ Ö Ô × Ö Ñ ×× Ñ ØØ ´ Ö
ÓÐÐ ØÓÖ¸ µº ØØ ÒØ ÓÒ ÙÜ ÖÖ ÙÖ× ÐÓÖ× Ð³ Ü ÙØ ÓÒ ´×Ý×Ø Ñ Ö × ¸
× Ñ ÒØ Ø ÓÒ ÙÐص
Ö Ø Ñ Ø ÕÙ ÔÓ ÒØ ÙÖ× Ô ÖÑ × ´=Â Ú Ô ×× Ô Ö Ú Ð ÙÖ ÓÙ Ô Ö
Ö Ö Ò ÔÓÙÖ Ð × Ó Ø×µ
ÜØ Ò× ÓÒ× Ö× º º ÔÔ º ÜÜ º ·· º º º ÔÔ º ÜÜ º ··
ÍØ Ð × ·· ´ ÆÍ ÓÑÔ Ð Ö ÓÐÐ Ø ÓÒµ Ð ÓÒ Ø ÓÒ ÆÍ
Ä × ÔÓ ÒØ ÙÖ× Ò ··
Ð Ö Ø ÓÒ ÔÓ ÒØ ÙÖ×
ÒØ ¶ ÔØÖ ÒØ Ö¸ ¶ÔØÖ½¸ ¶ÔØÖ¾
Ö ¶ ÔØÖ Ö Ø Ö
ÓÙ Ð ¶ ÔØÖ Ö Ð
ÇÔ Ö Ø ÙÖ Ö Ö Ò ´ Ö ×× µ ²
ÒØ Ú Ö ½
ÒØ ¶Ú Ö¾ »» ÔÓ ÒØ ÙÖ ×ÙÖ ÙÒ Ú Ö Ð ØÝÔ ÒØ Ö
Ú Ö¾ ²Ú Ö½ »» Ú Ö¾ ÔÓ ÒØ ×ÙÖ Ú Ö½
ÇÔ Ö Ø ÙÖ Ö Ö Ò Ñ ÒØ ¶
»¶ ÔÖ Ò Ð³ ÒØ Ö ÓÒØ ÒÙ Ò× Ð³ Ò ÖÓ Ø Ñ ÑÓ Ö
Ö Ö Ò Ô Ö Ú Ö¾ ¶»
ÒØ Ú Ö¿ ´¶Ú Ö¾µ
ÓÑÔ Ð Ö Ø Ü ÙØ Ö ÙÒ ÔÖÓ Ö ÑÑ Ò ··
Ò ÐÙ Ó×ØÖ Ñ
Ù× Ò Ò Ñ ×Ô ×Ø »» ÔÓÙÖ Ð × ÒØÖ ×»ËÓÖØ ×
ÒØ Ñ Ò ´µ
ß
ÒØ Ú Ö½ ¾
ÒØ ∗ Ú Ö¾
Ú Ö¾ ²Ú Ö½ »» Ú Ö¾ ÔÓ ÒØ ×ÙÖ Ú Ö½
ÓÙØ Ú Ð ÙÖ Ú Ö¾ Ú Ö¾ Ò Ð
ÒØ Ú Ö¿ ´∗Ú Ö¾ µ
ÓÙØ Ú Ð ÙÖ Ú Ö¿ Ú Ö¿ Ò Ð
Ö ØÙÖÒ ¼ »» Ò × Ò× Ð ÑÓ Ò Ö ÔÖÓ Ð Ñ ¹ µ
ÓÒ×ÓÐ ·· ÔÖÓ Ö ÑÑ º ÔÔ ¹Ó ÑÓÒÔÖÓ Ö ÑÑ º Ü
ÓÒ×ÓÐ ÑÓÒÔÖÓ Ö ÑÑ º Ü
Ä ÓÒ Ø ÓÒ ×Û Ô ×ÙÖ Ð ØÝÔ ÒØ Ö Ò ··
Ê ÔÔ Ð ×ÙÖ Ð Ñ ÑÓ Ö Ô Ð ´ÔÓÙÖ ÑÔ Ð Ö Ð × ÔÔ Ð× ÓÒ Ø ÓÒµ Ø Ø × ´ÔÓÙÖ
Ð Ñ ÑÓ Ö ÐÓ Ð Ù ÔÖÓ Ö ÑÑ Ü ÙØ ÔÖÓ ××Ù×µ
Ú Ó ×Û Ô ´ Ò Ø ¸ Ò Ø µ
ß Ò Ø
»» Ô ×× Ô Ö Ö Ö Ò ´ ÓÖ Ñ ÒØ Ò Ø Ð × ×µ
Ú Ó ÓÓ ×Û Ô ´ Ò Ø² ¸ Ò Ø² µ
ß Ò Ø
»» Ö ÙÑ ÒØ× ÔÓ ÒØ ÙÖ× ´Ô ÙØ ØÖ ÆÍÄÄ ÓÙ ¼µ
Ú Ó ÓÓ ×Û ÔÔØÖ ´ Ò Ø ∗ ¸ Ò Ø ∗ µ
ß Ò Ø ´∗ µ ´∗ µ ´∗ µ ´ ∗ µ
Ò Ø ¸ ½¼
×Û Ô ´ ¸ µ »» Ô ×× Ô Ö Ú Ð ÙÖ
Ó Ù Ø Ò Ð »» ½¼
ÓÓ ×Û Ô ´ ¸ µ »»Ô ×× Ô Ö Ö Ö Ò
Ó Ù Ø Ò Ð »»½¼
Ò ·· Ô ×× Ô Ö Ö Ö Ò × Ø Ô Ö ÔÓ ÒØ ÙÖ×
Ò » ··¸ ÓÒ Ô ×× Ð × Ö ÙÑ ÒØ× ÙÜ ÔÖÓ ÙÖ × Ô Ö Ö ÓÔ º
Ò Ð Ù Ó × Ø Ö Ñ
Ù × Ò Ò Ñ ×Ô × Ø
Ú Ó Ò Ö Î Ð Ù Ö ´ Ò Ø Ü µ ß Ü·· »∗ ¸ ³ × Ø ¿ ∗»
Ú Ó Ò Ö È Ó Ò Ø Ù Ö ´ Ò Ø ∗ ÔÜ µ ß ´∗ ÔÜ µ··
Ú Ó Ò Ö Ê Ö Ò ´ Ò Ø ² Ü µ ß Ü··
Ò Ø Ñ Ò ´ Ò Ø Ö ¸ Ö ∗ Ö Ú µ ß
Ò Ø Ü ¾
Ò Ö Î Ð Ù Ö ´ Ü µ
Ó Ù Ø Ü Ü Ò Ð »» ¾
Ò Ö È Ó Ò Ø Ù Ö ´²Ü µ
Ó Ù Ø Ü Ü Ò Ð »» ¿
Ò Ö Ê Ö Ò ´ Ü µ
Ó Ù Ø Ü Ü Ò Ð »»
Ö Ø Ù Ö Ò ¼
È ×× Ô Ö ÔÓ ÒØ ÙÖ Ú Ø Ð Ö ÓÔ × ÖÓ× Ö ÙÑ ÒØ× ´Ó Ø×µ¸ Ø
Ô ÖÑ Ø Ô ×× Ö ÆÍÄÄ
È ×× Ô Ö Ö Ö Ò Ð × ´ØÓÙ ÓÙÖ× Ò Ø Ð × µ¸ Ô × ³ Ö Ø Ñ Ø ÕÙ ×
Ä × Ø Ð ÙÜ Ò ··
Ä × Ò × ÓÑÑ Ò ÒØ ¼ ÓÑÑ ÔÓÙÖ Â Ú º
ÒØ ÒÓÑ Ö ÈÖ Ñ Ö× ß ¾¸ ¿¸ ¸
ÒØ Þ ¾ ß »» Ú Ð ÙÖ× Ò Ø Ð × × Þ ÖÓ
ÒØ Ñ ØÖ ¿ »» ¿ Ð Ò × ÓÐÓÒÒ ×
ÚÓ ÔÖÓ ÙÖ ´ ÒØ Ø Ð Ù µ ß
ÔÖ ×¸ ÓÒ Ú ÖÖ Ð Ð ×× Ú ØÓÖ Ð ËÌĺºº
ÐÐÓ Ø ÓÒ ÝÒ Ñ ÕÙ Ò ··
ÇÒ Ó Ø Ö Ö Ð³ ×Ô Ñ ÑÓ Ö ×Ó ¹Ñ Ñ Ò ··¸ Ø Ð ÙØ ÓÒ
Ð Ö Ö Ð Ñ ÑÓ Ö ÕÙ Ò ÓÒ Ò Ð³ÙØ Ð × ÔÐÙ× º
ÒØ Ø Ð Ð ¾¼½
ÒØ ∗ Ø
Ø Ò Û ÒØ Ø Ð Ð
»» ººº ÙØ Ð × Þ Ø Ð Ù ÔÙ × ÄÁ Ê Ê Ð
Ð Ø Ø
ÐÐÓ Ø ÓÒ × Ø Ð ÙÜ ÑÙÐØ ¹ Ñ Ò× ÓÒÒ Ð×
Ò ÐÙ Ó×ØÖ Ñ
Ù× Ò Ò Ñ ×Ô ×Ø
ÒØ Ñ Ò´ ÒØ Ö ¸ Ö ∗ Ö Ú µ
ß
ÓÙ Ð ∗∗ Ñ ØÖ ÌÖ Ò ÙÐ Ö
ÒØ ¸ ¸ Ñ Ò× ÓÒ ¾¼
Ñ ØÖ ÌÖ Ò ÙÐ Ö Ò Û ÓÙ Ð ∗ Ñ Ò× ÓÒ
ÓÖ ´ ¼ Ñ Ò× ÓÒ ··µ
Ñ ØÖ ÌÖ Ò ÙÐ Ö Ò Û ÓÙ Ð Ñ Ò× ÓÒ
ÓÖ ´ ¼ Ñ Ò× ÓÒ ··µ
ÓÖ ´ ¼ ··µ
´ µ Ñ ØÖ ÌÖ Ò ÙÐ Ö ½
Ð× Ñ ØÖ ÌÖ Ò ÙÐ Ö ¼
int d=2015;
double **T=new double*[d];
for(i=0;i<d;i++)
T[i]=new double[d];
T
T[0]
T[d-1]
T[1]
T[0][0]
T[1][0] T[1][1]
T[d − 1][0] T[d − 1][1] T[d − 1][d − 1]
pointeur sur un double* (type double**)
T[i] pointeur sur un double (type double*)
Ä Ö Ö Ð Ñ ÑÓ Ö × Ø Ð ÙÜ ´ÑÙÐØ ¹ Ñ Ò× ÓÒÒ Ð×µ
Ò ÐÙ Ó×ØÖ Ñ
Ù× Ò Ò Ñ ×Ô ×Ø
ÒØ Ñ Ò´ ÒØ Ö ¸ Ö ∗ Ö Ú µ
ß
ÓÙ Ð ∗∗ Ñ ØÖ ÌÖ Ò ÙÐ Ö
ÒØ ¸ ¸ Ñ Ò× ÓÒ ¾¼
º º º
ÓÖ ´ ¼ Ñ Ò× ÓÒ ··µß
ÓÖ ´ ¼ ··µ
ß ÓÙØ Ñ ØÖ ÌÖ Ò ÙÐ Ö
ÓÙØ Ò Ð
º º º
Ç Ø× Ø Ñ Ø Ó × Ò ··
ØØ ÒØ ÓÒ¸ Ð ÙØ Ñ ØØÖ ÙÒ ÔÖ × Ð Ð Ö Ø ÓÒ Ð ××
Ð ×× Ó Ø
ß ÔÙ Ð
ÓÙ Ð ÓÖ ÞÓÒØ Ð »» Ñ Ò× ÓÒ Ð Ö ÙÖ
ÓÙ Ð Ú ÖØ Ð »∗ Ñ Ò × Ó Ò Ù Ø Ù Ö ∗»
ÒØ Ñ Ò´ µ
ß Ó Ø ½¸ ¾
ÓÙ Ð ×ÙÖ ¼º¼
½º ÓÖ ÞÓÒØ Ð º¼ ½º Ú ÖØ Ð º¼
×ÙÖ ½º ÓÖ ÞÓÒØ Ð ∗ ½º Ú ÖØ Ð
ÓÙØ ËÙÖ Ð Ó Ø ½ ×ÙÖ
Ò Ð
Ö ØÙÖÒ ¼
Ç Ø× ÓÒ×ØÖÙ Ø ÙÖ´×µ Ø ×ØÖÙ Ø ÙÖ ˜ Ò ··
º º º
Ð ×× ÓÒÒ
ß ÔÙ Ð
ÒØ
ÓÙ Ð ∗ ØØÖ ÙØ
»» ÓÒ×ØÖÙ Ø ÙÖ× ´ÔÐÙ× ÙÖ× ÔÓ×× Ð ×µ
ÓÒÒ ´µß ¿ ØØÖ ÙØ Ò Û ÓÙ Ð
ÓÒÒ ´ ÒØ µß ØØÖ ÙØ Ò Û ÓÙ Ð
»» ×ØÖÙ Ø ÙÖ ÙÒ × ÙÐ
ÓÒÒ ´µ ß Ð Ø ØØÖ ÙØ ÓÙØ ×ØÖÙ Ø ÙÖ
ÔÔ Ð Ò Ð
ÒØ Ñ Ò´µ
ß ÒØ Ñ ¼¼ ÓÒÒ ∗Ü Ò Û ÓÒÒ ´ ѵ Ð Ø Ü
Ö ØÙÖÒ ¼
Ä Ò Ö Ø Ò ·· Ð × Ø ÑÔÐ Ø ×
Ø ÑÔÐ Ø Ð ×× Ì ÚÓ ×Û Ô ´ ̲ ¸ ̲ µ
ßÌ ´ µ
ÆÓØ Þ ÕÙ Ð Ð ×× Ì Ó Ø ÚÓ Ö ÙÒ ÓÒ×ØÖÙ Ø ÙÖ T(Tobject)º
ÁÐ Ù Ö ×ÙÖ Ö Ö Ð³ÓÔ Ö Ø ÙÖ =
·· Ä ×ÙÖ Ö ³ÓÔ Ö Ø ÙÖ× ´ÓÚ ÖÐÓ Ò ÓÔ Ö ØÓÖ×µ
ÁÐ ×Ø ÔÖ Ø ÕÙ Ö Ò Ö ÖØ Ò× ÓÔ Ö Ø ÙÖ× ´ ÓÑÑ ·¸ »¸ ¸ Ø ºµ Ò Ð ×
×ÙÖ Ö ÒØ º È Ö Ü ÑÔÐ ¸ Ö Ò Ö Ð³ Ð Ø ÔÓÙÖ ÙÒ Ó Ø Ò Ö ÓÔ ÒØ ØÓÙ×
Ð × ÒÖ ×ØÖ Ñ ÒØ× ´ ÑÔ×µº
È ÖØ Ø ÓÒ ²È ÖØ Ø ÓÒ ÓÔ Ö ØÓÖ ´ ÓÒ×Ø È ÖØ Ø ÓÒ ²Ôµ
ß
Ø ×− Ô º
Ø ×− Ô º
Ø ×− Ò Ô ºÒ
ÓÖ ´ ÒØ ¼ Ø ×− ··µß
Ø ×− ÑÙ º ÓÔ ´Ô ºÑÙ µ
Ø ×− Ô º
Ö ØÙÖÒ ∗ Ø ×
Ä Ð ×× Ú ØÓÖ Ð ËÌÄ
ËÌÄ ËØ Ò Ö Ì ÑÔÐ Ø Ä Ö ÖÝ ´ ÓÖÑ Ð ×Ñ ÙØ Ñ ÒØ Ò Ö ÕÙ ¸
ÓÒØ Ò Ö¸ Ø Ö ØÓÖ¸ ºººµ ÓÒØ Ò Ö ÕÙ Ô ÖÑ Ø Ö Ö × Ø Ð ÙÜ Ø ÐÐ
ÝÒ Ñ ÕÙ × Ñ Òغ
Ò ÐÙ Ú ØÓÖ
× Þ Ø × Þ ¾
»» Ñ ÖÓÓÑ ÓÖ ¾ ÒØ Ö׸ Ò Ø Ð Þ Þ Ø ÓÒ ØÓ ¼
×Ø Ú ØÓÖ ÒØ ÖÖ Ý ´ × Þ µ
»» ÓÒ Ô ÙØ Ö ÓÙØ Ö ÝÒ Ñ ÕÙ Ñ ÒØ × Ð Ñ ÒØ×
ÓÖ ´ ÒØ ¼ ¾∗ × Þ ·· µ
ß ÖÖ Ý
»» Ô × ×Ó Ò Ð Ø
ØØÔ »»ÛÛÛº ÔÐÙ×ÔÐÙ׺ ÓÑ»Ö Ö Ò »Ú ØÓÖ»Ú ØÓÖ»
ØØÔ »»ÛÛÛº ÔÐÙ×ÔÐÙ׺ ÓÑ»Ö Ö Ò » ×ØÖ Ò »× Þ Ø»
Ä ÑÓØ Ð ÓÒ×Ø Ò× Ð × Ñ Ø Ó ×
ÓÒ×Ø Ò ÕÙ Õ٠гÓÒ Ò Ô ÙØ Ô × Ò Ö Ð × Ú Ö Ð × Ð³Ó Ø Ø ×
ÚÓ ÓÓ ´µ
ß
ÓÙÒØ Ö·· »» Ñ Ö
×Ø ÓÙØ ÓÓ ×Ø Ò Ð
ÚÓ ÓÓ ´µ ÓÒ×Ø
ß»» Ð Ò ÓÑÔ Ð Ö Ô × Ö ÓÒ Ú ÙØ Ò Ö ÓÙÒØ Ö
ÓÙÒØ Ö··
×Ø ÓÙØ ÓÓ ÓÒ×Ø ×Ø Ò Ð
ÁÒØÖÓ Ù Ø ÓÒ ÅÈÁ
Å ××
È ×× Ò
ÁÒØ Ö
Å ×× È ×× Ò ÁÒØ Ö ´ÅÈÁµ
Ä × ÔÖÓ ××Ù× ÓÑÑÙÒ ÕÙ ÒØ ÒØÖ ÙÜ Ö × Ñ ×× × ´ ÓÒØ Ò ÒØ Ð ×
ÓÒÒ ×µ
ÔÔÐ Ø ÓÒ ÈÖÓ Ö ÑÑ Ò ÁÒØ Ö ´ ÈÁµ
Ò Ø Ð ×ÝÒØ Ü ´ Ø × Ñ ÒØ ÕÙ µ ³ÙÒ Ð ÓØ ÕÙ ÖÓÙØ Ò ×
×Ø Ò Ö × × ÔÓÙÖ Ö Ö × ÔÖÓ Ö ÑÑ × ÙØ Ð × ÒØ × Ò ×
Ñ ×× ×º Æ Ô Ò Ô × Ù Ð Ò ×ÓÙ×¹ ÒØ ÓÑÑ Ð ¸ ··¸
Â Ú ¸ ÓÖØÖ Ò¸ ÈÝØ ÓÒ¸ Ø º ´ÔÐÙ× ÙÖ× Ò Ò × Ð³ ÈÁ ×ÓÒØ ×ÔÓÒ Ð ×µ
ÒÚ ÖÓÒÒ Ñ ÒØ Ô Ö ÐÐ Ð Ñ ÑÓ Ö ×ØÖ Ù ½ ½ ´ÛÓÖ × ÓÔµ¸ ÅÈÁ¹Á
´½ ¾µ¸ ÅÈÁ¹¾¸ ÅÈÁ¹¿ ´¾¼¼ µ
ÈÐÙ× ÙÖ× ÑÔÐ Ñ ÒØ Ø ÓÒ× ×ÔÓÒ Ð × ÅÈÁ
ÇÒ ÙØ Ð × ÇÔ ÒÅÈÁ ´ ØØÔ »»ÛÛÛºÓÔ Ò¹ÑÔ ºÓÖ »µ Ò × ÐÐ × Ñ Ò ×
Ú ··º
ÈÖÓ Ö ÑÑ ÅÈÁ ´ Ò Ò Ò µ ÕÙ ×Ù × º ÔÔ
Ò ÐÙ ÑÔ º
ÒØ Ñ Ò´ ÒØ Ö ¸ Ö∗∗ Ö Ú µ
ß
ÒØ ¸ Ô ¸ Ò Ñ Ð Ò
Ö ÔÖÓ ××ÓÖ Ò Ñ ÅÈÁ Å ÈÊÇ ËËÇÊ Æ Å
ÅÈÁ ÁÒ Ø´ ² Ö ¸ ² Ö Ú µ »» Ò Ø Ð × ÅÈÁ
ÅÈÁ ÓÑÑ × Þ ´ÅÈÁ ÇÅÅ ÏÇÊÄ ¸²Ôµ »» ÒÓÑ Ö ÔÖÓ ××Ù×
ÅÈÁ ÓÑÑ Ö Ò ´ÅÈÁ ÇÅÅ ÏÇÊÄ ¸² µ »» Ö Ò Ù ÔÖÓ ××Ù×
ÅÈÁ Ø ÔÖÓ ××ÓÖ Ò Ñ ´ÔÖÓ ××ÓÖ Ò Ñ ¸ ²Ò Ñ Ð Òµ »»
ÒÓÑ Ù ÔÖÓ ×× ÙÖ
Ô Ö Ò Ø ´ ÈÖÓ ×× ÙÖ ±× Á ± Ò ¸ ÔÖÓ ××ÓÖ Ò Ñ ¸ µ
ÅÈÁ Ò Ð Þ ´ µ »» ÓÒ Ø ÖÑ Ò ÅÈÁ
Ö ØÙÖÒ ¼
ÓÑÔ Ð Ö Ø Ü ÙØ Ö ×ÓÒ ÔÖÓ Ö ÑÑ ÅÈÁ
Ä ÓÑÔ Ð Ø ÓÒ × Ø Ô Ö
ÑÔ ·· ÕÙ ×Ù × º ÔÔ ¹Ó ÕÙ ×Ù ×
´× гÓÔØ ÓÒ ¹Ó Ò³ ×Ø Ô × Ñ × ¸ Ö Ø Ò× ÙÒ Ö ºÓÙص
Ü ÙØ ÓÒ ×ÙÖ × Ñ Ò ÐÓ Ð Ñ ÒØ ´ ÓÐÐ Ò µ
ÓÐÐ Ò ÅÈÁ ° ÑÔ ÖÙÒ ¹ÒÔ ÕÙ ×Ù ×
ÈÖÓ ×× ÙÖ ÓÐÐ Ò ºÔÓÐÝØ Ò ÕÙ º Ö Á ¿
ÈÖÓ ×× ÙÖ ÓÐÐ Ò ºÔÓÐÝØ Ò ÕÙ º Ö Á ¼
ÈÖÓ ×× ÙÖ ÓÐÐ Ò ºÔÓÐÝØ Ò ÕÙ º Ö Á ½
ÈÖÓ ×× ÙÖ ÓÐÐ Ò ºÔÓÐÝØ Ò ÕÙ º Ö Á ¾
Ü ÙØ Ö ×ÙÖ ÔÐÙ× ÙÖ× Ñ Ò ×
Ö Ò ½ ° ÑÔ ÖÙÒ ¹ÒÔ ¹ Ó×Ø Ò Ð Ø ÖÖ ¸ ÙØÖ ÕÙ ×Ù ×
ÈÖÓ ×× ÙÖ ÙØÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á ½
ÈÖÓ ×× ÙÖ ÙØÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á ¿
ÈÖÓ ×× ÙÖ Ò Ð Ø ÖÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á ¾
ÈÖÓ ×× ÙÖ Ò Ð Ø ÖÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á ¼
ÈÖÓ ×× ÙÖ Ò Ð Ø ÖÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á
⇒ ÑÔ ÖÙÒ ×Ø ÙÒ Ð × ÔÓÙÖ ÓÖØ ÖÙÒ
½ Ñ Ò × Ò× Ð × × ÐР׸ ÓÖ Ò × × Ò ÐÙ×Ø Ö× Ñ Ò × ´¿ × ¼ + ½ µ
ÍØ Ð × Ö Ð³ÓÖ ÓÒÒ Ò ÙÖ ËÄÍÊÅ ×ÙÖ Ð × ÐÙ×Ø Ö×
¿ ÐÙ×Ø Ö× ¼ Ò Ù × Ø ÙÒ ÐÙ×Ø Ö ½ Ò Ù ×
× Ò Ó ÚÓ Ö × Ò ÓÖÑ Ø ÓÒ× ×ÙÖ Ð ÐÙ×Ø Ö Ð ÕÙ ÐÐ ÚÓØÖ Ñ Ò ÔÔ ÖØ ÒØ
Ö Ò ¾ ½ ° × Ò Ó
È ÊÌÁÌÁÇÆ Î ÁÄ ÌÁÅ ÄÁÅÁÌ ÆÇ Ë ËÌ Ì ÆÇ ÄÁËÌ
Ù ¶ ÙÔ ½ ¼¼ ½ Ð ÐÐ Ñ Ò ¸
Ò Ð Ø ÖÖ ¸ ÙØÖ ¸ Ð ÕÙ ¸ ×Ô Ò ¸ ÒÐ Ò ¸
Ö Ò ¸ ÖÓ ÒÐ Ò ¸ ÓÐÐ Ò ¸ ÓÒ Ö ¸ ÖÐ Ò ¸ ×Ð Ò
¸Ð ØÙ Ò ¸Ñ ÐØ ¸ÑÓÒ Ó ¸ÔÓÐÓ Ò ¸ÔÓÖØÙ Ð ¸ÖÓÙÑ Ò ¸
×Ù
ÍØ Ð × Ö Ð³ÓÖ ÓÒÒ Ò ÙÖ ËÄÍÊÅ ×ÙÖ Ð × ÐÙ×Ø Ö×
¹ × ¹ º½° ×× ××ÓÒÒ
Ä ×Ø ÐÓ Ò Ö Å Ö ¾¼ ½ ¾ ¾¼½ ÖÓÑ Ð Òº
ÔÓÐÝØ Ò ÕÙ º Ö
××ÓÒÒ ½ ° × Ò Ó
È ÊÌÁÌÁÇÆ Î ÁÄ ÌÁÅ ÄÁÅÁÌ ÆÇ Ë ËÌ Ì ÆÇ ÄÁËÌ
Ëƾ ¶ ÙÔ ½ ¼¼ ¼ Ð Ð ØØ ¸ Ò
¸ ÐÐ Ö ¸ Ò Ó × ¸ Ò Ù ÐÐ ¸ Ö ÒÒ × ¸ Ö Ù ¸ Ö Ù ¸
Ù ÖÓ ¸ ÖÓ Ø ¸ ÖÑÓÖ ¸ ÖÖ Ð Ø ¸ Ö ÒØ ¸ Ö ¸
Ö Ù× ¸ ÓÖ Ó Ò ¸ ÓÙ × ¸ ××ÓÒÒ ¸ Ò ×Ø Ö ¸ Ö ÓÒ ¸
ÖÓÒ ¸ ÝÑÒÓØ ¸ Ò Ö ¸ ÙÖ ¸Ð Ö ¸Ð Ò × ¸Ð Ù ¸
ÐÓ Ö ¸ÐÓØØ ¸Ñ Ò ¸Ñ ÖÒ ¸Ñ Ý ÒÒ ¸ÑÓÖ Ò ¸ÑÓ× ÐÐ
¸ÑÙÐ Ø ¸ÑÙÖ Ò ¸Ô Ö Ò ¸Ö ¸Ö ÕÙ Ò ¸ÖÓÙ Ø ¸
ÖÓÙ×× ØØ ¸× ÓÒ ¸× ÙÑÓÒ ¸× ÐÙÖ ¸×ÓÐ ¸×ÓÑÑ ¸Ø ÓÒ ¸
ØÖÙ Ø ¸Ú Ò ¸ÚÓ× ×
××ÓÒÒ ½ ° × ÐÐÓ ¹¹ÒØ × × ¿¾ ¹¹ÒØ × × ¹Ô Ö ¹ÒÓ
×
× ÐÐÓ Ö ÒØ Ó ÐÐÓ Ø ÓÒ
××ÓÒÒ ½ ° × Ø Ö Ô ËÄÍÊÅ
ËÄÍÊÅ ÂÇ Á
ËÄÍÊÅ ÂÇ ÈÍË È Ê ÆÇ ³ ´Ü µ³
ËÄÍÊÅ ÂÇ Á
ËÄÍÊÅ ÂÇ ÆÇ ÄÁËÌ Ò ¸ ÐÐ Ö ¸ Ö ÒÒ × ¸ ÖÑÓÖ
ËÄÍÊÅ ÂÇ ÆÍÅ ÆÇ Ë
ËÄÍÊÅ ÂÇ È ÊÌÁÌÁÇÆ Ëƾ
ËÄÍÊÅ ÆÆÇ Ë
ËÄÍÊÅ ÆÇ ÄÁËÌ Ò ¸ ÐÐ Ö ¸ Ö ÒÒ × ¸ ÖÑÓÖ
ËÄÍÊÅ ÆÇ ÄÁ Ë Ë ³´ÒÙÐе³
ËÄÍÊÅ ÆÈÊÇ Ë ¿¾
ËÄÍÊÅ ÆÌ ËÃË ¿¾
ËÄÍÊÅ ÆÌ ËÃË È Ê ÆÇ
ËÄÍÊÅ ËÍ ÅÁÌ ÁÊ »Ù× Ö×»ÔÖÓ ×» Ò Ó»Ò Ð× Ò» ½
ËÄÍÊÅ ËÍ ÅÁÌ ÀÇËÌ ××ÓÒÒ ºÔÓÐÝØ Ò ÕÙ º Ö
ËÄÍÊÅ Ì ËÃË È Ê ÆÇ ³ ´Ü µ³
××ÓÒÒ ½ ° ÑÔ ÖÙÒ ÕÙ ×Ù ×
ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á
ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ½
ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á
ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾
ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾
ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½½
ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á
ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¿¼
ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á
ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½
ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á
ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½
ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ¿
ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½¼
ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á
ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½¾
ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ½
ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ½
ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ½
ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ¼
ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ½
ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¿½
ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾¼
ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾
ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾½
ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾¾
ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾¿
ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾
ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½¿
ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾
ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾
ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾
Æ Ô × ÓÙ Ð Ö ÖÑ Ö Ð × ÔÓÙÖ Ö Ò Ö Ð × Ö ××ÓÙÖ × ËÄÍÊÅ
××ÓÒÒ ½ ° Ü Ø
Ü Ø
× ÐÐÓ Ê Ð ÒÕÙ × Ò Ó ÐÐÓ Ø ÓÒ
ÅÈÁ ÓÑÑÙÒ Ø ÓÒ× ÐÓ Ð × Ø Ð ÙÐ× ÓÐÐ ÓÖ Ø ×
Ä Ù× ÓÒ º ÖÓ ×Ø´Ñ× ¸P¼µ ÔÖÓ ××Ù× P¼ ÒÚÓ ØÓÙ× Ð × ÙØÖ ×
ÔÖÓ ××Ù× Ð Ñ ×× Ñ× º
ÍÒ Ð ÙÐ ÐÓ Ð ÓÐÐ ÓÖ Ø ´ Ú ÓÑÑÙÒ Ø ÓÒ×µ Ô Ö Ö Ù Ø ÓÒ º
ÐÐÊ Ù ´ÚÐÓ Ð¸Ú ÐÓ Ð¸ÓÔ Ö Ø ÓÒµ Ð × ÔÖÓ ××Ù× Ö ÒØ Ð × ÓÒÒ ×
ÐÓ Ð × Ú ÙÒ ÓÔ Ö Ø ÓÒ ´ ÓÙ Ñ Ü Ô Ö Ü ÑÔÐ µ¸ Ø Ð Ö ×ÙÐØ Ø ×Ø
Ö ØÓÙÖÒ ØÓÙ× Ð × ÔÖÓ ××Ù×
Ú ÐÓ Ð =
p
ÚÐÓ Ð[p]
Ð ÙÐ ÐÓ Ð ÓÐÐ ÓÖ Ø
ÓÑÔÐ Ü Ø ³ÙÒ Ð ÙÐ ÐÓ Ð ÓÐÐ ÓÖ Ø Ô Ò Ð ØÓÔÓÐÓ Ù
Ö × Ù ³ ÒØ Ö ÓÒÒ Ü ÓÒ Ù ÐÙ×Ø Ö Ñ Ò ×º
ËÓÙÚ Òظ Ð Ö Ú ÒØ ÙÒ Ö Ö Ö Ù Ø ÓÒ Ú Ó Ø ÐÓ Ö Ø Ñ ÕÙ
(+ ½ ¾ ¿ ) = (+ (+ ½ ¾) (+ ¿ )) = (+ ¿ ) = (½¼)
1 2 43
73
10
+ +
+
( )+
+( )
×ÝÒØ Ü ³ ÔÔ Ð ÐÐÊ Ù ´×ÓÙÖ ¸ ×Ø Ò Ø ÓÒ¸ÓÔ Ö Ø ÓÒµ
Ð ÙÐ π Ô Ö ÙÒ Ñ Ø Ó ÅÓÒØ ¹ ÖÐÓ
π
≈
nc
n
, πn =
nc
n
Ð Ñn→∞
πn = π.
Ð ÙÐ π Ô Ö ÙÒ Ñ Ø Ó ÅÓÒØ ¹ ÖÐÓ
Ò Ø Ö Ù Ö ¼
»» Ò Ö Ø ÙÖ Ð ØÓ Ö Ö ÒØ × ÒÓÒ Ð × ÔÖÓ º Ð × Ñ Ñ ×
× Ö Ò ´ ÑÓ µ
Ó Ö ´ ¼ Ò ··µ ß
Ü ´ Ó Ù Ð µ Ö Ò ´ µ »Ê Æ Å Ý ´ Ó Ù Ð µ Ö Ò ´ µ »Ê Æ Å
»» ÓÑÔØ Ð × ÔÓ ÒØ× ÕÙ ØÓÑ ÒØ Ò× Ð ÕÙ Ö ÒØ Ù ×ÕÙ
´ Ü ∗Ü·Ý ∗Ý ½º¼µ Ò Ø Ö Ù Ö ··
Ô Ô Ö Ó Ü Ô º ¼ ∗ Ò Ø Ö Ù Ö »´ Ó Ù Ð µ ´ Ò µ
Ô Ö Ò Ø ´ Ô Ô Ô Ö Ó Ô Ö Ð Ô Ö Ó º ± Ú ± Ô Ó Ò Ø × ± Ö Ö Ù Ö
± Ò ¸ ÑÓ ¸ Ò ¸ Ô Ô Ö Ó Ü Ô ¸ × ´ Ô Ô Ö Ó Ü Ô −Å ÈÁµ µ
»» Å ÒØ Ò ÒØ ÓÒ ÙÑÙÐ ØÓÙ× Ð × Ö ×ÙÐØ Ø× Ú ÙÒ Ö Ù Ø ÓÒ
ÅÈÁ Ê Ù ´² Ò Ø Ö Ù Ö ¸² Ø Ó Ø Ð Á Ò Ø Ö Ù Ö ¸ ½ ¸ ÅÈÁ ÁÆÌ ¸ ÅÈÁ ËÍŸ ¼ ¸
ÅÈÁ ÇÅÅ ÏÇÊÄ µ
´ ÑÓ ¼µß Ô Ô Ö Ó Ü Ô º ¼ ∗ Ø Ó Ø Ð Á Ò Ø Ö Ù Ö »´ Ó Ù Ð µ ´ Ò Ô Ö Ó × ∗Ò µ
Ô Ö Ò Ø ´ Ù Ñ Ù Ð Ø Ó Ò Ô Ô Ô Ö Ó Ú ± Ô Ó Ò Ø × ± Ò ¸ Ò∗
Ò Ô Ö Ó × ¸ Ô Ô Ö Ó Ü Ô µ
Ô Ö Ò Ø ´ Ö Ö Ù Ö ³ Ô Ô Ö Ó Ü Ñ Ø Ó Ò ± Ò ¸ × ´ Ô Ô Ö Ó Ü Ô −Å ÈÁµ µ
ÑÔ ÖÙÒ ¹ÒÔ ½¾ ¹ Ó×Ø Ø ÓÒ ¸ ÙÖ ¸ × Ñ Ô ÅÓÒØ ÖÐÓ ¾ º Ü
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ¾ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¿ ·¼¼ ÖÖ ÙÖ ½º¼¼½ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ¾½ ¾ ·¼¼ ÖÖ ÙÖ º ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ½½ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¿¾ ·¼¼ ÖÖ ÙÖ ½º¿ ½¼ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼ ÖÖ ÙÖ ½º¾¿ ¿¿ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¿ ·¼¼ ÖÖ ÙÖ º ¿¿ ¼ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ¿ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¿ ·¼¼ ÖÖ ÙÖ ½º ¼ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ½ ·¼¼ ÖÖ ÙÖ ¾º¿ ¾ ½ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ¼ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼ ÖÖ ÙÖ ½º¼ ¾ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ½¼ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ½ ·¼¼ ÖÖ ÙÖ º ¿ ½ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ½ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼ ÖÖ ÙÖ ½º¼ ¾ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¾ ·¼¼ ÖÖ ÙÖ ½º ¼ ¿ ¹¼
Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼ ÖÖ ÙÖ º¼ ¿ ¼ ¹¼
ÙÑÙÐ Ø ÓÒ Ô ÔÔÖÓ Ú ½¾¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼
ÖÖ ÙÖ ³ ÔÔÖÓÜ Ñ Ø ÓÒ º¾½ ¹¼
Ð ÓÖ Ø Ñ Ô Ö ÐÐ Ð ÔÓÙÖ Ð ×
k¹ÑÓÝ ÒÒ ×
È Ö ÐÐ Ð k¹Ñ Ò×
Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹ ½
È Ö ÐÐ Ð × Ø ÓÒ ÔÖÓÔÖ Ø ÓÑÔÓ× Ø ÓÒ Ù ÒØÖÓ
ËÓ Ø X Ø X ÙÜ ÙÜ ÓÒÒ × ÔÓÒ Ö × Ú Ð ÙÖ× ×ÓÑÑ × × ÔÓ ×
ØÓØ ÙÜ W Ø W º ÐÓÖ× ÓÒ
¯x(X ∪ X ) =
W
W + W
¯x(X) +
W
W + W
¯x(X )
ÌÖ × ÙØ Ð ÔÓÙÖ Ô ÖØ Ö Ð Ð ÙÐ × ÓÒÒ × ×ÙÖ ÔÐÙ× ÙÖ× ÔÖÓ ×× ÙÖ׺ºº
ÈÖÓÔÖ Ø Ð ÓÑ ØÖ Ù Ð ÒÒ ´Ò³ ×Ø Ô × ÚÖ Ò ÓÑ ØÖ
ÝÔ Ö ÓÐ ÕÙ µ
Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹ ¾
È Ö ÐÐ Ð × Ø ÓÒ Ð³ ÙÖ ×Ø ÕÙ ÄÐÓÝ
ËÙÔÔÓ×ÓÒ× n = O(½)¸ k = O(½) Ø p ÔÖÓ ×× ÙÖ× P¼, ..., Pp−½ ´ØÓÙ× Ð ×
ÔÖÓ ×× ÙÖ× Ð × ÒØ Ð × ÓÒÒ ×µº
ÍØ Ð ×ÓÒ× Ð ÔÖÓÔÖ Ø ÓÑÔÓ× Ø ÓÒ × ÒØÖÓ ×
c½(X) = p−½
i=¼
½
p c½(Xp)º
ÍÒ × ÔÖÓ ×× ÙÖ׸ ×ÓÒ× P¼ ×³Ó ÙÔ Ð³ Ò Ø Ð × Ø ÓÒ × ÒØÖÓ ×¸
ÔÙ × Ù× ´ ÖÓ ×ص ØØ Ò Ø Ð × Ø ÓÒ ØÓÙ× Ð × ÙØÖ × ÔÖÓ ×× ÙÖ׺
Ò ÅÈÁ¸ ÓÑÑ Ò ÅÈÁ ×غ
ÕÙ ÔÖÓ ×× ÙÖ Pr ×³Ó ÙÔ ³ ÙÒ Ô ÕÙ Ø n
p ÓÒÒ ×
Xr = {xr n
p
...x(r+½) n
p
−½} Ò Ð ÙÐ ÒØ Ð ×Ø Ò Ñ Ò Ñ Ð × × xi ÙÜ
ÒØÖ ×º ÇÒ Ñ Ø ÓÙÖ Ð ÓÒ Ø ÓÒ Ó Ø Ø ÓÒ Ð ÙÐ Ð × ÒØÖÓ × Ø
Ö Ò Ð Ø Ò Ô Ò ÑÑ ÒØ Ò× ÕÙ Ô ÕÙ Ø G½(r), ..., Gk (r) Ú
n½(r) = |G½(r)|, ..., nk (r) = |Gk(r)|º
ÈÙ × ÓÒ Ö Ù Ø ´ÓÔ Ö Ø ÓÒ Ö Ù µ ØÓÙ× Ð × cj (r) Ø nj (r) Ò × ÒØ Ð
×ÓÑÑ ´ÓÔ Ö Ø ÓÒ ÅÈÁµ ÅÈÁ ÐÐÖ Ù
ÇÒ Ö Ô Ø Ù×ÕÙ³ ÓÒÚ Ö Ò ´ÓÙ ÐÓÖ×ÕÙ Ð ÖÓ ×× Ò Ð ÓÒ Ø ÓÒ
Ó Ø Ô ×× ×ÓÙ× ÙÒ × Ù Ðµº
Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹ ¿
Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹
Ä × k¹ÑÓÝ ÒÒ × Ò ÅÈÁ Ò ÐÝ× Ð ÓÑÔÐ Ü Ø
Ä × ÓÔ Ö Ø ÓÒ× Ð Ñ ÒØ Ö × ÓÑÑ Ê Ù ¸ ×ظ Ø º Ô Ò ÒØ Ð
ØÓÔÓÐÓ Ù Ö × Ù ³ ÒØ Ö ÓÒÒ Ü ÓÒ º
ÁÒ Ø Ð × Ø ÓÒ × ÒØÖÓ × Ô Ö Ð ÔÖÓ ×× ÙÖ P¼ Ò Ø ÑÔ× O(dk)
Ó Ø ØÓØ Ð
O dk + ×Ø(p, dk) + s
dn
p
+ Ê Ù (p, dk) ∼n>>k,d O
dkns
p
→ Ø ÙÖ ³ Ð Ö Ø ÓÒ ´×Ô ¹ÙÔ¸ Ö ÔÔÓÖØ Ù Ø ÑÔ× × ÕÙ ÒØ Ð ×ÙÖ Ð
Ø ÑÔ× Ô Ö ÐÐ Ð µ α = O dkns
dkns
p
= O(p)º
È ÐÓ×ÓÔ Ö ÒØ Å ÔÊ Ù ´À ÓÓÔµ ÙØÖ ÑÓ Ð Ð ÙÐ
×ØÖ Ù × ÑÔÐ º
Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹
ÓÑÔÐ Ü Ø ³ÙÒ Ð ÓÖ Ø Ñ Ô Ö ÐÐ Ð ÙØ Ð × ÒØ ÅÈÁ
ËÓÑÑ
Ð ÙÐ× ÐÓ ÙÜ Ò ÄÇÈË ÄÓ Ø Ò ¹ÔÓ ÒØ ÇÈ Ö Ø ÓÒ× Ô Ö Ë ÓÒ
ÓÑÑÙÒ Ø ÓÒ ´Ñ ×× ×µ ÑÓ Ð α + τl ÔÓÙÖ × Ñ ×× × Ø ÐÐ l
α Ø ÑÔ× Ð Ø Ò ¸ τ Ø
#ÑÓØ×/ Ò Ô ×× ÒØ
#Ñ ×× ×× latence
Ø ÑÔ× Ô Ö ÓÔ ½ » Ò Ô ×× ÒØ Ð Ø Ò
→ ÇÒ Ö Ñ Ò Ñ × Ö Ð ÒÓÑ Ö Ñ ×× × ´Ð Ø Ò µ
Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹
Ê ×ÙÑ ½
Ä ÀÈ × ÖØ ØÖ ÔÐÙ× ÔÐÙ× Ú Ø ¸ ÔÐÙ× ÖÓ×× × × ÑÙÐ Ø ÓÒ׸ ÔÐÙ×
Ö Ò × ÓÒÒ ×¸ Ø º
Ä Ö ÖÓÙÔ Ñ ÒØ Ö Ö Ò× Ð × ÓÒÒ × × Ñ × × ÐÙ×Ø Ö× ÕÙ
Ö ÔÖ × ÒØ ÒØ × Ø ÓÖ ×» Ð ×× × ÓÒÒ ×
Ê ÖÓÙÔ Ñ ÒØ ÕÙ Ñ Ò Ñ × Ð ×ÓÑÑ × Ú Ö Ò × × ÐÙ×Ø Ö× Ð ×
k¹ÑÓÝ ÒÒ ×
ÌÖÓÙÚ Ö Ð Ñ Ò ÑÙÑ ÐÓ Ð ÔÓÙÖ Ð × k¹ÑÓÝ ÒÒ × ×Ø Æȹ ÙÖ
À ÙÖ ×Ø ÕÙ Ø Ö Ø Ú ÄÐÓÝ ØÖÓÙÚ ÙÒ Ñ Ò ÑÙÑ ÐÓ Ð Ò O(dnks)
Ð Ô Ö ÐÐ Ð × Ö Ò × ÒØ n
P Ô ÕÙ Ø× ÓÒÒ ×º Ì ÑÔ× Ô Ö ÐÐ Ð
O(dnks/P)º ij Ð Ö Ø ÓÒ ×Ø ÓÒ O(P)º
ÈÓÙÖ Ð ÔÖÓ Ò Ó × Ð Ö Ð × Ô ØÖ × ½¸ ¾ Ø Ù ÔÓÐÝ ÓÔ
Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹
Ö Ò Æ Ð× Ò ºÌÖÓÑ ÒÓ× ÓÔ ½¹
INF442 : Traitement des donn´ees massives
A2 : Le HPC et le regroupement hi´erarchique
Frank Nielsen
X2013
15 avril 2015
3 avril 2015
HPC : quelques cas pour le Super-Computing (SC)
HPC = on recherche l’ efficacit´e !
Utiliser des mod`eles pour de la simulation parce que sinon
c’est
trop difficile `a construire (souffleries)
trop cher `a construire (crash d’avion/voiture)
trop lent `a attendre (´evolution du climat, galaxies)
trop dangereux (armes, drogues, pollutions, ´epid´emies)
Avoir des r´esultats rapides voire en ligne
on-line, incremental :
valeur temporelle du r´esultat (m´et´eo)
ˆetre le premier `a avoir le r´esultat (bourse, trading HFT)
ˆetre le premier `a avoir “une analyse” (incluant le coˆut de
d´evelopement)
Donn´ees massives, le Big Data :
analyse du g´enome/d’une famille de g´enomes
recherche d’intelligence extraterrestre (SETI)
Acc´el´eration, efficacit´e et scalabilit´e
tseq : temps ´ecoul´e par le programme s´equentiel
tP : ... par programme parall`ele sur P proc.
t1 : ... par le programme parall`ele ex´ecut´e en s´equentiel, P = 1
bien sˆur, t1 ≥ tseq sinon on aurait un meilleur algo. s´equentiel
Acc´el´eration : speedup(P) =
tseq
tP
, souvent
tseq
tP
t1
tP
Efficacit´e : e(P) = speedup(P)
P =
tseq
P×tP
par rapport au speed-up lin´eaire, e(P) = 1 ⇔ tP =
tseq
P
Speed-up, efficiency
Loi d’Amdahl (1967) : un frein au parall´elisme ?
gain de performance id´eal :
α = fraction du code parall`elisable
αseq = fraction du code non-parall`elisable
avec αseq + α = 1
speedup(P) =
t1
tn
=
(αseq + α )t1
(αseq +
α
P )t1
=
1
αseq +
α
P
lim
P→∞
speedup(P) =
1
αseq
=
1
1 − α
⇒ acc´el´eration born´ee par la fraction de code αseq
non-parall`elisable (celle qui est intrins´equement s´equentielle)
Loi d’Amdahl : comportement asymptotique
0
2
4
6
8
10
12
14
16
18
20
1 4 16 64 256 1024 4096 16384 65536
speed−up
nombre de processeurs (P)
0.75
0.9
0.95
Loi d’Amdahl : un exemple visuel pour concr´etiser
αseq = 20% et donc α = 80%
Temps
P = 1 P=2 P=4 P=8
S = 1 S = 5
3
S = 2
5
S = 10
3
S = 5
P → ∞
seq
par
...
lim
P→∞
speedup(P) =
1
αseq
=⇒ speedup ≤ ×5
Est-ce alors int´eressant d’avoir des grands clusters de machines ?
Loi de Gustafson : scale speed-up, `a la rescousse !
Simulation : taille des mailles d’une grille 2D/3D = fonction de P
Vid´eo : SD, HD, 4K, 8K, etc.
Concept = Charge de travail (workload) grandit avec P
n n’est pas fix´e ! (= cas d’Amdahl)
speedupGustafson(P) = αseq + P × α
speedupGustafson(P) = αseq + P × (1 − αseq)
Gustafson = parall´elisme de donn´ees
Loi de Gustafson : un exemple visuel
Loi de Gustafson : speedup(P) = αseq + P × α . scale speed-up
P = 1 P = 2 P = 4 P = 8
n 2n 4n 8n
temps
la taille des donn´ees n augmente
seq
par
speedup(P) = 0.2 + 0.8 × P
Parfois, en pratique, on obtient un speed-up super-lin´eaire
(hyper-lin´eaire), qui s’explique par le cache hi´erarchique des
donn´ees
Pensez au cheminement complexe des donn´ees vers le processeur
dans le mat´eriel !
Autrement dit...
efficacit´e(P) =
acc´el´eration(P)
P
efficacit´e d’Amdahl :limP→∞ eAmdahl(P) = 0
efficacit´e de Gustafson :limP→∞ eGustafson(P) = α
Cluster de machines : une architecture `a m´emoire
distribu´ee
espace m´emoire local associ´e `a chaque processeur
processeurs connect´e par un r´eseau d’interconnexion
acc`es m´emoire aux autres processeurs explicite par ´echanges
de messages sur le r´eseau
le r´eseau d’interconnexion d´etermine la vitesse d’acc`es aux
donn´ees
caract´eristiques du r´eseau :
transmission avec mod`ele de coˆut
α + τ × Longueur(message) :
latence : temps pour initier une communication (α)
bande passante : vitesse de transfert des donn´ees (τ)
topologie : architectures physique (mat´eriel) et logique (utilis´e
par les algorithmes //)
E/S (I/Os) et syst`emes de fichiers parall`eles
E/S : entr´ees/sorties , I/O : input/output
Big Data : Lire et sauvegarder des gros fichiers ou beaucoup de
petits fichiers
gestion parall`ele des E/S impl´ement´e explicitement dans les
programmes (en MPI, la partie appel´ee MPI-IO)
E/S g´er´e par un syst`eme de fichier parall`ele :
Lustre : logiciel libre utilis´e par les gros calculateurs
http://lustre.opensfs.org/
GPFS (General Parallel File System) : d´evelopp´e par IBM pour
des volumes de donn´ees d´epassant le p´etaoctet (1 PB, 1015
)
http://www-03.ibm.com/systems/platformcomputing/products/gpfs/
approche g´er´ee automatiquement par MapReduce avec le GFS
(Google File System)
→ E/S tr`es important en pratique mais pas couvert dans ce cours
d’introduction
INF442 : rappel sur notre vocation !
Introduction `a l’algorithmique et `a la programmation parall`ele en
C++/MPI pour l’analyse de donn´ees massives sur un cluster de
machines `a m´emoires distribu´ees (calculs `a gros grains).
Processus
Les syst`emes d’exploitation modernes sont multi-tˆaches :
plusieurs applications non-bloquantes peuvent tourner en “mˆeme
temps” (time-slicing).
un seul processus en cours d’ex´ecution sur le CPU `a un
instant donn´e,
un ordonnanceur de tˆaches qui alloue les processus aux
CPUs/cœurs,
´etat d’un processus : en cours d’ex´ecution, prˆet en attente de
CPU, bloqu´e (suspendu/attente de r´eveil).
Tˆaches (jobs) sous UNIX
[france ~]$ sleep 10000 &
[1] 12027
[france ~]$ sleep 15000 &
[2] 12065
[france ~]$ jobs
[1]- Running sleep 10000 &
[2]+ Running sleep 15000 &
[france ~]$ kill %1
[1]- Terminated sleep 10000
[france ~]$ fg %2
sleep 15000
Une tˆache peut lancer plusieurs processus (mais souvent c’est un
seul)
Tˆaches (jobs) sous UNIX
[ france ~]$ ps
PID TTY TIME CMD
10241 pts /0 00:00:00 bash
12167 pts /0 00:00:00 ps
[ france ~]$ ps -a
PID TTY TIME CMD
12168 pts /0 00:00:00 ps
[ france ~]$ sleep 10000 &
[1] 12169
[ france ~]$ ps -F
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
11234 10241 10240 0 1236 1456 6 10:08 pts /0 00:00:00 -bash
11234 12169 10241 0 953 472 1 10:50 pts /0 00:00:00 sleep 10000
11234 12170 10241 0 1132 900 1 10:50 pts /0 00:00:00 ps -F
[ france ~]$ kill 12169
[1]+ Terminated sleep 10000
Processus et fils de calcul (multi-threading)
Un fil de calcul (“processus l´eger”) `a l’int´erieur d’un
processus,
Multi-threading : ex´ecution `a l’int´erieur d’un processus de
plusieurs sous-tˆaches. Ex´ecution “concurrente” de fils de
calcul (par exemple, votre navigateur Web),
Les ressources allou´ees `a un processus sont partag´ees entre
les fils de calcul qui le composent : m´emoire partag´ee pour les
fils de calcul (INF431).
Un processus a au moins un thread qui contient la fonction
main.
Diff´erence entre processus et threads
Les processus ont leurs propres m´emoires d’adressage deux `a
deux disjointes. La communication entre processus doit se
faire de fa¸con m´ethodique (→ standard MPI)
Les threads d’un mˆeme processus partagent la mˆeme zone
m´emoire (code + donn´ees). Facile d’acc´eder aux donn´ees
mais difficult´es li´ees `a l’acc`es simultan´e de la m´emoire (source
de plantage !).
Threads bien adapt´es aux architectures multi-cœurs d’un
processeur.
Multi-threads : plus rapide, application non-bloquante (par
exemple, un navigateur web)
Multi-threading : parall`elisme avec une m´emoire commune partag´ee
mpirun est un alias pour orterun
https://www.open-mpi.org/doc/v1.4/man1/orterun.1.php
-hostfile ou -machinefile
fichier maconfigMPI :
machine1 slots=2
machine2 slots=2
machine3 slots=2
G´en´eralement slots est le nombre de cœurs et la somme des slots
´equivaut `a l’option -np
Utilisez l’ ordonnanceur SLURM pour l’allocation automatique des
ressources sur un cluster
Programmer avec la Message Passing Interface (MPI)
Multiple Program Multiple Data : MPMD
Single Program Multiple Data : SPMD
Op´erations MPI
Outre les calculs locaux de chaque processus, on a aussi :
des mouvements de donn´ees via des envois et r´eceptions de
messages (broadcast, scatter, gather, all-to-all, etc.),
de la synchronisation (barri`ere o`u tous les processus
s’attendent avant de pouvoir continuer),
du calcul global (comme des op´erations de sommes cumul´ees,
reduce et scan ou parallel prefix).
MPI : Les communications collectives usuelles
Concernent tous les processus d’un groupe de communication
(souvent WORLD)
diffusion
broadcast
Mi
M1 M2 M3
M
M M M
M
diffusion
personnalis´ee
scatter
M1 M2 M3
rassemblement
gather
Mi
M1 M2 M3
2 3 1 r´eduction
reduce
2 3 1
6
processus appelant
AVANT APR`ES
P0
P1 P2 P3
message
messages personnalis´es M1, M2, M3 `a envoyer
Mi
messages personnalis´es M1, M2, M3 re¸cus
MPI : Les communications collectives
un `a tous (one-to-all) :
La diffusion, Broadcast : MPI Bcast, message entier
La difusion personnalis´ee, Scatter : MPI Scatter, message
partitionn´e en morceaux
tous `a un (all-to-one) :
La r´eduction, Reduce : MPI Reduce, op´eration comme
MPI SUM, etc.
Le rassemblement, Gather : MPI Gather, assemble le
message `a partir des messages par morceaux
tous `a tous (all-to-all, total exchange), le comm´erage :
MPI Alltoall
MPI : les deux op´erations de base send et receive
Communications bloquantes
send(&data, n, Pdest) :
Envoie n donn´ees point´ees par &data au processeur Pdest
receive(&data,n, Psrc) :
Re¸coit n donn´ees `a l’adresse point´ee par &data du processeur
Psrc
Que se passe t’il dans ce petit exemple ?
P0 P1...
a=442;
send(&a, 1, P1);
a=0;
...
receive(&a, 1, P0);
cout << a << endl;
Communications bloquantes (non-bufferis´ees)
⇒ provoque de l’attente (idling)
Envoyeur ou receveur doivent s’attendre mutuellement
(hand-shaking).
MPI Init (&argc ,& argv ) ;
MPI Comm size (MPI COMM WORLD,&numprocs ) ;
MPI Comm rank (MPI COMM WORLD,&myid ) ;
tag =442; source =0; d e s t i n a t i o n =1; count =1;
i f ( myid == source ) {
b u f f e r =2015;
MPI Send(& buffer , count , MPI INT ,
d es t i n a t i on , tag ,MPI COMM WORLD) ;
p r i n t f ( ”Le p r oces s eu r %d a envoye %dn”
, myid , b u f f e r ) ;
}
i f ( myid == d e s t i n a t i o n ) {
MPI Recv(& buffer , count , MPI INT , source ,
tag ,MPI COMM WORLD,& s t a t u s ) ;
p r i n t f ( ”Le p r oc e s s e u r %d a recu %dn” ,
myid , b u f f e r ) ;
}
Minimiser les temps d’attente
Pour des communications bloquantes, on cherche donc `a minimiser
le temps d’attente (on verra plus tard l’´equilibrage de charge, le
load balancing).
Temps d’attente pour le receveur
Receveur prˆet avant l’envoyeur (communications bloquantes)
MPI : les situations de blocages (deadlocks)
Que se passe t’il dans cet exemple ?
P0 P1
send(&a, 1, P1);
receive(&b, 1, P1);
send(&a, 1, P0);
receive(&b, 1, P0);
Envoyeur P0 attend le “OK pour envoi” de P1
Envoyeur P1 attend le “OK pour envoi” de P0
C¸a bloque. On est en situation de deadlock !
(Ctrl-C pour tuer le programme...)
MPI : les blocages (deadlocks)
Les communications bloquantes sont n´ecessaires pour assurer
la consistence (s´emantique) des programmes mais font
apparaˆıtre des situations ind´esirables de blocage.
Pour le send, on peut pr´e-allouer un espace m´emoire “buffer
donn´ees” (Data buffer, DB) `a chaque processus, puis envoyer
les donn´ees en deux temps :
Envoi sur le Data Buffer DB,
Sur le processeur receveur, recopie le DB `a l’endroit &data,
Implant´e soit mat´eriellement soit par un protocole logiciel.
N´eanmoins, il subsiste toujours une situation de blocage
lorsque le buffer de donn´ees DB devient plein
MPI : les blocages (deadlocks)
Mˆeme si on g`ere bien les appels send, le probl`eme du deadlock
subsiste
Blocage avec les communications bufferis´ees : le probl`eme des
receive
P0 P1
receive(&a, 1, P1);
send(&b, 1, P1);
receive(&a, 1, P0);
send(&b, 1, P0);
MPI : Send/Receive non-bloquantes et non-bufferis´ees
Comment envoyer/recevoir des messages avec des communications
non-bloquantes...
L’envoyeur poste un message “Demande d’envoi” (pending
message) et continue l’ex´ecution de son programme,
Le receveur poste un “OK pour envoi”, et le transfert de
donn´ees s’effectue,
Quand le transfert de donn´ees est fini, un check status
indique qu’on peut toucher aux donn´ees sans danger
commnonbloq442.cpp
MPI Status s t a t u s ; MPI Request r eq u es t ;
MPI Init (&argc ,& argv ) ;
MPI Comm size (MPI COMM WORLD,&numprocs ) ;
MPI Comm rank (MPI COMM WORLD,&myid ) ;
tag =442; source =0; d e s t i n a t i o n =1; count =1;
r e q u e s t=MPI REQUEST NULL ;
i f ( myid == source ) {
b u f f e r =2015;
MPI Isend(& buffer , count , MPI INT ,
d es t i n a t i on , tag ,MPI COMM WORLD,&
r e q u e s t ) ;
}
i f ( myid == d e s t i n a t i o n ) {
MPI Irecv (& buffer , count , MPI INT , source
, tag ,MPI COMM WORLD,& r e q u e s t ) ;
}
r e q u e s t=MPI REQUEST NULL ;
i f ( myid == source ) {
b u f f e r =2015;
MPI Isend(& buffer , count , MPI INT ,
d es t i n a t i on , tag ,MPI COMM WORLD,&
r e q u e s t ) ;
}
i f ( myid == d e s t i n a t i o n ) {
MPI Irecv (& buffer , count , MPI INT , source
, tag ,MPI COMM WORLD,& r e q u e s t ) ;
}
p r i n t f ( ” a t t en t e avec MPI WAIT . . .  n”) ;
MPI Wait(&request ,& s t a t u s ) ;
attente avec MPI_WAIT ...
attente avec MPI_WAIT ...
[proc 0] status de MPI_WAIT : 0
Le processeur 0 a envoye 2015
[proc 1] status de MPI_WAIT : 0
MPI : Les six routines standards sont...
proc´edures , types de donn´ees et constantes sont pr´efix´ees par
MPI (fichier mpi.h)
100+ proc´edures dont les six principales sont :
MPI Init Initialisation de la biblioth`eque
MPI Finalize Termine l’utilisation de MPI
MPI Comm size Donne le nombre de processus
MPI Comm rank ´Etiquette du processus appelant
MPI Send Envoi un message (bloquant)
MPI Recv Re¸coit un message (bloquant)
Ces proc´edures retournent MPI SUCCESS en cas de succ`es,
sinon un code d’erreur.
Quelques hypoth`eses sur la concurrence
le processeur (ou PE) peut effectuer plusieurs op´erations en
mˆeme temps
Par exemple, on peut supposer
MPI IRecv(), non-bloquant
MPI ISend(), non-bloquant
+ calcul local
il faut donc que ces 3 op´erations soient ind´ependantes !
donc on ne peut pas envoyer le r´esultat du calcul
on ne peut pas forwarder = envoyer ce que l’on re¸coit
en pseudo-code, on note les activit´es concurrentes par || (une
double barre)
Activit´e1||Activit´e2||Activit´e3
MPI : Les types de donn´ees enMPI
Type MPI Type dans le langage C
MPI CHAR signed char
MPI SHORT signed short int
MPI INT signed int
MPI LONG signed long int
MPI UNSIGNED CHAR unsigned char
MPI UNSIGNED SHORT unsigned short int
MPI UNSIGNED unsigned int
MPI UNSIGNED LONG unsigned long int
MPI FLOAT float
MPI DOUBLE double
MPI LONG DOUBLE long double
MPI BYTE
MPI PACKED
MPI : La primitive send
https://www.open-mpi.org/doc/v1.4/man3/MPI_Send.3.php
Syntaxe en C :
#i n c l u d e <mpi . h>
i n t MPI Send ( void ∗buf , i n t count ,
MPI Datatype datatype , i n t dest , i n t tag ,
MPI Comm comm)
Syntaxe en C++ (plus mis `a jour depuis MPI-2) :
#i n c l u d e <mpi . h>
void Comm : : Send ( const void ∗ buf , i n t count ,
const Datatype& datatype , i n t dest , i n t tag
) const
tag : Message tag (integer), utile pour la filtration et
l’appariemment des op´erations send/receive. Par d´efault, tag=0
MPI : les communications non-bloquantes (API en C)
i n t MPI Isend ( void ∗buf , i n t count ,
MPI Datatype datatype , i n t dest , i n t tag ,
MPI Comm comm, MPI Request ∗ req )
i n t MPI Irecv ( void ∗buf , i n t count ,
MPI Datatype datatype , i n t src , i n t tag ,
MPI Comm comm, MPI Request ∗ req )
L’objet MPI Request est utilis´e dans les routines suivantes :
Retourne *flag=1 si l’op´eration *req est finie, 0 sinon
i n t MPI Test ( MPI Request ∗req , i n t ∗ flag ,
MPI Status ∗ s t a t u s )
Attend jusqu’`a ce que l’op´eration associ´ee avec *req soit finie.
i n t MPI Wait ( MPI Request ∗req , MPI Status ∗
s t a t u s )
MPI : les groupes de communication, communicators
D´efini le cadre des op´erations de communication,
Chaque processus inclus dans un communicator a un rang
associ´e,
Par d´efaut, MPI COMM WORLD inclut tous les p processus,
rang de 0 `a p − 1,
On peut cr´eer des communicators pour des groupes de
processus,
int MPI Comm size(MPI Comm comm, int *size) et int
MPI Comm rank(MPI Comm comm, int *size)
Barri`ere de synchronisation : MPI Barrier
MPI Barrier : Bloque jusqu’`a temps que tous les processus
arrivent `a cette routine = synchronisation !
Barri`ere de synchronisation
Barri`ere de synchronisation
Mesurer le temps sous MPI : MPI Wtime
double start, end;
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Barrier(MPI_COMM_WORLD); /* IMPORTANT */
start = MPI_Wtime();
/* faire le calcul ici */
calculINF442();
MPI_Barrier(MPI_COMM_WORLD); /* IMPORTANT */
end = MPI_Wtime();
MPI_Finalize();
if (rank == 0) {cout<< end-start <<endl;}
Ou alors utiliser MPI Reduce() pour calculer les temps
minima/maxima (et autres statistiques) des processus...
MPI : Calcul globaux Reduce
C :
#i n c l u d e <mpi . h>
i n t MPI Reduce ( void ∗ sendbuf , void ∗ recvbuf ,
i n t count , MPI Datatype datatype , MPI Op op
, i n t root , MPI Comm comm)
https://www.open-mpi.org/doc/v1.5/man3/MPI_Reduce.3.php
MPI : Reduce, op´erations de calcul pr´ed´efinies
Op´erateur binaire associatif et commutatif
Nom Signification
MPI MAX maximum
MPI MIN minimum
MPI SUM sum
MPI PROD product
MPI LAND logical and
MPI BAND bit-wise and
MPI LOR logical or
MPI BOR bit-wise or
MPI LXOR logical xor
MPI BXOR bit-wise xor
MPI MAXLOC max value and location
MPI MINLOC min value and location
Exemple : calcul de la factorielle...
factoriellempireduce442.cpp
i n t i , moi , nproc s ;
i n t nombre , g l o b a l F a c t =−1, l o c a l F a c t ;
MPI Init (&argc ,& argv ) ;
MPI Comm size (MPI COMM WORLD,& nproc s ) ;
MPI Comm rank (MPI COMM WORLD,&moi ) ;
nombre=moi+1;
// dans l e s arguments , se r a p p e l e r l ’ o r d r e ( source , d e s t i n a t i o n )
MPI Reduce(&nombre ,& globalFac t , 1 , MPI INT ,MPI PROD , 0 ,MPI COMM WORLD) ;
i f ( moi==0)
{ p r i n t f (” f a c t o r i e l l e avec re duc e pour %d p r o c e s s u s = %dn” , nprocs , g l o b a l F a c t ) ;}
l o c a l F a c t =1; f o r ( i =0; i<nproc s ; i ++) { l o c a l F a c t ∗=( i +1);}
i f ( moi==0)
{ p r i n t f (” f a c t o r i e l l e l o c a l e : %dn” , l o c a l F a c t ) ;}
M P I F i n a l i z e () ;
MPI : Les commandes Scan/ Pr´efixe parall`ele
i n t MPI Scan ( void ∗ sendbuf , void ∗ recvbuf , i n t
count , MPI Datatype datatype , MPI Op op ,
MPI Comm comm )
processus P0 P1 P2 P3
entr´ee (vi ) 1 2 3 4
sortie 1 3 (= 1 + 2) 6 (= 1 + 2 + 3) 10 (= 1 + 2 + 3 + 4)
P0
P1
P2
P3
a
b
c
d
a + b + c + d
b
c
d
reduce
P0
P1
P2
a0
a1
c0b0
b1
c2a2 b2
c1
scan
a0
a0 + a1
a0 + a1 + a2
b0
b0 + b1
b0 + b1 + b2
c0
c0 + c1
c0 + c1 + c2
P0
P1
P2
P3
a
b
c
d
a + b + c + d
Allreduce a + b + c + d
a + b + c + d
a + b + c + d
Communications : uni-directionelles ou bi-directionnelles
Uni-directionelle (one-way communication )
Dans un seul sens : on envoie ou on re¸coit
MPI Send / MPI Recv
Bi-directionnelle
Dans les deux sens (two-way communication)
MPI Sendrecv
https://www.open-mpi.org/doc/v1.8/man3/MPI_Sendrecv.3.php
Les k-moyennes : Un
clustering par partition
= clustering plat
vs
Regroupement hi´erarchique
Trouver des liens de proximit´e entre les donn´ees
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1
Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4
Merc 240 D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2
Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2
Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4
Merc 280 C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4
Merc 450 SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3
Merc 450 SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3
Merc 450 SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3
Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4
Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4
Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4
Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1
Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2
AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2
Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4
Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2
Fiat X1 -9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
Porsche 914 -2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4
Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6
Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8
Volvo 142 E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
FerrariDino
HondaCivic
ToyotaCorolla
Fiat128
FiatX1−9
MazdaRX4
MazdaRX4Wag
Merc280
Merc280C
Merc240D
LotusEuropa
Merc230
Volvo142E
Datsun710
ToyotaCorona
Porsche914−2
MaseratiBora
Hornet4Drive
Valiant
Merc450SLC
Merc450SE
Merc450SL
DodgeChallenger
AMCJavelin
ChryslerImperial
CadillacFleetwood
LincolnContinental
FordPanteraL
Duster360
CamaroZ28
HornetSportabout
PontiacFirebird
050100150200250
Regroupement hierarchique (distance moyenne)
hauteur
Le clustering/regroupement hi´erarchique ascendant
On part des donn´ees X = {x1, ..., xn} qui sont des feuilles et on
fusionne r´ecursivement au fur et `a mesure les sous-arbres jusqu’`a
ne plus qu’avoir un seul arbre. Les feuilles initiales forment une
forˆet d’arbres `a une feuille, puis on fait de la fusion d’arbres...
Plusieurs crit`eres pour la fusion de deux sous-arbres (dont les
sous-ensembles de donn´ees Gi et Gj sont stock´ees dans leurs
feuilles). On calcule Δ(Gi , Gj ) la distance entre deux
sous-ensembles.
strat´egie du saut minimum :ΔSL → Single Linkage (SL)
strat´egie du saut maximum (ou diam`etre) : ΔCL →
Complete Linkage (CL)
strat´egie du saut moyen : ΔGA → Group Average (GA)
etc.
Pour se fixer une id´ee : saut moyen, Single Linkage (SL)
Fonction de chaˆınage
Δ(Gi , Gj ) = min
xi ∈Gi ,xj ∈Gj
D(xi , xj )
o`u D(x, y) est une distance ´el´ementaire .
Quelle distance ´el´ementaire entre deux donn´ees ?
On doit toujours avoir bien entendu Δ({xi }, {xj }) = D(xi , xj ).
Exemples de distances ´el´ementaires :
Distance Euclidienne (L2) : D(p, q) = d
i=1(pi − qi )2
Distance de Manhattan (city block, L1) :
D1(p, q) = d
i=1 |pi − qi |
Distance de Minkowski induite par Lp :
Dp(p, q) =
d
i=1
|pi − qi |p
1
p
Distance de Mahalanobis :
DΣ(p, q) = (p − q) Σ−1(p − q) = D(L p, L q),
avec Σ−1 = L L provenant de la factorisation de Cholesky
M´etrique, non-m´etrique, distance & similarit´e, etc.
Le clustering par agglom´eration
Hierarchical Cluster Analysis (HCA) : regroupement hi´erarchique
Initialiser xi dans un cluster singleton Gi = {xi }
Tant qu’il reste au moins deux clusters :
Choisir Gi et Gj tel que Δ(Gi , Gj ) soit minimal
Fusionner Gi,j = Gi ∪ Gj (ajouter Gi,j et retirer Gi et Gj )
Retourner le dernier nœud comme la racine de l’arbre de fusion
⇒ le r´esultat d’un regroupement hi´erarchique est un arbre binaire
appel´e dendrogramme . On fusionne n − 1 fois (les ´etapes de
fusion).
Diff´erent d’un algorithme de partitionnement comme les
k-moyennes :
Clustering hi´erarchique = not Clustering plat (par partition)
Distance de chaˆınage Δ(Gi, Gj)
Single Linkage
saut minimum
Complete Linkage
saut maximum
diam`etre
Group Average
saut moyen
Dessinons un dendrogramme...
Par exemple, choisissons la hauteur comme le nombre de fusions :
I N F 4 4 2
I, N 4, 4
I, N, F 4, 4, 2
I,N,F,4,4,2
feuilles
nœuds internes
hauteur :
nombre de fusions
0
1
2
3
Dendrogramme = Graphique d’un arbre binaire, arbre plong´e dans
le plan.
Autre visualisation de la hi´erarchie par inclusion
I N F 4 4 2
I, N 4, 4
I, N, F 4, 4, 2
I,N,F,4,4,2
I
N
F
4
4
2
Dendrogramme : iris (4D)
Dendrogramme = Graphique d’un arbre binaire (arbre plong´e dans
le plan) o`u chaque nœud a une hauteur.
Dendrogrammes et arbres philog´en´etiques
Vous avez souvent d´ej`a vu des dendrogrammes dans la th´eorie des
´evolutions des esp`eces.
Dans ce cas, on a un “temps chronologique” sur l’axe vertical
(horloge), un cas particulier de dendrogrammes.
Le clustering hi´erarchique : single linkage (SL)
Δ(Gi , Gj ) = min
xi ∈Gi ,xj ∈Gj
D(xi , xj )
R´epeter tant que toutes les donn´ees xi ne soient pas contenues
dans un seul cluster, on fusionne les deux groupes les plus proche.
`A chaque instant tous les sous-arbres forment une forˆet (partitition
de X).
S’il existe plus d’une paire de groupes donnant le Δ minimal,
on choisit un ordre (lexicographique). Si on fait une
permutation sur les donn´ees, on n’obtiendra pas le mˆeme
dendrogramme (unicit´e).
Probl`eme (artefact) de chaˆınage dans le clustering final
Complexit´e : na¨ıf O(n3), algorithme SLINK en O(n2)
MaseratiBora
FordPanteraL
Duster360
CamaroZ28
ChryslerImperial
CadillacFleetwood
LincolnContinental
HornetSportabout
PontiacFirebird
Merc450SLC
Merc450SE
Merc450SL
DodgeChallenger
AMCJavelin
Hornet4Drive
Valiant
FerrariDino
HondaCivic
ToyotaCorolla
Fiat128
FiatX1−9
Merc240D
MazdaRX4
MazdaRX4Wag
Merc280
Merc280C
LotusEuropa
Merc230
Datsun710
Volvo142E
ToyotaCorona
Porsche914−2
020406080
Regroupement hierarchique (saut minimum)
hauteur
Le clustering hi´erarchique : Complete Linkage
Complete linkage (CL) : CLINK in O(n2) (1977)
ΔCL(Gi , Gj ) = max
xi ∈Gi ,xj ∈Gj
D(xi , xj ) ,
appel´e aussi diam`etre.
Probl`eme du diam`etre : si un point artefact (outlier) est tr`es
´eloign´e des autres, la distance inter-groupe devient grande (et n’est
pas significative).
MaseratiBora
ChryslerImperial
CadillacFleetwood
LincolnContinental
FordPanteraL
Duster360
CamaroZ28
HornetSportabout
PontiacFirebird
Hornet4Drive
Valiant
Merc450SLC
Merc450SE
Merc450SL
DodgeChallenger
AMCJavelin
HondaCivic
ToyotaCorolla
Fiat128
FiatX1−9
FerrariDino
LotusEuropa
Merc230
Volvo142E
Datsun710
ToyotaCorona
Porsche914−2
Merc240D
MazdaRX4
MazdaRX4Wag
Merc280
Merc280C
0100200300400
Regroupement hierarchique (saut maximum)
hauteur
Le clustering hi´erarchique : Average Linkage
Average Linkage (AL) : O(n2) (1984)
ΔAL(Gi , Gj ) =
1
ni nj
xi ∈Gi xj ∈Gj
D(xi , xj )
La moyenne de toutes les paires de distance !
FerrariDino
HondaCivic
ToyotaCorolla
Fiat128
FiatX1−9
MazdaRX4
MazdaRX4Wag
Merc280
Merc280C
Merc240D
LotusEuropa
Merc230
Volvo142E
Datsun710
ToyotaCorona
Porsche914−2
MaseratiBora
Hornet4Drive
Valiant
Merc450SLC
Merc450SE
Merc450SL
DodgeChallenger
AMCJavelin
ChryslerImperial
CadillacFleetwood
LincolnContinental
FordPanteraL
Duster360
CamaroZ28
HornetSportabout
PontiacFirebird
050100150200250
Regroupement hierarchique (distance moyenne)
hauteur
Crit`ere de fusion de Ward : variance
Variance = somme des distances euclidiennes au carr´e par rapport
au centro¨ıde :
v(X) =
x∈X
x − c(X) 2
, c(X) =
1
|X|
x∈X
x
Distance entre clusters (crit`ere de Ward) pour Gi (ni = |Gi |) et Gj
(nj = |Gj |) :
Δ(Gi , Gj ) = v(Gi ∪ Gj) − (v(Gi ) + v(Gj ))) =
ni nj
ni + nj
c(Gi ) − c(Gj ) 2
Δ({xi }, {xj }) = D(xi , xj ) = xi − xj
2
Quand on fusionne deux groupes, la variance ne peut pas diminuer !
HondaCivic
ToyotaCorolla
Fiat128
FiatX1−9
Merc240D
LotusEuropa
Merc230
Volvo142E
Datsun710
ToyotaCorona
Porsche914−2
FerrariDino
MazdaRX4
MazdaRX4Wag
Merc280
Merc280C
Hornet4Drive
Valiant
Merc450SLC
Merc450SE
Merc450SL
DodgeChallenger
AMCJavelin
MaseratiBora
FordPanteraL
Duster360
CamaroZ28
ChryslerImperial
CadillacFleetwood
LincolnContinental
HornetSportabout
PontiacFirebird
05001000150020002500
Regroupement hierarchique (Ward)
hauteur
FerrariDino
HondaCivic
ToyotaCorolla
Fiat128
FiatX1−9
MazdaRX4
MazdaRX4Wag
Merc280
Merc280C
Merc240D
LotusEuropa
Merc230
Volvo142E
Datsun710
ToyotaCorona
Porsche914−2
MaseratiBora
Hornet4Drive
Valiant
Merc450SLC
Merc450SE
Merc450SL
DodgeChallenger
AMCJavelin
ChryslerImperial
CadillacFleetwood
LincolnContinental
FordPanteraL
Duster360
CamaroZ28
HornetSportabout
PontiacFirebird
050100150200250
Regroupement hierarchique (distance moyenne)
INF442 (voitures)
x
hauteur
HondaCivic
ToyotaCorolla
Fiat128
FiatX1−9
Merc240D
LotusEuropa
Merc230
Volvo142E
Datsun710
ToyotaCorona
Porsche914−2
FerrariDino
MazdaRX4
MazdaRX4Wag
Merc280
Merc280C
Hornet4Drive
Valiant
Merc450SLC
Merc450SE
Merc450SL
DodgeChallenger
AMCJavelin
MaseratiBora
FordPanteraL
Duster360
CamaroZ28
ChryslerImperial
CadillacFleetwood
LincolnContinental
HornetSportabout
PontiacFirebird
05001000150020002500
Regroupement hierarchique (Ward)
INF442 (voitures)
x
hauteur
Average Group Crit`ere de Ward
Le clustering hi´erarchique par division
Version top-down : on part d’un cluster contenant toutes les
donn´ees X et on divise r´ecursivement jusqu’`a temps qu’on
obtienne les n feuilles qui contiennent les donn´ees
individuelles.
Pour casser un cluster en deux, on utilise un algorithme de
clustering par partitionnement pour k = 2 (comme celui des
k-moyennes par exemple)
En g´en´eral, plus coˆuteux qu’un regroupement hi´erarchique
agglom´eratif (bottom-top)
Dendrogramme : obtenir des partitions `a partir du
dendrogramme
Pour k ∈ [n] = {1, ..., n}, on peut obtenir une partition en
k-sous-ensembles de X.
Pas n´ecessaire d’ˆetre `a une hauteur fix´ee.
877511973859339482263114311821864425204048399392158353212893053273817622369162764350599690413634496170685655951424672835998474755458365814598465272379110088129697477166607879577710134280266482
0.00.51.01.52.02.5
Regroupement hierarchique
hauteur
Convertir un clustering hi´erarchique en une partition
On choisit une hauteur pour trouver une partition en k clusters
Meilleure hauteur par Programmation Dynamique. Meilleure
hauteur pour T (X) `a k sous-ensembles :
Fit(T = (L, R), k) = min
k1,k2 k1+k2=k
Fit(L, k1) + Fit(R, k2)
Pour les k-moyennes (clustering plat, NP-dur en g´en´eral) on
obtient une k-partition optimale `a partir d’un clustering
hierarchique (facile `a calculer, SL) sous l’hypoth`ese de
satisfaire un crit`ere de s´eparabilit´e.
Distances : m´etriques et ultram´etriques
Une distance d(·, ·) est :
m´etrique si elle satisfait les axiomes :
d(x, y) ≥ 0 avec ´egalit´e pour x = y seulement
d(x, y) = d(y, x) sym´etrie
d(x, y) ≤ d(x, z) + d(z, y), in´egalit´e triangulaire
ultram´etrique si elle satisfait les axiomes :
d(x, y) ≥ 0 avec ´egalit´e pour x = y seulement
d(x, y) = d(y, x) sym´etrie
d(x, y) ≤ max(d(x, z), d(z, y))
Distance et ´evolution (horloge)
Dans les arbres phylog´en´etiques, la distance entre deux esp`eces
impose des restrictions sur la fonction distance.
Arbre additif (additive tree) : poids sur chaque arˆete tel
que pour chaque paire de feuilles, la distance est la somme
des distances des arˆetes les reliant.
Arbre ultram´etrique : distances entre deux feuilles Gi et Gj et
leur ancˆetre commun Gk sont ´egales : di,k = dj,k.
hk = 1
2 di,j (hauteur) correspond au temps ´ecoul´e
permet de d´efinir une horloge globale sur l’axe vertical
Dendrogrammes et arbres philog´en´etiques
Regroupement hi´erarchique avec l’algorithme UPGMA
UPGMA : Unweighted Pair Group Method using arithmetic
Averages
Clustering hi´erarchique avec la distance de chaˆınage Average
Linkage (AL) :
Δ(Gi , Gj ) =
1
ni nj
xi ∈Gi xj ∈Gj
D(xi , xj ) = Δi,j
UPGMA garantie de produire un arbre ultram´etrique
Regroupement hi´erarchique par UPGMA
Initialise xi a son cluster Ci et positionne ce nœud `a hauteur
t = 0.
Tant qu’il reste plus de deux clusters :
Trouver les clusters Ci et Cj qui ont la distance Δi,j minimale
D´efinir un nouveau cluster Ck = Ci ∪ Cj et calculer la distance
Δk,l pour tout l
Ajouter un nœud k avec les fils Ci et Cj et positionner le `a
hauteur tk = 1
2 Δi,j
Retirer Ci et Cj de la liste des clusters, et continuer jusqu’`a
temps d’avoir deux clusters
Pour les deux derniers clusters Ci , and Cj , placer la racine `a
hauteur 1
2Δ(Ci , Cj )
Regroupement hi´erarchique par UPGMA
Th´eor`eme
Si les donn´ees sur les distances sont ultram´etriques (v´erifiable sur
la matrice des distances), alors il existe un unique arbre
ultram´etrique et l’algorithme UPGMA le construit.
... malheureusement les donn´ees (bruit´ees) ne sont pas
ultram´etriques en g´en´eral !
Dissimilarit´e, similarit´e et inversions
similarit´e entre deux groupes : S(Xi , Xj ) = −Δ(Xi , Xj ). Ainsi
si on a Δ(Gi , Gk) > Δ(Gi , Gj ) alors on a l’ordre inverse
S < S(Gi , Gj )
pour un chemin du dendrogramme d’une feuille `a la racine,
s´equence de fusion monotone ssi. la similarit´e d´ecroit quand
on se rapproche de la racine : S1 ≥ S2 ≥ ... ≥ Sracine.
Autrement dit, la valeur du crit`ere de fusion augmente quand
on va vers la racine.
non-monotone s’il existe au moins une inversion Si < Si+1 sur
un chemin du dendrogramme. Cela veut dire que deux
groupes peuvent ˆetre plus similaire `a l’´etape i + 1 que les deux
groupes fusionn´es `a l’´etape i.
crit`ere de Ward ne garantie pas la monotonie
(inversions). Par contre, Single Linkage, Complete Linkage et
Average Linkage garantissent la monotonie.
Inversion possible pour crit`ere de Ward
x3x2x1
S({x1, x2}, {x3})
x1
x2
x3
S({x1}, {x2})
Les sciences du vivant adorent le regroupement
hi´erarchique !
Gene expression patterns of breast carcinomas distinguish tumor
Rappel : programmer des
structures r´ecursives en
Java
Les arbres : Rappel sur une impl´ementation en Java
class BinaryTree <E>
{
E node ;
BinaryTree left ,right;
BinaryTree (E v)
{left =right=null ; node =v;}
BinaryTree (E v, BinaryTree l, BinaryTree r)
{node =v; left =l;right=r;}
}
...
BinaryTree BT;
BT=new BinaryTree (442, new BinaryTree (421,new
BinaryTree (311,null ,new BinaryTree (321)),new
BinaryTree (431)),new BinaryTree (411)) ;
...
Impl´ementation en Java
class BinaryTree <E>
{
...
String serialize (){ String lefts , rights;
if (left == null ) lefts="nil";
else lefts=left .serialize ();
if ( right== null ) rights="nil";
else rights=right. serialize ();
return "(node ="+node +"("+lefts+","+rights+")";
}
}
...
System.out.println (BT.serialize ());
...
On ne g´ere pas la d´esallocation m´emoire...
C++ : Contenu des m´ethodes `a l’ext´erieur des classes
#i n c l u d e <iostream >
using namespace std ;
c l a s s CEntier
{
p u b l i c : i n t v a l ;
CEntier ( i n t v ) { t h i s −>v a l=v ;}
void ajoute ( i n t v2 ) ;
};
// D´efinition `a l’ext´erieur de class
void CEntier : : ajoute ( i n t v2 ) { v a l+=v2 ;}
i n t main ()
{ CEntier ∗e1=new CEntier (5) ; e1−>ajoute (8) ;
cout<<e1−>val <<endl ;
r e t u r n 0;}
Structures de donn´ees abstraites
D´efini une interface pour acc´eder aux donn´ees.
Peut-ˆetre cod´e du plusieurs mani`eres diff´erentes.
les piles (Last In First Out, LIFO)
les files (First In First Out,FIFO)
les arbres
les graphes
etc.
Par exemple, les piles et files peuvent ˆetre implant´e soit avec des
tableaux soit avec des listes chaˆın´ees.
c l a s s CNoeud{C++ : // la classe nœud
p u b l i c : CNoeud ∗gauche , ∗ d r o i t ;
i n t v a l ;
p u b l i c :
CNoeud( i n t v ) { t h i s −>v a l=v ; gauche=d r o i t=NULL
;}
CNoeud( i n t val , CNoeud∗ Arbre1 , CNoeud∗ Arbre2
)
{ t h i s −>v a l=v a l ; gauche=Arbre1 ; d r o i t=Arbre2 ;}
s t r i n g P r i n t ()
{ char b u f f e r [ 2 0 ] ; s t r i n g s v a l=s t r i n g ( i t o a ( val ,
buffer ,10) ) ;
s t r i n g sgauche , s d r o i t ;
i f ( gauche==NULL) sgauche=” n i l ” ;
e l s e sgauche=gauche−>P r i n t () ;
i f ( d r o i t==NULL) s d r o i t=” n i l ” ;
e l s e s d r o i t=d r oi t −>P r i n t () ;
. . .
CNoeud ∗ Arbre442=new CNoeud (3 , new CNoeud (2) ,
new CNoeud (1 , new CNoeud (4) ,new CNoeud (5) ) ) ;
cout<<Arbre442−>P r i n t ()<<endl ;
(3,(2,nil,nil),(1,(4,nil,nil),(5,nil,nil)))
C++ : r´ecup´eration de la m´emoire
˜CNoeud ()
{
i f ( gauche!=NULL)
d e l e t e gauche ;
i f ( d r o i t !=NULL)
d e l e t e d r o i t ;
cerr <<” d e l e t e ”<<val <<endl ;
}
(3,(2,nil,nil),(1,(4,nil,nil),(5,nil,nil)))
delete 2
delete 4
delete 5
delete 1
delete 3
Diff´erences principales entre C++ et Java
null en Java et NULL en C++
this.variable en Java/C++ (r´ef´erence) et
this->variable en C++ (pointeur)
class INF442{} en Java et class INF442{}; en C++
On peut rajouter le corps des m´ethodes en C++ apr`es sa
d´eclaration dans la classe : void CNoeud::Addition(int v)
ajouter un destructeur dans la classe en C++
array.length en Java mais on doit implanter
array.length() en C++
import en Java et include en C++ (STL) etc.
En C++ dans les classes, mettre explicitement public (sinon
on est private par d´efaut)
R´esum´e A2
HPC : acc´el´eration, loi d’Amdahl et de Gustafson
MPI :
les communications bloquantes, situation de blocage,
communications non-bloquantes, barri`eres de synchronisation
les calculs collaboratifs : r´eduction (somme, reduce &
Allreduce), et les op´erations de pr´efixe parall`ele (scan)
Science des donn´ees : regroupement hi´erarchique vs.
regroupement plat. Arbre ultram´etrique et chaˆınage par saut
moyen
C++ : les classes objets. Lire le memento C++ sur la page
Moodle
Pour la prochaine fois : lire le chapitre 8 et relire le chapitre 2
du polycopi´e
ÁÆ ¾ ÌÖ Ø Ñ ÒØ × ÓÒÒ × Ñ ×× Ú ×
¿ Ä 
Ð ×× 
 Ø ÓÒ ×ÙÔ ÖÚ × Ú 
 Ð × k¹ÔÐÙ× ÔÖÓ
 × ÚÓ × Ò×
Ö Ò Æ Ð× Ò
¾¼½¿
¾¾ ÚÖ Ð ¾¼½
Ä ÔÖÓ Ö ÑÑ ÔÓÙÖ Ù ÓÙÖ ³ Ù
◮ ÕÙ ÐÕÙ × Ö Ú × ÓÒ× ×ÙÖ ÅÈÁ
◮ Ð 
Ð ×× 
 Ø ÓÒ ÔÔÖ ÒØ ×× ×ÙÔ ÖÚ ×
◮ Ð × ÔÓ ÒØ ÙÖ× Ø Ð × Ö Ö Ò
 × Ò ··
ÀÈ ² ÅÈÁ
Ì ÖÑ ÒÓÐÓ Ð × Ñ 
 Ò × Ô Ö ÐÐ Ð × ¸ Ð × ×ÙÔ Ö¹ÓÖ Ò Ø ÙÖ×
◮ ËÙÔ Ö¹
 Ð
ÙÐ Ø ÙÖ Ú 
ØÓÖ Ð ´ Ö Ýµ ØÖ Ú ÐÐ ×ÙÖ × Ú 
Ø ÙÖ×
´A = B + Cµ¸ Ô Ö ÐÐ Ð ×Ñ Ô Ø Ø× Ö Ò× ´ËÁÅ µ ×ÙÖ Ð ×

ÓÓÖ ÓÒÒ × ÓÖ Ô Ö ÐÐ Ð i, Ai = Bi + Ci ´ ÓÖÔ Öµ
◮ ÐÙ×Ø Ö Ñ 
 Ò × ´ ÓÛÙÐ µ Ò× Ñ Ð Ñ 
 Ò ×
ÒØ Ö
ÓÒÒ 
Ø × Ò Ä Æ Ô Ö Ø ÖÒ Ø Ì È»ÁȺ ÈÓÙÖ Ù Ñ ÒØ Ö Ð
Ò Ô ×× ÒØ Ø Ñ ÒÙ Ö Ð Ð Ø Ò
 ¸ Ñ Ø Ö Ð Ö × Ù ÓÔØ Ñ × ´ÅÝÖ Ò Ø¸
ÁÒ Ò Ò ¸ Ø Ø ÖÒ Ø¸ Ø
ºµº È Ö ÐÐ Ð ×Ñ ÖÓ× Ö Ò× ´ÅÈÅ µ
◮ Ö ÐÐ Ñ 
 Ò × Ñ 
 Ò × ÒØ Ö
ÓÒÒ 
Ø × Ú 
 ÙÒ Ð
Ò Ô ×× ÒØ Ø Ö Ò Ð Ø Ò
 º → ÔÔÐ 
 Ø ÓÒ× ×ØÖ Ù × Ú 
Ô Ö ÐÐ Ð ×Ñ Ñ ÖÖ ×× ÒØ ´ Ñ Ö ×× Ò ÐÝ Ô Ö ÐРе 
ÓÑÑ Ë ÌÁ ÓÑ ¸
ÓÐ Ò  ÓÑ Ú 
 Ô Ù 
ÓÑÑÙÒ 
 Ø ÓÒ×
◮ ÅÙÐØ ¹ÔÖÓ
 ×× ÙÖ ×ÝÑ ØÖ ÕÙ ´ËÝÑÑ ØÖ 
 ÅÙÐØ ¹ÈÖÓ
 ××ÓÖ¸
ËÅȵ Ñ ÑÓ Ö Ô ÖØ ¸ Ù× ³ ÒØ Ö
ÓÒÒ Ü ÓÒ ´
ÓÒØ ÒØ ÓÒ׸
Ö Ò Ò Ô ×× ÒØ µ
◮ ÈÖÓ
 ×× ÙÖ ÑÙÐØ ¹
 ÙÖ ´ÑÙÐØ ¹
ÓÖ µ ÔÐÙ× ÙÖ× ÙÒ Ø 
 Ð
ÙÐ
×ÙÖ Ð Ñ Ñ ÔÙ
 Á Å ÈÓÛ Ö Ê ½ ÀÞ Ò ¾¼¼½ ¸ ÈÐ Ý×Ø Ø ÓÒ Ê ¿
Ò ¾¼¼
ÓÑÑ ÒØ Ñ ×ÙÖ Ö Ð Ø ÑÔ× ³ Ü 
ÙØ ÓÒ × ÔÖÓ Ö ÑÑ ×
Pi ÔÖÓ
 ××Ù× ÔÓÙÖ i ∈ {¼, ..., P − ½}
t(Pi ) Ø ÑÔ× ³ Ü 
ÙØ ÓÒ Ù i¹ Ñ ÔÖÓ
 ××Ù׸ Ñ ×Ô Ò ×ØÓÔ
Ø Ñ ¹ ×Ø ÖØ Ø Ñ
ÉÙ Ú ÙعÓÒ Ñ ×ÙÖ Ö 
ÓÑÑ Ø ÑÔ× ³ Ü 
ÙØ ÓÒ ³ÙÒ ÔÖÓ Ö ÑÑ
Ô Ö ÐÐ Ð
◮ Ñ Òi∈{¼,...,P−½} t(Pi ) ´ÔÖÓ
º Ð ÔÐÙ× Ö Ô µ
◮ Ñ Üi∈{¼,...,P−½} t(Pi ) ´ÔÖÓ
º Ð ÔÐÙ× Ð Òص
◮ Ñ Üi∈{¼,...,P−½} t(Pi ) − Ñ Òi∈{¼,...,P−½} t(Pi ) ´Ð³ 
 ÖØ Ø ÑÔ×
ÒØÖ Ð × ÔÖÓ
ºµ
ÙÜ ØÝÔ × Ñ Ø Ó
◮ Å ×ÙÖ ÜØ ÖÒ ÓÒ ÙØ Ð × ÙÒ 
ÓÑÑ Ò ÍÆÁ »× ÐÐ

ÓÑÑ Ø Ñ ¸ Ø Ñ × ´× Ðеº Ö Ñ Ò Ø Ñ × ÔÓÙÖ Ð Ñ ÒÙ Ð
◮ Å ×ÙÖ ÒØ ÖÒ ÓÒ 
Ó Ð³ ÒØ Ö ÙÖ Ù ÔÖÓ Ö ÑÑ Ò
ÙØ Ð × ÒØ ØØ Ñ Ó Ý´µ ´ÍÆÁ µ ÓÙ Ñ ÙÜ Ò
ÓÖ
ÅÈÁ ÏØ Ñ ´µ
Å ×ÙÖ ÜØ ÖÒ Ú 
 Ø Ñ Ø Ø Ñ ×
Ö Ò
 ÅÈÁ ℄° Ø Ñ ÑÔ ÖÙÒ ¹ÒÔ ¾ ¹ Ó×Ø ÓÐÐ Ò ¸ ÐÐ Ñ Ò Ô ÅÓÒØ ÖÐÓ ¾ º Ü
Ô ÔÔÖÓ
 Ô Ö Ð ÔÖÓ
 º ½ Ú 
 ½¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½½¿¼ ·¼¼ ÖÖ ÙÖ º ¾ ¿
¹¼
Ô ÔÔÖÓ
 Ô Ö Ð ÔÖÓ
 º ¼ Ú 
 ½¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½½¿¼ ·¼¼ ÖÖ ÙÖ º ¾ ¿
¹¼


ÙÑÙÐ Ø ÓÒ ℄ Ô ÔÔÖÓ
 Ú 
 ¾¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½½¿¼ ·¼¼
ÖÖ ÙÖ ³ ÔÔÖÓÜ Ñ Ø ÓÒ º ¾ ¿ ¹¼
Ö Ð ¼Ñ½ º½¿¿ ×
Ù× Ö ¼Ñ¼ º¼ ½ ×
×Ý× ¼Ñ¼ º¼¿ ×
Ö Ò
 ÅÈÁ ℄° Ø Ñ × ÑÔ ÖÙÒ ¹ÒÔ ¾ ¹ Ó×Ø ÓÐÐ Ò ¸ ÐÐ Ñ Ò Ô ÅÓÒØ ÖÐÓ ¾ º Ü
¼Ñ¼ º¼ × ¼Ñ¼ º¼¾¼ ×
¼Ñ½ º × ¼Ñ¼ º ¿¾ ×
Ñ Ð ÙÖ Ù× Ñ ÒØ Ô × ØÖ × ÔÖ 
 × ±¼. × 
¸ Ñ × ÙØ Ð ÔÓÙÖ Ð ×
ÔÖÓ Ö ÑÑ × Ð ÒØ׺
Ñ Ò Ø Ñ × Ù Ðع Ò × ÐÐ 
ÓÑÑ Ò
Ä Ô Ö
 Ñ 
 Ò × Ò× Ð × × ÐÐ × Ò ÓÖÑ Ø ÕÙ ×
½ × = ½¿ ¾ 
 ÙÖ׸ ¾º Ì Ñ ÑÓ Ö Ú Ú
◮ ´ ¼Üµ ÈÍ ÁÒØ Ð ÓÖ ¹¾ ¼¼ ÈÍ  ¿º ¼ ÀÞ¸ Å Å ½¾
◮ ´ ܵ ÈÍ ÁÒØ Ð ÓÖ ¹¿ ¼ ÈÍ  ¿º ¼ ÀÞ¸ Å Å ½
◮ ´ ¼Üµ ÈÍ ÁÒØ Ð ÓÒ ¿¹½¾ ¼ ξ  ¿º ¼ ÀÞ¸ Å Å ½ Ó
ü ÚÓ× ÔÖÓ Ø×
Î Ð Ø ÓÒ × ÔÖÓ Ø× Ñ Ò ´¾¿ ÚÖ Ðµ 
ÓÒØ 
Ø Þ
Ñ ÖÓ× ÓРܺÔÓÐÝØ 
 Ò ÕÙ º Ö
Ø Ð Ñ Ø ×ÓÙÑ ×× ÓÒ × ÔÖÓ Ø× Ú ÒØ ×ÓÙØ Ò Ò
 Ð
¾¾ Ñ ¾¼½ ´Ô Ö ÑÓÓ Ð µ
ÓÒÒ ØÖ Ð × ×Ô 
 
 Ø ÓÒ× × Ñ 
 Ò Ò Ì
ÑÓÖ »ÔÖÓ
»
ÔÙ Ò Ó
ÔÖÓ
 ××ÓÖ ¼
Ú Ò ÓÖ ÒÙ Ò ÁÒØ Ð

ÔÙ Ñ ÐÝ
ÑÓ Ð ¼
ÑÓ Ð Ò Ñ ÁÒØ Ð´Êµ ÓҴʵ ÈÍ ¿¹½¾ ½ Ú¿  ¿º ¼ ÀÞ
×Ø ÔÔ Ò ¿

ÔÙ ÅÀÞ ¼¼º¼¼¼

 
 × Þ ½ ¾ Ã
ººº
ÔÖÓ
 ××ÓÖ
ººº
ÓÒÒ ØÖ Ð × ×Ô 
 
 Ø ÓÒ× × Ñ 
 Ò Ò Ì
È Ö Ü ÑÔÐ ¸ ×ÙÖ Ð Ñ 
 Ò Ö Ò
 ¸ Ø Ô Þ Ð×
ÔÙ
Ö
 Ø 
ØÙÖ Ü
ÈÍ ÓÔ ¹ ÑÓ ´×µ ¿¾¹ Ø ¸ ¹ Ø
ÝØ ÇÖ Ö Ä ØØÐ Ò Ò
ÈÍ ´×µ ¿¾
ÇÒ ¹ Ð Ò ÈÍ ´×µ Ð ×Ø ¼¹¿½
Ì Ö ´×µ Ô Ö 
ÓÖ ¾
ÓÖ ´×µ Ô Ö ×Ó
 Ø
ËÓ
 Ø´×µ ¾
ÆÍÅ ÒÓ ´×µ ¾
Î Ò ÓÖ Á ÒÙ Ò ÁÒØ Ð
ÈÍ Ñ ÐÝ
ÅÓ Ð
ËØ ÔÔ Ò
ÈÍ ÅÀÞ ¾ ¿º ¼½
Ó ÓÅÁÈË ½ º ¾
Î ÖØÙ Ð Þ Ø ÓÒ ÎÌ ¹Ü
Ľ 
 
 ¿¾Ã
Ľ 
 
 ¿¾Ã
ľ 
 
 ¾ Ã
Ä¿ 
 
 ¾¼ ¼ Ã
ÆÍÅ ÒÓ ¼ ÈÍ ´×µ ¼¹ ¸½ ¹¾¿
ÆÍÅ ÒÓ ½ ÈÍ ´×µ ¹½ ¸¾ ¹¿½
⇒ ¾ Ð×»
 ÙÖ Ô Ý× ÕÙ ´
 ÙÖ ÐÓ ÕÙ Ú 
 Ð Ø 
 ÒÓÐÓ
ÝÔ ÖØ Ö Ò µº ¿¾ 
 ÙÖ×
ÅÈÁ ÓÑÑÙÒ 
 Ø ÓÒ×»ÓÔ Ö Ø ÓÒ× ÐÓ Ð ×
◮ 
ÓÑÑÙÒ 
 Ø ÓÒ× ÔÓ ÒØ ÔÓ ÒØ ¸ ÐÓÕÙ ÒØ ÓÙ ÒÓÒ¹ ÐÓÕÙ ÒØ
◮ Ù× ÓÒ ´ÙÒ Ú Ö× ØÓÙ×µ Ø Ö Ù
Ø ÓÒ ´ØÓÙ× Ú Ö× ÙÒ
Ù× ÓÒ ÒÚ Ö× µ
◮ Ù× ÓÒ Ô Ö×ÓÒÒ Ð × ¸ ×
 ØØ Ö
◮ Ö ×× Ñ Ð Ñ ÒØ ´Ô Ö×ÓÒÒ Ð × µ¸ Ø Ö
◮ ×ÓÑÑ ÔÖ Ü ´Ö Ù
Ø ÓÒµ¸ Ø ÓÔ Ö Ø ÓÒ× ÔÖ Ü × Ô Ö ÐРР׸
×
 Ò
◮ Ù× ÓÒ ØÓØ Ð ØÓÙ× Ú Ö× ØÓÙ׸ ØÓØ Ð Ü
 Ò
◮ Ù× ÓÒ ØÓØ Ð ØÓÙ× Ú Ö× ØÓÙ× Ô Ö×ÓÒÒ Ð × ¸ Ð 
ÓÑÑ Ö
◮ ÔÐ Ò ³ ÙØÖ × ÑÓ × Ò× ÅÈÁ ÜÔÐÓÖ Ö Ð Ó
ÙÑ ÒØ Ø ÓÒ
³ÇÔ ÒÅÈÁ
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives
INF442: Traitement des données massives

More Related Content

What's hot

Ex slectequilibrio1213
Ex slectequilibrio1213Ex slectequilibrio1213
Ex slectequilibrio1213
Jose Sánchez
 
Building intensional communities on the web - DCW 2000 - Ammar Alammar John P...
Building intensional communities on the web - DCW 2000 - Ammar Alammar John P...Building intensional communities on the web - DCW 2000 - Ammar Alammar John P...
Building intensional communities on the web - DCW 2000 - Ammar Alammar John P...
Ammar Alammar
 
Respuesta canguro 11
Respuesta canguro 11Respuesta canguro 11
Respuesta canguro 11
Luis Enrique
 

What's hot (19)

Magistere nicolas
Magistere nicolasMagistere nicolas
Magistere nicolas
 
Slides dea
Slides deaSlides dea
Slides dea
 
These_17octobre2006
These_17octobre2006These_17octobre2006
These_17octobre2006
 
10.1.1.1.7049
10.1.1.1.704910.1.1.1.7049
10.1.1.1.7049
 
dac-bcm
dac-bcmdac-bcm
dac-bcm
 
Exposicion
ExposicionExposicion
Exposicion
 
S
SS
S
 
Ex slectequilibrio1213
Ex slectequilibrio1213Ex slectequilibrio1213
Ex slectequilibrio1213
 
La función zeta de Riemann Felipe zaldivar
La función zeta de Riemann Felipe zaldivarLa función zeta de Riemann Felipe zaldivar
La función zeta de Riemann Felipe zaldivar
 
[Blackhat2015] FileCry attack against Internet Explorer
[Blackhat2015] FileCry attack against Internet Explorer[Blackhat2015] FileCry attack against Internet Explorer
[Blackhat2015] FileCry attack against Internet Explorer
 
Pfsense
PfsensePfsense
Pfsense
 
Building intensional communities on the web - DCW 2000 - Ammar Alammar John P...
Building intensional communities on the web - DCW 2000 - Ammar Alammar John P...Building intensional communities on the web - DCW 2000 - Ammar Alammar John P...
Building intensional communities on the web - DCW 2000 - Ammar Alammar John P...
 
Chap1 evolutionary algorithms for engineering applications
Chap1 evolutionary algorithms for engineering applicationsChap1 evolutionary algorithms for engineering applications
Chap1 evolutionary algorithms for engineering applications
 
Respuesta canguro 11
Respuesta canguro 11Respuesta canguro 11
Respuesta canguro 11
 
Artículo Cientifico "Clustering of vety low energy particles"
Artículo Cientifico "Clustering of vety low energy particles"Artículo Cientifico "Clustering of vety low energy particles"
Artículo Cientifico "Clustering of vety low energy particles"
 
Goman, Khrabrov, Khramtsovsky (2002) - Chaotic dynamics in a simple aeromecha...
Goman, Khrabrov, Khramtsovsky (2002) - Chaotic dynamics in a simple aeromecha...Goman, Khrabrov, Khramtsovsky (2002) - Chaotic dynamics in a simple aeromecha...
Goman, Khrabrov, Khramtsovsky (2002) - Chaotic dynamics in a simple aeromecha...
 
Computational Information Geometry for Machine Learning
Computational Information Geometry for Machine LearningComputational Information Geometry for Machine Learning
Computational Information Geometry for Machine Learning
 
Ponencia profesor Miguel Urquiola: "Asistir a una mejor escuela. Efectos y re...
Ponencia profesor Miguel Urquiola: "Asistir a una mejor escuela. Efectos y re...Ponencia profesor Miguel Urquiola: "Asistir a una mejor escuela. Efectos y re...
Ponencia profesor Miguel Urquiola: "Asistir a una mejor escuela. Efectos y re...
 
Caso panama 2001
Caso panama 2001Caso panama 2001
Caso panama 2001
 

INF442: Traitement des données massives

  • 1. ÁÆ ¾ ÌÖ Ø Ñ ÒØ × ÓÒÒ × Å ×× Ú × ½ Ä Ö ÖÓÙÔ Ñ ÒØ ÓÒÒ × Ò ÀÈ Ö Ò Æ Ð× Ò Ò Ð× Ò Ð ÜºÔÓÐÝØ Ò ÕÙ º Ö ¾¼½¿ ÚÖ Ð ¾¼½
  • 2. Å ×× ÓÒ ´ ѵÔÓ×× Ð ÆÓÒ¸ Ñ Ñ ×ÙÖ ÐÓ × ¹ µ
  • 3. ÇÖ Ò × Ø ÓÒ Ù ÓÙÖ× ÁÆ ¾
  • 4. Ç Ø × Ù ÓÙÖ× ÁÆ ¾ ÕÙ Ö Ö Ð Ö ×ÓÒÒ Ñ ÒØ Ò ÓÖÑ Ø ÕÙ ÔÓÙÖ Ð ÑÓ Ð Ð ÙÐ Ô Ö ÐÐ Ð ×ÙÖ Ñ ÑÓ Ö ×ØÖ Ù ´ÁÆ ¿½ ÑÙÐØ ¹ Ð× ×ÙÖ Ñ ÑÓ Ö Ô ÖØ µ ÈÖÓ Ö ÑÑ Ö Ò ·· Ò ÙØ Ð × ÒØ Ð³ ÒØ Ö ÅÈÁ ´Å ×× È ×× Ò ÁÒØ Ö µ¸ Ø × × ÖÚ Ö ³ÙÒ ÐÙ×Ø Ö Ñ Ò × ½ Ñ Ò × ÓÖ Ò × × Ò ÐÙ×Ø Ö× Ò× Ð × × ÐÐ × Ò ÓÖÑ Ø ÕÙ × Ë Ñ Ð Ö × Ö Ú Ð ÑÓÒ Ù ÀÈ » Ø ´¿ È ÁÆ Ç¸ Ô Ö ÓÙÖ× ÀÈ ÓÙ Ô Ö ÓÙÖ× Ë Ò × ÓÒÒ ×µ È ÅÓÓ Ð Ù ÓÙÖ× ØØÔ× »»ÑÓÓ Ð ºÔÓÐÝØ Ò ÕÙ º Ö» ÒÖÓл Ò ÜºÔ Ô ¿¾ Ð ÔÓÙÖ Ð³ Ò× Ö ÔØ ÓÒ ÁÆ ¾¹ ¾¼½¿
  • 5. ÁÆ ¾ ÙÒ Ô Ö Ù Ù ÓÒØ ÒÙ × ÓÙÖ×»Ì × ÍÒ ÓÖÑ Ø ÓÒ Ð Ö Ò ÐÓ × Ò ÐÝ× ÓÒÒ × ´ Ú Ð ÀÈ µ Ö Ö ÜÔÐÓÖ ØÓ Ö ´ ÐÙ×Ø Ö Ò µ ÔÔÖ ÒØ ×× ×ÙÔ ÖÚ × ´ Ð ×× Ø ÓÒµ Ð Ö Ð Ò Ö ´Ñ ØÖ ×µ Ö Ô × Ú ÐÙ Ø ÓÒ × Ö ×ÙÐØ Ø× ´× Ò × ÓÒÒ ×µ¸ ÈÖÓ Ö ÑÑ Ö Ò ·· Ú Ð ËØ Ò Ö Ì ÑÔÐ Ø Ä Ö ÖÝ ´ËÌĵ Ø ÓÓ×Ø ´Ñ ØÖ ×» Ö Ô ×µ¸ È Ö ÐÐ Ð × Ø ÓÒ × ÔÖÓ Ö ÑÑ × Ú Ð Å ×× È ×× Ò ÁÒØ Ö ´ÅÈÁµ
  • 6. ÁÆ ¾ Ñ Ò ×ØÖ Ø ÓÒ ÓÒØ Ø Ò Ð× Ò Ð ÜºÔÓÐÝØ Ò ÕÙ º Ö ÔÖ Ü Ù ×Ù Ø × Ñ Ð× ÁÆ ¾ ÖÓÙÐ Ñ ÒØ ÐÓ × ½ ¿¼ ÓÙÖ× ×Ù Ú ¾ Ì × · ØÖ Ú Ð Ô Ö×ÓÒÒ Ð ÓÒØÖ Ð Å Ò ´ Ÿ ¾ µ¸ ÓÒØÖ Ð Ð ×× ÒØ ´ ¸ Ö Ø ¿ µ ÆÓØ Ø ÓÒ Ù ÓÙÖ× ÆÓØ Ð ×× ÒØ ∈ [¼, ¾¼] ´ Ü Ñ Ò Ö Ø¸ Ð ½¼ Ù Ò ¾¼½ µ ÆÓØ Ð Ø Ö Ð ∈ {A, ..., E} ÔÓÙÖ Ð Ú Ð Ø ÓÒ ´ ¸ ¸ µ × Ò× ÈÖÓ Ø ÁÒ ÓÖÑ Ø ÕÙ ´ÈÁµ ¾ + Å ¿ + Ì ¸ Ú Ì ∈ [−½, ½] Ú ÈÁ ¾ +Ñ Ü( Å,ÈÁ) ¿ + Ì
  • 7. Ð Ø ÓÒ × Ð Ù × ¾¼½¿ Ö ÑÔÐ Ö Ð Ù ÓÙÖ× Ð Ù × × ÖÓÙÔ × ÖÓÙÔ ÆÓÑ Ù Ð Ù ½ ¾ ¿ ½¼ ½½ ½¾
  • 8. Ä ÈÖÓ Ø ÁÒ ÓÖÑ Ø ÕÙ ´ÈÁµ Ä ¿ È ÁÆ Ç ´≥ ¿ ÓÙÖ× ÁÆ Ç ¾ µ È ÁÆ Ç Ð ÙØ ÚÓ Ö Ø ÙÒ ÈÖÓ Ø ÁÒ ÓÖÑ Ø ÕÙ Ò ¾ ´ÓÙ ÑÓ Ðµ ŠȹÁÆ Ç ´È Ö ÓÙÖ× ÁÑ ¹Î × ÓÒ¹ ÔÔÖ ÒØ ×× ¸ ÇÔØ Ñ × Ø ÓÒ¸ Ë Ò × ÓÒÒ ×¸ Ð ÙÐ À ÙØ È Ö ÓÖÑ Ò µ ÈÁ Ò ¾ ÁÆ Ç ÓÙ Å È È Å Ì ÁÆ Ç ÈÁ Ô × Ó Ð ØÓ Ö Ñ × Ö ÓÑÑ Ò ÖÓÙÐ Ñ ÒØ × ÈÁ× Ò ÁÆ ¾ ÒÚ ÖÓÒ ¼¼ Ð Ò × Ó ´ÄÇ ×¸ Ð Ò Ó Ó ×¸ ··µ Ò Ò Ñ Ö ÔÔÓÖØ Ô × ×ÓÙØ Ò Ò ´ Ú ÑÓ µ ½ Ñ Òº ´ÔÖ × ÒØ Ø ÓÒµ · ½¼ Ñ Òº ´ÕÙ ×Ø ÓÒ×µ Ê ÔÔ Ð ÓÑÔØ ÙÒ ÕÙ Ñ ÒØ Ò× Ð ÒÓØ Ð ØØ Ö Ð × Ò× Ô Ò Ð × Ö ¾ + Ñ Ü(ÈÅ, ÈÁ) ¿ + Ì Ú Ì ∈ [−½, ½]
  • 9. Ä ÈÁ Ò ÁÆ ¾ Ö ×ÔÓÒ× Ð × ÈÁ× Ð Ù ³ Ñ ÖÓ× Ó Ñ ÖÓ× Ó Ð ÜºÔÓÐÝØ Ò ÕÙ º Ö ¿ Ó Ü ´ÓÖ Ö ÔÖ Ö Ò µ Ö Ù ÔÐÙ× Ø Ö ÔÓÙÖ Ð ¾¼ ÚÖ Ð ¾¼½ ÈÁ Ú Ð ÔÓÙÖ ÓÖ Ù ÔÐÙ× Ø Ö Ð ¾¿ ÚÖ Ð ¾¼½ Ø Ö Ñ × Ù ÔÖÓ Ø ×ÓÙ× ÅÓÓ Ð ≤ ¾¾ Ñ ¾¼½ ËÓÙØ Ò Ò ÈÁ ÒØÖ Ð ½ Ö Ù Ò Ø Ð ½¾ Ù Ò ¾¼½ Ä × ×Ù Ø× Ú Ð ÙÖ× ÙÐØ × ´¶ Ð ¸ ¶¶ ÑÓÝ Ò¸ ¶¶¶ Ð µ ¾¹½ ¶ Ä Ò Ö Ö ÝÓÒ ´ Ñ ×ÝÒØ × µ ˺ Ê ÓÒ ¾¹¾ ¶ È Ê Ò ´Ñ ØÖ ×µ Ⱥĺ ÈÓ Ö ÓÒ ¾¹¿ ¶¶ ËÈ ×× ××Ñ ÒØ ÈÖÓØ Ò ËØÖÙ ØÙÖ ÈÖ Ø ÓÒ º À Ð ÓÙ ² Ⱥ ×× Ò Ø ¾¹ ¶¶ Ö Ô × ² Ö Ö × Ö ÓÙÚÖ ÒØ× ´ÑÓ×Ø Ú Ø Ð µ ˺ ÌÓÙ Ð Ò ¾¹ ¶¶¶ Ø Ø ÙÖ Î ÓÐ ÂÓÒ × ´Ú × ÓÒµ º¹Èº ÓÖ × ¾¹ ¶¶¶ Ê ÔÐ Ñ ÒØ × ÔÖÓØ Ò × ´ ÓÐÓ µ Ⱥ ×× Ò Ø ¾¹ ÈÖÓ Ø Ù Ó Ü¸ ×Ù Ø Ö Ö Ø Ú Ð Ö ¾¹ ÈÖÓ Ø Ù Ó Ü Ò ·· ´× Ò× ÅÈÁµ Ð Ñ ÒØ ÔÓ×× Ð º
  • 10. ÓÒØ ÒÙ × ÓÙÖ× Ð ÓÖ Ø Ñ × Ô Ö ÐÐ Ð × ´//µ Ò ·· ´ Ø µ Ú Ð³ ÒØ Ö ÅÈÁ Ë Ò × Ø Ì ½ »¼ Ö ÖÓÙÔ Ñ ÒØ Ô Ö Ô ÖØ Ø ÓÒ Ð × k¹ÑÓÝ ÒÒ × ¾ ½ »¼ Ö ÖÓÙÔ Ñ ÒØ Ö Ö ÕÙ Ö ÖÓÙÔ Ñ ÒØ Ö Ö ÕÙ ¿ ¾¾»¼ Ð ×× Ø ÓÒ Ø Ø ÙÖ ÔÓÙÖÖ Ð× »¼ Ð Ö Ð Ò Ö Ö Ñ ÒØ À ÐÐ ½¿»¼ ØÖ Ô Ö ÐÐ Ð Ö Ò × Ñ Ò× ÓÒ× Ø ÔÖÓ Ø ÓÒ× ¾¼»¼ ØÓÔÓÐÓ ³ ÒØ Ö ÓÒÒ Ü ÓÒ ÓÒØÖ Ð Ñ Ò ··»ÅÈÁ ¾ »¼ ÓÖÑ Ð ×Ñ Å ÔÊ Ù ÅʹÅÈÁ ÔÓÙÖ Ð ÓÐÓ ¿»¼ Ö Ô × Ø Ø ÓÒ ³ ×ÓÑÓÖÔ ×Ñ × Ü Ñ Ò Ò Ð Ö Ø ¿ ½¼ Ù Ò ¾¼½ ËÓÙØ Ò Ò ÈÁ ÒØÖ Ð ½ Ö Ù Ò Ø Ð ½¾ Ù Ò ¾¼½ º
  • 11. ÈÐ Ò ÁÆ ¾¹ ½ ÇÖ Ò × Ø ÓÒ Ù ÓÙÖ× ÁÆ ¾ Ä ÀÈ Ð ÙÐ Ô Ö ÐÐ Ð ×ÙÖ Ñ ÑÓ Ö ×ØÖ Ù ´ ÖÓ× Ö Ò×µ Ä Ö ÖÓÙÔ Ñ ÒØ ´ ÐÙ×Ø Ö Ò µ Ú Ð × k¹ÑÓÝ ÒÒ × ² ÑÔÐ Ñ ÒØ Ø ÓÒ Â Ú ·· → Ñ Ñ ÒØÓ ·· ×ÙÖ ÑÓÓ Ð ÈÖÓ Ö ÑÑ Ö Ò Ô Ö ÐÐ Ð Ú ÅÈÁ ´×ÓÙ× » ··µ Ä × k¹ÑÓÝ ÒÒ × ×ÙÖ ÙÒ ÐÙ×Ø Ö Ñ Ò × Ð × k ÑÓÝ ÒÒ × Ò Ô Ö ÐÐ Ð
  • 12.
  • 13. Ä ÀÈ Ð ÙÐ À ÙØ È Ö ÓÖÑ Ò À È Ö ÓÖÑ Ò ÓÑÔÙØ Ò
  • 14. ÉÙ³ ×ع ÕÙ Ð Ð ÙÐ À ÙØ È Ö ÓÖÑ Ò ´ÀÈ µ Ë Ò × × ×ÙÔ Ö¹ÓÖ Ò Ø ÙÖ× ´ ØØÔ »»ÛÛÛºØÓÔ ¼¼ºÓÖ »µ ÌÓÔ ½ Æ Ø ÓÒ Ð ËÙÔ Ö ÓÑÔÙØ Ö ÒØ Ö Ù Ò Þ ÓÙ¸ Ò Ì Ò ¹¾ ´Å Ð ÝÏ Ý¹¾µ ¿, ½¾ Å ÐÐ ÓÒ× ÙÖ׸ , È Ø ÓÔ× ´½¼½ ¸ È ÐÓÔ×µ¸ ½ , Å Ï ØØ׸ ½ ÅÏ ½¼¼ e» ∼ ½ Åe» Ò Ö Ò ÀÈ Ú ÐÙ Ð × Ô Ö ÓÖÑ Ò × Ò Å ÐÓÔ׻ϸ ØØÔ »»ÛÛÛº Ö Ò ¼¼ºÓÖ » Ä ÀÈ ÓÑ Ò Ò ÐÙ ÒØ Ô Ö Ñ × ÔÖÓ Ö ÑÑ Ø ÓÒ Ô Ö ÐÐ Ð ¸ Ð Ò × ÔÖÓ Ö ÑÑ Ø ÓÒ¸ ÓÙØ Ð× ÐÓ Ð׸ ×Ý×Ø Ñ × Ò ÓÖÑ Ø Õ٠׸ Ú × × ÓÒ Ö Ò × × ´ Å»Á ËÙÔ Ö ÓÑÔÙØ Ò µ¸ Ø º
  • 15. Ò Ö Ò ¸ ÌÓØ Ð È Ò Ë Á Á ¾º¿ È ÐÓÔ× ´Ô Ø × Ð µ
  • 16. Ù ÓÙÖ ³ Ù Ð Ô Ø × Ð ¸ Ø Ñ Ò Ð³ Ü × Ð ÐÓ ÄÇÈË ½¼¿ Ñ ÄÇÈË ½¼ ÄÇÈË ½¼ Ø Ö ÄÇÈË ½¼½¾ Ô Ø ÄÇÈË ´È ÄÇÈ˸ Ô Ø × Ð µ ½¼½ Ü ÄÇÈË ´ ÄÇÈ˸ Ü × Ð µ ½¼½ Þ ØØ ÄÇÈË ½¼¾½ ÝÓØØ ÄÇÈË ½¼¾ ººº ººº ÓÓ ÓÐ ÄÇÈË ½¼½¼¼ ºººÑ × Ù×× ÔÓÙÖ Ð × ËÙÔ Ö¹ÇÖ Ò Ø ÙÖ× Ð Ñ ÑÓ Ö ´Ó Ø Ø×» ÝØ ×µ¸ Ð Ò Ô ×× ÒØ Ù Ö × Ù¸ Ø º Ä ÙØÙÖ Ü ÐÓÔ× ´½¼½ Ú Ö× ¾¼½ ¹¾¼¾¼µ¸ Þ Ø ÐÓÔ× ´½¼¾½µ Ú Ö× ¾¼¿¼
  • 17. ÈÓÙÖÕÙÓ Ð ÀÈ ØÖ ÔÐÙ× ÐÐ Ö ÔÐÙ× Ú Ø Ø ØÖ ÔÐÙ× ÔÖ × ´→ Ð Ñ Ø Óµ Ê ×ÓÙ Ö ÔÐÙ× ÖÓ× ÔÖÓ Ð Ñ × ´→ × ÑÙÐ Ø ÓÒ¸ → Ø µ ÓÒÓÑ × Ö Ð³ Ò Ö ü Ñ Ñ ÔÙ ×× Ò ÄÇÈË ÙØ Ð × ¸ ÔÐÙ× ÔÖÓ ×× ÙÖ× Ð ÒØ× ÕÙ ÓÒ×ÓÑÑ ÒØ ÑÓ Ò× Ë ÑÔÐ Ö × ØÖ Ø Ñ ÒØ× ÓÒÒ × ÖØ Ò× Ð ÓÖ Ø Ñ × ×ÓÒØ ÒØÖ Ò× ÕÙ Ñ ÒØ Ô Ö ÐÐ Ð × Ú Ó» Ñ ÐØÖ × ÓÖ Ô Ü Ð»ÚÓÜ Ð¸ ÈÍ ² È ÈÍ Ç Ø Ò Ö Ð Ö ×ÙÐØ Ø Ð ÔÐÙ× Ö Ô Ñ ÒØ ÔÓ×× Ð Ò Ò ÐÙ ÒØ Ð Ó Ø Ú ÐÓÔÔ Ñ ÒØ Ð ÓÖ Ø Ñ × Ô Ö ÐÐ Ð × ÔÐÙ× Ð × ÑÔÐ Ñ ÒØ Ö ÕÙ³ÙÒ Ó × ÕÙ ÒØ Ð ÓÔØ Ñ × ÔÐÙ× Ð Ú ÐÓÔÔ Ö ´Ô Ö × Ò Ò ÙÖ×µº ÚÓ Ö Ð ×ÓÐÙØ ÓÒ Ò Ð ÑÔÐ Ñ ÒØ Ö ÙÒ Ð ÓÖ Ø Ñ · Ü ÙØ Ö Ø Ð ÓÖ Ø Ñ º
  • 18. Ä ÀÈ Ò ÕÙ ÐÕÙ × Ñ ×
  • 19. ÐÙ×Ø Ö Ñ Ò × ´ ÐÙ×Ø Ö× Ò × ÐÐ × Ñ Ò ×µ m´emoire locale processeur m´emoire locale processeur m´emoire locale processeur m´emoire locale processeur m´emoire locale processeur m´emoire locale processeur r´eseau d’interconnexion ´echange de messages avec MPI
  • 20. ÌÓÔÓÐÓ × Ö × ÙÜ ³ ÒØ Ö ÓÒÒ Ü ÓÒ Ò× ÙÒ ÐÙ×Ø Ö ÌÓÔÓÐÓ ´Ô Ý× ÕÙ »Ú ÖØÙ ÐÐ µ ÑÔÓÖØ ÒØ ÔÓÙÖ Ð × Ò × Ð ÓÖ Ø Ñ × Ô Ö ÐРР׺ ÓÑÑ ÒØ Ö ÙÒ Ù× ÓÒ ´ ÖÓ ×ص ³ÙÒ Ò Ù ØÓÙ× Ð × Ò Ù ×
  • 21. ÚÓÐÙØ ÓÒ × ÔÖÓ ×× ÙÖ× r´eseau ordinateur (CPU) carte m`ere carte m`ere CPU CPU CPU CPU cœur un seul socketsocket socket socketsocket 4 ordinateurs interconnect´es par un r´eseau une carte m`ere avec 4 processeurs un processeur quad-cœur ordinateur (CPU) ordinateur (CPU) ordinateur (CPU) cœur cœurcœur ÈÓÙÖ Ô ×× Ö Ð³ ÐÐ ¸ Ò× Ð Ð ÙÐ ÙØ Ô Ö ÓÖÑ Ò ¸ Ð ÙØ ÙØ Ð × Ö ÙÒ ÐÙ×Ø Ö Ñ Ò ×
  • 22. ÐÙ×Ø Ö ÑÓ ÖÒ ´ ÐÙ×Ø Öµ r´eseau d’interconnexion (topologie) nœud Central Processing Unit m´emoire nœud CPU CPU CPUCPU m´emoire ordinateur simple ordinateur quad processeurs ordinateur moderne: CPU multicœurs avec plusieurs cartes GPUs node cœur m´emoire GPU GPU C P U Grappe d’ordinateurs (computer cluster) cœur cœur cœur
  • 23. Ö Ø ÓÖ ÕÙ Ð Ö ÒØ Ð ÔÖ Ø ÕÙ Ñ × ÙØ Ð ººº Ì ´ Ó µ ÙÒ ÔÖÓ Ö ÑÑ Ü ÙØ Ö ÕÙ ÓÒÒ Ð Ù ÙÒ ÔÖÓ ××Ù× ÇÖ ÓÒÒ Ò ÙÖ ×Ø ÓÒÒ Ö × Ö ××ÓÙÖ × ÕÙ Ó × Ø Ð³ Ø Ø ÓÒ × Ø × ´ Ó ×µ ÙÜ Ö ××ÓÙÖ × Ù ÐÙ×Ø Ö ´ Ò × ÐÐ × Ò Ó¸ ËÄÍÊŵ Ö Ø ÓÖ ÕÙ ÔÓÙÖ ÓÙÖ× ÐÓÖ×ÕÙ³ÓÒ Ò ÐÝ× ÙÒ Ð ÓÖ Ø Ñ Ô Ö ÐÐ Ð ÙÒ ÔÖÓ ××Ù× P ØÓÙÖÒ ×ÙÖ ×ÓÒ ÔÖÓÔÖ ÔÖÓ ×× ÙÖ ´ÙÒ ÈÍ ÑÓÒÓ¹ ÙÖµ ³ÙÒ Ñ Ò ÕÙ ÓÒ×Ø ØÙ ÙÒ Ò Ù Ù ÐÙ×Ø Öº Ò ÔÖ Ø ÕÙ ÐÙ×Ø Ö Ø ÖÓ Ò Ñ Ò × ´ÑÙÐØ ¹ ÙÖ׸ Ú È͵º ÈÐÙ× ÙÖ× ÔÖÓ ××Ù× Ô ÙÚ ÒØ × Ö ØÖÓÙÚ Ö Ñ ÔÔ × Ô Ö Ð³ÓÖ ÓÒÒ Ò ÙÖ ×ÙÖ Ð Ñ Ñ ÔÖÓ ×× ÙÖ ´ÔÓØ ÒØ ÐÐ Ñ ÒØ ×ÙÖ Ð Ñ Ñ ÙÖµ
  • 24. ÀÈ Ô Ö ÐÐ Ð ×Ñ Ø Ö ÒÙÐ Ö Ø Ö ÒÙÐ Ö Ø ÔÖÓÔÓÖØ ÓÒ × Ð ÙÐ× ´ Ö Ò× Ð ÙÐ× ÐÓ Ùܵ ×ÙÖ Ð × ÓÑÑÙÒ Ø ÓÒ× ´ ÒØ Ö¹ÔÖÓ ××Ù×µº Ö ÕÙ Ò × ÓÑÑÙÒ Ø ÓÒ× ´ÓÙ ×ÝÒ ÖÓÒ × Ø ÓÒµ ÒØÖ Ð × ÔÖÓ ××Ù׺ Ö Ò Ò ´Ô Ø Ø Ö Ò¸ Ò ¹ Ö Ò µ ÔÐ Ò Ô Ø Ø × Ø ×¸ ÓÒÒ × ×ÓÙÚ ÒØ ØÖ Ò× Ö × ÒØÖ Ð × ÔÖÓ ××Ù× ÔÖ × Ô Ø Ø× Ð ÙÐ׺ ÖÓ× Ö Ò ´ Ó Ö× ¹ Ö Ò µ Ð × ÓÒÒ × Ò ×ÓÒØ Ô × Ò × ×ÓÙÚ ÒØ Ø ÔÖ × × ÖÓ× Ð ÙÐ׺ × ÜØÖ Ñ ¸ Ñ ÖÖ × Ò ÐÝ Ô Ö ÐÐ Ð È Ö ÐÐ Ð ×Ñ Ø ÓÒ ÙÖÖ Ò È Ö ÐÐ Ð ×Ñ Ø × Ü ÙØ × Ð Ø Ö Ð Ñ ÒØ Ò Ñ Ñ Ø ÑÔ׸ ÓÒ ÙÖÖ Ò Ù ÑÓ Ò× ÙÜ Ø × ÕÙ ÔÖÓ Ö ×× ÒØ ÓÒ Ó ÒØ Ñ ÒØ Ò× Ð Ø ÑÔ׺ È × Ò ×× Ö Ñ ÒØ Ò Ñ Ñ Ø ÑÔ× ´Ø Ñ ¹×Ð Ò ×ÙÖ ÙÒ Ñ Ñ È͸ ÑÙÐØ ¹Ø ×ÙÖ ÙÒ ÙÖµ
  • 25. ÅÓ Ð × ÔÖÓ Ö ÑÑ Ø ÓÒ Ô Ö ÐÐ Ð × Ò Ù × ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ú ØÓÖ ÐÐ ´ËÁÅ ¸ Ö Ýµ ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ñ ÑÓ Ö ×ØÖ Ù Ò × Ñ ×× × ÜÔÐ Ø × → ÅÈÁ ´ ÁÆ ¾ µ ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ñ ÑÓ Ö Ô ÖØ ÑÙÐØ ¹Ø Ö Ò ´ÇÔ ÒÅȵ ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ý Ö È͸ È ÈÍ ÔÓÙÖ ÖØ Ò× Ð ÙÐ× ´ Í ¸ ÇÔ Ò Ä¸ ÀÅÈȵ ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ñ ÜØ ÕÙ ÔÖÓ ××Ù× ÅÈÁ ÙØ Ð × ÔÐÙ× ÙÖ× Ð×»Ø Ö × ´ÀÈ µ ÅÓ Ð ÔÖÓ Ö ÑÑ Ø ÓÒ Ñ ÜØ Ø Ý Ö ´ÅÈÁ· Ð×· È͸ ÀÈ Ñ ×Ø Ö µ
  • 26. Ä × Ö Ò × ÓÒÒ ×¸ Ä Ø ººº ÌÖ Ø Ñ ÒØ Ñ ×× × ÓÒÒ × ´ÀÈ ¸ ÖÓ× Ö Ò×µ¸ ØÖ Ø Ñ ÒØ × ÓÒÒ × Ñ ×× Ú × ´ÀÈ ¸ Ô Ø Ø× Ö Ò×µº Ø ÙÒ ÙÞÞÛÓÖ ØÖ × Ñ Ø × ¸ Ö Ò ÖÑ Ù ÓÙÔ ØØ ×¸ ´Ð Ö ¹× Ð µ Ä × Î ×ÙÖ Ð × ÓÒÒ × ÎÓÐÙÑ ¸ Î Ö Ø ´ Ø ÖÓ Ò µ¸ Î Ø ×× ´ ÓÒÒ × Ò Ö × Ò Ø ÑÔ× Ö Ð¸ ÔØ ÙÖ×µ¸ Î Ð ÙÖ ´Ô × × ÑÙÐ Ø ÓÒ Ñ × Ð Ú ÐÓÖ × Ø ÓÒµ ÌÓÐ Ö Ò ÙÜ Ô ÒÒ × × ÓÖ Ò Ø ÙÖ× ¸ × Ö × ÙÜ ¸ Ø º ÅÈÁ Þ ÖÓ ØÓÐ Ö Ò Ñ × Ö Ò ×ÓÙÔÐ ×× ÔÖÓ Ö ÑÑ Ø ÓÒ Å ÔÊ Ù ´À ÓÓÔµ Ö Ò ØÓÐ Ö Ò Ñ × ÑÓ Ð Ð ÙÐ ÔÐÙ× Ð Ñ Ø ÇÒ Ô ÙØ Ö Ù Å ÔÊ Ù Ú ÅÈÁ ´ Ò Ì µ
  • 27. ÉÙ ÐÕÙ × Ù×× × × ×ÙÖ Ð × ×Ý×Ø Ñ × ×ØÖ Ù × Ä Ö × Ù ×Ø Ð Ä Ø ÑÔ× Ð Ø Ò ×Ø ÒÙÐ Ä Ò Ô ×× ÒØ ×Ø Ò Ò Ä Ö × Ù ×Ø × Ö Ä ØÓÔÓÐÓ Ù Ö × Ù Ò Ò Ô × ÁÐ Ý ÙÒ Ø ÙÒ × ÙÐ Ñ Ò ×ØÖ Ø ÙÖ Ö × Ù Ä Ó Ø ØÖ Ò×ÔÓÖØ ×Ø ÒÙÐ Ä Ö × Ù ×Ø ÓÑÓ Ò
  • 28. Ä Ö ÖÓÙÔ Ñ ÒØ ´ ÐÙ×Ø Ö Ò µ Ô ÖØ Ø ÓÒÒ Ö Ð × ÓÒÒ × Ò ÖÓÙÔ × ÓÑÓ Ò × Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¾
  • 29. ÐÙ×Ø Ö Ò Ø Ó × ÖÚ Ø ÓÒ× Ù Ð ÌÖÓÙÚ Ö Ð × Ð Ü × Ñ × ³Ó Ø× Ð ×Ø × ´ ÖÓÙÔ ¸ ÐÙ×Ø Öµ ËÐÓ Ò Ø Ð Ë Ý ËÙÖÚ Ý ØØÔ »»ÛÛÛº× ×׺ÓÖ »¸ ¿Å· Ó Ø× Ð ×Ø × Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¾
  • 30. Ò× Ð × Ø׸ ÓÒ ÙÒ ×ÓÙÔ ³ ØØÖ ÙØ× Ô Ö ÓÒÒ ººº  ٠n = ÓÒÒ × ×ÙÖ Ð × Ú Ò׸ d = ½½ ØØÖ ÙØ× ØØÔ× »» Ö Ú º ׺٠º Ù»Ñл Ø × Ø×»Ï Ò ·ÉÙ Ð ØÝ Ü ØÝ ÚÓÐ Ø Ð ØÝ ØÖ Ö × Ù Ð ×Ù Ö ÐÓÖ × Ö ×ÙÐ ÙÖ ÓÜ ØÓØ Ð ×ÙÐ ÙÖ ÓÜ Ò× ØÝ ÔÀ ×ÙÐÔ Ø × Ð Ó ÓÐ ÕÙ Ð ØÝ ¼º¾ ¼º¿ ¾¼º ¼º¼ ½ ¼ ½º¼¼½ ¿ ¼º º º¿ ¼º¿ ¼º¿ ½º ¼º¼ ½ ½¿¾ ¼º ¿º¿ ¼º º ººº ½ ¹ Ü ØÝ ¾ ¹ ÚÓÐ Ø Ð ØÝ ¿ ¹ ØÖ ¹ Ö × Ù Ð ×Ù Ö ¹ ÐÓÖ × ¹ Ö ×ÙÐ ÙÖ ÓÜ ¹ ØÓØ Ð ×ÙÐ ÙÖ ÓÜ ¹ Ò× ØÝ ¹ ÔÀ ½¼ ¹ ×ÙÐÔ Ø × ½½ ¹ Ð Ó ÓÐ ÇÒ Ú ÙØ ÖÓÙÔ Ö Ð × Ú Ò× Ô Ö Ö ×× Ñ Ð Ò × ´Ô Ö ÕÙ Ð Ø ¸ Ñ Ñ ÕÙ Ð Ø Ñ Ñ ÖÓÙÔ µº Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿¼
  • 31. Ê Ö ÜÔÐÓÖ ØÓ Ö Ä Ö ÖÓÙÔ Ñ ÒØ ´ ÐÙ×Ø Ö Ò µ È ÖØ Ø ÓÒÒ Ö Ð × ÓÒÒ × X = {x½, ..., xn}¸ n ÓÒÒ × ¸ ÙÒ ÓÑÔÓÖØ ÒØ d ØØÖ ÙØ× xi = (x (½) i , ..., x (j) i , ..., x (d) i )º È ÖØ Ø ÓÒÒ X Ò k ∈ N ÖÓÙÔ × × Ó ÒØ× ÐÙ×Ø Ö× X = G½ ∪ G¾ ∪ ... ∪ Gk, Gi ∩ Gj = ∅ ∀i = j Ô ÖÑ Ø Ø ÓÖ × Ö Ð × ÓÒÒ × Ò ÓÒÒ ÒØ ÙÒ × Ò× × Ñ ÒØ ÕÙ ÙÜ ÖÓÙÔ × ÓÑÓ Ò × → ³ ×Ø Ð³ ÔÔÖ ÒØ ×× ÒÓÒ¹×ÙÔ ÖÚ × º ÈÓÙÖ ÕÙ ÖÓÙÔ Gi ¸ ÓÒ Ô ÙØ Ò Ö ÙÒ ÒØÖ ci ¸ ÔÔ Ð ÔÖÓØÓØÝÔ ÓÙ Ö ÔÖ × ÒØ ÒØ Ù ÐÙ×Ø Ö ´×ÓÙ×¹ Ð ×× ³ Ð ÓÖ Ø Ñ × ÔÔ Ð ÒØ Ö¹ × ÐÙ×Ø Ö Ò µ ººº Ñ × Ð ÐÙ×Ø Ö Ò »Ö ÖÓÙÔ Ñ ÒØ × ÖØ Ù×× ÙÒ ÕÙ ÒØ Ø ³ ÙØÖ × Ð ÓÖ Ø Ñ ×ººº Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿½
  • 32. È ÖØ Ø ÓÒÒ Ö Ð × ÓÒÒ × Ð ÐÙ×Ø Ö Ò ÈÖÓ Ð Ñ Ú ¿ ØÝÔ × Ö Ò ÙÖ× n Ð ÒÓÑ Ö ÓÒÒ × d Ð Ñ Ò× ÓÒ × ÓÒÒ × X ×Ø Ú ×Ù Ð × ÓÑÑ ÙÒ ÒÙ ÔÓ ÒØ× Ò× Rd ØØÖ ÙØ× ÒÙÑ Ö Õ٠׸ Ø ÓÖ ÐÐ × ÓÙ × Ñ ¹ Ø ÓÖ ÐÐ × k Ð ÒÓÑ Ö ÐÙ×Ø Ö× ´k ≤ n Ú ×ÓÙÚ ÒØ k << nµ ×ÓÙÚ ÒØ Ò ÓÒÒÙ ÔÖ ÓÖ Ò Ö Ð Ñ Òظ ÓÒ n >> d ´n ØÖ × Ö Ò Ú ÒØ dµ Ø k << n ´k ØÖ × Ô Ø Ø Ú ÒØ n¸ Ò Ð Ð µ Ò ÓÒÒÙ¸ Ñ × ÓÒ Ô ÙØ Ù×× ÚÓ Ö d >> n Ø k = Θ(n) ÆÓØ Ø ÓÒ a >> b × a > b Ø a b = ÓÒ×Ø ÒØ ÜÔn >> n¾ >> n >> ÐÓ n n½+ >> n ÐÓ a n ∀ > ¼, a ∈ N Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿¾
  • 33. ÎÓØÖ Ì Ù ÓÙÖ ³ Ù ÌÖÓÙÚ Ö × ×Ô × Ú Ø Ð × ººº ÍÒ´ µ ÓÐÐ Ù ÔÓÙÖ Ñ Ò Ð ×× Ö ÙÒ × Ô ÓØÓ× n ÙÖ× ³ Ö × ´ × ÓÒÒ ×¸ µ Ò ×ÓÙ×¹ Ñ ÐÐ × × Ñ Ð Ð × ÇÒ ÜØÖ Ø ÔÓÙÖ ÕÙ Ô ÓØÓ Pi ÙÒ ØØÖ ÙØ xi ∈ R ´ ØÙÖ ÜØÖ Ø ÓÒµ ´½µ ÐÓÒ Ù ÙÖ × Ô Ð Ò Ñ¸ ´¾µ Ð Ö ÙÖ × Ô Ð Ò Ñ¸ ´¿µ ÐÓÒ Ù ÙÖ Ô Ø Ð Ò Ñ¸ ´ µ Ð Ö ÙÖ Ô Ø Ð Ò Ñ ººº º¿¸¿º ¸½º ¸¼º¾ º¼¸¿º¿¸½º ¸¼º¾ º¼¸¿º¾¸ º ¸½º º ¸¿º¾¸ º ¸½º ¸ ººº Ð ×× Ö ÕÙ Ô ÓØÓ Pi Ò× ÙÒ × ×ÓÙ×¹ Ñ ÐÐ × ´ Ò× ×ÓÒ ÐÙ×Ø Öµ ÓÑ Ò Ñ ÐÐ × ´→ ØÖÓÙÚ Ö kµ Ì ¾ Ö ÐÙ×Ø Ö Ò ×ÙÖ ÔÐÙ× ÙÖ× Ñ Ò × Ò Ô Ö ÐÐ Ð Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿¿
  • 34. ÓÑÑ Ò ÓÒ× Ú Ð × × ÑÔÐ k = ½ ÐÙ×Ø Ö ÓÑÑ ÒØ ØÖÓÙÚ Ö Ð ÒØÖ ´ÔÖÓØÓØÝÔ µ Ù ÐÙ×Ø Ö ÍÒ Ö Ø Ö ×Ø Ñ Ò Ñ × Ö Ð Ú Ö Ò Ù ÐÙ×Ø Ö ´× ×Ô Ö× ÓÒ µ v(X, c½) = n i=½ xi − c½ ¾ Ú p − q ¾ = d j=½(p(j) − q(j))¾¸ Ð ×Ø Ò Ù Ð ÒÒ Ù ÖÖ p − q ¾ = p − q, p − q Ó x, y = d j=½ x(j)y(j) ÔÖÓ Ù Ø × Ð Ö ÇÒ Ú ÙØ Ñ Ò Ñ × Ö Ñ Òc½ v(X, c½) = Ñ Òc½ n i=½ xi − c½ ¾ Å Ò Ñ × Ö v(X, c½) ≡ Ñ Ò Ñ × Ö ½ n v(G½, c½) ´× ÒÓÖÑ Ð × Ø ÓÒµº Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
  • 35. ÒØÖ Ø Ú Ö Ò ³ÙÒ ÐÙ×Ø Ö ÈÓ×ÓÒ× Ð ÔÖÓ Ð Ñ Ñ Ø Ñ Ø ÕÙ Ñ ÒØ Î Ö Ò Ù ÐÙ×Ø Ö Ñ Ò Ñ × v½(X, c) Ñ Òc v½(X, c) = n i=½ xi − c ¾ ÒØÖ Ù ÐÙ×Ø Ö c½ = Ö Ñ Òc v(X, c) = Ö Ñ Òc n i=½ xi − c ¾ , v½(X) = v½(X, c½) Ö Ñ Ò Ö ÒÚÓ Ð³ Ö ÙÑ ÒØ ÕÙ ÓÒÒ Ð Ù Ù Ñ Ò ÑÙѺ Ò × ³ Ð Ø ¸ ÓÒ Ö ÒÚÓ Ð ÔÐÙ× Ô Ø Ø ×Ù Ú ÒØ ÙÒ ÓÖ Ö ÓÒÒ º È Ö Ü ÑÔÐ ¸ ÔÓÙÖ ÙÒ Ø Ð Ù t[¼] = −¿, t[½] = , t[¾] = − , t[¿] = ½¼, t[ ] = − , t[ ] = ½¾º ÓÖ Ö ≤ ×ÙÖ Ð × Ò Ü × ÒØ Ö× Ñ Ò i t[i] = − , Ö Ñ Ò i t[i] = ¾ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
  • 36. Ê ÔÔ Ð ×ÙÖ Ð³ÓÔØ Ñ × Ø ÓÒ ÓÒÚ Ü ÍÒ ÓÒ Ø ÓÒ f ∈ C¾ ×Ø ×ØÖ Ø Ñ ÒØ ÓÒÚ Ü ×× º ÔÓÙÖ x = y¸ ∀α ∈ (¼, ½) f (αx+(½−α)y) < αf (x)+(½−α)f (y) ÕÙ Ú Ð ÒØ f (x) > ¼ ´x ∈ Rµ Ñ Ò ÑÙÑ ÙÒ ÕÙ x∗ ×× ∃!x∗, f (x∗) = ¼ ´Ô ÙØ Ò Ô × Ü ×Ø Ö ÓÑÑ ex µ Ò ÐÝ× ÑÙÐØ Ú Ö Ú Ø ÙÖ Â Ó Ò ∇xf (x) = (∂f (x) ∂xi )i Ø Ñ ØÖ À ×× ÒÒ ∇¾ x f (x) = (∂¾f (x) ∂xi ∂xj )i,j ¼ x y (x, f(x)) (y, f(y)) αx + (1 − α)y f(αx + (1 − α)y) αf(x) + (1 − α)f(y) z = f(x) f(x) f(y) x∗ f(x∗ ) Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
  • 37. ÒØÖ Ñ ×× ¸ ÒØÖ Ö Ú Ø ÓÙ ÒØÖÓ ÅÓÒØÖÓÒ× ÕÙ c½ = ½ n n i=½ xi = ¯x¸ ×Ø Ð ÒØÖ Ñ ×× ÔÔ Ð Ù×× ÒØÖÓ º Ñ Òc½ n i=½ xi − c½, xi − c½ = n i=½ ( xi , xi − ¾ xi , c½ + c½, c½ ) n i=½ xi , xi ×Ø ÙÒ ÓÒ×Ø ÒØ Ø Ñ ØØÓÒ× Þ ÖÓ Ð × Ö Ú × Ô ÖØ ÐÐ × e(c½) = n i=½(−¾ xi , c½ + c½, c½ )º ∇c½e½(c½) = n i=½ (−¾xi + ¾c½) = ¼ ⇒ c½ = ½ n n i=½ xi c½ ×Ø ÙÒ ÕÙ Ö Ð × Ö Ú × Ô ÖØ ÐÐ × × ÓÒ × ∇¾ c½e½(c½) = (¾, ¾, ..., ¾) ×ÓÒØ ×ØÖ Ø Ñ ÒØ ÔÓ× Ø Ú × e(c½) ×Ø ×ØÖ Ø Ñ ÒØ ÓÒÚ Ü º Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
  • 38. ÁÐÐÙ×ØÖ Ø ÓÒ Ô Ø Ø Ø Ö Ò Ú Ö Ò × ´ ×Ô Ö× ÓÒ×µ ³ÙÒ ÐÙ×Ø Ö È Ø Ø Ø Ö Ò Ú Ö Ò ´ ×Ô Ö× ÓÒµ ÙØÓÙÖ Ù ÒØÖ v½(G½) = ½ n n i=½ xi − ½ n n l=½ xl ¾ v½(G½) = ½ n n i=½ xi ¾ − ¯x ¾ , ¯x = ½ n n i=½ xi Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
  • 39. Ä ÐÙ×Ø Ö Ò Ô Ö Ð ÓÒ Ø ÓÒ × ÓÖ × k¹ÑÓÝ ÒÒ × ÇÒ Ö ØÖÓÙÚ Ö Ð × ÖÓÙÔ × Ú Ð × k ÒØÖ × c½, ..., ck ´ÔÖÓØÓØÝÔ ×µ ÕÙ Ñ Ò Ñ × Ð ÓÒ Ø ÓÒ Ó Ø ek(X; c½, ..., ck ) = ek (X; C) = n i=½ Ñ Ò j∈{½,...,k} xi − cj ¾ ³ ×Ø ÕÙ Ú Ð ÒØ ek(X; C) = k j=½ x∈Gj x − cj ¾ Ú Gj = {xi ∈ X : xi − cj ≤ xi − cl , ∀l ∈ {½, ..., k}} Æ Ò × ³ Ð Ø × ×Ø Ò ×¸ ÓÒ Ø ×Ù Ú ÒØ Ð³ÓÖ Ö Ð Ü Ó Ö Ô ÕÙ × ÐÙ×Ø Ö× Ò Ö ×Ô Ø Ö Ð ÔÖÓÔÖ Ø Ô ÖØ Ø ÓÒ º → ÇÒ Ú ÙØ Ñ Ò Ñ × Ö Ð ×ÓÑÑ × Ú Ö Ò × × ÐÙ×Ø Ö× ´×ÓÑÑ × ×Ô Ö× ÓÒ×µº Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹¿
  • 40. ÌÖ Ø Ð Ø Ù ÐÙ×Ø Ö Ò Ô Ö Ð × k¹ÑÓÝ ÒÒ × Ð ÙÐ Ö ÙÒ ÐÙ×Ø Ö Ò ½¹ÑÓÝ ÒÒ Ó Ø O(dn) ´Ø ÑÔ× Ð Ò Ö µ Å Ò Ñ × Ö Ð ÓÒ Ø ÓÒ Ó Ø × k¹ÑÓÝ ÒÒ × ×Ø Æȹ ÙÖ ÕÙ Ò d > ½ Ø k > ½ ÈÓÐÝÒÓÑ Ð Ò Ø ÑÔ× O(n¾k) ÕÙ Ò d = ½ ´½ ØØÖ ÙØ» ÓÒÒ µ Ô Ö ÔÖÓ Ö ÑÑ Ø ÓÒ ÝÒ Ñ ÕÙ → ÇÒ Ú ÓÒ Ö Ö × ÙÖ ×Ø ÕÙ × ÔÓÙÖ Ö ×ÓÙ Ö Ð × k¹ÑÓÝ ÒÒ × ÕÙ Ò k > ½ Ø d > ½º Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¼
  • 41. À ÙÖ ×Ø ÕÙ × ÔÓÙÖ Ð × k¹ÑÓÝ ÒÒ × À ÙÖ ×Ø ÕÙ × ÐÓ Ð × ÓÒ Ö Ð × k ÒØÖ × × ÖÓÙÔ × × Ò× ÓÒ ÙÖ Ø ÓÒ Ò Ø Ð × ÒØÖ × À ÙÖ ×Ø ÕÙ × ÐÓ Ð × ÓÒ Ô ÖØ ³ÙÒ ÓÒ ÙÖ Ø ÓÒ × k ÒØÖ ×¸ Ø ÓÒ Ñ Ð ÓÖ ÐÓ Ð Ñ ÒØ Ð ×ÓÐÙØ ÓÒ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ½
  • 42. À ÙÖ ×Ø ÕÙ Ò Ø Ð × Ø ÓÒ Ð ØÓ Ö Ó × Ö Ð × k Ö Ò × ×Ø Ò Ø × ´× ×µ Ð ØÓ Ö Ñ ÒØ Ò× X ´Ñ Ø Ó Ø ÓÖ Ý¸ ÒØÖ × Ò Ø ÙÜ Ð Ñ ÒØ× Xµ Ó × Ö Ð ØÓ Ö Ñ ÒØ Ò× ÙÒ Ó Ø Ò ÐÓ ÒØ ÕÙ ÓÒØ ÒØ Ð × ÓÒÒ × Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¾
  • 43. À ÙÖ ×Ø ÕÙ ÄÐÓÝ Ð ÓÖ Ø Ñ Ø Ö Ø ü Ô ÖØ Ö ³ÙÒ ÓÒ ÙÖ Ø ÓÒ G½, ..., Gk ´ Ú c½, ..., ck µ¸ ÓÒ Ñ Ð ÓÖ Ø Ö Ø Ú Ñ ÒØ Ð ×ÓÐÙØ ÓÒ Ú × ÙÜ Ø Ô × ÐÐÓ Ø ÓÒ × ÓÒÒ × ÙÜ ÖÓÙÔ ×º ÈÓÙÖ ØÓÙØ xi ∈ X¸ ×Ó Ø li = Ö Ñ Òl xi − cl ¾¸ Ø ÓÖÑÓÒ× Ð × ÖÓÙÔ × Gj = {xi : li = j} Ö Ò Ð Ø nj = |Gj |º Å × ÓÙÖ × ÒØÖ × × ÖÓÙÔ ×º ÈÓÙÖ ØÓÙØ j ∈ [k] = {½, ..., k}¸ Ð ÙÐ Ö Ð ÒØÖ Ñ ×× cj = ½ nj x∈Gj xº Ê Ô Ø Ö × ÙÜ Ø Ô × Ù×ÕÙ³ ÓÒÚ Ö Ò º Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¿
  • 44. ÐÐÓ Ø ÓÒ × ÓÒÒ × ÙÜ ÖÓÙÔ × Ô ÖØ Ø ÓÒ ÎÓÖÓÒÓ c1 c2 c3c4 c5 c6 p|lC(p) = 1 q|lC(q) = 3 Vj = {x ∈ Rd : x − cj ≤ x − cl ∀l ∈ {½, ..., n}}. lC (x) = Ö k Ñ Òj=½ x − cj ¾ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
  • 45. ÓÒÚ Ö Ò Ð³ Ð ÓÖ Ø Ñ Ø Ö Ø ÄÐÓÝ Ì ÓÖ Ñ Ä × k¹ÑÓÝ ÒÒ × ÄÐÓÝ ÓÒÚ Ö ÓÒ ÑÓÒÓØÓÒ Ò ÙÒ ÒÓÑ Ö Ò ³ Ø Ô ×º ËÓ Ø G(Ct) = {G (t) ½ , ..., G (t) k } Ð Ô ÖØ Ø ÓÒ X г Ø Ô t Ó Ø ck(X, Ct)º г Ø Ô t + ½¸ ÔÙ ×ÕÙ³ÓÒ ÐÐÓÙ Ð × ÔÓ ÒØ× ÙÜ ÐÙ×Ø Ö× ÓÒØ Ð × ÒØÖ × ×ÓÒØ Ð × ÔÐÙ× ÔÖÓ ×¸ ÓÒ Ñ Ò Ñ × ÓÒ ck(G(C(t+½) ), Ct) ≤ ck (X, Ct) Ê ÔÔ ÐÓÒ× Õ٠гÓÒ ck (G(C(l)), Cl ) = k j=½ v(G (l) j , cj ) ´×ÓÑÑ × Ú Ö Ò × × ÐÙ×Ø Ö×µº ÄÓÖ× Ð Ö Ñ × ÓÙÖ × ÒØÖ × Ô Ö Ð × ÒØÖÓ × × ÖÓÙÔ ×¸ ÔÓÙÖ ÕÙ ÖÓÙÔ ÓÒ v(G (t+½) j , c(t+½) = c(G (t+½) j )) ≤ v(G (t+½) j , c (t) j )¸ Ø ÓÒ ck(X, Ct+½) ≤ ck(G(C(t+½) ), Ct) ≤ ck(X, Ct) Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
  • 46. ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ Ð × ÔÓ ÒØ× Ò Ø ÙÜ n = ½ ÔÓ ÒØ× ´•µ Ø k = ¾ Ö Ò × ´×µ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
  • 47. ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ Ø Ø ÓÒ × ÔÓ ÒØ× ÙÜ ÒØÖ × ´ Ø Ô ½µ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
  • 48. ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ ÒÓÙÚ ÙÜ ÒØÖ × ÒØÖÓ × × ÖÓÙÔ × ´ Ø Ô ½µ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
  • 49. ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ Ø Ø ÓÒ × ÔÓ ÒØ× ÙÜ ÒØÖ × ´ Ø Ô ¾µ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
  • 50. ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ ÒÓÙÚ ÙÜ ÒØÖ × ÒØÖÓ × × ÖÓÙÔ × ´ Ø Ô ¾µ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¼
  • 51. ij ÙÖ ×Ø ÕÙ ÄÐÓÝ Ò Ø ÓÒ ÓÒÚ Ö Ò Ð × ÔÓ ÒØ× ×ÓÒØ ÐÐÓÙ × ÙÜ Ñ Ñ × ÖÓÙÔ × ´ Ø Ô ¿µ ÕÙ ÐÓÖ× Ð ÔÖ ÒØ Ø Ö Ø ÓÒ Ø Ô ¾ Ø Ô ¿ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ½
  • 52. Ð ÓÖ Ø Ñ ÄÐÓÝ Ð × × ÐÙ×Ø Ö× Ú × ÇÒ Ô ÙØ ÚÓ Ö × ÐÙ×Ø Ö× ÕÙ Ú ÒÒ ÒØ Ú × ´ × Ö Ö × Ò ÔÖ Ø ÕÙ Ñ × Ô ÙØ ÖÖ Ú Ö µº Ò× ×¸ ÓÒ Ô ÙØ Ô ÖØ ÐÐ Ñ ÒØ Ö Ó × Ö ÙÒ ÓÙ × ÒÓÙÚ ÐÐ × Ö Ò ×¸ Ø Ð ×ÓÑÑ × Ú Ö Ò × × ÐÙ×Ø Ö× ÓÒØ ÒÙ Ñ ÒÙ Ö ´Ô ÖØ Ð Ö × Ò µ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¾
  • 53. ÍÒ ÒÓÑ Ö ÜÔÓÒ ÒØ Ð Ñ Ò Ñ ÐÓ ÙÜ Ä ÓÒ Ø ÓÒ Ó Ø × k¹ÑÓÝ ÒÒ × Ô ÙØ ÚÓ Ö ÙÒ ÒÓÑ Ö ÜÔÓÒ ÒØ Ð Ñ Ò Ñ ÐÓ Ùܺ Ñ Ò ÑÙÑ ÐÓ Ð ¼.¿ ´ µ Ø ´ µ Ñ Ò Ñ ÐÓ ÙÜ ∼ ¼. ½ ´ µ Ø ´ µ ÇÒ Ö ÔÐ ÕÙ ×ÓÙ×¹ Ò× Ñ Ð Ò Ô ÕÙ Ø× Ò Ð × ÐÓ Ò ÒØ ØÖ × ÐÓ Ò× Ð × ÙÒ× × ÙØÖ × Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹ ¿
  • 54. Ð ÓÖ Ø Ñ ÄÐÓÝ Å Ö ÜÔ Ö Ñ ÒØ Ð Ñ ÒØ ØÖ × Ò ÑÔÐ Ñ ÒØ Ö ÙÒ Ö Ø Ö ÔÓÙÖ ×ØÓÔÔ Ö Ð × Ø Ö Ø ÓÒ× ÐÓÖ×ÕÙ Ð ÖÓ ×× Ò Ð ÓÒ Ø ÓÒ Ó Ø Ô ×× ×ÓÙ× ÙÒ × Ù Ð ÓÒÒ È Ö Ü ÑÔÐ ¸ ek(X, Ct) − ek (X, Ct+½) ≤ ´ÓÙ × Ù Ð Ö Ð Ø Ò ÔÓÙÖ ÒØ µº ÓÑÔÐ Ü Ø ÄÐÓÝ O(dn) Ò Ñ ÑÓ Ö Ø O(dns) Ó s ÒÓÑ Ö ³ Ø Ö Ø ÓÒ׺ Ò Ø ÓÖ ¸ г ÙÖ ×Ø ÕÙ ÄÐÓÝ Ô ÙØ ÓÙ Ð Ö ÙÒ ÒÓÑ Ö ÜÔÓÒ ÒØ ÐÐ Ñ ÒØ Ó × ´Ð Ò Ö Ò ½ µº ººº Ø ×ÓÙÚ ÒÓÒ× ÒÓÙ× ÕÙ Ñ Ò Ñ × Ö Ð × k¹ÑÓÝ ÒÒ × ×ÓÒØ Æȹ ÙÖ× Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
  • 55. k¹ÑÓÝ ÒÒ × Ð Ó Ü Ù ÒÓÑ Ö ÐÙ×Ø Ö× k ÍÒ ÔÖÓ Ð Ñ ÑÔÓÖØ ÒØ Ø ÖÑ Ò Ö Ð ÒÓÑ Ö ÐÙ×Ø Ö× k ÈÓÙÖ Ò³ ÑÔÓÖØ ÕÙ Ð k¸ ÓÒ Ð ÓÒ Ø ÓÒ k¹ÑÓÝ ÒÒ ÓÔØ Ñ Ð ek (X) ´ Ú ÐÙ Ö ÑÔ Ö ÕÙ Ñ ÒØ Ú Ð³ ÙÖ ×Ø ÕÙ ÄÐÓÝ ×ÙÖ ÔÐÙ× ÙÖ× Ò Ø Ð × Ø ÓÒ×µ ek(X) ÖÓ Ø ÓÒ ÑÓÒÓØÓÒ Ù×ÕÙ³ en(X) = ¼ ´ÙÒ ÔÓ ÒØ Ô Ö ÐÙ×Ø Ö¸ Ú Ö Ò ÒÙÐÐ µ Å Ø Ó Ù ÓÙ ÓÒ ×× Ò Ð ÓÒ Ø ÓÒ (k, ek (X)) Ø ÓÒ Ó × Ø k Ù Ò Ú Ù Ù ÓÙ ´ Ð ÓÛµº k 2 3 4 5 6 7 8 9 10 fonctiondecoˆutdesk-moyennesek(X) avant-brasbras coude Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
  • 56. Ä × Ð Ñ Ø Ø ÓÒ× Ð Ø Ò ÕÙ × k¹ÑÓÝ ÒÒ × È ÖÑ Ø ØÖÓÙÚ Ö × ÐÙ×Ø Ö× ÓÒØ Ð × ÒÚ ÐÓÔÔ × ÓÒÚ Ü × × ÖÓÙÔ × ×ÓÒØ ÙÜ ÙÜ × Ô Ö Ð × ´ÔÖÓÔÖ Ø ÎÓÖÓÒÓ µº È Ö Ü ÑÔÐ ¸ Ò Ô ÖÑ Ø Ô × Ô ÖØ Ø ÓÒÒ Ö ÓÖÖ Ø Ñ ÒØ Ù ÓÒÒ × ´ÈÓÙÖ Ò ÓÖÑ Ø ÓÒ¸ ÔÖÓ Ð Ñ Ö ×ÓÐÙ Ô Ö Ð × k¹ÑÓÝ ÒÒ × ÒÓÝ Ùµ Ö Ò Æ Ð× Ò ¿ºk¹ÑÓÝ ÒÒ × ½¹
  • 57. Î Ö Ø Ø ÖÖ Ò Ë Ò× Ú Ö Ø Ø ÖÖ Ò¸ ÙÒ Ò ÐÝ× ×Ù Ø Ú × ÐÙ×Ø Ö× Ô ÖÑ Ø Ñ ØØÖ Ò Ú Ð ÙÖ Ø ÐÐ ÓÙ Ø ÐÐ Ø Ò ÕÙ ÐÙ×Ø Ö Ò º Å × ÕÙ Ò d > ¿ ÓÑÑ ÒØ Ú ×Ù Ð × Ö ÄÓÖ×Õ٠гÓÒ ×ÔÓ× Ú Ö Ø × Ø ÖÖ Ò× Ô Ö × ÙÜ ÓÒÒ × ÓÒØ ÓÒ ÓÒÒ Ø Ð³ ÔÔ ÖØ Ò Ò ÙÜ ÐÙ×Ø Ö× ´ ³ ×ع ¹ Ö Ð Ð ×× ÔÓÙÖ ÕÙ ÓÒÒ µ¸ ÓÒ Ô ÙØ Ð ÙÐ Ö Ú Ö× Ò Ü × ÕÙ ÑÓÒØÖ ÒØ Ð ÓÒ ÓÖ Ò Ù Ö ×ÙÐØ Ø Ú ÐÙ Ø ÕÙ Ø ´×ÙÔÔÓ× ÓÔØ Ñ Ðµº ÆÓØ Þ Ð ÔÖÓ Ð Ñ Ñ Ð³ Ø ÕÙ ØØ ÔÙ ×ÕÙ Ð × ÐÙ×Ø Ö× Ò ×ÓÒØ Ô × ÓÖ Ñ ÒØ ÒÙÑ ÖÓØ × Ú Ð × Ñ Ñ × ÒÙÑ ÖÓ× k! Ô ÖÑÙØ Ø ÓÒ׺
  • 58. ij Ò Ü Ê Ò × Ñ Ð Ö Ø ÒØÖ ÙÜ ÐÙ×Ø Ö Ò × Å ×ÙÖ × Ñ Ð Ö Ø ÒØÖ ÙÜ ÐÙ×Ø Ö Ò × G = Gi Ø G Gi ´ ×ÓÒ׸ ÐÙ Ó Ø ÒÙ Ô Ö Ð × k¹ÑÓÝ ÒÒ × Ø ÙÒ Ù ÓÒÒ × ÓÖÖ Ø Ñ ÒØ Ø ÕÙ Ø µº ÓÑÔ Ö ØÓÙØ × Ð × n ¾ Ô Ö × (xi , xj ) ÔÓ ÒØ× Ø ÓÑÔØ ÙÜ ÕÙ × ØÖÓÙÚ ÒØ Ò× Ð × Ñ Ñ × ÐÙ×Ø Ö× ´aµ Ø ÙÜ ÕÙ × ØÖÓÙÚ ÒØ Ò× × ÐÙ×Ø Ö× Ö ÒØ× ´bµº R(G, G ) = a + b n ¾ , ¼ ≤ R ≤ ½ a #{(i, j) : l(xi ) = l(xj) ∧ l (xi ) = l (xj )} b #{(i, j) : l(xi ) = l(xj ) ∧ l (xi ) = l (xj )} ÓÒ Ø ÓÒ½ ∧ ÓÒ Ø ÓÒ¾ ÚÖ ×× º ÓÒ Ø ÓÒ ½ Ø ¾ ×ÓÒØ ÚÖ × ÇÒ Ú Ø Ö Ö ÒÙÑ ÖÓØ Ö Ð × k ÖÓÙÔ × ´k! Ô ÖÑÙØ Ø ÓÒ×µº
  • 59. ÈÖÓ Ö ÑÑ Ö Ð × k¹ÑÓÝ ÒÒ × Ò Ô Ö ÐÐ Ð ´½µ ÈÖÓ Ö ÑÑ Ö Ò ·· ´¾µ ÈÖÓ Ö ÑÑ Ö Ú ÅÈÁ
  • 60. Ä Ð Ò ÓÖ ÒØ Ó Ø ´Çǵ ·· Ö Ô Ö ÖÒ ËØÖÓÙ×ØÖÙÔ Ò ½ ¿ ÇÖ ÒØ Ó Ø Ú ØÝÔ ×Ø Ø ÕÙ º ü Ò Ù Ò Â Ú Ø Ö Ú Ó ÓÑÔ Ð Ö Ô ÇÒ Ö ×Ó ¹Ñ Ñ Ð Ñ ÑÓ Ö Ô × Ö Ñ ×× Ñ ØØ ´ Ö ÓÐÐ ØÓÖ¸ µº ØØ ÒØ ÓÒ ÙÜ ÖÖ ÙÖ× ÐÓÖ× Ð³ Ü ÙØ ÓÒ ´×Ý×Ø Ñ Ö × ¸ × Ñ ÒØ Ø ÓÒ ÙÐص Ö Ø Ñ Ø ÕÙ ÔÓ ÒØ ÙÖ× Ô ÖÑ × ´=Â Ú Ô ×× Ô Ö Ú Ð ÙÖ ÓÙ Ô Ö Ö Ö Ò ÔÓÙÖ Ð × Ó Ø×µ ÜØ Ò× ÓÒ× Ö× º º ÔÔ º ÜÜ º ·· º º º ÔÔ º ÜÜ º ·· ÍØ Ð × ·· ´ ÆÍ ÓÑÔ Ð Ö ÓÐÐ Ø ÓÒµ Ð ÓÒ Ø ÓÒ ÆÍ
  • 61. Ä × ÔÓ ÒØ ÙÖ× Ò ·· Ð Ö Ø ÓÒ ÔÓ ÒØ ÙÖ× ÒØ ¶ ÔØÖ ÒØ Ö¸ ¶ÔØÖ½¸ ¶ÔØÖ¾ Ö ¶ ÔØÖ Ö Ø Ö ÓÙ Ð ¶ ÔØÖ Ö Ð ÇÔ Ö Ø ÙÖ Ö Ö Ò ´ Ö ×× µ ² ÒØ Ú Ö ½ ÒØ ¶Ú Ö¾ »» ÔÓ ÒØ ÙÖ ×ÙÖ ÙÒ Ú Ö Ð ØÝÔ ÒØ Ö Ú Ö¾ ²Ú Ö½ »» Ú Ö¾ ÔÓ ÒØ ×ÙÖ Ú Ö½ ÇÔ Ö Ø ÙÖ Ö Ö Ò Ñ ÒØ ¶ »¶ ÔÖ Ò Ð³ ÒØ Ö ÓÒØ ÒÙ Ò× Ð³ Ò ÖÓ Ø Ñ ÑÓ Ö Ö Ö Ò Ô Ö Ú Ö¾ ¶» ÒØ Ú Ö¿ ´¶Ú Ö¾µ
  • 62. ÓÑÔ Ð Ö Ø Ü ÙØ Ö ÙÒ ÔÖÓ Ö ÑÑ Ò ·· Ò ÐÙ Ó×ØÖ Ñ Ù× Ò Ò Ñ ×Ô ×Ø »» ÔÓÙÖ Ð × ÒØÖ ×»ËÓÖØ × ÒØ Ñ Ò ´µ ß ÒØ Ú Ö½ ¾ ÒØ ∗ Ú Ö¾ Ú Ö¾ ²Ú Ö½ »» Ú Ö¾ ÔÓ ÒØ ×ÙÖ Ú Ö½ ÓÙØ Ú Ð ÙÖ Ú Ö¾ Ú Ö¾ Ò Ð ÒØ Ú Ö¿ ´∗Ú Ö¾ µ ÓÙØ Ú Ð ÙÖ Ú Ö¿ Ú Ö¿ Ò Ð Ö ØÙÖÒ ¼ »» Ò × Ò× Ð ÑÓ Ò Ö ÔÖÓ Ð Ñ ¹ µ ÓÒ×ÓÐ ·· ÔÖÓ Ö ÑÑ º ÔÔ ¹Ó ÑÓÒÔÖÓ Ö ÑÑ º Ü ÓÒ×ÓÐ ÑÓÒÔÖÓ Ö ÑÑ º Ü
  • 63. Ä ÓÒ Ø ÓÒ ×Û Ô ×ÙÖ Ð ØÝÔ ÒØ Ö Ò ·· Ê ÔÔ Ð ×ÙÖ Ð Ñ ÑÓ Ö Ô Ð ´ÔÓÙÖ ÑÔ Ð Ö Ð × ÔÔ Ð× ÓÒ Ø ÓÒµ Ø Ø × ´ÔÓÙÖ Ð Ñ ÑÓ Ö ÐÓ Ð Ù ÔÖÓ Ö ÑÑ Ü ÙØ ÔÖÓ ××Ù×µ Ú Ó ×Û Ô ´ Ò Ø ¸ Ò Ø µ ß Ò Ø »» Ô ×× Ô Ö Ö Ö Ò ´ ÓÖ Ñ ÒØ Ò Ø Ð × ×µ Ú Ó ÓÓ ×Û Ô ´ Ò Ø² ¸ Ò Ø² µ ß Ò Ø »» Ö ÙÑ ÒØ× ÔÓ ÒØ ÙÖ× ´Ô ÙØ ØÖ ÆÍÄÄ ÓÙ ¼µ Ú Ó ÓÓ ×Û ÔÔØÖ ´ Ò Ø ∗ ¸ Ò Ø ∗ µ ß Ò Ø ´∗ µ ´∗ µ ´∗ µ ´ ∗ µ Ò Ø ¸ ½¼ ×Û Ô ´ ¸ µ »» Ô ×× Ô Ö Ú Ð ÙÖ Ó Ù Ø Ò Ð »» ½¼ ÓÓ ×Û Ô ´ ¸ µ »»Ô ×× Ô Ö Ö Ö Ò Ó Ù Ø Ò Ð »»½¼
  • 64. Ò ·· Ô ×× Ô Ö Ö Ö Ò × Ø Ô Ö ÔÓ ÒØ ÙÖ× Ò » ··¸ ÓÒ Ô ×× Ð × Ö ÙÑ ÒØ× ÙÜ ÔÖÓ ÙÖ × Ô Ö Ö ÓÔ º Ò Ð Ù Ó × Ø Ö Ñ Ù × Ò Ò Ñ ×Ô × Ø Ú Ó Ò Ö Î Ð Ù Ö ´ Ò Ø Ü µ ß Ü·· »∗ ¸ ³ × Ø ¿ ∗» Ú Ó Ò Ö È Ó Ò Ø Ù Ö ´ Ò Ø ∗ ÔÜ µ ß ´∗ ÔÜ µ·· Ú Ó Ò Ö Ê Ö Ò ´ Ò Ø ² Ü µ ß Ü·· Ò Ø Ñ Ò ´ Ò Ø Ö ¸ Ö ∗ Ö Ú µ ß Ò Ø Ü ¾ Ò Ö Î Ð Ù Ö ´ Ü µ Ó Ù Ø Ü Ü Ò Ð »» ¾ Ò Ö È Ó Ò Ø Ù Ö ´²Ü µ Ó Ù Ø Ü Ü Ò Ð »» ¿ Ò Ö Ê Ö Ò ´ Ü µ Ó Ù Ø Ü Ü Ò Ð »» Ö Ø Ù Ö Ò ¼ È ×× Ô Ö ÔÓ ÒØ ÙÖ Ú Ø Ð Ö ÓÔ × ÖÓ× Ö ÙÑ ÒØ× ´Ó Ø×µ¸ Ø Ô ÖÑ Ø Ô ×× Ö ÆÍÄÄ È ×× Ô Ö Ö Ö Ò Ð × ´ØÓÙ ÓÙÖ× Ò Ø Ð × µ¸ Ô × ³ Ö Ø Ñ Ø ÕÙ ×
  • 65. Ä × Ø Ð ÙÜ Ò ·· Ä × Ò × ÓÑÑ Ò ÒØ ¼ ÓÑÑ ÔÓÙÖ Â Ú º ÒØ ÒÓÑ Ö ÈÖ Ñ Ö× ß ¾¸ ¿¸ ¸ ÒØ Þ ¾ ß »» Ú Ð ÙÖ× Ò Ø Ð × × Þ ÖÓ ÒØ Ñ ØÖ ¿ »» ¿ Ð Ò × ÓÐÓÒÒ × ÚÓ ÔÖÓ ÙÖ ´ ÒØ Ø Ð Ù µ ß ÔÖ ×¸ ÓÒ Ú ÖÖ Ð Ð ×× Ú ØÓÖ Ð ËÌĺºº
  • 66. ÐÐÓ Ø ÓÒ ÝÒ Ñ ÕÙ Ò ·· ÇÒ Ó Ø Ö Ö Ð³ ×Ô Ñ ÑÓ Ö ×Ó ¹Ñ Ñ Ò ··¸ Ø Ð ÙØ ÓÒ Ð Ö Ö Ð Ñ ÑÓ Ö ÕÙ Ò ÓÒ Ò Ð³ÙØ Ð × ÔÐÙ× º ÒØ Ø Ð Ð ¾¼½ ÒØ ∗ Ø Ø Ò Û ÒØ Ø Ð Ð »» ººº ÙØ Ð × Þ Ø Ð Ù ÔÙ × ÄÁ Ê Ê Ð Ð Ø Ø
  • 67. ÐÐÓ Ø ÓÒ × Ø Ð ÙÜ ÑÙÐØ ¹ Ñ Ò× ÓÒÒ Ð× Ò ÐÙ Ó×ØÖ Ñ Ù× Ò Ò Ñ ×Ô ×Ø ÒØ Ñ Ò´ ÒØ Ö ¸ Ö ∗ Ö Ú µ ß ÓÙ Ð ∗∗ Ñ ØÖ ÌÖ Ò ÙÐ Ö ÒØ ¸ ¸ Ñ Ò× ÓÒ ¾¼ Ñ ØÖ ÌÖ Ò ÙÐ Ö Ò Û ÓÙ Ð ∗ Ñ Ò× ÓÒ ÓÖ ´ ¼ Ñ Ò× ÓÒ ··µ Ñ ØÖ ÌÖ Ò ÙÐ Ö Ò Û ÓÙ Ð Ñ Ò× ÓÒ ÓÖ ´ ¼ Ñ Ò× ÓÒ ··µ ÓÖ ´ ¼ ··µ ´ µ Ñ ØÖ ÌÖ Ò ÙÐ Ö ½ Ð× Ñ ØÖ ÌÖ Ò ÙÐ Ö ¼
  • 68. int d=2015; double **T=new double*[d]; for(i=0;i<d;i++) T[i]=new double[d]; T T[0] T[d-1] T[1] T[0][0] T[1][0] T[1][1] T[d − 1][0] T[d − 1][1] T[d − 1][d − 1] pointeur sur un double* (type double**) T[i] pointeur sur un double (type double*)
  • 69. Ä Ö Ö Ð Ñ ÑÓ Ö × Ø Ð ÙÜ ´ÑÙÐØ ¹ Ñ Ò× ÓÒÒ Ð×µ Ò ÐÙ Ó×ØÖ Ñ Ù× Ò Ò Ñ ×Ô ×Ø ÒØ Ñ Ò´ ÒØ Ö ¸ Ö ∗ Ö Ú µ ß ÓÙ Ð ∗∗ Ñ ØÖ ÌÖ Ò ÙÐ Ö ÒØ ¸ ¸ Ñ Ò× ÓÒ ¾¼ º º º ÓÖ ´ ¼ Ñ Ò× ÓÒ ··µß ÓÖ ´ ¼ ··µ ß ÓÙØ Ñ ØÖ ÌÖ Ò ÙÐ Ö ÓÙØ Ò Ð º º º
  • 70. Ç Ø× Ø Ñ Ø Ó × Ò ·· ØØ ÒØ ÓÒ¸ Ð ÙØ Ñ ØØÖ ÙÒ ÔÖ × Ð Ð Ö Ø ÓÒ Ð ×× Ð ×× Ó Ø ß ÔÙ Ð ÓÙ Ð ÓÖ ÞÓÒØ Ð »» Ñ Ò× ÓÒ Ð Ö ÙÖ ÓÙ Ð Ú ÖØ Ð »∗ Ñ Ò × Ó Ò Ù Ø Ù Ö ∗» ÒØ Ñ Ò´ µ ß Ó Ø ½¸ ¾ ÓÙ Ð ×ÙÖ ¼º¼ ½º ÓÖ ÞÓÒØ Ð º¼ ½º Ú ÖØ Ð º¼ ×ÙÖ ½º ÓÖ ÞÓÒØ Ð ∗ ½º Ú ÖØ Ð ÓÙØ ËÙÖ Ð Ó Ø ½ ×ÙÖ Ò Ð Ö ØÙÖÒ ¼
  • 71. Ç Ø× ÓÒ×ØÖÙ Ø ÙÖ´×µ Ø ×ØÖÙ Ø ÙÖ ˜ Ò ·· º º º Ð ×× ÓÒÒ ß ÔÙ Ð ÒØ ÓÙ Ð ∗ ØØÖ ÙØ »» ÓÒ×ØÖÙ Ø ÙÖ× ´ÔÐÙ× ÙÖ× ÔÓ×× Ð ×µ ÓÒÒ ´µß ¿ ØØÖ ÙØ Ò Û ÓÙ Ð ÓÒÒ ´ ÒØ µß ØØÖ ÙØ Ò Û ÓÙ Ð »» ×ØÖÙ Ø ÙÖ ÙÒ × ÙÐ ÓÒÒ ´µ ß Ð Ø ØØÖ ÙØ ÓÙØ ×ØÖÙ Ø ÙÖ ÔÔ Ð Ò Ð ÒØ Ñ Ò´µ ß ÒØ Ñ ¼¼ ÓÒÒ ∗Ü Ò Û ÓÒÒ ´ ѵ Ð Ø Ü Ö ØÙÖÒ ¼
  • 72. Ä Ò Ö Ø Ò ·· Ð × Ø ÑÔÐ Ø × Ø ÑÔÐ Ø Ð ×× Ì ÚÓ ×Û Ô ´ ̲ ¸ ̲ µ ßÌ ´ µ ÆÓØ Þ ÕÙ Ð Ð ×× Ì Ó Ø ÚÓ Ö ÙÒ ÓÒ×ØÖÙ Ø ÙÖ T(Tobject)º ÁÐ Ù Ö ×ÙÖ Ö Ö Ð³ÓÔ Ö Ø ÙÖ =
  • 73. ·· Ä ×ÙÖ Ö ³ÓÔ Ö Ø ÙÖ× ´ÓÚ ÖÐÓ Ò ÓÔ Ö ØÓÖ×µ ÁÐ ×Ø ÔÖ Ø ÕÙ Ö Ò Ö ÖØ Ò× ÓÔ Ö Ø ÙÖ× ´ ÓÑÑ ·¸ »¸ ¸ Ø ºµ Ò Ð × ×ÙÖ Ö ÒØ º È Ö Ü ÑÔÐ ¸ Ö Ò Ö Ð³ Ð Ø ÔÓÙÖ ÙÒ Ó Ø Ò Ö ÓÔ ÒØ ØÓÙ× Ð × ÒÖ ×ØÖ Ñ ÒØ× ´ ÑÔ×µº È ÖØ Ø ÓÒ ²È ÖØ Ø ÓÒ ÓÔ Ö ØÓÖ ´ ÓÒ×Ø È ÖØ Ø ÓÒ ²Ôµ ß Ø ×− Ô º Ø ×− Ô º Ø ×− Ò Ô ºÒ ÓÖ ´ ÒØ ¼ Ø ×− ··µß Ø ×− ÑÙ º ÓÔ ´Ô ºÑÙ µ Ø ×− Ô º Ö ØÙÖÒ ∗ Ø ×
  • 74. Ä Ð ×× Ú ØÓÖ Ð ËÌÄ ËÌÄ ËØ Ò Ö Ì ÑÔÐ Ø Ä Ö ÖÝ ´ ÓÖÑ Ð ×Ñ ÙØ Ñ ÒØ Ò Ö ÕÙ ¸ ÓÒØ Ò Ö¸ Ø Ö ØÓÖ¸ ºººµ ÓÒØ Ò Ö ÕÙ Ô ÖÑ Ø Ö Ö × Ø Ð ÙÜ Ø ÐÐ ÝÒ Ñ ÕÙ × Ñ Òغ Ò ÐÙ Ú ØÓÖ × Þ Ø × Þ ¾ »» Ñ ÖÓÓÑ ÓÖ ¾ ÒØ Ö׸ Ò Ø Ð Þ Þ Ø ÓÒ ØÓ ¼ ×Ø Ú ØÓÖ ÒØ ÖÖ Ý ´ × Þ µ »» ÓÒ Ô ÙØ Ö ÓÙØ Ö ÝÒ Ñ ÕÙ Ñ ÒØ × Ð Ñ ÒØ× ÓÖ ´ ÒØ ¼ ¾∗ × Þ ·· µ ß ÖÖ Ý »» Ô × ×Ó Ò Ð Ø ØØÔ »»ÛÛÛº ÔÐÙ×ÔÐÙ׺ ÓÑ»Ö Ö Ò »Ú ØÓÖ»Ú ØÓÖ» ØØÔ »»ÛÛÛº ÔÐÙ×ÔÐÙ׺ ÓÑ»Ö Ö Ò » ×ØÖ Ò »× Þ Ø»
  • 75. Ä ÑÓØ Ð ÓÒ×Ø Ò× Ð × Ñ Ø Ó × ÓÒ×Ø Ò ÕÙ Õ٠гÓÒ Ò Ô ÙØ Ô × Ò Ö Ð × Ú Ö Ð × Ð³Ó Ø Ø × ÚÓ ÓÓ ´µ ß ÓÙÒØ Ö·· »» Ñ Ö ×Ø ÓÙØ ÓÓ ×Ø Ò Ð ÚÓ ÓÓ ´µ ÓÒ×Ø ß»» Ð Ò ÓÑÔ Ð Ö Ô × Ö ÓÒ Ú ÙØ Ò Ö ÓÙÒØ Ö ÓÙÒØ Ö·· ×Ø ÓÙØ ÓÓ ÓÒ×Ø ×Ø Ò Ð
  • 76. ÁÒØÖÓ Ù Ø ÓÒ ÅÈÁ Å ×× È ×× Ò ÁÒØ Ö
  • 77. Å ×× È ×× Ò ÁÒØ Ö ´ÅÈÁµ Ä × ÔÖÓ ××Ù× ÓÑÑÙÒ ÕÙ ÒØ ÒØÖ ÙÜ Ö × Ñ ×× × ´ ÓÒØ Ò ÒØ Ð × ÓÒÒ ×µ ÔÔÐ Ø ÓÒ ÈÖÓ Ö ÑÑ Ò ÁÒØ Ö ´ ÈÁµ Ò Ø Ð ×ÝÒØ Ü ´ Ø × Ñ ÒØ ÕÙ µ ³ÙÒ Ð ÓØ ÕÙ ÖÓÙØ Ò × ×Ø Ò Ö × × ÔÓÙÖ Ö Ö × ÔÖÓ Ö ÑÑ × ÙØ Ð × ÒØ × Ò × Ñ ×× ×º Æ Ô Ò Ô × Ù Ð Ò ×ÓÙ×¹ ÒØ ÓÑÑ Ð ¸ ··¸ Â Ú ¸ ÓÖØÖ Ò¸ ÈÝØ ÓÒ¸ Ø º ´ÔÐÙ× ÙÖ× Ò Ò × Ð³ ÈÁ ×ÓÒØ ×ÔÓÒ Ð ×µ ÒÚ ÖÓÒÒ Ñ ÒØ Ô Ö ÐÐ Ð Ñ ÑÓ Ö ×ØÖ Ù ½ ½ ´ÛÓÖ × ÓÔµ¸ ÅÈÁ¹Á ´½ ¾µ¸ ÅÈÁ¹¾¸ ÅÈÁ¹¿ ´¾¼¼ µ ÈÐÙ× ÙÖ× ÑÔÐ Ñ ÒØ Ø ÓÒ× ×ÔÓÒ Ð × ÅÈÁ ÇÒ ÙØ Ð × ÇÔ ÒÅÈÁ ´ ØØÔ »»ÛÛÛºÓÔ Ò¹ÑÔ ºÓÖ »µ Ò × ÐÐ × Ñ Ò × Ú ··º
  • 78. ÈÖÓ Ö ÑÑ ÅÈÁ ´ Ò Ò Ò µ ÕÙ ×Ù × º ÔÔ Ò ÐÙ ÑÔ º ÒØ Ñ Ò´ ÒØ Ö ¸ Ö∗∗ Ö Ú µ ß ÒØ ¸ Ô ¸ Ò Ñ Ð Ò Ö ÔÖÓ ××ÓÖ Ò Ñ ÅÈÁ Å ÈÊÇ ËËÇÊ Æ Å ÅÈÁ ÁÒ Ø´ ² Ö ¸ ² Ö Ú µ »» Ò Ø Ð × ÅÈÁ ÅÈÁ ÓÑÑ × Þ ´ÅÈÁ ÇÅÅ ÏÇÊÄ ¸²Ôµ »» ÒÓÑ Ö ÔÖÓ ××Ù× ÅÈÁ ÓÑÑ Ö Ò ´ÅÈÁ ÇÅÅ ÏÇÊÄ ¸² µ »» Ö Ò Ù ÔÖÓ ××Ù× ÅÈÁ Ø ÔÖÓ ××ÓÖ Ò Ñ ´ÔÖÓ ××ÓÖ Ò Ñ ¸ ²Ò Ñ Ð Òµ »» ÒÓÑ Ù ÔÖÓ ×× ÙÖ Ô Ö Ò Ø ´ ÈÖÓ ×× ÙÖ ±× Á ± Ò ¸ ÔÖÓ ××ÓÖ Ò Ñ ¸ µ ÅÈÁ Ò Ð Þ ´ µ »» ÓÒ Ø ÖÑ Ò ÅÈÁ Ö ØÙÖÒ ¼
  • 79. ÓÑÔ Ð Ö Ø Ü ÙØ Ö ×ÓÒ ÔÖÓ Ö ÑÑ ÅÈÁ Ä ÓÑÔ Ð Ø ÓÒ × Ø Ô Ö ÑÔ ·· ÕÙ ×Ù × º ÔÔ ¹Ó ÕÙ ×Ù × ´× гÓÔØ ÓÒ ¹Ó Ò³ ×Ø Ô × Ñ × ¸ Ö Ø Ò× ÙÒ Ö ºÓÙص Ü ÙØ ÓÒ ×ÙÖ × Ñ Ò ÐÓ Ð Ñ ÒØ ´ ÓÐÐ Ò µ ÓÐÐ Ò ÅÈÁ ° ÑÔ ÖÙÒ ¹ÒÔ ÕÙ ×Ù × ÈÖÓ ×× ÙÖ ÓÐÐ Ò ºÔÓÐÝØ Ò ÕÙ º Ö Á ¿ ÈÖÓ ×× ÙÖ ÓÐÐ Ò ºÔÓÐÝØ Ò ÕÙ º Ö Á ¼ ÈÖÓ ×× ÙÖ ÓÐÐ Ò ºÔÓÐÝØ Ò ÕÙ º Ö Á ½ ÈÖÓ ×× ÙÖ ÓÐÐ Ò ºÔÓÐÝØ Ò ÕÙ º Ö Á ¾
  • 80. Ü ÙØ Ö ×ÙÖ ÔÐÙ× ÙÖ× Ñ Ò × Ö Ò ½ ° ÑÔ ÖÙÒ ¹ÒÔ ¹ Ó×Ø Ò Ð Ø ÖÖ ¸ ÙØÖ ÕÙ ×Ù × ÈÖÓ ×× ÙÖ ÙØÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á ½ ÈÖÓ ×× ÙÖ ÙØÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á ¿ ÈÖÓ ×× ÙÖ Ò Ð Ø ÖÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á ¾ ÈÖÓ ×× ÙÖ Ò Ð Ø ÖÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á ¼ ÈÖÓ ×× ÙÖ Ò Ð Ø ÖÖ ºÔÓÐÝØ Ò ÕÙ º Ö Á ⇒ ÑÔ ÖÙÒ ×Ø ÙÒ Ð × ÔÓÙÖ ÓÖØ ÖÙÒ ½ Ñ Ò × Ò× Ð × × ÐР׸ ÓÖ Ò × × Ò ÐÙ×Ø Ö× Ñ Ò × ´¿ × ¼ + ½ µ
  • 81. ÍØ Ð × Ö Ð³ÓÖ ÓÒÒ Ò ÙÖ ËÄÍÊÅ ×ÙÖ Ð × ÐÙ×Ø Ö× ¿ ÐÙ×Ø Ö× ¼ Ò Ù × Ø ÙÒ ÐÙ×Ø Ö ½ Ò Ù × × Ò Ó ÚÓ Ö × Ò ÓÖÑ Ø ÓÒ× ×ÙÖ Ð ÐÙ×Ø Ö Ð ÕÙ ÐÐ ÚÓØÖ Ñ Ò ÔÔ ÖØ ÒØ Ö Ò ¾ ½ ° × Ò Ó È ÊÌÁÌÁÇÆ Î ÁÄ ÌÁÅ ÄÁÅÁÌ ÆÇ Ë ËÌ Ì ÆÇ ÄÁËÌ Ù ¶ ÙÔ ½ ¼¼ ½ Ð ÐÐ Ñ Ò ¸ Ò Ð Ø ÖÖ ¸ ÙØÖ ¸ Ð ÕÙ ¸ ×Ô Ò ¸ ÒÐ Ò ¸ Ö Ò ¸ ÖÓ ÒÐ Ò ¸ ÓÐÐ Ò ¸ ÓÒ Ö ¸ ÖÐ Ò ¸ ×Ð Ò ¸Ð ØÙ Ò ¸Ñ ÐØ ¸ÑÓÒ Ó ¸ÔÓÐÓ Ò ¸ÔÓÖØÙ Ð ¸ÖÓÙÑ Ò ¸ ×Ù
  • 82. ÍØ Ð × Ö Ð³ÓÖ ÓÒÒ Ò ÙÖ ËÄÍÊÅ ×ÙÖ Ð × ÐÙ×Ø Ö× ¹ × ¹ º½° ×× ××ÓÒÒ Ä ×Ø ÐÓ Ò Ö Å Ö ¾¼ ½ ¾ ¾¼½ ÖÓÑ Ð Òº ÔÓÐÝØ Ò ÕÙ º Ö ××ÓÒÒ ½ ° × Ò Ó È ÊÌÁÌÁÇÆ Î ÁÄ ÌÁÅ ÄÁÅÁÌ ÆÇ Ë ËÌ Ì ÆÇ ÄÁËÌ Ëƾ ¶ ÙÔ ½ ¼¼ ¼ Ð Ð ØØ ¸ Ò ¸ ÐÐ Ö ¸ Ò Ó × ¸ Ò Ù ÐÐ ¸ Ö ÒÒ × ¸ Ö Ù ¸ Ö Ù ¸ Ù ÖÓ ¸ ÖÓ Ø ¸ ÖÑÓÖ ¸ ÖÖ Ð Ø ¸ Ö ÒØ ¸ Ö ¸ Ö Ù× ¸ ÓÖ Ó Ò ¸ ÓÙ × ¸ ××ÓÒÒ ¸ Ò ×Ø Ö ¸ Ö ÓÒ ¸ ÖÓÒ ¸ ÝÑÒÓØ ¸ Ò Ö ¸ ÙÖ ¸Ð Ö ¸Ð Ò × ¸Ð Ù ¸ ÐÓ Ö ¸ÐÓØØ ¸Ñ Ò ¸Ñ ÖÒ ¸Ñ Ý ÒÒ ¸ÑÓÖ Ò ¸ÑÓ× ÐÐ ¸ÑÙÐ Ø ¸ÑÙÖ Ò ¸Ô Ö Ò ¸Ö ¸Ö ÕÙ Ò ¸ÖÓÙ Ø ¸ ÖÓÙ×× ØØ ¸× ÓÒ ¸× ÙÑÓÒ ¸× ÐÙÖ ¸×ÓÐ ¸×ÓÑÑ ¸Ø ÓÒ ¸ ØÖÙ Ø ¸Ú Ò ¸ÚÓ× ×
  • 83. ××ÓÒÒ ½ ° × ÐÐÓ ¹¹ÒØ × × ¿¾ ¹¹ÒØ × × ¹Ô Ö ¹ÒÓ × × ÐÐÓ Ö ÒØ Ó ÐÐÓ Ø ÓÒ ××ÓÒÒ ½ ° × Ø Ö Ô ËÄÍÊÅ ËÄÍÊÅ ÂÇ Á ËÄÍÊÅ ÂÇ ÈÍË È Ê ÆÇ ³ ´Ü µ³ ËÄÍÊÅ ÂÇ Á ËÄÍÊÅ ÂÇ ÆÇ ÄÁËÌ Ò ¸ ÐÐ Ö ¸ Ö ÒÒ × ¸ ÖÑÓÖ ËÄÍÊÅ ÂÇ ÆÍÅ ÆÇ Ë ËÄÍÊÅ ÂÇ È ÊÌÁÌÁÇÆ Ëƾ ËÄÍÊÅ ÆÆÇ Ë ËÄÍÊÅ ÆÇ ÄÁËÌ Ò ¸ ÐÐ Ö ¸ Ö ÒÒ × ¸ ÖÑÓÖ ËÄÍÊÅ ÆÇ ÄÁ Ë Ë ³´ÒÙÐе³ ËÄÍÊÅ ÆÈÊÇ Ë ¿¾ ËÄÍÊÅ ÆÌ ËÃË ¿¾ ËÄÍÊÅ ÆÌ ËÃË È Ê ÆÇ ËÄÍÊÅ ËÍ ÅÁÌ ÁÊ »Ù× Ö×»ÔÖÓ ×» Ò Ó»Ò Ð× Ò» ½ ËÄÍÊÅ ËÍ ÅÁÌ ÀÇËÌ ××ÓÒÒ ºÔÓÐÝØ Ò ÕÙ º Ö ËÄÍÊÅ Ì ËÃË È Ê ÆÇ ³ ´Ü µ³
  • 84. ××ÓÒÒ ½ ° ÑÔ ÖÙÒ ÕÙ ×Ù × ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ½ ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾ ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾ ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½½ ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¿¼ ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½ ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½ ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ¿ ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½¼ ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½¾ ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ½ ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ½ ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ½ ÈÖÓ ×× ÙÖ Ò º ÔÓÐÝØ Ò ÕÙ º Ö Á ¼ ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ½ ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¿½ ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾¼ ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾ ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾½ ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾¾ ÈÖÓ ×× ÙÖ Ö ÒÒ × º ÔÓÐÝØ Ò ÕÙ º Ö Á ¾¿ ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾ ÈÖÓ ×× ÙÖ ÐÐ Öº ÔÓÐÝØ Ò ÕÙ º Ö Á ½¿ ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾ ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾ ÈÖÓ ×× ÙÖ ÖÑÓÖº ÔÓÐÝØ Ò ÕÙ º Ö Á ¾
  • 85. Æ Ô × ÓÙ Ð Ö ÖÑ Ö Ð × ÔÓÙÖ Ö Ò Ö Ð × Ö ××ÓÙÖ × ËÄÍÊÅ ××ÓÒÒ ½ ° Ü Ø Ü Ø × ÐÐÓ Ê Ð ÒÕÙ × Ò Ó ÐÐÓ Ø ÓÒ
  • 86. ÅÈÁ ÓÑÑÙÒ Ø ÓÒ× ÐÓ Ð × Ø Ð ÙÐ× ÓÐÐ ÓÖ Ø × Ä Ù× ÓÒ º ÖÓ ×Ø´Ñ× ¸P¼µ ÔÖÓ ××Ù× P¼ ÒÚÓ ØÓÙ× Ð × ÙØÖ × ÔÖÓ ××Ù× Ð Ñ ×× Ñ× º ÍÒ Ð ÙÐ ÐÓ Ð ÓÐÐ ÓÖ Ø ´ Ú ÓÑÑÙÒ Ø ÓÒ×µ Ô Ö Ö Ù Ø ÓÒ º ÐÐÊ Ù ´ÚÐÓ Ð¸Ú ÐÓ Ð¸ÓÔ Ö Ø ÓÒµ Ð × ÔÖÓ ××Ù× Ö ÒØ Ð × ÓÒÒ × ÐÓ Ð × Ú ÙÒ ÓÔ Ö Ø ÓÒ ´ ÓÙ Ñ Ü Ô Ö Ü ÑÔÐ µ¸ Ø Ð Ö ×ÙÐØ Ø ×Ø Ö ØÓÙÖÒ ØÓÙ× Ð × ÔÖÓ ××Ù× Ú ÐÓ Ð = p ÚÐÓ Ð[p]
  • 87. Ð ÙÐ ÐÓ Ð ÓÐÐ ÓÖ Ø ÓÑÔÐ Ü Ø ³ÙÒ Ð ÙÐ ÐÓ Ð ÓÐÐ ÓÖ Ø Ô Ò Ð ØÓÔÓÐÓ Ù Ö × Ù ³ ÒØ Ö ÓÒÒ Ü ÓÒ Ù ÐÙ×Ø Ö Ñ Ò ×º ËÓÙÚ Òظ Ð Ö Ú ÒØ ÙÒ Ö Ö Ö Ù Ø ÓÒ Ú Ó Ø ÐÓ Ö Ø Ñ ÕÙ (+ ½ ¾ ¿ ) = (+ (+ ½ ¾) (+ ¿ )) = (+ ¿ ) = (½¼) 1 2 43 73 10 + + + ( )+ +( ) ×ÝÒØ Ü ³ ÔÔ Ð ÐÐÊ Ù ´×ÓÙÖ ¸ ×Ø Ò Ø ÓÒ¸ÓÔ Ö Ø ÓÒµ
  • 88. Ð ÙÐ π Ô Ö ÙÒ Ñ Ø Ó ÅÓÒØ ¹ ÖÐÓ π ≈ nc n , πn = nc n Ð Ñn→∞ πn = π.
  • 89. Ð ÙÐ π Ô Ö ÙÒ Ñ Ø Ó ÅÓÒØ ¹ ÖÐÓ Ò Ø Ö Ù Ö ¼ »» Ò Ö Ø ÙÖ Ð ØÓ Ö Ö ÒØ × ÒÓÒ Ð × ÔÖÓ º Ð × Ñ Ñ × × Ö Ò ´ ÑÓ µ Ó Ö ´ ¼ Ò ··µ ß Ü ´ Ó Ù Ð µ Ö Ò ´ µ »Ê Æ Å Ý ´ Ó Ù Ð µ Ö Ò ´ µ »Ê Æ Å »» ÓÑÔØ Ð × ÔÓ ÒØ× ÕÙ ØÓÑ ÒØ Ò× Ð ÕÙ Ö ÒØ Ù ×ÕÙ ´ Ü ∗Ü·Ý ∗Ý ½º¼µ Ò Ø Ö Ù Ö ·· Ô Ô Ö Ó Ü Ô º ¼ ∗ Ò Ø Ö Ù Ö »´ Ó Ù Ð µ ´ Ò µ Ô Ö Ò Ø ´ Ô Ô Ô Ö Ó Ô Ö Ð Ô Ö Ó º ± Ú ± Ô Ó Ò Ø × ± Ö Ö Ù Ö ± Ò ¸ ÑÓ ¸ Ò ¸ Ô Ô Ö Ó Ü Ô ¸ × ´ Ô Ô Ö Ó Ü Ô −Å ÈÁµ µ »» Å ÒØ Ò ÒØ ÓÒ ÙÑÙÐ ØÓÙ× Ð × Ö ×ÙÐØ Ø× Ú ÙÒ Ö Ù Ø ÓÒ ÅÈÁ Ê Ù ´² Ò Ø Ö Ù Ö ¸² Ø Ó Ø Ð Á Ò Ø Ö Ù Ö ¸ ½ ¸ ÅÈÁ ÁÆÌ ¸ ÅÈÁ ËÍŸ ¼ ¸ ÅÈÁ ÇÅÅ ÏÇÊÄ µ ´ ÑÓ ¼µß Ô Ô Ö Ó Ü Ô º ¼ ∗ Ø Ó Ø Ð Á Ò Ø Ö Ù Ö »´ Ó Ù Ð µ ´ Ò Ô Ö Ó × ∗Ò µ Ô Ö Ò Ø ´ Ù Ñ Ù Ð Ø Ó Ò Ô Ô Ô Ö Ó Ú ± Ô Ó Ò Ø × ± Ò ¸ Ò∗ Ò Ô Ö Ó × ¸ Ô Ô Ö Ó Ü Ô µ Ô Ö Ò Ø ´ Ö Ö Ù Ö ³ Ô Ô Ö Ó Ü Ñ Ø Ó Ò ± Ò ¸ × ´ Ô Ô Ö Ó Ü Ô −Å ÈÁµ µ
  • 90. ÑÔ ÖÙÒ ¹ÒÔ ½¾ ¹ Ó×Ø Ø ÓÒ ¸ ÙÖ ¸ × Ñ Ô ÅÓÒØ ÖÐÓ ¾ º Ü Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ¾ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¿ ·¼¼ ÖÖ ÙÖ ½º¼¼½ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ¾½ ¾ ·¼¼ ÖÖ ÙÖ º ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ½½ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¿¾ ·¼¼ ÖÖ ÙÖ ½º¿ ½¼ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼ ÖÖ ÙÖ ½º¾¿ ¿¿ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¿ ·¼¼ ÖÖ ÙÖ º ¿¿ ¼ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ¿ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¿ ·¼¼ ÖÖ ÙÖ ½º ¼ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ½ ·¼¼ ÖÖ ÙÖ ¾º¿ ¾ ½ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ¼ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼ ÖÖ ÙÖ ½º¼ ¾ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ½¼ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ½ ·¼¼ ÖÖ ÙÖ º ¿ ½ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ½ Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼ ÖÖ ÙÖ ½º¼ ¾ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ¾ ·¼¼ ÖÖ ÙÖ ½º ¼ ¿ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º Ú ½¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼ ÖÖ ÙÖ º¼ ¿ ¼ ¹¼ ÙÑÙÐ Ø ÓÒ Ô ÔÔÖÓ Ú ½¾¼¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½ ·¼¼ ÖÖ ÙÖ ³ ÔÔÖÓÜ Ñ Ø ÓÒ º¾½ ¹¼
  • 91. Ð ÓÖ Ø Ñ Ô Ö ÐÐ Ð ÔÓÙÖ Ð × k¹ÑÓÝ ÒÒ × È Ö ÐÐ Ð k¹Ñ Ò× Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹ ½
  • 92. È Ö ÐÐ Ð × Ø ÓÒ ÔÖÓÔÖ Ø ÓÑÔÓ× Ø ÓÒ Ù ÒØÖÓ ËÓ Ø X Ø X ÙÜ ÙÜ ÓÒÒ × ÔÓÒ Ö × Ú Ð ÙÖ× ×ÓÑÑ × × ÔÓ × ØÓØ ÙÜ W Ø W º ÐÓÖ× ÓÒ ¯x(X ∪ X ) = W W + W ¯x(X) + W W + W ¯x(X ) ÌÖ × ÙØ Ð ÔÓÙÖ Ô ÖØ Ö Ð Ð ÙÐ × ÓÒÒ × ×ÙÖ ÔÐÙ× ÙÖ× ÔÖÓ ×× ÙÖ׺ºº ÈÖÓÔÖ Ø Ð ÓÑ ØÖ Ù Ð ÒÒ ´Ò³ ×Ø Ô × ÚÖ Ò ÓÑ ØÖ ÝÔ Ö ÓÐ ÕÙ µ Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹ ¾
  • 93. È Ö ÐÐ Ð × Ø ÓÒ Ð³ ÙÖ ×Ø ÕÙ ÄÐÓÝ ËÙÔÔÓ×ÓÒ× n = O(½)¸ k = O(½) Ø p ÔÖÓ ×× ÙÖ× P¼, ..., Pp−½ ´ØÓÙ× Ð × ÔÖÓ ×× ÙÖ× Ð × ÒØ Ð × ÓÒÒ ×µº ÍØ Ð ×ÓÒ× Ð ÔÖÓÔÖ Ø ÓÑÔÓ× Ø ÓÒ × ÒØÖÓ × c½(X) = p−½ i=¼ ½ p c½(Xp)º ÍÒ × ÔÖÓ ×× ÙÖ׸ ×ÓÒ× P¼ ×³Ó ÙÔ Ð³ Ò Ø Ð × Ø ÓÒ × ÒØÖÓ ×¸ ÔÙ × Ù× ´ ÖÓ ×ص ØØ Ò Ø Ð × Ø ÓÒ ØÓÙ× Ð × ÙØÖ × ÔÖÓ ×× ÙÖ׺ Ò ÅÈÁ¸ ÓÑÑ Ò ÅÈÁ ×غ ÕÙ ÔÖÓ ×× ÙÖ Pr ×³Ó ÙÔ ³ ÙÒ Ô ÕÙ Ø n p ÓÒÒ × Xr = {xr n p ...x(r+½) n p −½} Ò Ð ÙÐ ÒØ Ð ×Ø Ò Ñ Ò Ñ Ð × × xi ÙÜ ÒØÖ ×º ÇÒ Ñ Ø ÓÙÖ Ð ÓÒ Ø ÓÒ Ó Ø Ø ÓÒ Ð ÙÐ Ð × ÒØÖÓ × Ø Ö Ò Ð Ø Ò Ô Ò ÑÑ ÒØ Ò× ÕÙ Ô ÕÙ Ø G½(r), ..., Gk (r) Ú n½(r) = |G½(r)|, ..., nk (r) = |Gk(r)|º ÈÙ × ÓÒ Ö Ù Ø ´ÓÔ Ö Ø ÓÒ Ö Ù µ ØÓÙ× Ð × cj (r) Ø nj (r) Ò × ÒØ Ð ×ÓÑÑ ´ÓÔ Ö Ø ÓÒ ÅÈÁµ ÅÈÁ ÐÐÖ Ù ÇÒ Ö Ô Ø Ù×ÕÙ³ ÓÒÚ Ö Ò ´ÓÙ ÐÓÖ×ÕÙ Ð ÖÓ ×× Ò Ð ÓÒ Ø ÓÒ Ó Ø Ô ×× ×ÓÙ× ÙÒ × Ù Ðµº Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹ ¿
  • 94. Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹
  • 95. Ä × k¹ÑÓÝ ÒÒ × Ò ÅÈÁ Ò ÐÝ× Ð ÓÑÔÐ Ü Ø Ä × ÓÔ Ö Ø ÓÒ× Ð Ñ ÒØ Ö × ÓÑÑ Ê Ù ¸ ×ظ Ø º Ô Ò ÒØ Ð ØÓÔÓÐÓ Ù Ö × Ù ³ ÒØ Ö ÓÒÒ Ü ÓÒ º ÁÒ Ø Ð × Ø ÓÒ × ÒØÖÓ × Ô Ö Ð ÔÖÓ ×× ÙÖ P¼ Ò Ø ÑÔ× O(dk) Ó Ø ØÓØ Ð O dk + ×Ø(p, dk) + s dn p + Ê Ù (p, dk) ∼n>>k,d O dkns p → Ø ÙÖ ³ Ð Ö Ø ÓÒ ´×Ô ¹ÙÔ¸ Ö ÔÔÓÖØ Ù Ø ÑÔ× × ÕÙ ÒØ Ð ×ÙÖ Ð Ø ÑÔ× Ô Ö ÐÐ Ð µ α = O dkns dkns p = O(p)º È ÐÓ×ÓÔ Ö ÒØ Å ÔÊ Ù ´À ÓÓÔµ ÙØÖ ÑÓ Ð Ð ÙÐ ×ØÖ Ù × ÑÔÐ º Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹
  • 96. ÓÑÔÐ Ü Ø ³ÙÒ Ð ÓÖ Ø Ñ Ô Ö ÐÐ Ð ÙØ Ð × ÒØ ÅÈÁ ËÓÑÑ Ð ÙÐ× ÐÓ ÙÜ Ò ÄÇÈË ÄÓ Ø Ò ¹ÔÓ ÒØ ÇÈ Ö Ø ÓÒ× Ô Ö Ë ÓÒ ÓÑÑÙÒ Ø ÓÒ ´Ñ ×× ×µ ÑÓ Ð α + τl ÔÓÙÖ × Ñ ×× × Ø ÐÐ l α Ø ÑÔ× Ð Ø Ò ¸ τ Ø #ÑÓØ×/ Ò Ô ×× ÒØ #Ñ ×× ×× latence Ø ÑÔ× Ô Ö ÓÔ ½ » Ò Ô ×× ÒØ Ð Ø Ò → ÇÒ Ö Ñ Ò Ñ × Ö Ð ÒÓÑ Ö Ñ ×× × ´Ð Ø Ò µ Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹
  • 97. Ê ×ÙÑ ½ Ä ÀÈ × ÖØ ØÖ ÔÐÙ× ÔÐÙ× Ú Ø ¸ ÔÐÙ× ÖÓ×× × × ÑÙÐ Ø ÓÒ׸ ÔÐÙ× Ö Ò × ÓÒÒ ×¸ Ø º Ä Ö ÖÓÙÔ Ñ ÒØ Ö Ö Ò× Ð × ÓÒÒ × × Ñ × × ÐÙ×Ø Ö× ÕÙ Ö ÔÖ × ÒØ ÒØ × Ø ÓÖ ×» Ð ×× × ÓÒÒ × Ê ÖÓÙÔ Ñ ÒØ ÕÙ Ñ Ò Ñ × Ð ×ÓÑÑ × Ú Ö Ò × × ÐÙ×Ø Ö× Ð × k¹ÑÓÝ ÒÒ × ÌÖÓÙÚ Ö Ð Ñ Ò ÑÙÑ ÐÓ Ð ÔÓÙÖ Ð × k¹ÑÓÝ ÒÒ × ×Ø Æȹ ÙÖ À ÙÖ ×Ø ÕÙ Ø Ö Ø Ú ÄÐÓÝ ØÖÓÙÚ ÙÒ Ñ Ò ÑÙÑ ÐÓ Ð Ò O(dnks) Ð Ô Ö ÐÐ Ð × Ö Ò × ÒØ n P Ô ÕÙ Ø× ÓÒÒ ×º Ì ÑÔ× Ô Ö ÐÐ Ð O(dnks/P)º ij Ð Ö Ø ÓÒ ×Ø ÓÒ O(P)º ÈÓÙÖ Ð ÔÖÓ Ò Ó × Ð Ö Ð × Ô ØÖ × ½¸ ¾ Ø Ù ÔÓÐÝ ÓÔ Ö Ò Æ Ð× Ò ºk¹ÑÓÝ ÒÒ × Ò ÅÈÁ ½¹
  • 98. Ö Ò Æ Ð× Ò ºÌÖÓÑ ÒÓ× ÓÔ ½¹
  • 99. INF442 : Traitement des donn´ees massives A2 : Le HPC et le regroupement hi´erarchique Frank Nielsen X2013 15 avril 2015 3 avril 2015
  • 100. HPC : quelques cas pour le Super-Computing (SC) HPC = on recherche l’ efficacit´e ! Utiliser des mod`eles pour de la simulation parce que sinon c’est trop difficile `a construire (souffleries) trop cher `a construire (crash d’avion/voiture) trop lent `a attendre (´evolution du climat, galaxies) trop dangereux (armes, drogues, pollutions, ´epid´emies) Avoir des r´esultats rapides voire en ligne on-line, incremental : valeur temporelle du r´esultat (m´et´eo) ˆetre le premier `a avoir le r´esultat (bourse, trading HFT) ˆetre le premier `a avoir “une analyse” (incluant le coˆut de d´evelopement) Donn´ees massives, le Big Data : analyse du g´enome/d’une famille de g´enomes recherche d’intelligence extraterrestre (SETI)
  • 101. Acc´el´eration, efficacit´e et scalabilit´e tseq : temps ´ecoul´e par le programme s´equentiel tP : ... par programme parall`ele sur P proc. t1 : ... par le programme parall`ele ex´ecut´e en s´equentiel, P = 1 bien sˆur, t1 ≥ tseq sinon on aurait un meilleur algo. s´equentiel Acc´el´eration : speedup(P) = tseq tP , souvent tseq tP t1 tP Efficacit´e : e(P) = speedup(P) P = tseq P×tP par rapport au speed-up lin´eaire, e(P) = 1 ⇔ tP = tseq P Speed-up, efficiency
  • 102. Loi d’Amdahl (1967) : un frein au parall´elisme ? gain de performance id´eal : α = fraction du code parall`elisable αseq = fraction du code non-parall`elisable avec αseq + α = 1 speedup(P) = t1 tn = (αseq + α )t1 (αseq + α P )t1 = 1 αseq + α P lim P→∞ speedup(P) = 1 αseq = 1 1 − α ⇒ acc´el´eration born´ee par la fraction de code αseq non-parall`elisable (celle qui est intrins´equement s´equentielle)
  • 103. Loi d’Amdahl : comportement asymptotique 0 2 4 6 8 10 12 14 16 18 20 1 4 16 64 256 1024 4096 16384 65536 speed−up nombre de processeurs (P) 0.75 0.9 0.95
  • 104. Loi d’Amdahl : un exemple visuel pour concr´etiser αseq = 20% et donc α = 80% Temps P = 1 P=2 P=4 P=8 S = 1 S = 5 3 S = 2 5 S = 10 3 S = 5 P → ∞ seq par ... lim P→∞ speedup(P) = 1 αseq =⇒ speedup ≤ ×5 Est-ce alors int´eressant d’avoir des grands clusters de machines ?
  • 105. Loi de Gustafson : scale speed-up, `a la rescousse ! Simulation : taille des mailles d’une grille 2D/3D = fonction de P Vid´eo : SD, HD, 4K, 8K, etc. Concept = Charge de travail (workload) grandit avec P n n’est pas fix´e ! (= cas d’Amdahl) speedupGustafson(P) = αseq + P × α speedupGustafson(P) = αseq + P × (1 − αseq) Gustafson = parall´elisme de donn´ees
  • 106. Loi de Gustafson : un exemple visuel Loi de Gustafson : speedup(P) = αseq + P × α . scale speed-up P = 1 P = 2 P = 4 P = 8 n 2n 4n 8n temps la taille des donn´ees n augmente seq par speedup(P) = 0.2 + 0.8 × P Parfois, en pratique, on obtient un speed-up super-lin´eaire (hyper-lin´eaire), qui s’explique par le cache hi´erarchique des donn´ees Pensez au cheminement complexe des donn´ees vers le processeur dans le mat´eriel !
  • 107. Autrement dit... efficacit´e(P) = acc´el´eration(P) P efficacit´e d’Amdahl :limP→∞ eAmdahl(P) = 0 efficacit´e de Gustafson :limP→∞ eGustafson(P) = α
  • 108. Cluster de machines : une architecture `a m´emoire distribu´ee espace m´emoire local associ´e `a chaque processeur processeurs connect´e par un r´eseau d’interconnexion acc`es m´emoire aux autres processeurs explicite par ´echanges de messages sur le r´eseau le r´eseau d’interconnexion d´etermine la vitesse d’acc`es aux donn´ees caract´eristiques du r´eseau : transmission avec mod`ele de coˆut α + τ × Longueur(message) : latence : temps pour initier une communication (α) bande passante : vitesse de transfert des donn´ees (τ) topologie : architectures physique (mat´eriel) et logique (utilis´e par les algorithmes //)
  • 109. E/S (I/Os) et syst`emes de fichiers parall`eles E/S : entr´ees/sorties , I/O : input/output Big Data : Lire et sauvegarder des gros fichiers ou beaucoup de petits fichiers gestion parall`ele des E/S impl´ement´e explicitement dans les programmes (en MPI, la partie appel´ee MPI-IO) E/S g´er´e par un syst`eme de fichier parall`ele : Lustre : logiciel libre utilis´e par les gros calculateurs http://lustre.opensfs.org/ GPFS (General Parallel File System) : d´evelopp´e par IBM pour des volumes de donn´ees d´epassant le p´etaoctet (1 PB, 1015 ) http://www-03.ibm.com/systems/platformcomputing/products/gpfs/ approche g´er´ee automatiquement par MapReduce avec le GFS (Google File System) → E/S tr`es important en pratique mais pas couvert dans ce cours d’introduction
  • 110. INF442 : rappel sur notre vocation ! Introduction `a l’algorithmique et `a la programmation parall`ele en C++/MPI pour l’analyse de donn´ees massives sur un cluster de machines `a m´emoires distribu´ees (calculs `a gros grains).
  • 111. Processus Les syst`emes d’exploitation modernes sont multi-tˆaches : plusieurs applications non-bloquantes peuvent tourner en “mˆeme temps” (time-slicing). un seul processus en cours d’ex´ecution sur le CPU `a un instant donn´e, un ordonnanceur de tˆaches qui alloue les processus aux CPUs/cœurs, ´etat d’un processus : en cours d’ex´ecution, prˆet en attente de CPU, bloqu´e (suspendu/attente de r´eveil).
  • 112. Tˆaches (jobs) sous UNIX [france ~]$ sleep 10000 & [1] 12027 [france ~]$ sleep 15000 & [2] 12065 [france ~]$ jobs [1]- Running sleep 10000 & [2]+ Running sleep 15000 & [france ~]$ kill %1 [1]- Terminated sleep 10000 [france ~]$ fg %2 sleep 15000 Une tˆache peut lancer plusieurs processus (mais souvent c’est un seul)
  • 113. Tˆaches (jobs) sous UNIX [ france ~]$ ps PID TTY TIME CMD 10241 pts /0 00:00:00 bash 12167 pts /0 00:00:00 ps [ france ~]$ ps -a PID TTY TIME CMD 12168 pts /0 00:00:00 ps [ france ~]$ sleep 10000 & [1] 12169 [ france ~]$ ps -F UID PID PPID C SZ RSS PSR STIME TTY TIME CMD 11234 10241 10240 0 1236 1456 6 10:08 pts /0 00:00:00 -bash 11234 12169 10241 0 953 472 1 10:50 pts /0 00:00:00 sleep 10000 11234 12170 10241 0 1132 900 1 10:50 pts /0 00:00:00 ps -F [ france ~]$ kill 12169 [1]+ Terminated sleep 10000
  • 114. Processus et fils de calcul (multi-threading) Un fil de calcul (“processus l´eger”) `a l’int´erieur d’un processus, Multi-threading : ex´ecution `a l’int´erieur d’un processus de plusieurs sous-tˆaches. Ex´ecution “concurrente” de fils de calcul (par exemple, votre navigateur Web), Les ressources allou´ees `a un processus sont partag´ees entre les fils de calcul qui le composent : m´emoire partag´ee pour les fils de calcul (INF431). Un processus a au moins un thread qui contient la fonction main.
  • 115. Diff´erence entre processus et threads Les processus ont leurs propres m´emoires d’adressage deux `a deux disjointes. La communication entre processus doit se faire de fa¸con m´ethodique (→ standard MPI) Les threads d’un mˆeme processus partagent la mˆeme zone m´emoire (code + donn´ees). Facile d’acc´eder aux donn´ees mais difficult´es li´ees `a l’acc`es simultan´e de la m´emoire (source de plantage !). Threads bien adapt´es aux architectures multi-cœurs d’un processeur. Multi-threads : plus rapide, application non-bloquante (par exemple, un navigateur web) Multi-threading : parall`elisme avec une m´emoire commune partag´ee
  • 116. mpirun est un alias pour orterun https://www.open-mpi.org/doc/v1.4/man1/orterun.1.php -hostfile ou -machinefile fichier maconfigMPI : machine1 slots=2 machine2 slots=2 machine3 slots=2 G´en´eralement slots est le nombre de cœurs et la somme des slots ´equivaut `a l’option -np Utilisez l’ ordonnanceur SLURM pour l’allocation automatique des ressources sur un cluster
  • 117. Programmer avec la Message Passing Interface (MPI) Multiple Program Multiple Data : MPMD Single Program Multiple Data : SPMD
  • 118. Op´erations MPI Outre les calculs locaux de chaque processus, on a aussi : des mouvements de donn´ees via des envois et r´eceptions de messages (broadcast, scatter, gather, all-to-all, etc.), de la synchronisation (barri`ere o`u tous les processus s’attendent avant de pouvoir continuer), du calcul global (comme des op´erations de sommes cumul´ees, reduce et scan ou parallel prefix).
  • 119. MPI : Les communications collectives usuelles Concernent tous les processus d’un groupe de communication (souvent WORLD) diffusion broadcast Mi M1 M2 M3 M M M M M diffusion personnalis´ee scatter M1 M2 M3 rassemblement gather Mi M1 M2 M3 2 3 1 r´eduction reduce 2 3 1 6 processus appelant AVANT APR`ES P0 P1 P2 P3 message messages personnalis´es M1, M2, M3 `a envoyer Mi messages personnalis´es M1, M2, M3 re¸cus
  • 120. MPI : Les communications collectives un `a tous (one-to-all) : La diffusion, Broadcast : MPI Bcast, message entier La difusion personnalis´ee, Scatter : MPI Scatter, message partitionn´e en morceaux tous `a un (all-to-one) : La r´eduction, Reduce : MPI Reduce, op´eration comme MPI SUM, etc. Le rassemblement, Gather : MPI Gather, assemble le message `a partir des messages par morceaux tous `a tous (all-to-all, total exchange), le comm´erage : MPI Alltoall
  • 121. MPI : les deux op´erations de base send et receive Communications bloquantes send(&data, n, Pdest) : Envoie n donn´ees point´ees par &data au processeur Pdest receive(&data,n, Psrc) : Re¸coit n donn´ees `a l’adresse point´ee par &data du processeur Psrc Que se passe t’il dans ce petit exemple ? P0 P1... a=442; send(&a, 1, P1); a=0; ... receive(&a, 1, P0); cout << a << endl;
  • 122. Communications bloquantes (non-bufferis´ees) ⇒ provoque de l’attente (idling) Envoyeur ou receveur doivent s’attendre mutuellement (hand-shaking).
  • 123. MPI Init (&argc ,& argv ) ; MPI Comm size (MPI COMM WORLD,&numprocs ) ; MPI Comm rank (MPI COMM WORLD,&myid ) ; tag =442; source =0; d e s t i n a t i o n =1; count =1; i f ( myid == source ) { b u f f e r =2015; MPI Send(& buffer , count , MPI INT , d es t i n a t i on , tag ,MPI COMM WORLD) ; p r i n t f ( ”Le p r oces s eu r %d a envoye %dn” , myid , b u f f e r ) ; } i f ( myid == d e s t i n a t i o n ) { MPI Recv(& buffer , count , MPI INT , source , tag ,MPI COMM WORLD,& s t a t u s ) ; p r i n t f ( ”Le p r oc e s s e u r %d a recu %dn” , myid , b u f f e r ) ; }
  • 124. Minimiser les temps d’attente Pour des communications bloquantes, on cherche donc `a minimiser le temps d’attente (on verra plus tard l’´equilibrage de charge, le load balancing).
  • 125. Temps d’attente pour le receveur Receveur prˆet avant l’envoyeur (communications bloquantes)
  • 126. MPI : les situations de blocages (deadlocks) Que se passe t’il dans cet exemple ? P0 P1 send(&a, 1, P1); receive(&b, 1, P1); send(&a, 1, P0); receive(&b, 1, P0); Envoyeur P0 attend le “OK pour envoi” de P1 Envoyeur P1 attend le “OK pour envoi” de P0 C¸a bloque. On est en situation de deadlock ! (Ctrl-C pour tuer le programme...)
  • 127. MPI : les blocages (deadlocks) Les communications bloquantes sont n´ecessaires pour assurer la consistence (s´emantique) des programmes mais font apparaˆıtre des situations ind´esirables de blocage. Pour le send, on peut pr´e-allouer un espace m´emoire “buffer donn´ees” (Data buffer, DB) `a chaque processus, puis envoyer les donn´ees en deux temps : Envoi sur le Data Buffer DB, Sur le processeur receveur, recopie le DB `a l’endroit &data, Implant´e soit mat´eriellement soit par un protocole logiciel. N´eanmoins, il subsiste toujours une situation de blocage lorsque le buffer de donn´ees DB devient plein
  • 128. MPI : les blocages (deadlocks) Mˆeme si on g`ere bien les appels send, le probl`eme du deadlock subsiste Blocage avec les communications bufferis´ees : le probl`eme des receive P0 P1 receive(&a, 1, P1); send(&b, 1, P1); receive(&a, 1, P0); send(&b, 1, P0);
  • 129. MPI : Send/Receive non-bloquantes et non-bufferis´ees Comment envoyer/recevoir des messages avec des communications non-bloquantes... L’envoyeur poste un message “Demande d’envoi” (pending message) et continue l’ex´ecution de son programme, Le receveur poste un “OK pour envoi”, et le transfert de donn´ees s’effectue, Quand le transfert de donn´ees est fini, un check status indique qu’on peut toucher aux donn´ees sans danger
  • 130. commnonbloq442.cpp MPI Status s t a t u s ; MPI Request r eq u es t ; MPI Init (&argc ,& argv ) ; MPI Comm size (MPI COMM WORLD,&numprocs ) ; MPI Comm rank (MPI COMM WORLD,&myid ) ; tag =442; source =0; d e s t i n a t i o n =1; count =1; r e q u e s t=MPI REQUEST NULL ; i f ( myid == source ) { b u f f e r =2015; MPI Isend(& buffer , count , MPI INT , d es t i n a t i on , tag ,MPI COMM WORLD,& r e q u e s t ) ; } i f ( myid == d e s t i n a t i o n ) { MPI Irecv (& buffer , count , MPI INT , source , tag ,MPI COMM WORLD,& r e q u e s t ) ; }
  • 131. r e q u e s t=MPI REQUEST NULL ; i f ( myid == source ) { b u f f e r =2015; MPI Isend(& buffer , count , MPI INT , d es t i n a t i on , tag ,MPI COMM WORLD,& r e q u e s t ) ; } i f ( myid == d e s t i n a t i o n ) { MPI Irecv (& buffer , count , MPI INT , source , tag ,MPI COMM WORLD,& r e q u e s t ) ; } p r i n t f ( ” a t t en t e avec MPI WAIT . . . n”) ; MPI Wait(&request ,& s t a t u s ) ; attente avec MPI_WAIT ... attente avec MPI_WAIT ... [proc 0] status de MPI_WAIT : 0 Le processeur 0 a envoye 2015 [proc 1] status de MPI_WAIT : 0
  • 132. MPI : Les six routines standards sont... proc´edures , types de donn´ees et constantes sont pr´efix´ees par MPI (fichier mpi.h) 100+ proc´edures dont les six principales sont : MPI Init Initialisation de la biblioth`eque MPI Finalize Termine l’utilisation de MPI MPI Comm size Donne le nombre de processus MPI Comm rank ´Etiquette du processus appelant MPI Send Envoi un message (bloquant) MPI Recv Re¸coit un message (bloquant) Ces proc´edures retournent MPI SUCCESS en cas de succ`es, sinon un code d’erreur.
  • 133. Quelques hypoth`eses sur la concurrence le processeur (ou PE) peut effectuer plusieurs op´erations en mˆeme temps Par exemple, on peut supposer MPI IRecv(), non-bloquant MPI ISend(), non-bloquant + calcul local il faut donc que ces 3 op´erations soient ind´ependantes ! donc on ne peut pas envoyer le r´esultat du calcul on ne peut pas forwarder = envoyer ce que l’on re¸coit en pseudo-code, on note les activit´es concurrentes par || (une double barre) Activit´e1||Activit´e2||Activit´e3
  • 134. MPI : Les types de donn´ees enMPI Type MPI Type dans le langage C MPI CHAR signed char MPI SHORT signed short int MPI INT signed int MPI LONG signed long int MPI UNSIGNED CHAR unsigned char MPI UNSIGNED SHORT unsigned short int MPI UNSIGNED unsigned int MPI UNSIGNED LONG unsigned long int MPI FLOAT float MPI DOUBLE double MPI LONG DOUBLE long double MPI BYTE MPI PACKED
  • 135. MPI : La primitive send https://www.open-mpi.org/doc/v1.4/man3/MPI_Send.3.php Syntaxe en C : #i n c l u d e <mpi . h> i n t MPI Send ( void ∗buf , i n t count , MPI Datatype datatype , i n t dest , i n t tag , MPI Comm comm) Syntaxe en C++ (plus mis `a jour depuis MPI-2) : #i n c l u d e <mpi . h> void Comm : : Send ( const void ∗ buf , i n t count , const Datatype& datatype , i n t dest , i n t tag ) const tag : Message tag (integer), utile pour la filtration et l’appariemment des op´erations send/receive. Par d´efault, tag=0
  • 136. MPI : les communications non-bloquantes (API en C) i n t MPI Isend ( void ∗buf , i n t count , MPI Datatype datatype , i n t dest , i n t tag , MPI Comm comm, MPI Request ∗ req ) i n t MPI Irecv ( void ∗buf , i n t count , MPI Datatype datatype , i n t src , i n t tag , MPI Comm comm, MPI Request ∗ req ) L’objet MPI Request est utilis´e dans les routines suivantes : Retourne *flag=1 si l’op´eration *req est finie, 0 sinon i n t MPI Test ( MPI Request ∗req , i n t ∗ flag , MPI Status ∗ s t a t u s ) Attend jusqu’`a ce que l’op´eration associ´ee avec *req soit finie. i n t MPI Wait ( MPI Request ∗req , MPI Status ∗ s t a t u s )
  • 137. MPI : les groupes de communication, communicators D´efini le cadre des op´erations de communication, Chaque processus inclus dans un communicator a un rang associ´e, Par d´efaut, MPI COMM WORLD inclut tous les p processus, rang de 0 `a p − 1, On peut cr´eer des communicators pour des groupes de processus, int MPI Comm size(MPI Comm comm, int *size) et int MPI Comm rank(MPI Comm comm, int *size)
  • 138. Barri`ere de synchronisation : MPI Barrier MPI Barrier : Bloque jusqu’`a temps que tous les processus arrivent `a cette routine = synchronisation ! Barri`ere de synchronisation Barri`ere de synchronisation
  • 139. Mesurer le temps sous MPI : MPI Wtime double start, end; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Barrier(MPI_COMM_WORLD); /* IMPORTANT */ start = MPI_Wtime(); /* faire le calcul ici */ calculINF442(); MPI_Barrier(MPI_COMM_WORLD); /* IMPORTANT */ end = MPI_Wtime(); MPI_Finalize(); if (rank == 0) {cout<< end-start <<endl;} Ou alors utiliser MPI Reduce() pour calculer les temps minima/maxima (et autres statistiques) des processus...
  • 140. MPI : Calcul globaux Reduce C : #i n c l u d e <mpi . h> i n t MPI Reduce ( void ∗ sendbuf , void ∗ recvbuf , i n t count , MPI Datatype datatype , MPI Op op , i n t root , MPI Comm comm) https://www.open-mpi.org/doc/v1.5/man3/MPI_Reduce.3.php
  • 141. MPI : Reduce, op´erations de calcul pr´ed´efinies Op´erateur binaire associatif et commutatif Nom Signification MPI MAX maximum MPI MIN minimum MPI SUM sum MPI PROD product MPI LAND logical and MPI BAND bit-wise and MPI LOR logical or MPI BOR bit-wise or MPI LXOR logical xor MPI BXOR bit-wise xor MPI MAXLOC max value and location MPI MINLOC min value and location
  • 142. Exemple : calcul de la factorielle... factoriellempireduce442.cpp i n t i , moi , nproc s ; i n t nombre , g l o b a l F a c t =−1, l o c a l F a c t ; MPI Init (&argc ,& argv ) ; MPI Comm size (MPI COMM WORLD,& nproc s ) ; MPI Comm rank (MPI COMM WORLD,&moi ) ; nombre=moi+1; // dans l e s arguments , se r a p p e l e r l ’ o r d r e ( source , d e s t i n a t i o n ) MPI Reduce(&nombre ,& globalFac t , 1 , MPI INT ,MPI PROD , 0 ,MPI COMM WORLD) ; i f ( moi==0) { p r i n t f (” f a c t o r i e l l e avec re duc e pour %d p r o c e s s u s = %dn” , nprocs , g l o b a l F a c t ) ;} l o c a l F a c t =1; f o r ( i =0; i<nproc s ; i ++) { l o c a l F a c t ∗=( i +1);} i f ( moi==0) { p r i n t f (” f a c t o r i e l l e l o c a l e : %dn” , l o c a l F a c t ) ;} M P I F i n a l i z e () ;
  • 143. MPI : Les commandes Scan/ Pr´efixe parall`ele i n t MPI Scan ( void ∗ sendbuf , void ∗ recvbuf , i n t count , MPI Datatype datatype , MPI Op op , MPI Comm comm ) processus P0 P1 P2 P3 entr´ee (vi ) 1 2 3 4 sortie 1 3 (= 1 + 2) 6 (= 1 + 2 + 3) 10 (= 1 + 2 + 3 + 4)
  • 144. P0 P1 P2 P3 a b c d a + b + c + d b c d reduce P0 P1 P2 a0 a1 c0b0 b1 c2a2 b2 c1 scan a0 a0 + a1 a0 + a1 + a2 b0 b0 + b1 b0 + b1 + b2 c0 c0 + c1 c0 + c1 + c2 P0 P1 P2 P3 a b c d a + b + c + d Allreduce a + b + c + d a + b + c + d a + b + c + d
  • 145. Communications : uni-directionelles ou bi-directionnelles Uni-directionelle (one-way communication ) Dans un seul sens : on envoie ou on re¸coit MPI Send / MPI Recv Bi-directionnelle Dans les deux sens (two-way communication) MPI Sendrecv https://www.open-mpi.org/doc/v1.8/man3/MPI_Sendrecv.3.php
  • 146. Les k-moyennes : Un clustering par partition = clustering plat vs Regroupement hi´erarchique
  • 147. Trouver des liens de proximit´e entre les donn´ees mpg cyl disp hp drat wt qsec vs am gear carb Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2 Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1 Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4 Merc 240 D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2 Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2 Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4 Merc 280 C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4 Merc 450 SE 16.4 8 275.8 180 3.07 4.070 17.40 0 0 3 3 Merc 450 SL 17.3 8 275.8 180 3.07 3.730 17.60 0 0 3 3 Merc 450 SLC 15.2 8 275.8 180 3.07 3.780 18.00 0 0 3 3 Cadillac Fleetwood 10.4 8 472.0 205 2.93 5.250 17.98 0 0 3 4 Lincoln Continental 10.4 8 460.0 215 3.00 5.424 17.82 0 0 3 4 Chrysler Imperial 14.7 8 440.0 230 3.23 5.345 17.42 0 0 3 4 Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2 Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1 Toyota Corona 21.5 4 120.1 97 3.70 2.465 20.01 1 0 3 1 Dodge Challenger 15.5 8 318.0 150 2.76 3.520 16.87 0 0 3 2 AMC Javelin 15.2 8 304.0 150 3.15 3.435 17.30 0 0 3 2 Camaro Z28 13.3 8 350.0 245 3.73 3.840 15.41 0 0 3 4 Pontiac Firebird 19.2 8 400.0 175 3.08 3.845 17.05 0 0 3 2 Fiat X1 -9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1 Porsche 914 -2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2 Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 Ford Pantera L 15.8 8 351.0 264 4.22 3.170 14.50 0 1 5 4 Ferrari Dino 19.7 6 145.0 175 3.62 2.770 15.50 0 1 5 6 Maserati Bora 15.0 8 301.0 335 3.54 3.570 14.60 0 1 5 8 Volvo 142 E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2
  • 149. Le clustering/regroupement hi´erarchique ascendant On part des donn´ees X = {x1, ..., xn} qui sont des feuilles et on fusionne r´ecursivement au fur et `a mesure les sous-arbres jusqu’`a ne plus qu’avoir un seul arbre. Les feuilles initiales forment une forˆet d’arbres `a une feuille, puis on fait de la fusion d’arbres... Plusieurs crit`eres pour la fusion de deux sous-arbres (dont les sous-ensembles de donn´ees Gi et Gj sont stock´ees dans leurs feuilles). On calcule Δ(Gi , Gj ) la distance entre deux sous-ensembles. strat´egie du saut minimum :ΔSL → Single Linkage (SL) strat´egie du saut maximum (ou diam`etre) : ΔCL → Complete Linkage (CL) strat´egie du saut moyen : ΔGA → Group Average (GA) etc.
  • 150. Pour se fixer une id´ee : saut moyen, Single Linkage (SL) Fonction de chaˆınage Δ(Gi , Gj ) = min xi ∈Gi ,xj ∈Gj D(xi , xj ) o`u D(x, y) est une distance ´el´ementaire .
  • 151. Quelle distance ´el´ementaire entre deux donn´ees ? On doit toujours avoir bien entendu Δ({xi }, {xj }) = D(xi , xj ). Exemples de distances ´el´ementaires : Distance Euclidienne (L2) : D(p, q) = d i=1(pi − qi )2 Distance de Manhattan (city block, L1) : D1(p, q) = d i=1 |pi − qi | Distance de Minkowski induite par Lp : Dp(p, q) = d i=1 |pi − qi |p 1 p Distance de Mahalanobis : DΣ(p, q) = (p − q) Σ−1(p − q) = D(L p, L q), avec Σ−1 = L L provenant de la factorisation de Cholesky M´etrique, non-m´etrique, distance & similarit´e, etc.
  • 152. Le clustering par agglom´eration Hierarchical Cluster Analysis (HCA) : regroupement hi´erarchique Initialiser xi dans un cluster singleton Gi = {xi } Tant qu’il reste au moins deux clusters : Choisir Gi et Gj tel que Δ(Gi , Gj ) soit minimal Fusionner Gi,j = Gi ∪ Gj (ajouter Gi,j et retirer Gi et Gj ) Retourner le dernier nœud comme la racine de l’arbre de fusion ⇒ le r´esultat d’un regroupement hi´erarchique est un arbre binaire appel´e dendrogramme . On fusionne n − 1 fois (les ´etapes de fusion). Diff´erent d’un algorithme de partitionnement comme les k-moyennes : Clustering hi´erarchique = not Clustering plat (par partition)
  • 153. Distance de chaˆınage Δ(Gi, Gj) Single Linkage saut minimum Complete Linkage saut maximum diam`etre Group Average saut moyen
  • 154. Dessinons un dendrogramme... Par exemple, choisissons la hauteur comme le nombre de fusions : I N F 4 4 2 I, N 4, 4 I, N, F 4, 4, 2 I,N,F,4,4,2 feuilles nœuds internes hauteur : nombre de fusions 0 1 2 3 Dendrogramme = Graphique d’un arbre binaire, arbre plong´e dans le plan.
  • 155. Autre visualisation de la hi´erarchie par inclusion I N F 4 4 2 I, N 4, 4 I, N, F 4, 4, 2 I,N,F,4,4,2 I N F 4 4 2
  • 156. Dendrogramme : iris (4D) Dendrogramme = Graphique d’un arbre binaire (arbre plong´e dans le plan) o`u chaque nœud a une hauteur.
  • 157. Dendrogrammes et arbres philog´en´etiques Vous avez souvent d´ej`a vu des dendrogrammes dans la th´eorie des ´evolutions des esp`eces. Dans ce cas, on a un “temps chronologique” sur l’axe vertical (horloge), un cas particulier de dendrogrammes.
  • 158. Le clustering hi´erarchique : single linkage (SL) Δ(Gi , Gj ) = min xi ∈Gi ,xj ∈Gj D(xi , xj ) R´epeter tant que toutes les donn´ees xi ne soient pas contenues dans un seul cluster, on fusionne les deux groupes les plus proche. `A chaque instant tous les sous-arbres forment une forˆet (partitition de X). S’il existe plus d’une paire de groupes donnant le Δ minimal, on choisit un ordre (lexicographique). Si on fait une permutation sur les donn´ees, on n’obtiendra pas le mˆeme dendrogramme (unicit´e). Probl`eme (artefact) de chaˆınage dans le clustering final Complexit´e : na¨ıf O(n3), algorithme SLINK en O(n2)
  • 160. Le clustering hi´erarchique : Complete Linkage Complete linkage (CL) : CLINK in O(n2) (1977) ΔCL(Gi , Gj ) = max xi ∈Gi ,xj ∈Gj D(xi , xj ) , appel´e aussi diam`etre. Probl`eme du diam`etre : si un point artefact (outlier) est tr`es ´eloign´e des autres, la distance inter-groupe devient grande (et n’est pas significative).
  • 162. Le clustering hi´erarchique : Average Linkage Average Linkage (AL) : O(n2) (1984) ΔAL(Gi , Gj ) = 1 ni nj xi ∈Gi xj ∈Gj D(xi , xj ) La moyenne de toutes les paires de distance !
  • 164.
  • 165. Crit`ere de fusion de Ward : variance Variance = somme des distances euclidiennes au carr´e par rapport au centro¨ıde : v(X) = x∈X x − c(X) 2 , c(X) = 1 |X| x∈X x Distance entre clusters (crit`ere de Ward) pour Gi (ni = |Gi |) et Gj (nj = |Gj |) : Δ(Gi , Gj ) = v(Gi ∪ Gj) − (v(Gi ) + v(Gj ))) = ni nj ni + nj c(Gi ) − c(Gj ) 2 Δ({xi }, {xj }) = D(xi , xj ) = xi − xj 2 Quand on fusionne deux groupes, la variance ne peut pas diminuer !
  • 167. FerrariDino HondaCivic ToyotaCorolla Fiat128 FiatX1−9 MazdaRX4 MazdaRX4Wag Merc280 Merc280C Merc240D LotusEuropa Merc230 Volvo142E Datsun710 ToyotaCorona Porsche914−2 MaseratiBora Hornet4Drive Valiant Merc450SLC Merc450SE Merc450SL DodgeChallenger AMCJavelin ChryslerImperial CadillacFleetwood LincolnContinental FordPanteraL Duster360 CamaroZ28 HornetSportabout PontiacFirebird 050100150200250 Regroupement hierarchique (distance moyenne) INF442 (voitures) x hauteur HondaCivic ToyotaCorolla Fiat128 FiatX1−9 Merc240D LotusEuropa Merc230 Volvo142E Datsun710 ToyotaCorona Porsche914−2 FerrariDino MazdaRX4 MazdaRX4Wag Merc280 Merc280C Hornet4Drive Valiant Merc450SLC Merc450SE Merc450SL DodgeChallenger AMCJavelin MaseratiBora FordPanteraL Duster360 CamaroZ28 ChryslerImperial CadillacFleetwood LincolnContinental HornetSportabout PontiacFirebird 05001000150020002500 Regroupement hierarchique (Ward) INF442 (voitures) x hauteur Average Group Crit`ere de Ward
  • 168. Le clustering hi´erarchique par division Version top-down : on part d’un cluster contenant toutes les donn´ees X et on divise r´ecursivement jusqu’`a temps qu’on obtienne les n feuilles qui contiennent les donn´ees individuelles. Pour casser un cluster en deux, on utilise un algorithme de clustering par partitionnement pour k = 2 (comme celui des k-moyennes par exemple) En g´en´eral, plus coˆuteux qu’un regroupement hi´erarchique agglom´eratif (bottom-top)
  • 169. Dendrogramme : obtenir des partitions `a partir du dendrogramme Pour k ∈ [n] = {1, ..., n}, on peut obtenir une partition en k-sous-ensembles de X. Pas n´ecessaire d’ˆetre `a une hauteur fix´ee.
  • 171. Convertir un clustering hi´erarchique en une partition On choisit une hauteur pour trouver une partition en k clusters Meilleure hauteur par Programmation Dynamique. Meilleure hauteur pour T (X) `a k sous-ensembles : Fit(T = (L, R), k) = min k1,k2 k1+k2=k Fit(L, k1) + Fit(R, k2) Pour les k-moyennes (clustering plat, NP-dur en g´en´eral) on obtient une k-partition optimale `a partir d’un clustering hierarchique (facile `a calculer, SL) sous l’hypoth`ese de satisfaire un crit`ere de s´eparabilit´e.
  • 172. Distances : m´etriques et ultram´etriques Une distance d(·, ·) est : m´etrique si elle satisfait les axiomes : d(x, y) ≥ 0 avec ´egalit´e pour x = y seulement d(x, y) = d(y, x) sym´etrie d(x, y) ≤ d(x, z) + d(z, y), in´egalit´e triangulaire ultram´etrique si elle satisfait les axiomes : d(x, y) ≥ 0 avec ´egalit´e pour x = y seulement d(x, y) = d(y, x) sym´etrie d(x, y) ≤ max(d(x, z), d(z, y))
  • 173. Distance et ´evolution (horloge) Dans les arbres phylog´en´etiques, la distance entre deux esp`eces impose des restrictions sur la fonction distance. Arbre additif (additive tree) : poids sur chaque arˆete tel que pour chaque paire de feuilles, la distance est la somme des distances des arˆetes les reliant. Arbre ultram´etrique : distances entre deux feuilles Gi et Gj et leur ancˆetre commun Gk sont ´egales : di,k = dj,k. hk = 1 2 di,j (hauteur) correspond au temps ´ecoul´e permet de d´efinir une horloge globale sur l’axe vertical
  • 174. Dendrogrammes et arbres philog´en´etiques
  • 175. Regroupement hi´erarchique avec l’algorithme UPGMA UPGMA : Unweighted Pair Group Method using arithmetic Averages Clustering hi´erarchique avec la distance de chaˆınage Average Linkage (AL) : Δ(Gi , Gj ) = 1 ni nj xi ∈Gi xj ∈Gj D(xi , xj ) = Δi,j UPGMA garantie de produire un arbre ultram´etrique
  • 176. Regroupement hi´erarchique par UPGMA Initialise xi a son cluster Ci et positionne ce nœud `a hauteur t = 0. Tant qu’il reste plus de deux clusters : Trouver les clusters Ci et Cj qui ont la distance Δi,j minimale D´efinir un nouveau cluster Ck = Ci ∪ Cj et calculer la distance Δk,l pour tout l Ajouter un nœud k avec les fils Ci et Cj et positionner le `a hauteur tk = 1 2 Δi,j Retirer Ci et Cj de la liste des clusters, et continuer jusqu’`a temps d’avoir deux clusters Pour les deux derniers clusters Ci , and Cj , placer la racine `a hauteur 1 2Δ(Ci , Cj )
  • 177. Regroupement hi´erarchique par UPGMA Th´eor`eme Si les donn´ees sur les distances sont ultram´etriques (v´erifiable sur la matrice des distances), alors il existe un unique arbre ultram´etrique et l’algorithme UPGMA le construit. ... malheureusement les donn´ees (bruit´ees) ne sont pas ultram´etriques en g´en´eral !
  • 178. Dissimilarit´e, similarit´e et inversions similarit´e entre deux groupes : S(Xi , Xj ) = −Δ(Xi , Xj ). Ainsi si on a Δ(Gi , Gk) > Δ(Gi , Gj ) alors on a l’ordre inverse S < S(Gi , Gj ) pour un chemin du dendrogramme d’une feuille `a la racine, s´equence de fusion monotone ssi. la similarit´e d´ecroit quand on se rapproche de la racine : S1 ≥ S2 ≥ ... ≥ Sracine. Autrement dit, la valeur du crit`ere de fusion augmente quand on va vers la racine. non-monotone s’il existe au moins une inversion Si < Si+1 sur un chemin du dendrogramme. Cela veut dire que deux groupes peuvent ˆetre plus similaire `a l’´etape i + 1 que les deux groupes fusionn´es `a l’´etape i. crit`ere de Ward ne garantie pas la monotonie (inversions). Par contre, Single Linkage, Complete Linkage et Average Linkage garantissent la monotonie.
  • 179. Inversion possible pour crit`ere de Ward x3x2x1 S({x1, x2}, {x3}) x1 x2 x3 S({x1}, {x2})
  • 180. Les sciences du vivant adorent le regroupement hi´erarchique ! Gene expression patterns of breast carcinomas distinguish tumor
  • 181. Rappel : programmer des structures r´ecursives en Java
  • 182. Les arbres : Rappel sur une impl´ementation en Java class BinaryTree <E> { E node ; BinaryTree left ,right; BinaryTree (E v) {left =right=null ; node =v;} BinaryTree (E v, BinaryTree l, BinaryTree r) {node =v; left =l;right=r;} } ... BinaryTree BT; BT=new BinaryTree (442, new BinaryTree (421,new BinaryTree (311,null ,new BinaryTree (321)),new BinaryTree (431)),new BinaryTree (411)) ; ...
  • 183. Impl´ementation en Java class BinaryTree <E> { ... String serialize (){ String lefts , rights; if (left == null ) lefts="nil"; else lefts=left .serialize (); if ( right== null ) rights="nil"; else rights=right. serialize (); return "(node ="+node +"("+lefts+","+rights+")"; } } ... System.out.println (BT.serialize ()); ... On ne g´ere pas la d´esallocation m´emoire...
  • 184. C++ : Contenu des m´ethodes `a l’ext´erieur des classes #i n c l u d e <iostream > using namespace std ; c l a s s CEntier { p u b l i c : i n t v a l ; CEntier ( i n t v ) { t h i s −>v a l=v ;} void ajoute ( i n t v2 ) ; }; // D´efinition `a l’ext´erieur de class void CEntier : : ajoute ( i n t v2 ) { v a l+=v2 ;} i n t main () { CEntier ∗e1=new CEntier (5) ; e1−>ajoute (8) ; cout<<e1−>val <<endl ; r e t u r n 0;}
  • 185. Structures de donn´ees abstraites D´efini une interface pour acc´eder aux donn´ees. Peut-ˆetre cod´e du plusieurs mani`eres diff´erentes. les piles (Last In First Out, LIFO) les files (First In First Out,FIFO) les arbres les graphes etc. Par exemple, les piles et files peuvent ˆetre implant´e soit avec des tableaux soit avec des listes chaˆın´ees.
  • 186. c l a s s CNoeud{C++ : // la classe nœud p u b l i c : CNoeud ∗gauche , ∗ d r o i t ; i n t v a l ; p u b l i c : CNoeud( i n t v ) { t h i s −>v a l=v ; gauche=d r o i t=NULL ;} CNoeud( i n t val , CNoeud∗ Arbre1 , CNoeud∗ Arbre2 ) { t h i s −>v a l=v a l ; gauche=Arbre1 ; d r o i t=Arbre2 ;} s t r i n g P r i n t () { char b u f f e r [ 2 0 ] ; s t r i n g s v a l=s t r i n g ( i t o a ( val , buffer ,10) ) ; s t r i n g sgauche , s d r o i t ; i f ( gauche==NULL) sgauche=” n i l ” ; e l s e sgauche=gauche−>P r i n t () ; i f ( d r o i t==NULL) s d r o i t=” n i l ” ; e l s e s d r o i t=d r oi t −>P r i n t () ;
  • 187. . . . CNoeud ∗ Arbre442=new CNoeud (3 , new CNoeud (2) , new CNoeud (1 , new CNoeud (4) ,new CNoeud (5) ) ) ; cout<<Arbre442−>P r i n t ()<<endl ; (3,(2,nil,nil),(1,(4,nil,nil),(5,nil,nil)))
  • 188. C++ : r´ecup´eration de la m´emoire ˜CNoeud () { i f ( gauche!=NULL) d e l e t e gauche ; i f ( d r o i t !=NULL) d e l e t e d r o i t ; cerr <<” d e l e t e ”<<val <<endl ; } (3,(2,nil,nil),(1,(4,nil,nil),(5,nil,nil))) delete 2 delete 4 delete 5 delete 1 delete 3
  • 189. Diff´erences principales entre C++ et Java null en Java et NULL en C++ this.variable en Java/C++ (r´ef´erence) et this->variable en C++ (pointeur) class INF442{} en Java et class INF442{}; en C++ On peut rajouter le corps des m´ethodes en C++ apr`es sa d´eclaration dans la classe : void CNoeud::Addition(int v) ajouter un destructeur dans la classe en C++ array.length en Java mais on doit implanter array.length() en C++ import en Java et include en C++ (STL) etc. En C++ dans les classes, mettre explicitement public (sinon on est private par d´efaut)
  • 190. R´esum´e A2 HPC : acc´el´eration, loi d’Amdahl et de Gustafson MPI : les communications bloquantes, situation de blocage, communications non-bloquantes, barri`eres de synchronisation les calculs collaboratifs : r´eduction (somme, reduce & Allreduce), et les op´erations de pr´efixe parall`ele (scan) Science des donn´ees : regroupement hi´erarchique vs. regroupement plat. Arbre ultram´etrique et chaˆınage par saut moyen C++ : les classes objets. Lire le memento C++ sur la page Moodle Pour la prochaine fois : lire le chapitre 8 et relire le chapitre 2 du polycopi´e
  • 191. ÁÆ ¾ ÌÖ Ø Ñ ÒØ × ÓÒÒ × Ñ ×× Ú × ¿ Ä Ð ×× Ø ÓÒ ×ÙÔ ÖÚ × Ú Ð × k¹ÔÐÙ× ÔÖÓ × ÚÓ × Ò× Ö Ò Æ Ð× Ò ¾¼½¿ ¾¾ ÚÖ Ð ¾¼½
  • 192. Ä ÔÖÓ Ö ÑÑ ÔÓÙÖ Ù ÓÙÖ ³ Ù ◮ ÕÙ ÐÕÙ × Ö Ú × ÓÒ× ×ÙÖ ÅÈÁ ◮ Ð Ð ×× Ø ÓÒ ÔÔÖ ÒØ ×× ×ÙÔ ÖÚ × ◮ Ð × ÔÓ ÒØ ÙÖ× Ø Ð × Ö Ö Ò × Ò ··
  • 194. Ì ÖÑ ÒÓÐÓ Ð × Ñ Ò × Ô Ö ÐÐ Ð × ¸ Ð × ×ÙÔ Ö¹ÓÖ Ò Ø ÙÖ× ◮ ËÙÔ Ö¹ Ð ÙÐ Ø ÙÖ Ú ØÓÖ Ð ´ Ö Ýµ ØÖ Ú ÐÐ ×ÙÖ × Ú Ø ÙÖ× ´A = B + Cµ¸ Ô Ö ÐÐ Ð ×Ñ Ô Ø Ø× Ö Ò× ´ËÁÅ µ ×ÙÖ Ð × ÓÓÖ ÓÒÒ × ÓÖ Ô Ö ÐÐ Ð i, Ai = Bi + Ci ´ ÓÖÔ Öµ ◮ ÐÙ×Ø Ö Ñ Ò × ´ ÓÛÙÐ µ Ò× Ñ Ð Ñ Ò × ÒØ Ö ÓÒÒ Ø × Ò Ä Æ Ô Ö Ø ÖÒ Ø Ì È»ÁȺ ÈÓÙÖ Ù Ñ ÒØ Ö Ð Ò Ô ×× ÒØ Ø Ñ ÒÙ Ö Ð Ð Ø Ò ¸ Ñ Ø Ö Ð Ö × Ù ÓÔØ Ñ × ´ÅÝÖ Ò Ø¸ ÁÒ Ò Ò ¸ Ø Ø ÖÒ Ø¸ Ø ºµº È Ö ÐÐ Ð ×Ñ ÖÓ× Ö Ò× ´ÅÈÅ µ ◮ Ö ÐÐ Ñ Ò × Ñ Ò × ÒØ Ö ÓÒÒ Ø × Ú ÙÒ Ð Ò Ô ×× ÒØ Ø Ö Ò Ð Ø Ò º → ÔÔÐ Ø ÓÒ× ×ØÖ Ù × Ú Ô Ö ÐÐ Ð ×Ñ Ñ ÖÖ ×× ÒØ ´ Ñ Ö ×× Ò ÐÝ Ô Ö ÐРе ÓÑÑ Ë ÌÁ ÓÑ ¸ ÓÐ Ò ÓÑ Ú Ô Ù ÓÑÑÙÒ Ø ÓÒ× ◮ ÅÙÐØ ¹ÔÖÓ ×× ÙÖ ×ÝÑ ØÖ ÕÙ ´ËÝÑÑ ØÖ ÅÙÐØ ¹ÈÖÓ ××ÓÖ¸ ËÅȵ Ñ ÑÓ Ö Ô ÖØ ¸ Ù× ³ ÒØ Ö ÓÒÒ Ü ÓÒ ´ ÓÒØ ÒØ ÓÒ׸ Ö Ò Ò Ô ×× ÒØ µ ◮ ÈÖÓ ×× ÙÖ ÑÙÐØ ¹ ÙÖ ´ÑÙÐØ ¹ ÓÖ µ ÔÐÙ× ÙÖ× ÙÒ Ø Ð ÙÐ ×ÙÖ Ð Ñ Ñ ÔÙ Á Å ÈÓÛ Ö Ê ½ ÀÞ Ò ¾¼¼½ ¸ ÈÐ Ý×Ø Ø ÓÒ Ê ¿ Ò ¾¼¼
  • 195. ÓÑÑ ÒØ Ñ ×ÙÖ Ö Ð Ø ÑÔ× ³ Ü ÙØ ÓÒ × ÔÖÓ Ö ÑÑ × Pi ÔÖÓ ××Ù× ÔÓÙÖ i ∈ {¼, ..., P − ½} t(Pi ) Ø ÑÔ× ³ Ü ÙØ ÓÒ Ù i¹ Ñ ÔÖÓ ××Ù׸ Ñ ×Ô Ò ×ØÓÔ Ø Ñ ¹ ×Ø ÖØ Ø Ñ ÉÙ Ú ÙعÓÒ Ñ ×ÙÖ Ö ÓÑÑ Ø ÑÔ× ³ Ü ÙØ ÓÒ ³ÙÒ ÔÖÓ Ö ÑÑ Ô Ö ÐÐ Ð ◮ Ñ Òi∈{¼,...,P−½} t(Pi ) ´ÔÖÓ º Ð ÔÐÙ× Ö Ô µ ◮ Ñ Üi∈{¼,...,P−½} t(Pi ) ´ÔÖÓ º Ð ÔÐÙ× Ð Òص ◮ Ñ Üi∈{¼,...,P−½} t(Pi ) − Ñ Òi∈{¼,...,P−½} t(Pi ) ´Ð³ ÖØ Ø ÑÔ× ÒØÖ Ð × ÔÖÓ ºµ ÙÜ ØÝÔ × Ñ Ø Ó ◮ Å ×ÙÖ ÜØ ÖÒ ÓÒ ÙØ Ð × ÙÒ ÓÑÑ Ò ÍÆÁ »× ÐÐ ÓÑÑ Ø Ñ ¸ Ø Ñ × ´× Ðеº Ö Ñ Ò Ø Ñ × ÔÓÙÖ Ð Ñ ÒÙ Ð ◮ Å ×ÙÖ ÒØ ÖÒ ÓÒ Ó Ð³ ÒØ Ö ÙÖ Ù ÔÖÓ Ö ÑÑ Ò ÙØ Ð × ÒØ ØØ Ñ Ó Ý´µ ´ÍÆÁ µ ÓÙ Ñ ÙÜ Ò ÓÖ ÅÈÁ ÏØ Ñ ´µ
  • 196. Å ×ÙÖ ÜØ ÖÒ Ú Ø Ñ Ø Ø Ñ × Ö Ò ÅÈÁ ℄° Ø Ñ ÑÔ ÖÙÒ ¹ÒÔ ¾ ¹ Ó×Ø ÓÐÐ Ò ¸ ÐÐ Ñ Ò Ô ÅÓÒØ ÖÐÓ ¾ º Ü Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ½ Ú ½¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½½¿¼ ·¼¼ ÖÖ ÙÖ º ¾ ¿ ¹¼ Ô ÔÔÖÓ Ô Ö Ð ÔÖÓ º ¼ Ú ½¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½½¿¼ ·¼¼ ÖÖ ÙÖ º ¾ ¿ ¹¼ ÙÑÙÐ Ø ÓÒ ℄ Ô ÔÔÖÓ Ú ¾¼¼¼¼¼¼¼ ÔÓ ÒØ× ¿º½ ½½¿¼ ·¼¼ ÖÖ ÙÖ ³ ÔÔÖÓÜ Ñ Ø ÓÒ º ¾ ¿ ¹¼ Ö Ð ¼Ñ½ º½¿¿ × Ù× Ö ¼Ñ¼ º¼ ½ × ×Ý× ¼Ñ¼ º¼¿ × Ö Ò ÅÈÁ ℄° Ø Ñ × ÑÔ ÖÙÒ ¹ÒÔ ¾ ¹ Ó×Ø ÓÐÐ Ò ¸ ÐÐ Ñ Ò Ô ÅÓÒØ ÖÐÓ ¾ º Ü ¼Ñ¼ º¼ × ¼Ñ¼ º¼¾¼ × ¼Ñ½ º × ¼Ñ¼ º ¿¾ × Ñ Ð ÙÖ Ù× Ñ ÒØ Ô × ØÖ × ÔÖ × ±¼. × ¸ Ñ × ÙØ Ð ÔÓÙÖ Ð × ÔÖÓ Ö ÑÑ × Ð ÒØ׺ Ñ Ò Ø Ñ × Ù Ðع Ò × ÐÐ ÓÑÑ Ò
  • 197. Ä Ô Ö Ñ Ò × Ò× Ð × × ÐÐ × Ò ÓÖÑ Ø ÕÙ × ½ × = ½¿ ¾ ÙÖ׸ ¾º Ì Ñ ÑÓ Ö Ú Ú ◮ ´ ¼Üµ ÈÍ ÁÒØ Ð ÓÖ ¹¾ ¼¼ ÈÍ ¿º ¼ ÀÞ¸ Å Å ½¾ ◮ ´ ܵ ÈÍ ÁÒØ Ð ÓÖ ¹¿ ¼ ÈÍ ¿º ¼ ÀÞ¸ Å Å ½ ◮ ´ ¼Üµ ÈÍ ÁÒØ Ð ÓÒ ¿¹½¾ ¼ ξ ¿º ¼ ÀÞ¸ Å Å ½ Ó ü ÚÓ× ÔÖÓ Ø× Î Ð Ø ÓÒ × ÔÖÓ Ø× Ñ Ò ´¾¿ ÚÖ Ðµ ÓÒØ Ø Þ Ñ ÖÓ× ÓРܺÔÓÐÝØ Ò ÕÙ º Ö Ø Ð Ñ Ø ×ÓÙÑ ×× ÓÒ × ÔÖÓ Ø× Ú ÒØ ×ÓÙØ Ò Ò Ð ¾¾ Ñ ¾¼½ ´Ô Ö ÑÓÓ Ð µ
  • 198. ÓÒÒ ØÖ Ð × ×Ô Ø ÓÒ× × Ñ Ò Ò Ì ÑÓÖ »ÔÖÓ » ÔÙ Ò Ó ÔÖÓ ××ÓÖ ¼ Ú Ò ÓÖ ÒÙ Ò ÁÒØ Ð ÔÙ Ñ ÐÝ ÑÓ Ð ¼ ÑÓ Ð Ò Ñ ÁÒØ Ð´Êµ ÓҴʵ ÈÍ ¿¹½¾ ½ Ú¿ ¿º ¼ ÀÞ ×Ø ÔÔ Ò ¿ ÔÙ ÅÀÞ ¼¼º¼¼¼ × Þ ½ ¾ à ººº ÔÖÓ ××ÓÖ ººº
  • 199. ÓÒÒ ØÖ Ð × ×Ô Ø ÓÒ× × Ñ Ò Ò Ì È Ö Ü ÑÔÐ ¸ ×ÙÖ Ð Ñ Ò Ö Ò ¸ Ø Ô Þ Ð× ÔÙ Ö Ø ØÙÖ Ü ÈÍ ÓÔ ¹ ÑÓ ´×µ ¿¾¹ Ø ¸ ¹ Ø ÝØ ÇÖ Ö Ä ØØÐ Ò Ò ÈÍ ´×µ ¿¾ ÇÒ ¹ Ð Ò ÈÍ ´×µ Ð ×Ø ¼¹¿½ Ì Ö ´×µ Ô Ö ÓÖ ¾ ÓÖ ´×µ Ô Ö ×Ó Ø ËÓ Ø´×µ ¾ ÆÍÅ ÒÓ ´×µ ¾ Î Ò ÓÖ Á ÒÙ Ò ÁÒØ Ð ÈÍ Ñ ÐÝ ÅÓ Ð ËØ ÔÔ Ò ÈÍ ÅÀÞ ¾ ¿º ¼½ Ó ÓÅÁÈË ½ º ¾ Î ÖØÙ Ð Þ Ø ÓÒ ÎÌ ¹Ü Ľ ¿¾Ã Ľ ¿¾Ã ľ ¾ à Ŀ ¾¼ ¼ à ÆÍÅ ÒÓ ¼ ÈÍ ´×µ ¼¹ ¸½ ¹¾¿ ÆÍÅ ÒÓ ½ ÈÍ ´×µ ¹½ ¸¾ ¹¿½ ⇒ ¾ Ð×» ÙÖ Ô Ý× ÕÙ ´ ÙÖ ÐÓ ÕÙ Ú Ð Ø ÒÓÐÓ ÝÔ ÖØ Ö Ò µº ¿¾ ÙÖ×
  • 200. ÅÈÁ ÓÑÑÙÒ Ø ÓÒ×»ÓÔ Ö Ø ÓÒ× ÐÓ Ð × ◮ ÓÑÑÙÒ Ø ÓÒ× ÔÓ ÒØ ÔÓ ÒØ ¸ ÐÓÕÙ ÒØ ÓÙ ÒÓÒ¹ ÐÓÕÙ ÒØ ◮ Ù× ÓÒ ´ÙÒ Ú Ö× ØÓÙ×µ Ø Ö Ù Ø ÓÒ ´ØÓÙ× Ú Ö× ÙÒ Ù× ÓÒ ÒÚ Ö× µ ◮ Ù× ÓÒ Ô Ö×ÓÒÒ Ð × ¸ × ØØ Ö ◮ Ö ×× Ñ Ð Ñ ÒØ ´Ô Ö×ÓÒÒ Ð × µ¸ Ø Ö ◮ ×ÓÑÑ ÔÖ Ü ´Ö Ù Ø ÓÒµ¸ Ø ÓÔ Ö Ø ÓÒ× ÔÖ Ü × Ô Ö ÐРР׸ × Ò ◮ Ù× ÓÒ ØÓØ Ð ØÓÙ× Ú Ö× ØÓÙ׸ ØÓØ Ð Ü Ò ◮ Ù× ÓÒ ØÓØ Ð ØÓÙ× Ú Ö× ØÓÙ× Ô Ö×ÓÒÒ Ð × ¸ Ð ÓÑÑ Ö ◮ ÔÐ Ò ³ ÙØÖ × ÑÓ × Ò× ÅÈÁ ÜÔÐÓÖ Ö Ð Ó ÙÑ ÒØ Ø ÓÒ ³ÇÔ ÒÅÈÁ