48

Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

������������ ������� �� ����������� ������ � �� �� ����!#"$�����&%������('$)*�,+-�/.�0)*�/ ��

���2134)5�6�7�8�:9�;)7��<�

=�>@?BA CEDGFIHJ>LK0F@F*>*KNMPOJQ@RTSJUTO4V7W@XY[Z@?\CEDGFI][C;D^F@?�_@`aFbM�OJQ@RJSTUTO4V7S@X

cd>ae�faFgV7W0h�STOTOJi

Page 2: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

j �)*�k�0)*�l ��

m n epo5qsr/ZLtuZLC;CEKgvwo@exC^ydfLrzCaZ5{|fE>*f*FLC}?\Ca?\o�e�~�_5{�rkA�rz�;>5{�rzo4Z�rkZc3o�K@C*ePZ�]�>5{�>��*>LD�C���~LD�{�C*?�D

m ]�r � C*e�C*ZL{����@�*e�o@>LfaFLC;D� �a���������P�;���,��� �;����������� �¡�p¢P£-���¤¢¤��£��P�� ¥@� ¦b§ �¤¨��;��¢ª©/��£T����¢,�[£����P��£����� «��G¬�§ � ��� ¢�­���®*��£/����¯:��©@�;¬���£���¢p��£°����¢0�¤¬������ ±;��¬�������¢��

Page 3: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

² �� 4³I����!´������µ&�� ¡���@¶(���/���4)b�ª�����¸·4)a��+-�/.�4)a�/ ��

m ¹�º Y»DG�JCEC;K@D¼F*>5½LCd�JC;CaZgr/ZLf*e�CE>*D�r/ZLtg>L{�>g?�_LfaFBv >*D�{�Cae�e,>5{�C{�F*>@Zg?�C*?�o@ep~¾DG�TC;CEK@D

m ¹ o4ZLfaA�_LDGr o4Z�¿�r/?��ae�oa½Tr/ZLt}f7>LfaFLCd�TC*F*>L½Tr o�e�rzD�tToªr/ZLt3{�oI�TC�>@Zrk?B�JCae�>L{�r ½LCÀ{�>*DG`3r/Zg?�>@rkZg?�C*?�o@ep~¾K�>5{�>��ae�o�f;CED�DGrkZLt

Page 4: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

"$����� j ���< ¡���/���

m ��?�>@AkA/h4v >LD�{���Á��|cÂ?�C*?�o@e¤r CED|{�F*>5{\rk?B�*e�oJ½LC3�TC*epvwo@eP?�>�ZLf;C}�;~FLo4A K4r/ZLtIe�C;fEC*Z5{�A ~�e�C^vwCae�C*ZLfEC;KIK�>5{�>

m c3C*?�o@ep~�e�C;vwC*e�C*ZLfECT¿ ¹ >LfaFLC}ÃÄr {Gh ¹ >*f*FLCgcgr D�Dm º >ae,>@?�C^{�CaepDE¿

� �a��¬������ ¢-¨� Å § �G��Æ�� � Ç���ÈÉ���������:§ ������Ê� Ë������G��� ��¢w� Ì�� ¢-¨

Page 5: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

"$�����8�� ����5�0�l �·��Í����µ��JÎ(�;)J��·��@)J·������

m ¹ >*f*FLCB�ªCaZLD�r {�r ½LCB�ªC7>ae�f*FbM ¹ �0��X�{�e�C;CED� «^���������G�����P�;��¢����z���0�;��§ ¨[Ƥ�¤¨������������¬��G����¢���£°�� ¥T�G���P���£����p¢���£�����§ �¤Ì���§7­P¨[§ �¤Ì���§�©�£°�;Ï<§ �¤©�¢4¢��Уl� ¯;��¢� Ë�£/� ¢P��Ï��¤¢w� ���;¬���£���¢ � �^�����;�¡��®L�,�¤¢p��¢p��±L���[������§ �Ð���G���P�� Å �¤¢�¢,��£JÑE����£k���ÄÒ;��£�©/��£-Ï��G�����¡�G���Ä�*��������§ �����¡��¢ ��§ � ÇP��¢ � �;� ¢P������ÓªÔ7Õ�ÖT£����P�� ×z����£���Ï�����¢��G§7��¬�����¢��P���^� Ø�����§ ¢4�����P��� ¢���­�§ ��©k��£0Ù�Ñ;Ñ�¦���£-Æ�§ ���������^��§ ¨

Page 6: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

"s �� � ����/�7 ��Ú6 �@)�³¾�����´Û$Ü[Ý;Þ¼�����8¡��µß"$�[�àÞÀ�����

m ¹ >*f*FLC}A°r/ZLC¼D�rz�^C5á3V5SI�;~5{�CED^h�=:C^~¾DGr �;C7á º oªrkZ5{�Cae:D�rz�^C5á�WN�;~5{�C;Dm �4CE>ae�f*F�`GC^~aáÀR

Page 7: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

"$�����â������J��)*����&ã Ü Ý;Þ¼�����

m n o@>@A� äL�¤¢����z��¯����G�Ä����������­�������Ì�� �;��£*��©ª�aÑ;Ñ^Õ�ÖT£����P�0¦�����§ � ��¢4¢P��� ���GÏ�� ¢ ��Ï��­�������¯��G­�§ ��¢����P��¬�¬���£°¢�������£k��Ï�����¢,��§E��¬�����¢��P�

� Ö���� �0¦��P¨[� ¢ª¦���§ §E­��:���,�¤©p��§G� Ì����¡©/��£ª���;��Õ Ù�ÑEÑ[¦���£-Æ�§ �������m å K@C7>

� æJ����ÒE��£°¢w� ��§7Ò^�G����¢���£ª«5§ �zÏ��z����¢ � �^�¡ÖL�P������� çE���� è@��Ì���©/�¤¦���£ª¬�������¢,��£�� ¬���£����G��� ¢¤���G�¡�ÄÓ4ÔEÕpÖJ£k�P������Ï���£����P¬����P� ©/��£ªÆ¤�¤¨��� æJ����§ ��Ï�� ¢�������Ï��^����¢0��©���£/� ¢¤��Ï��¤¢ � ���;�¡��®L�,�¤¢p��¢p�[�P�^Ï¡¬���������¢�� ©/��£ª§ �P�������Ï¡­���£a��©�¬��G����¢,��£°�

m �ª{�e¤_Lf;{�_@epC� ÒJ��¢0�G§ §�������§ �Ä���^���¤����©��x¯G� Ì��������G���¡���x�Äé�ê^ë�ì�íaî/êGï�ð� Ñ^¢p��£������G���P�0¦�� ¢P���z�¡�����G����¯^£°�;��¬:�P�;��¢w� ¯;���;���P§ ¨x���������,����®L�,�¤¢��£/� ¢¤��Ï��¤¢ � �©/��£T�������P���

Page 8: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

Û$Ü�Ý^Þ¼�����òñ¾�Í"$�sÛ\Ü[Ý;ÞÀ�����

m ¹ >*f*FLC}A°r/ZLC¼D�rz�^C5á3ó�o�K@C�D�rz�^C5áÀiJWu�;~5{�CEDm =xC;~3>@ZLKgfaFTrkA KN�To�r/Z5{�CaexCE>*f*F3o�fEf*_@�;~¾Wu�;~5{�C;Dm =xC;~LD��JCae�ZLo�K@CÀvwo@eÐô�õ�ö�÷�epCEC7áÀøm =xC;~LD��JCae�ZLo�K@CÀvwo@e ¹ ��ô õ ö�÷:e�C;C5á3V7Wm å Z ¹ ��ô�õ�ö�÷:e�C;CED^h�Z@_@?B�JCaexoJv:f7>LfaFLC}A°r/ZLCED�{�ou�JC¼D�C7>ae�f*FLCEKb>JepCvwCGq[Cae

Page 9: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ù Î�¡� � +��»"$�sÛ\Ü[Ý;ÞÀ�����

incremental updates of B+-Trees. We achieve thisgoal by balancing the best features of the two indexstructures. Our tree structure, which we call aCSB+-Tree, is similar to a B+-Tree in the way ithandles updates. However, a CSB+-Tree has fewerpointers per node than a B+-Tree. By having fewerpointers per node, we have more room for keys andhence better cache performance.

We get away with fewer pointers by using alimited amount of arithmetic on array offsets,together with the pointers, to identify child nodes.For simplicity of presentation, we initially presenta version of CSB+-Trees in which a node containsexactly one pointer. Sometimes we simply use theterm CSB+-Tree to refer to this version when thecontext is clear. In Section 3.2 we will describevariants with more pointers per node. The numberof pointers per node is a parameter that can betuned to obtain good performance under particularworkloads. We describe another variant of CSB+-Trees that further reduces split cost in Section 3.3.

3.1 Cache Sensitive B+-Trees with OneChild Pointer

A CSB+-Tree is a balanced multi-way search tree.Every node in a CSB+-Tree of order d containsm keys, where d <= m <= 2d. A CSB+-Treeputs all the child nodes of any given node into anode group. Nodes within a node group are storedcontiguously and can be accessed using an offsetto the first node in the group.1 Each internalnode in a CSB+-Tree has the following structure:

nKeys :number of keys in the nodefirstChild :pointer to the first child nodekeyList[2d] :a list of keys.

Each leaf node stores a list of <key, tuple ID> pairs,the number of these pairs, and two sibling pointers.2

Since a CSB+-Tree node needs to store just onechild pointer explicitly, it can store more keys pernode than a B+-Tree. For example, if the node size(and cache line size) is 64 bytes and a key and achild pointer each occupies 4 bytes, then a B+-Treecan only hold 7 keys per node whereas a CSB+-Treecan have 14 keys per node. This gives CSB+-Treetwo kinds of benefit: (a) a cache line can satisfy(almost) one more level of comparisons and thus thenumber of cache lines needed for a search is fewer;(b) the fan out of each node is larger, which means

1[O’N92] also considers grouping nodes together in a disk-based B+-Tree to improve I/O performance.

2see Section 5 for further discussion of how leaf nodes canbe implemented.

it uses less space. Figure 2 shows a CSB+-Tree oforder 1. Each dashed box represents a node group.The arrows from the internal nodes represent thefirst child pointers. All the nodes within a nodegroup are physically adjacent to each other. Inthis example, a node group can have no more thanthree nodes within it. Note that grouping is just aphysical ordering property, and does not have anyassociated space overhead.

2 3

25

30

5 7 12 13 16 19 20 22 24 25 27 30 31 33 36 39

3 13 19

22

33

7

Figure 2: A CSB+-Tree of Order 1

3.1.1 Operations on a CSB+-Tree

In this section, we consider bulkload, search, insertand delete operations on CSB+-Trees.

Bulkload. A typical bulkloading algorithm forB+-Trees is to keep inserting sorted leaf entries intothe rightmost path from the root. However, thismethod can be expensive if used for CSB+-Treessince nodes in the same node group are not createdsequentially. A more efficient bulkloading methodfor CSB+-Trees is to build the index structure levelby level. We allocate space for all the leaf entries.We then calculate how many nodes are needed inthe higher level and then allocate a continuouschunk of space for all the nodes in this level. Wethen fill in the entries of nodes in the higher levelby copying the largest value in each node in thelower level. We also set the first child pointer ineach higher level node. We repeat the process untilthe higher level has only one node and this node isdesignated as the root. Since all the nodes in thesame level are contiguous when they are created, wedon’t have to do any additional copying to form anode group.

Search. Searching a CSB+-Tree is similar tosearching a B+-Tree. Once we have determinedthe rightmost key K in the node that is smallerthan the search key, we simply add the offset of K

to the first-child pointer to get the address of thechild node. (For values less than or equal to theleftmost key, the offset is 0.) So, for example, if

478

Page 10: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ú � ����0)*�/ ����b ��û"$�sÛ\Ü[Ý;Þ¼�����

m ô�_@A�`aA oT>*K� Ë�§ § �G����¢,���P¬����P� ©/��£ª§ ����©@����¢¤£l� �P�� �a��§ ����§ ��¢��x����¦�Ï�����¨����G���P���£������P�������[��¢ ��� ¯;����£�§ � Ì���§G�����[��§ § �G����¢,�¢P����Ï��P�^��¢ � ¯;���;���¤§ ¨

� ü^��§ §^�z��¢¤��������¢P£/� �¤���¢ ��� ¯^����£�§ �¤Ì���§��G¬�¬�£��^¬�£/� ��¢,��§ ¨¡�G�����,�¤¢0±L£°�p¢�����z§ �¬��G����¢���£°�

� �*�^��¢ ��������¦�� ¢¤��¢P��� �,��Ï���¬�£°�G���P�p�¡����¢w��§��;��§ ¨x�^�������G����£���Ï����������°ý ��þL£°����¢m �4CE>ae�f*F

� Ñ5�zÏ���§ ��£5¢�� Å Ô Õ�ÖT£������,����£����:��§ ¯���£/� ¢P��Ï� ÿ��G����¢���£/� ¯;��¢¤Ï����p¢ Ƥ�¤¨����z��¢¤���:���^����¢¤����¢� �0�PÏ���§ § ��£L¢P������¢¤��� �,����£����Ƥ�¤¨:�����[������¢P��� ��®L�,�¤¢���©��\¢���¢¤����±L£���¢������§ �Ĭ�������¢,��£L¢���¯��¤¢0¢¤��������E£��P������©T¢P���������z§ �Ð���G���

Page 11: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ú � ����0)*�/ ����b ��û"$�sÛ\Ü[Ý;Þ¼����� ��� �� ��4)Eµ �

m å ZLD�C*ep{�r o4Z� Ë�¯������¡� ��Ï���§ ��£L¢p� Å Ô7Õ�ÖT£����x�z���,��£�¢ � �^�x��§ ¯��G£/� ¢¤��Ï� Ò7�,��������Õ��P�G���� ÑE�P��£����¡¢¤���:§ ����©4���G������¢��������,��£°¢ª¢P��������¢¤£°¨� × ©���� � ����¢4©���§ §�¢P�����������,��£�¢4¢¤���:���¤¦3����¢P£�¨�����¢p�:¢¤�����G¬�¬�£°�;¬�£/� ��¢��x¬�§ ������ �0¢P����£�¦�� �,� �P¬�§ � ¢��Gý�ÿ��¤¢ ¬[­�� ¢¤���:¬���£�����¢ ���G��� ��©0�GþG©0­�� ¢¤����±*£°�p¢�������§ �¬��G����¢���£T���[¬x������¯�­�� ¢¤���:���G����¯^£��^��¬�¬�������¢,�P��¢p��­¤¨¡©�ý

� � ��� �� ���������� �������� ��������! "�#�"$&%' �()�* ���+ � �'�,��� �) -�.(/�0 ���1�����2)3��������� �������$4%� � ��� ������� ���������+��5�� �6���/ !�#�"$&%�2'3��7������� ����#�"$&%�298:��� �;�����" ���1�� �<=����������"5�������<>1? � @�#�@5��)5*A���B��

Page 12: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

C ���7���P)*�/ ��»�JÎ ¡� � +k�

Page 13: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

C ���7���P)*�/ ��»�JÎ ¡� � +k�

Page 14: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ú � ����0)*�/ ����b ��û"$�sÛ\Ü[Ý;Þ¼����� ��� �� ��4)Eµ �

m ][C*A C^{�r o4Z� è@�����E§ �������¡�¡¦��P¨:�w��Ï���§ ��£5¢��������,��£°¢w� �;�� ÿ���Ç ¨�����§ �¤¢ � �;��Õ�ÿ��G����¢,��¢P��������¢,�x����¢¤£°¨�þ*£���Ï���Ì��:� ¢�­���¢����^�ED ¢£��P�p¢¤£É��� ¢P��£�� ¢P����¢¤£����

Page 15: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

����!��<���4)E��µà"\�|Û\Ü�Ý^Þ¼�����

m º e�o4�@A Ca?¾¿ å ZLf*e�CE>*D�CdrkZg?�>4F�r/?�_@? DGr �;C�oav:{�FLCdZLo�K@C¼t4e�oª_@�¾K0_LC{�oIrkZLfaepC7>LD�Cdr/Z¾fE>*f*FLC}A°r/ZLC¼D�rz�^C}?�CE>�ZLD�?\o�epC¼fEo4�;~TrkZLt}oJv�K�>5{�>rkZ¾f7>LD�C¼oJv�DG�@A�r {

m �4oªAk_5{�rzoªZ�¿|]�r ½TrzK@CÀ{�FLC¼faFTrkA KNZLo�K@CED�r/Z5{�o�D�C;t4?�C*Z5{�D;hD�{�o@e�CdrkZCE>*f*F�ZLo�K@Cd�Joªr/Z5{�C*e�D�{�o�D�CEt4?\CaZ5{�D$>�ZLK�o4Z@A ~BfaFTrkA KNZLo�K@CED�r/Z{�FLC¼D�>�?\C�D�CEtª?�C*Z5{s>ae�C¼D�{�o�epCEK�f;o4Z5{�rzt4_Loª_*DGA ~

Page 16: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

����!��<���4)E��µà"\�|Û\Ü�Ý^Þ¼�����

m ÷:e�CEC¼oav�o@e�K@Cae:S¾q$r {�FdSdD�C;t4?�C*Z5{�D

Page 17: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ñ¼����l��4)7�b ��B�Ð"$�sÛ\Ü[Ý;Þ¼�����

m ÷[q[od½*>Je r�>@Z5{�D�oJv�� ¹ ��ô�õ�ö�÷:e�C;CT¿m G r FaCEK���rz�^CB�4C;t4?\CaZ5{�D

� Ñ^¢���£�¢ ­¤¨¡±L§ § �z��¯x¢¤���:���G���P������¢P����±L£°�p¢��,�P¯^Ï�����¢0¢ ��§ §G� ¢� �4©p��§ §� Ö������¡±L§ §�¢¤���:���^���¤�����¡�����P�;���[�,�¤¯;Ï�����¢�þ^¢¤��� ��£k�PçE����£��P��¤�;¬¤¨��z��¯����G���¤�����¢P��� �0�,�¤¯;Ï�����¢��;��§ ¨

m H >aep~Tr/ZLt���r �;C��4CEt4?\CaZ5{�D� ü���£ª­���§ Æ�§ �����7þG�^� �p¢P£/��­���¢��¡���G���P��¤Ì�����§ ¨:�GÏ��^��¯�¢P��� �,�¤¯;Ï�����¢��� ���x�¤Ì���£�¨Ä���¤¦����G���¡�����,��£�¢w� �;�Gþ^��£�����¢,�������¤¦3���P¯;Ï�����¢0©k��£J¢¤��� �,�P¯^Ï ����¢¢��:¦���� ����¢¤���:���¤¦����G���:­���§ �;��¯��

� Ö5�^�������P���;��§ ¨¡�;�����,�¤¯;Ï�����¢����¡���������z���,��£�¢������;¬�¬����,����¢p��¢¤����±G�����[�w� Ç��Ì���£/� ����¢

Page 18: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

I ·�+�+�"$�sÛ\Ü[Ý;Þ¼�����

m Ã�rztTC*exv�epC4J0_LC*ZLf;~3oJvÄ?�C*?�o@ep~3>�A�A o�fE>L{�r o4Z3>@ZLKgK@CE>�A�A o�fE>L{�rzoªZfE>�A�A D�rkZ ¹ ��ô�õ�ö�÷�e�C;CED�r Ds>g�aepo4�@A C*?

m ��ZLoa{�FLCae�>@�@�ae�oT>*f*F�rzD�{�oI�ae�CGö�>@AkA o�fE>L{�C3?�C*?�o@ep~Bvwo�e¡CaZ5{�rke�CZLo�K@C¼tªe�o4_@�

m ���*>LfECGö�{�rk?�CÀ{�e,>LK@CEoJ��¿� ¥T�G�����P¬�§ � ¢���[ü^��§ §^�aÑ Å Ô7Õ�ÖT£����x� ���¤Ø���� ����¢4¢P�����[����£-Ï��G§;�*Ñ Å Ô7Õ�ÖT£����� Ö���� �� Ø���� �����¤¨:�P�;Ï��¤����¢4¢¤����� �G¬������,����©0¬�£��¤Õ���§ § �G����¢,���:�P¬������

Page 19: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

C � � +����<���4)70)*�/ ��»µ��@)5 ��+k�

m ó:o�K@C�D�rz�^C¾á ¹ >*f*FLC}A�rkZLC¼D�rz�^C5áÀiJWu�;~5{�CEDm =xC;~¾D�rz�^C5á º oªr/Z5{�C*e�D�rz�^C5á WI�;~5{�CEDm G o�e ¹ �0�u{�e�C;CED;¿sV5iI`�C^~LDÀ�JC*eÄZLo�K@Cm G o�eÐô õ ö�÷�epCECED;¿ å Z5{�CaePZ*>@AZLo�K@C¼øI`�C;~LD^h-KdfaFTrkA KN�To�r/Z5{�CaepD$>@ZLKZ@_@?��TC*e:oavÐ`�C;~LD�_LD�CEK

m G o�e ¹ ��ô¡õö�÷�epCEC;DE¿ å Z5{�Cae¤Z*>�A�ZLo�K@C}V7WI`GC^~LD^hML�e�D�{�faFTr/A K<�JoªrkZ5{�Cae>@ZLKNZ@_@?��TC*e:oavÐ`�C;~LD�_LD�CEK

Page 20: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

N ·����8���ª������ N ���¤�� ¡���<¡����� ² �� � �

m ÷|r/?\CÀvwo@e:SJOTO4=»D�C7>aepfaFLCEDm ô õ ö�÷�epCEC;Ds>ae�Cd?\o�epCÀ{�F*>�Z3SJQ�O D^A o5q[Cae¡{�F*>�Z ¹ ��ô õ ö�÷:e�C;C

Page 21: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ù Î � �������<���4)E�I �� �E)7¡6 ��+-�/.@��µà����µ��Jθ�E)J��·��@)T·����ª�^ÝE���ª������

m �4C;t4?\CaZ5{�CEK ¹ ��ô õ ö�÷�e�C;C¼D�C7>aepfaF3D^A o5q[C*ex{�F*>@Z ¹ ��ô õ ö�÷�e�C;C�JCEfE>�_LD�CT¿l�ae�>�ZLf*FTr/ZLt�v >*f^{�o�exoav:vwo@eP?�C*e[rzD�A CED�D¼M�c3o@e�CÀf7>LfaFLC?¼rzD�D�C;D�X¼h�C:F*{�e,>¾fEo4?��*>ae¤r D�o4ZLD�ZLC;CEK@CEKg{�o�f*F*o�oJD�Cde¤r t4F5{D�CEtª?�C*Z5{

Page 22: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ù Î � �������<���4)E�I �� �E)7¡6 ��+-�/.@��µà����µ��Jθ�E)J��·��@)T·����ª�^ÝJ1¾��+��@)7�

m ô�C;f7>@_LD�C¼oJvÐA >*�G~¾K@C*A C;{�r o4Z�?\oTD�{�oJvx{�FLC¼{�rk?�C3rzD|DG�JCaZ5{\r/ZA o�f7>5{�r/ZLtd{�F*CdepCEfEo@e�K�h�D�o�K@C*A C;{�C}�JCae�vwo�e¤?�>@ZLfEC¼DGrk?�rkAz>ae¡{�oD�C7>aepfaF)P

Page 23: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ù Î � �������<���4)E�I �� �E)7¡6 ��+-�/.@��µà����µ��Jθ�E)J��·��@)T·����ª�^Ý C ���7���P)

m ¹ ��ô õ ö�÷:e�CEC;Ds>ae�C�q[o�e�D�C¼{�F*>@Zbô õ ö�÷�e�C;CED�vwo@e�r/ZLD�Caep{�r o4Z��JCEf7>@_LD�CoJvx{�FLC¼D^�@A°r {�f;oTD�{

m � ¹ ��ô õ ö�÷:e�CEC;D�e�C;K0_LfEC�DG�@A�r {�fEoTD�{�D�o�tªr ½LC¾r/Z5{�C*eP?\CEK4r�>5{�C�JCae�vwo�e¤?�>@ZLfEC

m ô�õ�ö�÷�epCEC;D�F*>5½LC�{�o�>�A�A o�fE>L{�C¼>gZLCGqRQTS"UMVgo4ZBC^½LCaep~BD^�@A°r {Äq$FTr/A CG _�A�A ¹ ��ô õ ö�÷�epCEC;D$?�>�`�C�>�A�A o�fE>L{�rzoªZ�q\FLC*ZWQTS"UTVYX!Z�S![-\brzDÄv�_@A�A�P

Page 24: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

"s �����+�·��a�/ ��

m G _�A�A ¹ � ô õ ö�÷�epCEC;Ds>ae�Cd�JC;{�{�C*e:{�F*>@Zbô õ ö�÷�epCECED\r/Z3>@AkA�>*DG�JCEf^{�DC:FafEC*�5{�vwo@e¡D^�*>LfEC

m å ZgA°r/?¼r {�CEKgD^�*>LfEC¼CaZ5½Trke�o4Z@?\CaZ5{ ¹ ��ô�õ�ö�÷:e�C;CEDs>@ZLK��4C;t4?�C*Z5{�CEK¹ ��ô õ ö�÷:e�CEC;D��aepoJ½TrzK@C�v >*D�{�CaexD�C7>ae�f*FLCED�q\FTrkA C¼D�{�rkAkA�JC*rkZLtg>��@A C{�o�DG_@�@�Jo�e�{\r/ZLf*e�Ca?\CaZ5{�>@A�_@�JK�>L{�C;D

m ��_Tr {�>��@A CÀvwo�ex>��@�@A°rzfE>L{�rzoªZLD�A°r/`�C}]�rztªr {�>�A�A�rk�ae,>ae rzCED^h-]ÀZ@A°r/ZLCDGFLo4�@�Tr/ZLt*öÐ�4C7>ae�f*FTr/ZLtu?B_Lf*F�?\o�e�CÀv�epC4J0_LC*Z5{�{�F*>@Zg_@�JK�>L{�C;D

Page 25: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

^�CE>L½Tr/ZLtuÁ�C*Az>5{�rzo4ZLD�vwo�e ¹ >LfaFLC º Cae�vwo�eP?�>@ZLfEC

Page 26: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

j �)*�k�0)*�l ����� ¡��µ��@���/�a����! ���T³ µ¡4)5Ú+k�9ª �·4)N�< :µ���+

m cd>Tr/Z º epo4�@A C*? ô�C*rkZLtd��K@K0e�C;D�D�CEK¿`_aQMbdcfehg�Z�eji9k4l�S!QfSjgmU-e'knek4Z�e�Q)opg�V�Z�Z*V)UqknSri;eji)sjVtldou[jonV;g?[Mb"g�S�ZvkwsjVtx"[jV�Z�c

m å AkA ö�C;��CEf^{�D|f7>@_LD�C;K<�;~B{�FLCd�aepo4�@A C*?3¿� y\���p¢,��¯�� ��©0­��G����¦�� ��¢¤�� Ò^�;§ § ��¢ ����¯x¢¤�������������� zx�P¨�£k�¤�P��§ ¢�����£���¬�§ ��������¯Ä���,� ©p��§;����©k�G£-Ï���¢ � �^�

Page 27: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

� �&��+�+�·��;)T��0)*����8�JÎ�¡� � +��

m c3oTD�{ÄqsrzK@C*A ~g_LD�C;KÍóxö�>ae�~¾�ª{�o�e�>*tTC}c3o�K@CaAM�ó���cdX�D�{�o@e�C;DepCaAz>5{�rzoªZ'{�D�e�C;fEo@e�K@DsD�C4J0_LC*Z5{�r�>@AkA ~�r/Z¾DGA oJ{�{�C;KbK4r D^`d�*>LtTCED

m �0>@?��@A C}|�_LCaep~�¿m D�CaA CEf^{ÀZ*>@?\CÀv�e�o4? Á<q$FLCae�CB>LtTCW~ W@Om Á�CaAz>5{�rzoªZbÁòfEo4Z5{�>Tr/ZLD�{�F@epCECB>5{�{Ge r/�@_5{�C;D$�0� óÐh¡ó�>�?\CB>@ZLKg��tTCm G o�e¡{�FLC�>��JoJ½LC�J0_LC*ep~B{�FLC�ó���cÂ?�o�K@C*AF*>*D\r/Z5vwCae rzo@exf7>LfaFLC�JCae�vwo�e¤?�>@ZLfECÀ{�F*>L{$rzD�D^FLo7q\Z�r/ZB{�FLCdZLCEF*{�D^A°rzK@C

Page 28: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

� � j �ª�����(6 ��0���/ �·��

Page 29: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

13� j ù Î ¡� � +��

Page 30: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

1¾���� �� � ��a��)*�/ ��¸�:)E ¡���!�� j :µ���+��L13� j��

m G _�A�A ~¾K@C;fEo4?��JoTD�CEK�vwo@eP? oJv H C*ep{�rzfE>�A º >aep{�r {�rzo4ZTrkZ*tm º >aep{�r {�rzo4ZLDs>@ZgZ7ö�>L{�{�e r/�@_5{�Cde�C*Az>5{�rzo4Z�r/Z5{�oIZ¾D^_@�7ö�e�CaA >L{�r o4ZLDm � >*f*F3DG_@�7ö�epCaA >L{�rzoªZ¾fEo4Z5{�>Tr/ZLD�{ q�o�>5{�{�e¤rk�@_5{�CED;¿Ä>gA oTtªr f7>@A�e�C;fEo@e�Kr K�>�ZLK}{GFLC�>5{�{�e¤r/�@_5{�CÀ½*>�A�_LC

m ��_@�7ö�e�C*Az>5{�rzo4ZLDs>aepC¼D�{�o@e�C;Kb>*D�e�CEtª_@Az>ae�epCaAz>5{�rzo4ZLD�rkZ¾D^A oJ{�{�CEK�*>LtTCED

m ��KT½*>@Z5{�>LtTCED;¿� è�� ¯;�:���P¯;£�������©@�P¬���¢ � ��§E§ �^�P�G§ � ¢-¨�©/��£J�,��çE������¢w� ��§��������¤�����©��G�x��¢p¢¤£l�z­���¢,�� Å �¤¢�¢,��£ª× �?�g�����Ä�a�������:¬���£�©k�G£-Ï��������

m ]�r D�>LKT½*>�Z5{�>LtTCJ¿� Ò;��£�©/��£-Ï��G���P�¡� � ¯;��� ±;������¢P§ ¨¡���¤¢,��£l� �G£���¢,�¤�0©/��£TçE����£/� �P���z��Ì��;§ Ì�����¯ÄÏ¡��§ ¢w��¬�§ ���¢p¢¤£l�z­���¢,�P�ª©k�G£T�P�����[¬���£�¢ � ����¬���¢ �z��¯Ä£���§ ��¢w� �;�

Page 31: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

N ��P)*��)a�/ �� � );)J����6�·4)E��� � ���� �5�r� N �����

m å K@C7>�r D�{�ou`�CEC*�3{�FLC�>5{�{�e¤r/�@_5{�CÀ½*>�A�_LCED�oJv�CE>*f*F�e�C;fEo@e�K�o4Z�{�F*CD�>�?\Cd�*>*tJC�>LD�r/Zgó���c q$FTr/A Cd_LD�r/ZLtg>¾f7>LfaFLCGö�v�e rzCaZLK0A ~>@A tTo@e¤r {�F@?àvwo�e[�@Az>Lf*rkZ*td{�FLCa? r/ZLD�rzK@CÀ{�FLCd�*>*tTC

m H Cae�{�rzf7>@AkA ~��*>aep{�r {�r o4Zge�C;fEo@e�K@D�qsr {�FTrkZ��*>LtTCJh0D�{�o�e¤rkZLt}{�oTtTC^{GFLC*e½*>@Ak_LC;D|oJv:C7>LfaF3>L{�{�e r/�@_5{�CdrkZ3>g?�rkZTr/�*>LtTC

m ��KT½*>@Z5{�>LtTCED;¿� Ï�������Ï�� Ç��P������¢���£�Õ £����¤�G£����P¬���¢ � �G§;§ �G����§ � ¢-¨�¢P��������Ï¡¬�£°��Ì�����¯����������¬���£�©/��£-Ï �������

� Ï�������Ï���§;£����P��£��|£����¤�;���p¢¤£É��� ¢ � �^�:�P���p¢� ��£�¢P����¯��;����§�¢��:��¢P����£J���P�w� ¯;�¡������� � � �;���0����� ¢4��®*�P�¤¢��0�^��§ ¨�¢P��� ����¢,��¦� ¢¤�������¬���¯��

m ÷sFLCÀvwoªAkA o7qsr/ZLt}DGA�rzK@C¼DGFLo5qÐD|{�FLC¼f7>LfaFLCd�TC*F*>L½Tr o4_@e¡oJv º ���

Page 32: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

"$�����&Ûs���0���/ �·��� �� N����

Page 33: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

� � �JÎ�¡� � +�� N���� � ! �

Page 34: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

1¾���a�/!�� �� N ! �»��� N ���

m G o�exD�{�o�e¤rkZLtg>ge�CaA >L{�r o4Z¾oJv:K�C;t4epCEC}Z�h º ���´�*>aep{�r {�rzo4ZLD�{�FLCd�*>LtTCrkZ5{�ouZg?�rkZTr/�*>LtTCED

m º >LtTC}Ã:C7>LK@CaexfEo4Z5{�>Tr/ZLD��Joªr/Z5{�C*e�D�{�ou�JCEtªrkZTr/ZLt�oav�C7>LfaF?¼r/ZTrk�a>LtTCah�Z@_@?��TC*e�oJvx>L{�{�e r/�@_5{�CED^h4{�FLCÀ>L{�{�e r/�@_5{�C�D�rz�^CED^h�f*_@ePe�C*Z5{Z@_@?��TC*e:oavÐepCEfEo@e�K@DsoªZB{�FLC}�*>LtTC¼>�ZLK}v�e�CEC¼DG�*>*f;CB>L½*>Tr/A >��@A C

m G r FaCEKNA CaZLta{�Fd>5{�{�e¤r/�@_5{�C;D$>ae�C¼D�{�o�epCEKNr/Z G ö�?�rkZTr/�*>LtTCEDnP[÷sFLC¼C*ZLKoJv G ö�?¼r/ZTrk�*>*tTC3F*>LD��aepCED�CaZLf;Cg�Tr {нLCEf;{�o@e

m H >ae¤r�>@�@A CdA CaZLtJ{�F3>L{�{�e r/�@_5{�C;D$>ae�C¼D�{�o�epCEKNr/Z H ö�?�rkZTr/�*>LtTCEDnP÷sFLCED�CB>aepC¼D^A oJ{�{�CEK�qsr {�Fg�Joªr/Z5{�C*e�D|{�od{�FLC�C*ZLK�oJv:C7>LfaFB½*>�A�_*C

Page 35: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

130)7 j �� � � ·�+k0)a�/ �� � +�!� �����)J���<�

m ô�_@A�`^ö�A o@>LK4r/ZLt}>�ZLK å ZLD�Cae�{�rzo4ZLD� Ë�§ § �G����¢,� ��������Ï�������¬���¯����;�¡¢¤���:¬���¯���­����,�����;�:��¢p¢¤£/��­���¢,�Ì��G§ ��� � � ÇP�� ×z���,��£�¢p��£k�P�P��£�����­P¨:�¤�;¬P¨��z��¯[���¤¢¤���G§�Ì���§ ����¢p�[�������[Ï�������¬���¯��� y¾������Ì���£/� ��­�§ ��§ ����¯�¢¤��Ì��G§ ���P�4��£��¡¬�£��P�,����¢Pþ7Ï��z����¬���¯���­��^��������£/� �P����P���x¢p�­��������,���p¢,�P��¢p�[�����P�^Ï��^����¢,��£����¤�G£��������0¢P��� ¨:��£��x�����,��£°¢����Ä����¢P���:¬���¯��

� Ò�Ë��3����§ ����§ ��¢��P�ª¢P���:¬���� � ¢w� �;����©��������:��¢p¢¤£/��­���¢,�Ì��G§ ��� ��©T¢P���:¬���¯���þ�p¢p��£k�¤�¢¤����Ì��G§ �����G���Ð��¬�����¢,�P�ª¢P���:­�� ¢¤Ï��G¬��0��������®L���¤¢��£-£��P¨����¬�¬�£°�;¬�£/� ��¢,��§ ¨

m Y[�JK�>L{�r o4ZLD� ü^������¢¤���:¬���� � ¢ � �;����©T¢P������¢p¢¤£l�z­���¢,�Ì��G§ ������©T¢P���:£����P��£��Ä������¢¤�������¬�����¢���¢¤����Ì��G§ ���

� 檬�����¢,�P�4¢p��Ì���£/� ��­�§ �x§ ����¯�¢P��Ì��G§ ���P��Ï��P¨�£���çE���z£k�xÏ��z����¬���¯��x§ � Ì���§£��P��£°¯������ Ç���¢ � �;���

� × ©@¢¤��� �P¬������x� � ����¢0�P��Ø���� ����¢4¢������P�P�;Ï��G����¢,���G����£k� Õ���£°¯������ ÇP��¢w� �;�:� �����¢ ¬������w��­�§ ��¢¤�����[£����P��£���� ��Ï���Ì����[¢p����¢P����£�¬���¯��

Page 36: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

130)7 j �� � � ·�+k0)a�/ �� � +�!� �����)J���<� ����� �� ��4)Eµ �

m ][C*A C^{�r o4Z� ¥@Ñ9z8�����P��¤§ ��¢���£-£��P¨x¢p��Ï���£-Æ����x����¢P£�¨:�������§ � ¢,���� Ò�Ë���Ƥ����¬��ª¢P£�����Æ ��©�����§ �¤¢,�P�У����¤�G£��������w����¯��[­�� ¢¤Ï��G¬���¢ª¢¤�����p¢,��£�¢4��©J¢P���¬���¯������������,�¤��­�� ¢-¦� ��������§ ����§ ��¢w� �^���ª¢��:±L����¦���� ¢P����£J��£����P��£��Ð� �����§ �¤¢����

� äL�P��£°¯������ ÇP��¢w� �;�x�P�G�[­������;����¦�� ¢P���z��Ï�������¬���¯�� ��©k¢���£J����§ �¤¢w� �;���p�����0¢��Ï�������Ï�� Ç���©�£k��¯;Ï�����¢,��¢ � �^�

� ü���£T����§ �¤¢ � �^�:����¢������ � Ì���¦���£-Æ�§ �������Pþ*£��P��£°¯������ Ç���¢ � �;�x���G�[­������¤©/��£-£����7ý

Page 37: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ù Î � �������<���4)7¡+`�����@·�+�)E�^Ý�

Page 38: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ù Î � �������<���4)7¡+`�����@·�+�)E�^Ý4�

m ó���c H D º ��� å ?B�*>Lf;{�o4ZBf7>LfaFLC}�JC*Fa>5½Trzoª_@e� Ò�Ë��g£����E�����P�����¢,�[¬�������§ ¢-¨x��¢ ­���¢P�x���������:§ �¤Ì���§ ��ÿE�¡������ÿ��������£����E�����¤���¢,��§ §�¢ �zÏ �

� Ö���� ��£����E���¤¢ � �^����������Ï¡­���£*��©�Ï�� �����P��£��P�¤��§ ¢�������©���£�¢P����£�£����E���¤¢w� �;����©������¢P£-���¤¢ � �;�¡���������:Ï�� ���,�P�����P���������P¬������x� ��,���^� ��� �;���P§ ¨[���,�P�

Page 39: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ù Î � �������<���4)7¡+`�����@·�+�)E�^Ý4�

ó���c�� º ���Ú�4C*ZLDGr {�r ½Tr {¤~¾��Z*>@A ~LD�rzD

m |�_LCae�~3C:FaCEf*_5{�rzo4Z¾{�rk?�C¼oJvÐó���c >@ZLK º ���&f;o4Z5½LC*e�tTC�>*D�{�FLCZ@_@?��TC*e:oavÐ�aepo:��CEf^{�CEKb>L{�{�e r/�@_5{�CED�r/ZLfaepC7>LD�C

m ��D�{�FLC¼K@CEt4epCEC�oJvÄe�C*Az>5{�rzo4Z�r/ZLf*e�CE>*D�CEDsoJ{�FLCae¡v >Lf;{�o@e�D|DG_LfaFd>LD�@_5��Cae�?�>�Z*>LtTCae¡D�{�>Je�{�{�ou�@A >E~¾>¾K@o4?¼r/Z*>@Z5{\e�oªA C;P

Page 40: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

ô�_5� C*e¤r/ZLtu]�>L{�>@�*>*D�C}]��TC*e,>5{�rzo4ZLD�vwo@e � Z@F*>�ZLf;CEK å ZLD�{�eP_Lf;{�r o4Z¹ >*f*FLC º Cae�vwo�e¤?�>@ZLfEC

Page 41: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

� )�9 � �/�ª¡+¡�5���������/

m å Z3>¾K@C*?�>@ZLKJö�K0e r ½LCaZ�J0_LC*ep~¾CEFaC;fa_5{�r o4Z��@Az>@Z¾f*FTr/A Kgo4�JCae�>L{�o@eepC;{�_@ePZLDsf;o4Z5{�e�oªA�{�ou�*>ae�CaZ5{�o4�JCae�>L{�o@e[r/?�?�C;K4r�>5{�CaA ~3>5v,{�CaetTC*ZLCae�>L{�rkZLtgoªZLCÀ{�_@�@A C

m �4od{�FLC�oª�TC*e,>5{�o�exC:FaCEf*_5{�rzo4Z3D�C4J0_LC*ZLfEC}rzD�A�r/`�C{ º¡¹�º�¹�º�¹�º�¹�º�¹�º¡¹�º P�P#{

m å ZLD�{�e¤_Lf;{�r o4Z3f7>LfaFLCÀ{�F@e,>LD^FTrkZLt�f7>@Z¾oªf;fa_@e�q$FLCaZ¾{�FLC¼fEo4?��Tr/ZLC;KD�rz�^C�oJvx{ q[o�o4�JCae�>L{�o@e�D|CEFaf;CEC;K@Ds{�FLC¼D�rz�^C�oJv:{�FLC¼DG?�>@AkA CED�{Ghv >LD�{�C;D�{�fE>*f*FLC}_@ZTr {

Page 42: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

Û�·��|���� � ����0)E ¡�

Page 43: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

�� �+�·4)a�/ ��8)T�4)Í·��7��� 6�·��|�����,��!

m n r ½LCaZ3>�J0_LCae�~Eh�>*K@Kg>¾D^�JCEfLr�>@A��@_5��Caexo4�JCae�>L{�o@e:>L{ÐfEC*ep{�>@rkZ�@A >*f;CED\�TC^{ q[C;CaZ3>}�*>ae�C*Z5{Ðo4�JCae�>L{�o@e��aoª�TC*e,>5{�o�e�tªe�o4_@�B>@ZLK}f*FTr/A Ko4�JC*e,>5{�o�e��*o4�JCae,>5{�o�e¡t4e�oª_@�

m ô�_5��Caexoª�TC*e,>5{�o�e:>@�JoJ½LCÀfaFTrkA KNF*>*D|>�Z¾>Je¤e,>;~BoJvÄ�To�r/Z5{�CaepD|{�F*>5{�JoªrkZ5{Ð{�oIr/Z5{�C*eP?�C;K4r�>5{�C}e�CEDG_@A {�{�_@�@A C;D

m ÷sFTrzD�C;��CEf^{�r ½LC*A ~3f*F*>�ZLtTC;D|{�FLC¼C:FaCEfa_5{�r o4Z3D�C4J0_LCaZLf;C�{�o{ º¡¹x¹x¹:¹x¹�ºxº:ºxºxº¡¹x¹:¹:¹:¹�º:ºxº:ºxº P�P�{

m ÷sFLC¼C:FaCEf*_5{�rzo4Z3D�C4J0_LC*ZLfECBDGFLo5qÐD|{�F*>5{\Z@_@?B�JCaexoJv�r/ZLD�{�eP_Lf;{�r o4ZfE>*f*FLC}?¼rzD�D�C;D$K@C;faepC7>LD�CBDG_@�LD�{�>�Z5{�rz>�AkA ~

m ÷sFLCdepCEK0_Lf;CEKbfE>*f*FLC}?¼rzD�D�C;D\>aepC¼K0_LCÀ{�oIr/?��ae�oa½LCEKur/ZLD�{�eP_Lf^{�rzo4ZDG�*>L{�rz>�A�>�ZLK}{�Ca?��To@e,>@AA o�fE>�A°r {¤~

Page 44: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

� �T³ Û�·��|���¼ú � ����0)7 ��

m n r ½LCaZ3>�J0_LCae�~g��A >�Z}rzK@C*Z5{�r v,~B{�FLC¼CEFaC;fa_5{�rzo4Z¾t4e�o4_@�LD�{�F*>L{�>ae�CfE>�ZLK4r K�>L{�Cd_@ZTr {�D�vwo@e[�@_L��C*e¤r/ZLt

m ��K@K�>gZLC^q#C:F��@A�rzfLr {\��_5��Cae r/ZLt�o4�JC*e,>5{�o�e:>@�Toa½LC�{�FLC�C:FaCEf*_5{�rzo4Zt4epo4_@��h�r vÄZ*C;fEC;D�D�>aep~

m å ?B�@A Ca?\CaZ5{�>5{�rzo4Z¾oJvÄ�@_5� C*e:oª�TC*e,>5{�o�e�¿� Ñ*��¬�¬���£�¢��0�^¬�����Õw��� ��¢�Õ���§ �����¡����¢,��£°©/���P�� zx���z��¢,�������ª¢-¦@���p¢,��¢,�P�@�;y¾��� ¢P����£a������ÕÉ��©�Õ-¢P��¬�§ �¤�� � £k�P����� Ì��P��©p£°�;Ïg¢P��������z§ ���^¬���£���¢���£T������y¾��� ¢P����£T� ¢�� ­���®*��£�����¢¤��¬�§ �P������Ì��:­������:�¤�;���P��Ï����

� zx���z��¢,�������0���x��£-£k�¤¨:��©�¬��G����¢���£°�4¢��:¢P��¬�§ �¤�4¢¤����¢0��£����p¢p��£k�P�����¡������§ ��;¬���£���¢���£�D ��P¬������

m ô�C*ZLCnL�{�DsoJvÐ�@_5��Caexo4�JC*e,>5{�o�e�¿� ×z����£������,�:���¡çE����£�¨¡¢P��£°�;��¯^��¬���¢0�E����¢p�[������£������,�x�����z���p¢P£-���¤¢w� �;�����������Ï�� ���,�¤�

� Å �¤¢�¢,��£�����£���¦���£���­�£��G������¬�£����^� � ¢ � �^�

Page 45: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

úg)J�����d1¾�@)5 ��+��

m ��A�A�o4�JCae�>L{�o@e�D|K@o4Z'{�{\�TC*ZLCnL�{�v�epo4? �@_5� C*e¤r/ZLt�CP°tTP[D^?�>�A�AfE>JepK4r/Z*>@A�r {¤~¾oª�TC*e,>5{�o�epD;h��@A o�f*`*rkZLt�o4�JCae,>5{�o�epD�A�r/`�C¼D�o�e�{

m ÷sFLCd�@A >*f;Ca?\CaZ5{�oJvÐ�@_5��Caexo4�JC*e,>5{�o�e�D�rkZ3>�J0_LCaep~g�@A >�Z¾fE>�Zg�JCK@o4ZLC3�;~g_LD�r/ZLtg>g�JoJ{�{�o4?sö�_@���a>LD�D|oJv:{�FLCd�@Az>@ZB{�epCEC

m ÷sFTrzD�FLo5q[C^½LCae�ZLCEC;K@DsD�oª?�Cd?�C;faF*>@ZTrzDG? oJv:CED�{�r/?�>L{�rkZLt�{�FLC?\Ca?\o�e�~gZLCECEK@C;KÍ�;~�½*>ae¤rzoª_LD`J0_LCaep~¾o4�JC*e,>5{�o�e�D

Page 46: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

"s �����+�·��a�/ ��

m ^�C3A o�o4`�CEK�>5{Ð{�F@e�C;CB>��@�aepo�faFLC;D|vwo@e[rk?B�aepoJ½Tr/ZLt}fE>*f*FLC�JCae�vwo�e¤?�>@ZLfEC

m ¹ ��ô�õ�ö�÷:e�CEC¼>��@�*e�o@>LfaF¼q�>*Ds>@�@A C�{�o�tªr ½LCd�JC;{�{�C*e:D�CE>JepfaF�JCae�vwo�e¤?�>@ZLfEC�q\FTrkA C�>L{Ä{�FLC�D�>�?\CÀ{�r/?\CB>@AkA o5qsr/ZLtbrkZ*f*e�C*?�C*Z5{�>�A_@�JK�>L{�C;D

m º ���Ú>��@�*e�o@>LfaFBfaF*>�ZLtJCEK�{�FLC�K�>5{�>gAz>;~Eoª_5{$?�o�K@CaA@{�o}CaZLDG_@e�C{�F*>5{�f7>LfaFLC�DG�*>LfECdr D|o�fEf*_@�TrzC;KÍ�^~g_LD�C;v�_@A�K�>L{�>3>@ZLKur {|>@A D�oepCa?�>@rkZLCEK�o@ep{�FLoTtToªZ*>�AT{�o�oJ{�FLCaexK@CED�rztªZ3K@CEfLrzD�rzo4ZLD

m ô�_5��Cae r/ZLt�>��@�aepo@>LfaF�{�e¤r CEKg{�o}D�o4A ½LC�{�FLCd�aepo4�@A C*? oJv�r/?��aepoJ½Tr/ZLtrkZLD�{�e¤_Lf;{�rzoªZdfE>*f*FLC}�JCae�vwo�e¤?�>@ZLfEC¼vwo@e¡K@Ca?�>�ZLKJö�K0e r ½LC*Zg�Tr/�JCaA°r/ZLCEKJ0_LC*ep~¾CEFaC;fa_5{�rzoªZ3CaZ5½Tr/epo4Z@?\CaZ5{

Page 47: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

���@���������������

m � _@ZbÁ�>*o0h =:C*Z@ZLC;{�F3�vP�Á�oTD�D;¿scd>�`Lr/ZLtf� õ ö�÷�epCEC;D ¹ >LfaFLC¹ o4ZLD�f*rzoª_LD�r/Zbcd>Tr/Z�c3C*?�o@ep~4P[� å n c�]À] ¹ o4Z5vwC*e�C*ZLfEC¾SJOTOTO0¿W@øaQaö�W;KTi

m ��Z*>LD�{�>*D�DGrz>d�Är/Az>@?�>@`Lrlh�]�>5½TrzK � P ][Cp^(r {�{Gh¡cd>aeP`d]mP�ÃÄrkAkAkhcd>ae¤r oTD|��`�o4_@Z*>@`LrzD;¿�^�C7>5½Tr/ZLtuÁ�C*Az>5{�rzo4ZLD�vwo�e ¹ >LfaFLCº Cae�vwo�e¤?�>@ZLfECP H H�]sôâSTOTO4VT¿ÉV5iJU*ö�V&KTO

m � r/ZLtªe�CaZW�:FLoª_�h�=:C*Z@ZLC;{�F3�vP�Á�oTD�D;¿$ô�_5��Cae r/ZLtu]�>L{�>@�*>*D�C]��JCae,>5{�rzoªZLD�vwo�e � Z@F*>@ZLfECEK å ZLD�{�eP_Lf^{�rzo4Z ¹ >*f*FLC º C*epvwo�e¤?�>@ZLfECP� å n c�]À] ¹ o4Z5vwCaepCaZLf;C¾STOJOJW�¿-V5U4V;ö�STOTS

Page 48: Y»DG JCEC;K@D¼F*>5½LCd JC;CaZgr/ZLf*eCE>*D r/ZLtg>L{ >g? … › infolab › Data › Courses › CS632 › ... · 2006-03-16 · ² 4³I !´ µ& ¡ @¶( /4)b ª ¸·4)a+-/. 4)a

÷sF*>@Z@`���o4_T