mcgill school of computer science

80

Upload: others

Post on 16-Oct-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: McGill School Of Computer Science

����������� �������������������������

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

7984:;=< -9> <@? -0/(AB!(/$#

CEDF 7�84:HG FJIKFJL GNMPORQ L5S�T : I 8UGVQXWZY F&F GNM F : FJ[]\9F : []\9F^T 7 DF :_8UGVQ T`L9L9FbacaXFd 8 [ Y a G DF M FJe 84:HG efF GfM FJeNe_[ Q FJL9[bFJe

ghDFJIKT QX: F 79: DFJe_FbL G DFji8 a 8 d 8 [ Y a G DF M Fbe DF GVY9M Fbe,e Y97 DF :_Q F Y9: FbeFJL�k Y F M Fla O T`m G FbL GVQ T4L M9YEn4:V84M F M Fg 8po qXG_: FriFbeNes[ Q FJL9[bFJeut gwvyx [ vyz

{ Y5Q LP|~}U�`�`�

[��� L G T`L x G_Qcn a Q [4| g�g

Page 2: McGill School Of Computer Science

Q

����������� �������������������������d 8 [ Y a G DF M FJe DF G_Y9M FJeNe Y57 DF :sQ F Y5: FJe

� FlI DFJIKT Qc: F Q L G_QXGVY a DF

����������� � ����������������������

79: DFbe_FJL G DF 7�8U:����������� ��� �"!����"�

8 DF G DF DFbk 8 a Y DF 7�84:fY L { Y9:$# [JT`I 7 T4e DF M FJe 7 F : e_T`L9L5FJe&e Y9Q k 8 L G FJe �

t 79: DFJe QcM FbL G&%(:_84797 T :sG F Y9: z' F)(L 8+*&8 \5L

t M9QX: FJ[ G F Y9: M F : Fb[]\9F : []\9F z� a 8UY9M F � : DF 7 F 84Y

t�I FbI m : F M9Y { Y5:$# z, Q F :_: F g [�- FJL/. Q F

ghDFJIKT Qc: F 8 [J[bF 75G DF2aXF �

Page 3: McGill School Of Computer Science

����� � �����

� F I DFbI T Qc: F GV:_84QXG F M Fber[ 8 aX[ Y aXeuI Y a GVQX7�84:HGVQXG FJeb| Y L 8U:sGVQ � [JF [ :&#070G T n`:_847 \ QXWY F Q L Q GVQc8 %acFbI FbL G e Y9n`n DF : DF 7�8U: � v � v�� 8 T M�8 L9e�� � 8 T�� }�� v C 8 L9e e_T`L 84:HGVQ [JacF Q a"L5T Y e 79: T 7 T4e_FracF79: T4m9a.iFbI F M9Y I Q aca Q T`L9L 84Qc: F WY9Q esF : DFbe Y IKFr[JT`IKIKF^e Y9QXG ��M F Y�� I Q aXa Q T4L9L 84QX: FJeb| M9Q e_T`L9e� a Q [JFNF G�� T`mP|Zk`F Y acFJL G e 8 k4T Qc: acF WZY FJa M O FbL G_: F F Y�� Fbe G aXF 7 a Y e :_Q []\9F v � T`IKI F G T Y5G m�T4L:_Q []\9F4|�L Q � a Q [bF4|~L Q� T`mP|�L9Fuk`F Y acFbL GlM DFbk4T Q aXF : i8 7 F : e_T`L5L9FracF^I T`L GV8 L G 79: DFJ[ Q e M F aXF Y9:S�T :sG_Y L9F v�� 8 T M T4L9L 8 Y L9F esT`a Y5G_Q T`L 7 F : IKF G_GV8 L G i8 � a Q [JF F G i8�� T`m M F e 8UG_Q esS 8UQc: F acF Y5: [ Y %:_Q T`e Q G DF FbL : FJe 7 Fb[ G]8 L G [JFbe [bT`L GV:_84Q L G Fbe v � F : DFbe Y a G]8UG 8 M T4L9L DFfa Q F Y i8 Y L9F n DFbL DF :_8 a Q e 8UG_Q T`L84797 FJa DFJF 79: T G TZ[JT`aXF M F [ 8 aX[ Y a I Y a G_Qc7�84:HGVQ G F t , � g�z v�C 8 L5e Y L , � g |�L9T Y e 8 k4T`L9e Y LL9T`I m : F WZY FJac[bT`L WY F M F 7984:sG_Q [ QX7�8 L G e���� | ��!J| v v v | �#"N| 8�#`8 L G []\ 8 [ Y L Y L5F M T4L9L DFJF 79:_Q k DFJF4|: Fbe 7 FJ[ G_Q k4FJIKFJL G |%$&� |'$(!J| v v v |%$(" v') FJe 7�84:HGVQ [ Qc7�8 L G e2k4F Y aXFJL G [ 8 ac[ Y acF : a 8 k 8 acF Y9:^M O Y L5FS�T`L9[ GVQ T4L 79Y m9a QXWZY F+*�t-,.�0/1,#!2/23 3 34/1,5" z 8UY 7 T Q L G t6$&�7/ $�!8/8323238/9$:" z v:; L , � g e_F :V8uM9Q G=<.>?:@e Qf84Y [ Y L 7�84:HGVQ [ Qc7�8 L G L5F 7 F Y0G :sQ FbL 8U7979: FbL M9: F M F 7 a Y e WY F�[JF WZY O Q a 7 F Y5GKM DF M5Y9Qc: FM Fre 8 79: T 79: FrFJL GV: DFJF F GlM Fra 8 k 8 acF Y9: M9Y : DFbe Y a G]8UG M9Y [ 8 aX[ Y a n acT`m 8 a.|~e_T Y e M FJel[JT`L M9Q %GVQ T`L9e 7�84:HGVQ [ Y a Q iF : FJe M DF 7 FbL M�8 L G M9Y I T M iFJaXF Y5GVQ a Q e DF v � T`IKI F a 8l7 a Y97�8U:sGBM Fbe 79: T G TZ[JT4acFJe[ :&#070G T n`:_847 \ QXWY FJeb|�a 8 e DFJ[ Y5:_QXG DF MPORY L , � g Fbe G e_T Q G [ 8 ac[ Y a 8�G T QX: FKt [ O Fbe G i8 M9QX: F WZY O FbacacFM DF 7 FJL MrMPO Y L9F \ #Z7 T G \PiFJesF [ :&#070G T n`:_847 \ QXWY F z T Y Q L9[bT`L M9Q GVQ T`L9L9FbacacFNt�[ O FJe G$% i8 %(M9QX: F WZY O FbacacFFJe G e DFJ[ Y5:_QXGV84Qc: Ff[JT`L GV: F Y L 84M k4F : e 84Qc: F 8�#`8 L G Y L9F 79Y9Q e_e 8 L9[JF M FN[ 8 aX[ Y a Q aXa Q I Q G DFJF z v�C 8 L9e[JF,I DFbI T QX: FU| L9T Y e GV:V8UQXG F : T`L5e e Y5:sG T Y5G M Fbe 79: T G TZ[JT`aXFJe WY9Q esT`L G Q L5[JT`L M5QXGVQ T`L9L9FbacaXFJIKFJL Ge oY9: e v�A T Y e DFJa 8 m�T : F : T`L9e"e Y9: [JF WY9Q~8 DF G DF S 84Q G�M�8 L5e aXF 7�8 ese DF 7 T Y9: FJLrk4FJL QX: i8l75: DFJesFJL G F :Y L 79: T G TZ[JT4acF WY9Q FJe G Y L \ # m :_QXM F FJL G_: F M F Y�� L5T Y k`F 84Y�� 79: T G T0[bT`acFbe � acF 79: FbI Q F : 79: T %k`FbL 8 L G M O � M�8 I x I QXG \rF G M Ffa O 84Y5G F Y9: M FN[bF,I DFJIKT QX: F tB� x5x&C �D� z | a Oy84Y0GV: F 75: T�k`FbL 8 L G M F

QcQ

Page 4: McGill School Of Computer Science

QcQXQ

� :V8 IKF : | C 8 I n �84:_M | C . Q FbI m�T��fe�� Q | *,Qc:HG F G��N8 m Q L tB� � C C��.C C � z v � F M F : L Q F :"75: T G T0[bT`acFFJe G acF , � g Q L9[bT`L M9Q GVQ T4L9L9FJaXacFbI FbL G e oY9: aXF 7 a Y e&FK[ 8 [bF4| FbL�[JT`I 7 aXF �0QXG DF MPO F � DFb[ Y5G_Q T`LP|[JT`L5L Y i8 [JF { T Y9: v

Page 5: McGill School Of Computer Science

Q k

���~��� � �`��0��� � 8 ac[ Y ace g Y a GVQX7�84:sG_QXG FJeJ| � :$#Z75G T`acT n4Q F4| , 84:HG]84n F M F x Fb[ : F G | xBDFb[ Y9:sQXG DF��(L %[JT`L M9QXG_Q T`L9L5FJacaXF4|������� @���� @ �� < v

Page 6: McGill School Of Computer Science

� ��� �% � �� � ��� � ����

�J���Z���p�� ��`�0�p� ��� ���������� �

� �����w��� p� � �

���~����� �`��Z� ���

� ��� ��� � ��� �Z���p�

�J����p� ���!�4�p����� "

" �J��� ��P���!�4�p����� "# v # � :$#Z75G T`acT n4Q F F G aXFJe [ 8 ac[ Y ace I Y a GVQX7�84:sG_QXG FJe v^v2v^v2v2v^vlv2v^v2v^v2v2v^v $# v } % :_8 k 8UY��E8 L G DF :_Q F Y9: e v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v �# v'& ( :_n 8 L Q e 8�GVQ T4L M FJef[]\ 8475QXGV: FJe v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v # �

) � ���) �+* "�,

, ) �9����.-~�������J���`p� �0/1) �!2 � �43��9����.-~�������b�5�`p� � �u����6 ��.7�� ��/1) �8*�2 "�,} v # , 84:HG]84n F M F2esFJ[ : F G t , x9z M F x \ 8 I QX: v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v # &} v } , 84:HG]84n F M F2esFJ[ : F G k DF :sQ4�~8 m5acFKt , x�9 z v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v #;:} v'& , 84:HG]84n F M F2esFJ[ : F G k DF :sQ4�~8 m5acFKt , x�9 z M F d Fba M I 8 L v2v^vlv2v^v2v^v2v2v^v # �

} v<&5v # � T M Fbe,[bT :_: FJ[ G F Y9: e,F GNM DFJ[bT M F Y9:=� F : acF � 8 I 7 %>= Fbac[]\ v2v^v2v2v^v # �} v<&5v } , 84:sGV84n F M Fle_Fb[ : F G k DF :_Q �~8 m9aXF M F d Fba M I 8 L v2v^vlv2v^v2v^v2v2v^v # C

} v<$ , : T G T0[bT`acFbe M F k DF :_Q � [ 8UG_Q T`L MPORQ L0S�T : I 8UGVQ T`L t 9 � z v2v2v^vlv2v^v2v^v2v2v^v }@?} vBA 9EDF :_Q4� [ 8UG_Q T`L MPORQ L5S�T : I 8UGVQ T`L�t 9 � z M F �,8 m Q L�F G � FbL % ( : v2v^v2v^v2v2v^v }D�

k

Page 7: McGill School Of Computer Science

k Q

} v : 9EDF :_Q4� [ 8UG_Q T`L MPORQ L5S�T : I 8UGVQ T`L�t 9 � z M F � C C * � v^v2v2v^vlv2v^v2v^v2v2v^v & }} v ? x Qcn L 8UGVY5: F % 9 � v2v2v^v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v & :} v � , 84:HG]84n F M F2esFJ[ : F G k DF :sQ4�~8 m5acFKt , x�9 z M F � C C * � v2v^vlv2v^v2v^v2v2v^v & :

)^p����� �`�����Z� ��� � �9� � ��� � � � �p� 3��9��p� ���Z� � "

� )^p����� �`�����0�r��� � ��� � ��� �r� ��� �p�63��5p�������Z� � "&5v # d T : IKF MPORY LEesFJ[ : F G I Q e FbL 7�8U:sG]8Un F M F S 8��[JT`L k DF :sQ4�~8 m9acF v2v^v2v^v2v2v^v $ }&5v } � M9M5QXGVQ T`L I Y a GVQX7�84:sG_QXG F v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v $ &&5v'& g Y a GVQc7 a Q [ 8UGVQ T`L 7984: Y L9F2[JT`L5e G]8 L G F v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v $@$&5v<$ g Y a GVQc7 a Q [ 8UGVQ T`L M F M F Y�� esFJ[ : F G e vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v $ A

9EDF :sQ4� [ 8UGVQ T`L MPO Y L 79: T M5Y9QXG v2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v $ A� DF M5Y [ G_Q T`L M9YjM F n`: DF M9YE7 T`a # L oT`I F v2v^v2v2v^vlv2v^v2v^v2v2v^v $ �, 84:sGV84n F M Fbe,esT Y e % 7�84:HG e vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v A �, : T G TZ[JT`aXF M FlI Y a GVQc7 a Q [ 8UGVQ T`L v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v A }

� �������J����p�0- ��Z� ��p��� � ���� � �

� � �������J������ - ��0� ��p��� � ���� � �

$9v � v # ����� � @���� @ �� < v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v A@A$9v � v } � 8 ac[ Y ace I Y a GVQX7�84:sG_QXG FJe [bT`L GV: F 84M k`F : e 84QX: F n DFbL DF :_8 a Q e DF v^v2v2v^v ADC

� ���!� � ��� ����� � "

� � ���!� � ��� ����� � "

Page 8: McGill School Of Computer Science

� ��� �% � �� � ��� � ��� � �%��

, x M F x \ 8 I QX: v2v2v2v2v^v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v # &, x 9 M F d Fba M I 8 L v2v2v^v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v }U�9 � M F �N8 m Q L F G � FbL % ( : v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v }D�9 � M F � C C * � v2v2v2v^v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v & }, x 9 M F � C C * � v2v2v^v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v & :

9EDF :sQ4� [ 8UGVQ T`L M F 79: T M9Y5QXGfM F , x�9 v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v $ A, x 9 M FJeNe_T Y e %(7�8U:sG e v2v^v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v A �g Y a G_Qc7 a Q [ 8UGVQ T`L I Y a GVQX7�84:HGVQXG F v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v A }, x n DFbL DF :_8 a Q e DF v2v2v2v2v^v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v A ?

k QcQ

Page 9: McGill School Of Computer Science

� ��� �% � �� � ��� ����

} v # , 84:HG]84n F M F2esFJ[ : F G v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v # &} v } g T M iFJaXF M F % Y9:sQ L n v2v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v # ?&5v # � 8 ac[ Y a I Y a GVQX7�84:sG_QXG F v^v2v2v^v2v^vlv2v^v2v2v^v2v^v2v2v^vlv2v^v2v^v2v2v^v $ #

k QXQcQ

Page 10: McGill School Of Computer Science

Q �

�� � ���������� ���� ������� �� ��?�@ ����� @ ��������� @ ����� �� ?��-@������

Page 11: McGill School Of Computer Science

� � � � �% � �� ���

� Oy8UQ IKF :V8UQ e G T Y5G2MPO 8 m�T :_M : FJIKF : [ Q F : � M�8 I x I QXG \ | 8 k`FJ[ WY9Q { Oy84Q F Y M F L9T4I m : F Y e_FbeM9Q es[ Y ese Q T`L9eNFJL :sQ []\ Q e_e 8 L G FJe,e Y9: acF e Y { F G&M Fl[JFuI DFJIKT QX: F v9x T`L G]8 aXFJL G F G e 8KM T Y�8 L5[JF i8[JT`I 79: FJL M9: F F G i8r: DFbe_T Y5M9: F M Fbe 75: T`m9a.iFJIKFJe [bT`L GVQ L Y F :V8 G T Y { T Y9: eui8 I O DF 7�8UG F : v�� Oy8UQ IKF %:V84Q e DF n 8 aXFJIKFJL Gu: FJIKF : [ Q F : IKT`L M9Qc: FJ[ G F Y9:uM F : FJ[]\9F : []\9FU| � a 84Y5M F � : DF 7 F 84Y | WY9Q I Oy8Q L Q GVQ DFKi8 a 8 S 8 es[ Q L 8 L G F e_[ Q FbL9[JF2[ :&#070G T`aXT n`QcWY F v� F GVQ FJL9e 84Y e_e Q i8 esT Y a Qcn L9F : IKT`L [JT4L G FJL G FbI FbL G"M F a Oy8U797 T :sG 8 [ 84M DFbI QXWY F M9YlM DF 7984:sG FJIKFJL GMPORQ L5S�T : I 8�GVQcWY F F G M F : FJ[]\9F : []\9F&T 7 DF :_8UGVQ T`L9L9FbacaXF M FNa O ; L Q k`F : e Q G DF M F g T`L GV: DF 8 a | F G 7 a Y e7�84:HGVQ [ Y a Q iF : FJIKFJL G M FJe FbL9e_F Qcn L 8 L G e 8 k`Fb[ WY9Q { O 84Q F Y aXF 75:_Q k Q a.iF n F M F [JT`aXa 8 m�T : F : T Y M9Q e %[ Y5G F : G T Y5Gf8UY acT`L n^M F I 8 S�T : I 8UG_Q T`L Y L Q k`F : e Q G]84QX: F v�� F 7 FJL9esF FJL GV: F 84Y5GV: FJe^i8 � a 84Y9M F� : DF 7 F 84Y | �fY9M T`a S -lFbacaXF : | g Q []\ 8 FJa d acT :sQ 8 LP| A F Q a x G F� 84:HG | � F 8 L 9 84Y []\9F : | � Q 8 L % � Y LA Q F4| , Q F :s: F g [�- FJL . Q F F G , 84Y a � :V8UG acF # v%) F Y9: e M DFbk4T Y FJIKFJL G e�i8 a 8j: FJ[]\5F : []\5F4| acF Y9: eFJL G \5T Y e Qc8 e_IKFJefF G aXF Y9: e WY�8 a Q G DFbe M9QcM�8 [ GVQXWY FJefI O T`L G DF G DF MPORY L9F n`:V8 L M F Q L9e 79Qc:_8UGVQ T`L vd Q L 8 acFbI FbL G | { O 84Q I F :V84Q e,F �575:_Q IKF : I 8 : Fb[JT`L5L 84Q ese 8 L5[JF�i8 [JF Y�� WY9Q I O T`L G M T`L9L DF M Fbe[JT`IKIKFJL G]84QX: FbeJ|�e Y9n4n FJe GVQ T4L9e F G [JT :s: FJ[ GVQ T`L9e m Q FJL 8U7979: DFb[ Q DFJeracT : e M F a 8j: DF M98 [ G_Q T`L M F[JF^I DFbI T QX: F � , 84Y a C Y I 84Q e2t acF : F k`FbL M9Q [ 8UG F Y9: 7 \ Q acT4e_T 7 \5F z | d : DF M DF :sQ [ ) DF n 84: DF t�acF2e 8 %k 8 L G 7 F :_M9Y z | � a 84Q L % 84797 t�acF e 8 k 8 L G S�T Y z | � \ :sQ e G_Q 8 L , 84WY9Q L t�acF����� � @� � @ ��� � @ z |xBDFJm 8 e G_Q FJL , 84WY F G t acF 7 \ # e Q [ Q FbL 7�84: F � [JFbacacFbL9[JF z | g 84: [bFJa 8 � Y9Qc: T .=t�I T4L IKFJL G T :n`:V8 I I 8UGVQ [ 8 aXF,m Q FJL %$84Q I DFbF z F G � F 8 L % d :V8 L �[bT Q e �N8�# I T`L M t�acF <0? � � @ @ �� ? ��� � � z v

Page 12: McGill School Of Computer Science

� � � � � � �� �

� � � ��� � � � � �%� �

� DFb[JFbI IKFJL G |�a O �(L G F : L5F G&8 e Y m QXG,Y L9F DFJL5T : IKFlF �07�8 L9e Q T`L v � F G_G FuFJL G_QXG DFlFbe G,7�8 e_e DFJF M9YM T`I 84Q L5F 8 [ 84M DFJI QcWY F i8 Y L9F G FbL M�8 L5[JF WY9Q FJe G 84Y { T Y9:_M O \ Y9Q�8 [J[bF 75G DFJF^F G,Y5GVQ a Q e DFJF 7�84:a 8 7 T 79Y a 8UG_Q T`LEFJL n DFJL DF :V8 a v , T Y9: : DF 8 a Q e_F : a Oy8 I 7 aXF Y9:NM Fr[JF G_G Fr[ : T Q e_e 8 L9[bF4| Q a�e Y GlM FI F G_G_: FrFJLwa Y I Q iF : F WY Fba WY Fbeue GV8UGVQ e G_QcWY FJeb| [JT`IKIKF 7�84: F � FJI 7 aXF4|�acFrL9T4I m : F MPO T :sM9Q %L 8UG F Y9: e,\ oT G FJeNe Y5: aXF : DFJesF 84YEQ L G F : L 8�GVQ T4L 8 a WY9Q�M T Y m9acF i8 []\ 84WY F { T Y9: |�T Y acFlL9T4I m : FM F 7�84n Fbe = Fbm WY9Q�84Y5n I FbL G F 84Y�:$#G \5I F MPORY LjI Q aca Q T`L 7�84: { T Y9:��� k4FJ[ [bF G_G F,S Y a n`Y9:_8 L G F : DFbk4T`a Y0GVQ T4L T`L 8 e_e Q e G FKi8uY L9F 79: T`e 7 DF :_Q G DF M FJe m Q FbL5S 84QXG e � a Oy8 [b[4iFbei8 M Fbe&I Q aXa Q F : e M F : FJe_esT Y9: [JFJe M F2S 8��[bT`L Q L9e GV8 L G]8 L DFJF4|�a 8 79Y m5a Q [ 8UGVQ T`L i8 Y L5F DFJ[]\5FJacaXF M Fn`:V8 L M F Y5:^8UY5GV: FbS�T Q e Q L Q I 84n`Q L 8 m9aXF4|~a O 8 m�T`a Q GVQ T`L M Fbe2S : T`L GVQ iF : Fbe M F [bT`IKI Y L Q [ 8UG_Q T`L�FbLn DFJL DF :V8 a�F G FbL9[JT : F 7 a Y e v , 84: [JT`L G_: F4|�a 8 e Y m�T :_M9Q L 8UGVQ T`L M F G T Y eNacFbe,esF : k Q [JFbe 7�84: a O �(L %G F : L9F G F G a 8lM DF 7 FbL M�8 L9[bF M F 7 a Y e FbL 7 a Y e I 84:_WY DFbF M FJe Q L M9Q k QXM9Y e FJL k`F : e [bFJe e_F : k Q [JFbe8 IEiFJL9FbL G e_T Y k`FJL G | 84Y ese Q |Za 827 F :sG F M F a O Q L GVQ I QXG DF 7 F : esT`L9L9FbacaXF M Fbe Y e 8Un F : e 84Q L9e Q�WY F a 87 T4e_e Q m Q a QXG DF M F M DFJL DF n 8UG_Q T`L M Fbe,esF : k Q [JFbeKi8 [JFJe M F : L Q F : ef[bT`I IKF L9T Y e 8 aXacT`L5e k`T QX:f7 a Y eacT Q L v 9 T Q a$i8 M F Y:� 79: T`m5a DFJI 8UG_QcWY FJe M F a O �(L G F : L9F G2WY F a 8 es[ Q FbL9[JFK[ :&#Z75G T`aXT n`QXWZY F G FJL G FM F : DFJe_T Y9M9: F v � T`IKI FbL G�8 e_e Y9: F : a 8 [bT`L ��M FbL GVQ 8 a QXG DF M Fbe M T`L9L DFJFJe 79:sQ k DFJFbe M FJe Q L M9Q k QXM9Y eF G [JT`IKIKFJL G 8 e_e Y9: F : Y L esF : k Q [JF,[JT`L GVQ L Y | �~8 m9aXFNF G e Y9:sG T Y5G \9T`L9L oF G F�� ; L Q L M5Q k QcM9Y esFm :V8 L9[]\ 8 L G e Y9: a O �(L G F : L9F G^7 T Y9: a 8 79: FbI Q iF : F S�T Q e Qcn L9T : F G_: iFbe 75: T`m 8 m9acFbI FbL G2WY FKe_Fbe

#

Page 13: McGill School Of Computer Science

}

\ 8 m Q GVY9M FJe M F,L 8 k QXn 8UGVQ T`L 7 F Y k4FJL G oF G_: FNFJL : F n`Q e G_: DFJFbeJ| WYPO Y L e Q G F = Fbm 7 F Y5G [JT4L9e_F : k`F :M FJe M T`L9L DFJFJeli8^79: T 7 T`e M O Y L Q L M9Q k QcM9Y M�8 L5e a O T :sM9Q L 8�G F Y5: I oFbI F M F,a ORQ L M9Q k QcM9Y t FbL Y5G_Q %a Q e 8 L G [JF WYPO T`L 84797 FJaXF M Fbe � � � � � � < z 8D� L MPO 8 [J[ Y I Y aXF :,M FJe e G]8UG_Q e GVQcWY Fbe e Y5: [JFba Y9Q % [ Q v; L Y e 84n F : L9T�k Q [bF M F a O �(L G F : L9F G L O Fbe Gr75: T`m 8 m9acFbI FbL G^7�8 e 84Y [bT Y9:V8 L G L9T`L 7 a Y e M9YS 84QXGlWY F e_T`L 84M9: Fbe_esF M F [bT Y9:s:_Q F : DFbacFb[ GV: T`L QXWZY F 7 F Y5G oF G_: F [bT`L9L Y F 7�84:2Y L e Q G F = Fbmk Q e Q G DFU| WY F G T Y e&acFJe,I Fbe_e 84n FJe WZY O Y L Q L M9Q k QXM9Y FbL k`T Q G i8 Y L ��� �< � @���? �jesT`L G FJLES 84QXG84: []\ Q k DFJe 7 FbL M�8 L Gu7 a Y e Q F Y9: e 8 L9L DFbFJe^F G^7 F Y k`FbL G oF GV: F a Y e 7�84: L ORQ I 7 T :HG F WY Fba 84Y0GV: FQ L M5Q k QcM9Y v) O Q L5S�T : I 8UG_Q T`L 7 F : esT`L9L9FbacacF k 84Y0G�GV: iFbe�[]\9F : 7 T Y9: aXFJe��sm Y e Q L5FJe_e M F a O �(L G F : L5F G�� F GacFbe n`:V8 L M FJe FbL GV: F 79:_Q e_Fbe2esT`L Gl79:JoF G Fbe i8 FbL GV: F 79: FbL M9: F M FJe M DFJI 84: []\9FJe F �0G_:JoFbI Fbe 7 T Y9:[ Y F Q aXa Qc: [JF G_G_: F Q L0S�T : I 8UGVQ T`L v0A T Y e 7 FbL9e_T4L9e 7�84: F � FbI 7 aXF,i8 a O 8�� 84Qc: F : DFb[JFbL G F M FJe�L Y I DF : T4eM F e DF :sQ F M Fbe 79: T0[bFJe_esF Y9: e MPO T :_M9Q L 8UG F Y9: � � � �-? ������� �����Et Y L 79: T0[bFJese_F Y5: FJe G Y LFJL n4Q L [bFJL GV:_8 a 84Y S�T`L9[ G_Q T`L5L9FJIKFJL G M O Y L T :_M9Q L 8UG F Y9: z v) 8 [bT`I 7�84n L Q F�� � � ��� 8EQ L9[bT :&%7 T : DF Y L L Y I DF : T M FNe DF :_Q F Y L QXWY F M�8 L9e []\ 84WY F 79: T0[bFJe_esF Y9: ��� | WY9Q S 8UQXGB7�84:HGVQ F M FNa 8I 8 { T :_Q G DF M FJe T :_M9Q L 8UG F Y9: e,k`FJL M9Y e M F L5T`e { T Y9: e v � FrL Y I DF : T M Fue DF :sQ F Fbe G FbL : F n`Q e GV: DF84Y I T4I FbL GBM FNa 8 k`FJL G F4| M T`L9[fesT`L G 8 ese_TZ[ Q DFJe i8 [JFJ[ Q~M FJe Q L0S�T : I 8UGVQ T`L9e 7 F : e_T4L9L9FJaXacFbe M Fa O 8 []\9F G F Y5: t�[JT`IKIKF 7�84: F � FbI 7 aXFlacF L9T`Ij| 79: DFJL9T4IE| 84M5M9: Fbe_e_FU|~L Y I DF : T M F G DFJa DF 7 \5T`L9F4|7 F Y5G$%]oF G_: F I oFbI F aXFKL Y I DF : T M F [ 84:sG F M FK[ : DF M9Q G | a O�o84n F4|PaXFKesF � F4|�a O TZ[J[ Y57�8UGVQ T`L F G FJL %[JT : F 7 a Y e z v ) F�L Y I DF : T M F�e DF :_Q F 7 F Y5G FJL5e Y9Q G F oF GV: F : FJ[bT`L9L Y�7984: Y L e QXG F = FJm e Y5:acF WZY FJa a O 8 []\9F G F Y9: L 8 k QXn`Y F v�x T Y9M�84Q L9FJIKFJL G L5T Y e 8 k4T`L9e a 8E7 T`e_e Q m Q a QXG DF MPOy8 e_e_TZ[ Q F : acFJe\ 8 m Q GVY9M FJe L 8 k Qcn`8UGVQ T`L9L9FbacacFbefL9T`L�e_F Y acFbI FbL G i8 Y L Q L M9Q k QXM9Y�WY Fbac[JT4L WY F4| I 84Q eri8 Y L5F7 F : esT`L9L9F I DF G_Q [ Y acF Y e_FJIKFJL G QcM FbL G_Q4� DFbF v � FJa 8 L O Fbe G WYPORY L�F � FJI 7 aXF MPORY L9F L9T G_Q T`L 7 a Y en DFJL DF :V8 acF [bT`L9L Y F e_T Y e2aXF L9T`I M F�� � � � @ � � � � @ v.; L�� � � � @�� � � � @ FJe G2Y L9FrFJL G_QXG DF WY9Qe Y9: k`F Q acaXF�F G FbL : F n`Q e GV: FEaXFE[bT`I 7 T :HG FJIKFJL GKM F G T Y5G acF�IKT`L M FU| [ O Fbe G Y L9F�FbL GVQXG DF WY9Qm :_Q e_F a 8 [JT`L �9M FJL GVQc8 a Q G DF M Fbe M T`L9L DFbFJe 79:_Q k DFJFJe M Fbe Q L M9Q k QXM9Y e v � F GsG F2L9T G_Q T`L Fbe G I oFbI F84797�8U:_Y F e Y9: acFJe DFb[ :V8 L9e M F�[ Q L DFJI 8 e MPO * T`aXa # � T0T M |�L9T Y e 7 FbL9e_T`L5e 7984: F � FJI 7 aXF 8UY� acI � � ��� ��� | M98 L9e&aXF WY Fba Y L9F^S�FbI IKFle_F^S 8UQXG []\ 8 L n F : e_T`L QcM FbL G_QXG DF 84YE7 T Q L GNM F^L5F7 a Y e 7 T Y k`T QX: S�T`L9[ G_Q T`L5L9F : M�8 L9efa 8 k Q F WY T G_QcM9Q FJL9L9F v) 8 [ :$#Z75G T4acT n`Q FlL9T Y e 84797 T :sG F M FJe&esT`a Y0GVQ T4L9e � a 8 [JT`L �9M FJL GVQc8 a Q G DF M Fbe M T`L5L DFJFbeJ|�a O 8 L9T %L Q I QXG DF F G a 8�7 e_F Y9M T`L Q I Q G DF v ; L Q L M9Q k QcM9Y 7 F Y5GKn 8U:_M F :K75:_Q k DF M F # F Y�� DF 79Q F Y�� a O Q L %

Page 14: McGill School Of Computer Science

&

S�T : I 8UG_Q T`L WYPO Q a { Y9n F 7 F : esT`L9L9FbacacFEFJL Y5G_Q a Q e 8 L G e_Fbe e_[]\PiFbI Fbe MPO FbL9[ :&#Z75GVQ T`LP| Q a 7 F Y0G84Y ese Q [ 8 I T Y � F : e_Fbe M T`L9L DFbFJe G T Y5G FJL�a O Y5G_Q a Q e 8 L G 7 T Y9: M FJe S�T`L9[ GVQ T`L9L 8 a QXG DFJe 79Y m9a QcWY FJe[JT`IKIKF M�8 L9eNacFl[ 8 e M Fbe,[ 8 ac[ Y acefI Y a GVQX7�84:sG_QXG FJe T iYjY L Q L M9Q k QXM9Y k`F Y5G n 8U:_M F :NY L9Fu[bF :&%G]84Q L9Fuk 8 aXF Y9: 75:_Q k DFbF G T Y5G FbL a ORQ L9[ba Y�8 L G&M�8 L9e Y L [ 8 ac[ Y a 79Y m9a QcWY F v.) Oy8 L9T`L Q I Q G DF4| 7�84:[JT`L G_: F4| 7 F : I F G i8 Y L Q L M9Q k QXM9Y MPORY5GVQ a Q esF : aXFJerS�T`L9[ GVQ T`L9L 8 a QXG DFJe M Fja O �(L G F : L5F G e 8 L5e esFS 84Qc: F QcM FbL G_Q4� F : v ) Oy8 L9T`L Q I Q G DF FJe G FbL�S 84QXGKY L M9: T Q G [JT`L9e GVQ GVY5G_Q T`L9L5FJa M�8 L9e 7 a Y e Q F Y9: e7�8�# eJ| M T`L G acF � 8 L 84M98 F G aXFJe D� G]8UG e % ; L Q e v(A T Y e 7 T Y k4T`L9e GV: iFbe m Q FJLK[JT4I m Q L5F : a O 8 L9T`L Q %I Q G DF 8 k4FJ[&aXF [ 8 IKT Y � 84n F M FJe M T`L5L DFJFbe v:) 827 esF Y9M T`L Q I QXG DF4|`FbacaXF4| 7 F : I F G i8lY L Q L M5Q k QcM9YM F S�T`L9[ GVQ T4L9L9F : esT Y e Y L 7 e_F Y5M T`L # I FU|0e 8 L9e WZY F,[bF M F : L Q F : e_T QXG a Q DFui8 a 8 k :_84Q F QXM FJL G_QXG DFM Fra ORQ L M9Q k QcM5Y v�) 8 7 esF Y9M T4L # I QXG DF 7 T`eseJiF M F a Oy8 k 8 L G]84n F M F 7 F : IKF GsGV: F�i8 WY Fba WYPORY L M Fe_F m o8�GVQc:uM FJe : DF S DF : FJL9[bFJeKF G MPO DF GV8 m9a QX:uY L5Fj[bF :HG]84Q L9F [JT`L �~8 L9[bF M F a 8�7�84:HG M F e_Fbe Q L %G F : acTZ[ Y0G F Y5: e v') 8E7 e_F Y5M T`L # I Q G DF Fbe G S 84QXG FbL k Qcn`Y F Y9:2M�8 L9e^a 8 k Q F [bT Y9:_8 L G F4|�acT : e WY FL9T Y e 8 aXacT`L9e 8 []\9F G F :NY L�[ 84:sG T`L M F2a 8UQXG i8 a O DF 79Q [JF :sQ F M9Y [JT Q L 7984: F � FJI 7 acFU|�acFl[ 84Q e_e Q F :7 F Y5G L9T Y e : FJ[bT`L9L 8�o q GV: F 7�84: acF m Q 84Q e M FfL9T`eB[ 8U:V8 [ G DF :sQ e GVQcWY Fbe�S 8 [ Qc8 acFbeJ|`L5T GV: F 7 \ # e QcWY FU|L9T G_: F k`T Q � | e 8 L9e 7 T Y9:K84Y5GV8 L G [bT`L9L 8�o qXGV: F L9T G_: FjL9T`I k DF :sQXGV8 m9acFU|�L9T G_: F�TZ[J[ Y57�8UGVQ T`LP|L9T G_: FNL Y I DF : T MPO 8 ese Y9:_8 L9[JF&e_TZ[ Q 8 acFfT Y MPO 84Y5G_: Fbe Q L0S�T : I 8UGVQ T`L9e 7 F : e_T`L9L5FJacaXFJe v&) 8^7 e_F Y %M T`L Q I Q G DF^FJe Gu84Y ese Q \ 8 m QXG_Y FJaXacF M�8 L9elacFrIKT`L M F 84:HGVQ e GVQXWZY FrF G a Q G_G DF :V84QX: F v�A T Y el[ Q G T`L9e7�84: F � FbI 7 acF acF 7 T9iF G F WY9Q 75Y m9a Qc84QXG e_T Y eEaXF 7 e_F Y9M T`L # I F M F , 8 m5acT A F :sY9M�8 e 8 L5eM DFbk4T Q aXF : e 8 k :_84Q F QcM FbL G_QXG DF4|�T Y�7�84: F � FbI 7 aXF acFbe G F �ZG Fbe d2DF M DF :V8 a Q e G FbeJ| 79Y m9a Q DFJeNe_T Y e acF7 e_F Y9M T`L # IKF M F , Y m9a QXY e v:) 827 e_F Y5M T`L Q I Q G DF 8 I oFJIKF S 84QXG acFfe Y { F G M FJe : DFJ[ QXG e G FJacaXF WZY Fa O F � [JFbacaXFJL G F TZF Y k : F S Y5GVY5:_Q e GVQXWZY F M F � T`\5L � :_Y L5L9F : | � � � � � � �� � �� ��� ��� � @ | 79Y m9a Q DFJFFJL # C ? A | WY9Q esFJI m9a 84QXG M DF { i8 e 84Q e Qc: aXFJe 7 T`e_e Q m9aXFJe 79: T`m9a.iFJIKFJe MPORY L�I T4L M F e Y m�T :sM T`L9L DF7�84:KY L : DFJe_F 84Y Q L0S�T : I 8UGVQXWY F F G T�iY acFj\ DF : T Fbe G Y L 7 F : esT`L9L 84n F 7 T Y k 8 L G Q L9[ 84: L9F :M9Q � DF : FJL G Fbe QcM FbL G_QXG DFJe^t M9Q � DF : FbL G e 7 e_F Y9M T`L # I Fbe z v) Oy84Y0GV: F 7 T Q L G M FEk Y aXL DF :_8 m Q a QXG DFj[bT`L9e Q e G F�FbL Y L9F M DF 7 FJL M98 L9[JF�i8 Y L=esF : k Q [JF�S�T Y5: L Q7�84: Y L : DFbe_F 8UY v � F G_G F M DF 7 FJL M98 L9[JFlesT Y e % FJL G FbL M�WY F a O T`L M T QXG 7 T4e_e DF M F : Y L9F [JF :sGV84Q L9F[JT`L �~8 L9[bFNFbL a O 84Y5G \5FJL GVQ [ QXG DF M F [bF WYPO T`L Y5G_Q a Q e_F F G WY F a O T`L M T Q G [ : T Qc: F FJL e 8+�~8 m Q a QXG DF v� T`IKI FbL G27 F Y5G&% T`Lwe 8 k`T Qc:2WZY O Y L5F [JF :sGV84Q L9F S�T`L9[ GVQ T`L9L 8 a QXG DFuS 84QXG k :_84Q IKFJL G [JF WZY O FbacacF79: DF G FbL M S 84QX: F4|B[bT`I IKFJL G 7 F Y5G$% T`L=e 8 k4T Qc:KWY F�a O T`L 7 F Y5G Y0GVQ a Q esF : [JF G_G FjS�T`L9[ GVQ T4L9L 8 %a Q G DF M FjS 8��[JT`L [JT`L5e Q e G]8 L G F�� � F G_G FEk Y aXL DF :_8 m Q a QXG DF 79: T�k Q FbL G M9Y S 8UQXGKWY F�aXFJeKe_F : k Q [JFbe

Page 15: McGill School Of Computer Science

$

MPORY L : DFbe_F 84Y e_T`L G e Y e_[bF 75G_Q m9aXFJeEi8jM FJe 8UG_GV84WY FJe I 8 a Q [ Q F Y esFJeb| [JT`IKI Q e_Fbe 7�8U:uM Fbe FJL %GVQ G DFJeb|�[JT4L9L Y FJeKe_T Y eKaXF L9T`I n DFJL DF :_QcWY F MPO 84M k4F : e 84QX: F v , a Y e Q F Y9: e G #Z7 FJe MPO 84M k`F : e 84Qc: F[JT % F �0Q e G FbL G F G aXFJeB[ 8 aX[ Y aXeBI Y a G_Qc7�8U:sGVQ G FbeJ| 7984: F � FJI 7 acFU| e_FN[ 84:_8 [ G DF :sQ e_FbL G 7�8U: aXFJe G #Z7 FbeMPO 84M k`F : e 84Qc: FJe [bT`L GV: F�acFbe WY Fbace Q ace e_T4L G e DFb[ Y9:sQXG]8UQc: Fbe v A T Y e 7 T Y k4T`L9e : FJ[JT4L9L 8po q GV: Fja 8e DF k DF :_Q G DF : DFbFJaXacF MPORY L9F 8�G_G]8UWZY F FJL e_F :V8U797 Fba 8 L G M5Y k QX:_Y e M F g T :_:sQ e�FbLKL5Tpk4FJI m : F # C � �WY9Q 8 m�T Y acF k`F : e DF a O �(L G F : L9F G | WY9Q i8 [JF GsG F DF 7 T WY F DF G]8UQXG [JT4L9e Q e GVY DF MPO 847979: T �5Q I 8�GVQ k4F %I FbL G : �`�`�4� T :_M9Q L 8UG F Y9: e v ) F k Qc:sY e 8 k 84QXG 7�84:V8 a Q e DF Y L5F2I 8 { F Y9: F 7984:sG_Q F M F a O �(L G F : L5F G |M F � 8 I m :_QXM9n FU| g 8 e_e 8 []\ Y e_F GsG eb| � F : �UFJaXF # | � 8 a Q S�T : L Q 8 | A F � % � F : esF # | { Y e WYPO 84Y�� a 8 m�T %:V8UG T Qc: FJe M F : FJ[]\9F : []\9F M F a 8 A � x � | M F ) T`e � a 8 IKT`e2F G M Oy84Y0GV: Fbe DF GV8 m9a Q e_esFJIKFJL GuM F: Fb[]\9F : []\9F4| M FJe ; L Q k4F : e QXG DFJe,F G M FJe&m 8 e_Fbe I Q a Q G]84QX: FJe v � Y T QcWYPO 84Y [ Y L9F M T4L9L DFJFuL Oy8 DF G DFM DF G_:_Y9Q G FBe Y5QXG F i8 a O 8UG_GV84WY F4|pacFB[bT oY5G�G T GV8 a M9Yu: DF GV8 m9a Q e_esFJIKFJL G�M FJe�e # e G iFJIKFJe 8 DF G DF Fbe GVQ I DFM�8 L9e^a O T :_M5: F M O Y L I Q aXa Q T`L i8 # �4��I Q aca Q T`L9e M F M T`aXa 84: e v � F G DFbk DFJL5FJIKFJL GK8�79: T Y k DF a 8k Y acL DF :V8 m Q a Q G DF M Ffa O �(L G F : L9F G vC FJe e_[]\PiFJIKFJe [ :$#Z75G T n`:_847 \ QXWZY FJe 7 F Y k`FbL G 84QXM F : i8 [JT4L G_: F :M F G FbacaXFJe I 8 a QXn L Q G DFJe v() F M DFbk4FJacT 797 FbI FbL G,M FJe I DF G \5T M Fbe M F [ 8 ac[ Y ace I Y a GVQX7�84:HGVQXG FJeb|ZFbL7�84:HGVQ [ Y a Q F : | 84QXM FJL G i8 a O 8 k 8 L9[JFbI FbL GfM F^[bFJe G Fb[]\9L QcWY Fbe v

����� � ��� � �����"�+!��"� � � ����� � ��������� � �� � ����� � ������� �

) F M T`I 84Q L9F M Fua 8 [ :&#Z75G T`aXT n`Q FlS Y0G I 84:_WY DF 7�84:,Y L9F n4:V8 L M F DFbk4T`a Y0GVQ T4L 84Y [JT Y9: e M FbeM F Y:�=M F : L Q iF : FJe M DFJ[JFbL9L Q FJe v � L�F � F G | M FEL9T`I m : F Y�� L9T Y k`F 8UY��=75: T G T0[bT`acFbe M F�[]\ Q S %S : FbI FbL G | MPOy8UY5G \9FbL GVQ4� [ 8UG_Q T`LP| M FEe QXn L 8UG_Y9: F M9Qcn4QXG]8 acF F G 84Y5G_: Fbe T`L G k Y acF { T Y9: v � Fbe79: TZ[ DF M DFJe�[ :$#Z75G T n`:V847 \ QcWY FbeET`L G G T Y e�F Y [JT4I IKF 79: FbI Q F : IKT M iFJaXF�acF�es[ DFJL 84:_Q T T iYY L9F 7�84QX: F M F 7984:sG_Q [ QX7�8 L G eb| � a Q [JF�F G � T`m |Bk4F Y5G F � F : [JF : Y L9Fj[JF :sG]8UQ L9F�S�T`L9[ GVQ T4L9L 8 %a Q G DF FJL 79: DFbe_FbL9[JF M Oy84M k`F : e 84QX: Fbert [bT :_:sY975G F Y9: eJ| Q I 7 T`e G F Y9: eb|�Fbe 79Q T`L9eNT Y�8UY5GV: FJe z v�g 84Q e8 k`FJ[ a 8 I 8UGVY9:sQXG DF M Fbe G Fb[]\9L QcWY FbeB[ :$#Z75G T n`:_847 \ QXWZY FJe F G a 8 [ : T Q e_e 8 L9[JF M Fbe 84797 a Q [ 8UGVQ T`L9eM9Y F�i8 a Oy8 k�iFJL9FbI FbL GlM9Y [ 8 aX[ Y a M9Q e GV:_Q m Y DFU| acFum�Fbe_T Q L�S�T`L M�8 IKFJL GV8 a MPO 8 k`T QX: Y L IKT M iFbacFT�iY L9T Y e 7 T Y k`T4L9e M9Q e GV:sQ m Y F : i8�Y L 7 a Y e n`:_8 L M L5T`I m : F M F 7984:sG_Q [ QX7�8 L G e2acFbe �s[ 847�8 %[ Q G DFJel[ :$#Z75G T n`:V847 \ QcWY Fbe � tB� C C d � C@$ � z FJe G I 84Q L G FJL 8 L G2: FJ[JT4L9L Y v) Fbe 79: T G TZ[JT4acFJe M F

Page 16: McGill School Of Computer Science

A

[ 8 aX[ Y aXe I Y a GVQc7984:sG_QXG Fbelt , � g�z e_T`L G [JT`L5e GVQ GVY DFbe M O Y L G Fba�IKT M iFJaXF M F 7984:sG_Q [ QX7�8 L G e M9Q e %GV:sQ m Y DFbe v �(aXe2esT`L GuM Oy84Q acaXF Y9: e a 8 e_T`a Y5GVQ T`L�i8�M FJe 79: T4m9a.iFbI Fbe G FJaXe WY F acF k4T G F M9Q e GV:sQ m Y DFt F v n v � � d x�� C : | d!( (�C & � z |PacFbe FJL9[ 8 L9e i8 M9Q e G]8 L5[JFjt F v n v � d � C : � z |PacF 7�84:sGV84n F M F 79: T %G TZ[JT`aXFJe M F&[]\ Q ��: FJIKFJL G F G M F&e QXn L 8UG_Y9: F t F v n v � C C d'� C $ | ' � - � C : 8 | ' � - � C : m�� z |ZacFJe: F WZYPoF G Fbe M F M T4L9L DFJFbe 79:_Q k DFbFJelt�F v n v � � ' - x�C A | - (�C ?0| � - C C | �N8�# �`��� z |0F G [ vXv v � L n`: T`eJ|Y L , � g 7 F : IKF G i8jY L n`: T Y97 F M F � 7984:sG_Q [ QX7�8 L G e M FK[ 8 ac[ Y acF :������ t ,.�7/832323B,5" z |T�iY�� FJe G^Y L9FrS�T`L9[ G_Q T`L [bT`L9L Y F M F G T Y elF G ,.�0/8323238/B,5" e_T`L G acFbe2FbL GV: DFbFJe 79:_Q k DFJFJe M Fbe7�84:HGVQ [ Qc7�8 L G e v�; L , � g e_F :_8 M9QXG <.>?:@ e Q 84Y [ Y L 7�84:HGVQ [ Qc798 L G L9F 7 F Y5G 847979: FJL M9: F 7 a Y eWY F [JF WYPORQ a 7 T Y9:s:V84Q G M DF M9Y9Qc: F M F e 8 79: T 79: FrFbL GV: DFbF4| M Fra 8 M DF � L QXGVQ T`L M F � F G2M Fra 8k 8 acF Y9:�� t Y L9F M DF � L Q GVQ T`L m�F 84Y [bT Y97 7 a Y e�S�T : I FbacaXFli8 DF G DF M T4L9L DFJF M98 L9e � � 8 L C A � z v`C 8 L9eY L , � g L9T Y efIKT M DFJa Q e_T`L5e Y L 84M k`F : e 84Qc: F2[bT`IKI F Y L5F^FbL G_QXG DF [JFJL G_:V8 a Q e DFbFl[JT`L GV:poT`a 8 L GY L [bF :HG]84Q L L9T4I m : F M F 7�84:HGVQ [ Qc798 L G e v() 8 S 8��[JT4L M T`L G [JFN[JT`L G_:�oT`aXFNe O DF G]8 m5a QXG |`a 8 I 8 L Q iF : FM F2acF M DF � L Qc: F G aXF2e # e G iFbI F t : DFJe_F 84Y z M F2[JT`IKI Y L Q [ 8UG_Q T`L Y0GVQ a Q e DF 7�84: acFbe 7�8U:sGVQ [ QX7�8 L G ee_T`L GNM FbeN[ 84:V8 [ G DF :_Q e GVQXWY FJe 7 F : IKF GsG]8 L GNM F M9Q e GVQ L n`Y F : acFbe , � g v

��� ������"����� ����+� � ���"����� � ������������

A T Y e M DF � L Q e_e_T4L9e WY Fba WY FJe G F : I Fbe^F G FbL GVQXG DFJe Y5GVQ a Q e DFJe M98 L9euaXFJe M FJes[ :sQc75G_Q T`L9e M F [JFbeI T M iFbacFJe v

��� M DFJe QXn L9Fla O FJL5e_FJIum9acF M Fbe 7984:sG_Q [ QX7�8 L G e v� � ��� � � Fbe G acF L9T4I m : F M F 7984:sG_Q [ QX7�8 L G e v��� Fbe G a O FJL5e_FJIum9acF M FlesFJ[ : F G e v��� FJe G a O Q L QXG_Q 8UG F Y9: t M F2a Oy8 L n a 8UQ e ��� �� ��� @ z MPO Y L 79: T G TZ[JT`aXF v��� FJe G aXF 7�84:_8 IEiF GV: F M Fle DFJ[ Y9:_Q G DF 7 T Y9: Y L 79: T G T0[bT`acF v� ,��! #" e QXn L Q � F WY F�, FJe GBY L DFba DFbI FbL G []\9T Q e Q9M F S 8��[bT`L Y L Q S�T : I DFJIKFJL G 8 a DF 8�G T QX: FM Fla O FJL5e_FJIum9acF$" v

��% FJe GNY Lj[JT :_7 e � L Q |9T�iY&� % �(' }*) v

Page 17: McGill School Of Computer Science

:

� � � % FJe G&Y L5F :_8 [ Q L9F 79:sQ I QXGVQ k`F M�8 L9e % v� ) �9��p� � �63������ � ; L5F I 8 []\ Q L5F M F % Y9:sQ L n�8�# 8 L G 8 [b[4iFbeji8�Y L5F e_T Y9: [bF M F m QXG e8 a DF 8UG T Qc: FJe v

� � �������������� ��� � � ; L9F \9T : acT n F n acT`m 8 acF v�( L 7 T4e_F WZY F L ORQ I 7 T :sG F WY Fba0IKFJese 84n FFJL k4T # DF i8 Y L � GVQ [ � M Fja O \9T : acT n F 8UG_G F Q L G e 8 M Fbe GVQ L 8UG_Q T`L 84Y � GVQ [ � e Y9Q k 8 L G M Fa O \9T : acT n F v

� � � �����J����p� 3���� �J��� |����; L 84M k`F : e 84QX: Fl[JFbL GV:V8 a Q e DF WY9Q 7 F Y5G e_F Y acFbI FbL G a Qc: F&a 8 I DFJIKT Qc: F M F���� 7�84:sG_Q %[ QX7�8 L G e v

� � � �����J����p�E�.�4�p��� | ����; L 84M k4F : e 84Qc: F WY9Q�7 F Y5G a Qc: Fla 8 I DFJIKT Qc: FlF G [bT :_: T`I 79: F2acFbe 79: T G TZ[JT4acFJeut � @���� ��� ��@9< � z M Fbe 84M k`F : e 84QX: Fbe WYPORQ aP[bT`L GV:poT`acFKt ��� � �� � � ��� � @7@���@9< z v

� � � �����J����p������������ |�����; L 84M k4F : e 84QX: F WY9Q | 7 T Y9: acFbe 7�84:sG_Q [ Qc7�8 L G e WZY O Q a [JT`L GV:poT`acFU| 7 F Y5G,Q L G F :_: T`I 75: F a 8[JT4I I Y L Q [ 8UGVQ T`L M Fj[JF Y:� % [ QN8 k`Fb[�acF : FJe G F M Fbe { T Y F Y9: e�t�� � � �� ��@7@7? � � � � � � @�< @ � z v � F G #Z7 F MPO 84M k4F : e 84QX: F L9F 7 F Y5Gl7�8 ela Qc: F^acFbe I DFbI T QX: Fbe M FJe 7�8U:sGVQ [ QX7�8 L G eWYPORQ aP[bT`L GV:�oT4acF v

� � � �����J����p���b� �5�p��� ��� � ; L 84M k`F : e 84Qc: F WY9Q []\5T Q e QXG acFbe 7�84:sG_Q [ Qc7�8 L G e WYPO Q aPk 8[JT4L G_:�oT`aXF : �� �� �PaXF M DFJm Y5GNM FJeN[ 8 aX[ Y aXe v

� � � �����J����p��� � ��� � ��� ��� � ; L 84M k4F : e 84QX: F WY9Q�7 F Y5G []\9T Q e QX: aXFJe 7�8U:sGVQ [ QX7�8 L G e ? � ��?�@9< M9YE75: TZ[JFJese Y e M Fl[ 8 ac[ Y a v

C 8 L9eNacF2[ 8 e,T�iY L5T Y e 8 k4T`L9e Y L , � g Q L9[bT`L M9Q GVQ T`L9L9FbacacFbI FbL G e oY9: |~a Oy84M k`F : e 84QX: F 8 Y L5F79Y9Q e_e 8 L9[JF M Fl[ 8 ac[ Y a Q L � L Q F v

A T Y e M9Q esT`L9e WZY O Y L 79: T G TZ[JT4acFjFJe G t��/ ��z % � @�� � � e Q&Y L 84M k`F : e 84Qc: F 7�8 e_e Q S�����wL5F7 F Y5G2847975: FJL M9: F M F a ORQ L0S�T : I 8UGVQ T`L i8�75: T 7 T`e M Fbelk 8 aXF Y9: e MPO FJL GV: DFJFJe M Fbe 7�8U:sGVQ [ QX7�8 L G e\9T`L9L oF G Fbe v , 84:j84Q aXacF Y5: eJ| L9T Y e M5Qc: T4L9e WYPO Q a FJe G t��/ ��z�� �"!"#%$'& �)(�t @ � <�� � � � � � z e Q&Y L84M k4F : e 84Qc: F 8 [ GVQ S��*�+EL9F 7 F Y0Gr847975: FJL M9: F M F a ORQ L5S�T : I 8UGVQ T`L i8�79: T 7 T`e M Fbeuk 8 acF Y9: e

Page 18: McGill School Of Computer Science

?

MPO FJL GV: DFJFJe M FJe 7�84:HGVQ [ Qc7�8 L G e \9T`L9L oF G Fbe&F G&Q a L9F 7 F Y0G FbL n FbL M9: F :&Y L : DFbe Y a G]8UGNM9Y [ 8 aX[ Y aI Y a GVQc7984:sG_QXG F WY9Q e_T QXG [JT4\ DF : FJL GuM5Yw7 T Q L G M F k Y F Q L M9Q k QcM5Y FJa M F []\ 84WY F 7�84:sG_Q [ Qc7�8 L G\9T`L9L oF G F G T Y5G FJL DF G]8 L GjQ L9[bT`\ DF : FJL G�8 k4FJ[wa O FJL9esFJI m9aXF M FJe�k 8 acF Y9: e M FJejFJL G_: DFJFbe M Fbe7�84:HGVQ [ Qc7�8 L G e \9T`L5L oF G FJe v

A T Y e DF G_Y9M9Q F : T4L9e e Y9:sG T Y5G acFbe , � g T 7 DF :V8 L G 8 k`FJ[ M FJe [ 8 L 8UY�� M FE[bT`IKI Y L Q [ 8UG_Q T`Le oY9: eJ|Ba O \ #07 T G \ iFJesF�a 8 7 a Y e [ 84:_8 [ G DF :_Q e G_QcWY F M9Y IKT M iFbacF i8 e DFJ[ Y9:_Q G DF Q L9[bT`L M9Q GVQ T4L9L9FJaXacF vC 8 L9e [bF [JT`L G F �ZG FU| []\ 84WY F 7�84Qc: F M F 7�8U:sGVQ [ QX7�8 L G e 7 T`eseJiF M F Y L [ 8 L 8 a M F [JT`IKI Y L Q %[ 8UG_Q T`L�e oY9: t Q v F v a O 84M k4F : e 84Qc: FrL9F 7 F Y5G a QX: FU| IKT M9Q � F : T Y n DFJL DF : F :^8UY [ Y L IKFJe_e 84n F e Y5:[JFbe [ 8 L 84Y�� z vBC Oy84Y0GV: Fbe I T M iFJaXFJe M Fj[JT4I I Y L Q [ 8UGVQ T`L IKF G_G FJL G FJL { F Y acFJer[ 8 L 84Y:� i8e DFb[ Y9:sQXG DFbe [bT`L M9Q GVQ T4L9L9FJaXacFbe�t 8 k`FJ[ 79: T G T0[bT`acFbe M F�[]\ Q � : FJIKFJL G F G MPO 84Y5G \9FJL GVQ � [ 8�GVQ T4L z |acFbe [ 8 L 84Y:�KM9QXG e L5T`L % e DFJ[ Y9:_Q G]84QX: FJe,t�L O Y0GVQ a Q e 8 L GBWZY F M Fbe 75: T G T0[bT`acFbe M Oy84Y0G \9FbL G_Q4� [ 8UGVQ T`LP|acFbe IKFJese 84n FJe DF G]8 L G FJL k`T # DFJe FbL [ba 84QX: z F G acFbeB[ 8 L 8UY�� L9T`L %(84Y5G \5FJL GVQ � DFJe T�iY a Oy8UM k`F : e 8UQc: F7 T4e_eJiF M F acF^[JT`L GV:poT`acF G T GV8 a M Fra 8 [JT4I I Y L Q [ 8UGVQ T`L t 7 F Y5G F � 8 [JF : | n DFJL DF : F : F G I T M9Q � F :M FJe IKFJese 84n FJe i8 k`T`aXT`L G DF z v�) O Q L G DF :JoF GfM Fbef[ 8 L 8UY�� M Fl[bT`I I Y L Q [ 8UGVQ T`L e oY9: e Fbe GNM F 7 F :&%I F G_G_: F Y L5F k Y F 7 a Y e 8 m9e G_:V84Q G F M9Y�79: T`m9a.iFJIKF M F , � g F GfMPO 84:_:sQ k`F : i8rY L9F esT`a Y5G_Q T`L i8e DFb[ Y9:sQXG DF Q L9[JT4L M9QXG_Q T`L5L9FJaXacFJIKFJL G e oY9: F v ) 8 7 a Y97�8U:sG M Fbe 79: T G TZ[JT`aXFJe WY F L9T Y e DF GVY5M9Q F : T`L9e84Y9: T`L G 84Y e_e Q 8 [J[4iFJeli8uY L [ 8 L 8 a M F M9Q ��Y e Q T`L 79Y m9a QcWY F4|Z[JFb[ Q�79: TZ[ Y5: F Y L 8 k 8 L GV84n F WZY FL9T Y e k4F :s: T`L9e 7 a Y eracT Q L v�C 8 L9erL9T`e M9Q e_[ Y e_e Q T`L9eb| acF : DFJe_F 84Y�M F [JT`IKI Y L Q [ 8UG_Q T`L e_F :_8G T Y { T Y9: e e # L9[]\ : T`L Q e DF v5C 8 L9e Y L : DFbe_F 84Y�8 e # L9[]\ : T`L9FU| Y L G FJI 7 e 8U: m Q GV:V8UQc: F^t�I 84Q e � L Q z7 F Y5G e O DFb[JT Y aXF : 8 k 8 L G a Oy84:s:_Q k DFbF MPORY L�IKFJe_e 84n F v � F e_[ DFJL 8U:_Q T 8U797 T :sG F Y L9F 7 a Y e n`:_8 L M F[JT`I 7 aXF �0QXG DF v�; L9F F � [JFJaXacFbL G F DF G_Y9M F M F , � g 8 k`Fb[ : DFJesF 84Yj8 e # L5[]\ : T`L5F2Fbe G a 8^G \PiFJe_F M F� 8 L9F G_GVQ � � 8 L C A � v

A T Y e L9F M9Q es[ Y5G F : T4L9e 7�8 e L9T`L 7 a Y e M FJe 84M k`F : e 84QX: Fbe M # L 8 I QXWY FJe WY9Q�84757 T :HG FbL G 84Y e_e QY L9F 7 a Y e n4:V8 L M F [JT`I 7 acF �0QXG DF v , a Y e Q F Y9: e 79: T G TZ[JT`aXFJe"T4L G DF G DF 75: DFJe Y I DFJeBe oY9: e�[JT`L G_: F M Fbe84M k4F : e 84Qc: FJe M # L 8 I QXWY FJe I 84Q e Q a 8 DF G DF 79: T Y k DF 7�8U: a 8 e Y5QXG F WY F G Fba�L O DF G]84Q G 7�8 e acFN[ 8 et�k4T Qc: 7�8U: F � FJI 7 acF�� � * C }��.| � � 8 L C A � |'� � d ' A C : � |'� � C C���C C � z v

d Q L 8 acFbI FbL G |~L9T G T4L9e WY F G T Y0G , � g Fbe G [bT`I 7 T`e DF MPORY L�e_T Y e %(75: T G T0[bT`acF 8U797 Fba DF 7�84:&%G]84n F M F e_Fb[ : F G k DF :sQ4�~8 m5acF t , x 9lz t 7984: S�T Q euaXF 79: T G TZ[JT`aXF , x�9 FJe G Q I 7 a Q [ Q G F4| [bT`IKI F

Page 19: McGill School Of Computer Science

M�8 L9e � � � C � �D� z v ; L 79: T G T0[bT`acF , x 9 7 F : IKF GfM FlIKF G_G_: F FbL 7984:sGV84n F Y L�e_Fb[ : F G,7�84: I Q7 a Y e Q F Y9: e 7�8U:sGVQ [ QX7�8 L G e M FrS 8��[bT`L*i8 [JF WY F aXFJe 7�84:HGVQ [ Qc798 L G e 79Y9Q e_e_FbL G k DF :sQ4� F :^WY FKacFe_Fb[ : F G FJe G m Q FbL I Q e2FJL 7�84:HG]84n F e 8 L9e M9Q k Y a n`Y F : acF Y9: e 7�84:HG e�t�acFJe2k 8 acF Y9: e esF : k 8 L G i8: Fb[JT`L9e GVQ GVY F : acF^e_Fb[ : F G 7�84:HG]84n DF z v�A T Y e M T`L5L9F : T`L9e Y L5F M DF � L QXG_Q T`LjS�T : IKFJaXacF M FJe , x 984Y []\ 8479Q GV: Fu} v

����� � � ��� � ��� ����� ��� �"���� �

� 8 T2t1� � 8 T��`} � z 8 DF G DFBacF 79: FbI Q F : i8 e Y5n`n DF : F : acF 79: T`m5a.iFJIKF M Fbe , � g v �(a 8fM T`L9L DF Y L , � g7 T Y9: M F Y�� { T Y F Y9: e e 8UG_Q eHS 84Q e 8 L G [bF :sGV84Q L5e [ :_QXG iF : FJe M F&[JT4L ��M FbL G_Q 8 a QXG DFNF G M F : T`m Y e G FJe_esFt 7�8 e QcM FJL GVQXWZY FJeNi8 L9T`e M DF � L Q GVQ T`L9e z 8 k`FJ[ 79: T`m 8 m Q a QXG DF M O F :_: F Y9: v ) 8 e DFb[ Y9:sQXG DF M F [bF , � gFJe G m 8 e DFbF^e Y9: a 8 e DFb[ Y9:sQXG DF M FJefS�T`L9[ G_Q T`L5e M Fl[]\ Q ��: FbI FbL G i8 [Ja DF 79Y m9a QcWY F v

' T4a M9: F Q []\ | g Q [ 8 a Q F G =hQcn`M F : esT`L tB� ' g = � ?�� z T`L G�M T`L5L DF Y L9F 79: FbI Q iF : FwesT`a Y5G_Q T`Ln DFJL DF :V8 acF i8 e DFJ[ Y5:_QXG DFu[bT`L M9Q GVQ T4L9L9FJaXacF m 8 e DFbFue Y5: a O \ #Z7 T G \PiFJesF M F2a O F �0Q e G FbL9[JF M F 7 F : I Y %G]8UG_Q T`Lji8&GV:V8U797 F v �(aXe�T`L GB79: DFbe_FbL G DF Y L 79: T G T0[bT`acF t � / ��z�� � @ � � � | 84Q L9e QZWYPORY L 75: T G T0[bT`acFt ��� }:/ ��z � �"!"#%$'& �)( M�8 L9e Y LEI T M iFJaXF i8K: DFJe_F 84Y e # L5[]\ : T`L5F 8 k`FJ[^[ 8 L 84Y��EM F2[JT`IKI Y %L Q [ 8UGVQ T`L L9T`L % e DFb[ Y9:sQXGV84Qc: FJe v

, 84: a 8 e Y9Q G FU| � \ 8UY IE| C 8 I n �84:sM F G k 8 L M F ' :V8`8 Slt1� � C k M ' � ? � z T`L G 79: DFJesFJL G DF Y L5Fe_T`a Y5GVQ T`L \ # m :_QcM F,[bT`L GV: F Y L 84M k`F : e 84Qc: F 8 [ GVQ S WY9Q~7 F : IKF G i8lY L M FJe 7�84:sG_Q [ Qc7�8 L G e M F,esFe DFb[ Y9:sQ e_F : M F S 8��[bT`L Q L9[bT`L M9Q GVQ T4L9L9FJaXacF v � F S Y5G acF 75: FJI Q F : 7�8 e k`F : efa 8uM DFb[JT Y k`F :HG F MPORY L, � g i8 e DFb[ Y9:sQXG DF Q L9[JT`L M9QXG_Q T`L9L5FJacaXF v

, a Y e GV84:_M | � \ 84Y Ij| � : DF 7 F 84Y F G C 8 I n �84:sM t1� � � C � �D� z T`L G�GV: T Y k DF4| M F S 8��[bT`L Q L M DF 7 FJL M %8 L G F=i8 � FJL % ( : | ' T`a M � 8 ese_F : F G =hQcn`M F : esT`L t1� � ' = � �D� z | Y L9F e_T4a Y5G_Q T`L i8 e DFb[ Y9:sQXG DFQ L9[bT`L M9Q GVQ T`L9L9FbacacF M�8 L9e aXFEes[ DFbL 84:_Q T M F�[ 8 L 8UY�� M F�[bT`I I Y L Q [ 8UGVQ T`L9e e oY9: e v � FJe 75: F %I Q F : e 8UY5G F Y9: eKT`L G M T`L9L DF Y L 79: T G TZ[JT4acFwt ���@& / ��z�� @�� � ?�< � � 8UQ L9e QNWYPORY L 75: T G T0[bT`acFt ��� }:/ ��z�� � @ � � � v � F 7 FbL M�8 L G | acFbe 79: T G TZ[JT`aXFJe Y0GVQ a Q esFJL G M Fbe 79: F Y k4FJe i8 M9Q k Y a n 8UG_Q T`L

Page 20: McGill School Of Computer Science

C

L Y acaXF4| WY9Ql7�84: acF Y9: L 8UGVY5: F I oFbI F Q L M9Y9Q esFJL GEY L9F 75: T`m 8 m Q a QXG DF MPO F :_: F Y9: t 7 T Y k 8 L G |7�84: [JT`L G_: F4| oF G_: F F �07 T4L9FJL GVQ FJaXacFJIKFJL G^7 F GVQ G F 7�84:^:V84797 T :HGu8UY 7�84:_8 IEiF GV: F M F e DFb[ Y9:sQXG DF[]\9T Q e Q z v ) Fbe 84Y5G F Y9: e M F � � ' = � ��� M T`L9LPiF : FJL G 84Y e_e Q | M�8 L9e Y LrI oFJIKF es[ DFJL 84:_Q T9| Y L 79: T %G TZ[JT`aXF t ��� }�/ ��z � � @�� � � | 8 k4FJ[ 79: T`m 8 m Q a Q G DF MPO F :_: F Y9: F �57 T`L9FbL GVQ FbacaXFJIKFJL G 7 F GVQ G FU| I 84Q eacF Y9: 79: T G TZ[JT`aXF2t ���@& / ��z � @�� � ?(< ��� L Oy8 k 84QXG 84Y [ Y L9F 79: T`m 8 m Q a Q G DF M O F :_: F Y9: v �(aXe T4L G 84Y e_e QM DFJIKT`L GV: DF WYPORQ a DF G]8UQXG�Q I 7 T`ese Q m9acF MPO 8 k`T QX:"Y L 79: T G TZ[JT4acF 7�84: S 8UQXG t e 8 L9e 79: T`m 8 m Q a Q G DF MPO F :&%: F Y9: z acT : e WY F&a Oy8UM k`F : e 8UQc: FNFJe Gf8 [ GVQ SPF G [bT`L GV:poT`acF 84Y IKT Q L5e ��� & 7�84:HGVQ [ Qc7�8 L G eJ|T Y ��� }M FJe 7�8U:sGVQ [ QX7�8 L G e M�8 L9efacF [ 8 e M O Y L 84M k4F : e 84QX: F 7�8 e_e Q S v

� k4FJ[ra O 84M9M5QXGVQ T`L M O Y L [ 8 L 8 a M F M9Q � Y e Q T`L�e oY9: 84Y IKT M iFJaXF 79: DFJ[ DF M FJL G | �,8 m Q L�F G � FJL %( : tB� �=� � C � z F G&M F S 8��[bT`L Q L M DF 7 FbL M�8 L G F � F 8 k4F : � � F 8 C ���.|~T`L GN79: DFbe_FbL G DF Y L5F^esT`a Y5G_Q T`Lt ��� }:/ ��z ��� !�#%$'& �)( Q L9[JT`L M9QXG_Q T`L9L5FJacaXFJIKFJL G e oY9: F 8 k`FJ[ 75: T`m 8 m Q a QXG DF MPO F :s: F Y9: F �07 T`L9FJL %GVQ FJacaXFJIKFJL G 7 F G_QXG F v � FJa 8 Fbe G acFrI Q F Y:� WY F a O T4L 75Y9Q ese_F S 84Qc: FK[bT`L GV: F Y L 84M k4F : e 84QX: F�i8e_F Y9Q a MPO 8479: iFJe^acFJe : DFJe Y a G]8�G e M F � � ' = � �D�BF Gu79Y5Q e WY F WYPORQ aBFJe G I oFJIKF Q I 7 T`ese Q m9acF M FI F G_G_: FjFJL 7�84:HG]84n F Y L=esFJ[ : F G M F�S 8��[bT`L k DF :sQ4�~8 m9acF t Y L , x�9 z e Q ��� }wT Y=7 a Y e M Fbe7�84:HGVQ [ Qc7�8 L G e e_T4L G [JT :_: T4I 79Y e v

� \ 84Y I � � \ 8 C �D� 8 75: DFJesFJL G DF Y L9F esT`a Y0GVQ T4L \ # m :_QcM F WZY5QP7 T Y9: [JF :sG]8UQ L9e 8 e 7 FJ[ G e : F 7 T`esFe Y9: M FJe \ #Z7 T G \PiFbe_Fbe �� ��� ? � � � �-@ � < |ZI 84Q e WY9Q 7 T Y9: MPOy8UY5GV: FJe FJe G Q L5[JT`L M5QXGVQ T`L9L9FbacaXFJIKFJL Ge oY9: F v%) F 79: T G TZ[JT`aXF Fbe G e oY5: [JT4L G_: F Y L 84M k4F : e 84Qc: F 8 [ GVQ S [JT :s: T`I 7�8 L G�� 7�8U:sGVQ [ QX7�8 L G eT Y Y L 84M k`F : e 84QX: F 7�8 e_e Q S�[JT :s: T`I 7�8 L G � { T Y F Y9: e2t a O 84M k4F : e 84QX: F M T QXG []\5T Q e Qc: M OXoF GV: FlesT QXG8 [ G_Q S$|0e_T Q Gf7�8 e_e Q S z | 7 T Y9:N84Y0G]8 L GfWY Fu} ��� � ��� v

d QXG . Q | *,Qc:HG F G g 84Y5: F : � d * g C �D� t F G a 8 k`F : e Q T`L�[JT :_:_QXn DFJF � d * g C C � z T`L G Q L GV: T M5Y9QXG acFG #Z7 F MPO 84M k4F : e 84Qc: F DFb[]\9FJ[ v�C 8 L9e a 8 I oFJIKF a QXn L9F M F 7 FJL5e DFJF WY F � \ 84Y Ij| Q aXePT`L G�79: DFbe_FbL G DFY L , � g : T4m Y e G F [JT4L G_: F Y L 84M k4F : e 84Qc: F WY9Q [bT :_: T`I 75G"798 e_e Q k`FbI FbL G � { T Y F Y9: eb| 8 [ GVQ k`F %I FbL G�� { T Y F Y9: eBF G [bT`L GV:poT`acF�( 7�84:sG_Q [ Qc7�8 L G e DFJ[]\9Fb[ v %�T Y5G Ff[JT4I m Q L 84Q esT`L M F 7 T4e_e_Fbe_e Q T`LP|FJL=I oFJIKF G FbI 7 eb| Fbe G 7 F : I Q e_F 7 T Y9: 84Y5G]8 L G WY F�} ��� }0� � ( ���"| [JFb[ QNM�8 L9e Y L: DFbe_F 8UY e # L9[]\ : T`L9F 8 k`Fb[&[ 8 L 8 a M F M5Q ��Y e Q T`L 75Y m9a QXWY F v0x Q & ��� }0� � ( ���| Q a�F �0Q e G F Y L79: T G TZ[JT`aXF < �� < ? � ? ��� 79: T`m 8 m Q a QXG DF MPO F :_: F Y9: v5C 8 L5e aXF,[ 8 e MPORY L : DFJesF 84Y e 8 L9e [ 8 L 8 a M FM9Q ��Y e Q T`L 79Y m5a QcWY F Y L 79: T G T0[bT`acFfF �5Q e G F4| 8 k`FJ[ 79: T`m 8 m Q a QXG DF MPO F :_: F Y9: L DF n a Qcn F 8 m9aXF4| 7 T Y9:

Page 21: McGill School Of Computer Science

# �

84Y5GV8 L GfWZY F & � � ( �� v

*,QX:sG F G g 84Y9: F : � * g C ?��lT`L G [ 84:V8 [ G DF :_Q e DF Y L G #Z7 F MPOy8UM k`F : e 8UQc: F 7 a Y e n DFJL DF :V8 a WZY F[JFba Y9Q i8 e_F Y9Q alF G T`L GE79: DFbe_FJL G DF M Fbe 79: T G TZ[JT`aXFJe 79:sQ k DFJejF GE: T4m Y e G FJeE[JT`L GV: Fw[bF Y�� % [ Q v) Oy84M k`F : e 84QX: F n DFJL DF :V8 a e_F [ 84:V8 [ G DF :_Q e_F 7984:uY L FbL9e_FbI m9aXF [JT`L5e GVQ GVY DF M FJeuFJL9esFJI m9aXFJe M F{ T Y F Y9: e WY F a O 84M k`F : e 84Qc: F 7 F Y0G [bT`L GV:poT`acF : vfx I QXG \hF G x GVQXn a Q [ � x9x&C ���.| 7�8U:V8 aXa.iFJaXFJIKFJL Gi8 � :V8 IKF : | C 8 I n �84:_M | C . Q FJI m�T��fe � Q | *NQc:sG F G �,8 m Q L � � C C���C C � | T`L GK79: DFbe_FJL G DF M Fbee_T`a Y5GVQ T`L9e M�8 L9e aXF�I oFJIKF�[JT`L G F �ZG F WY F � * g C ? �.| I 84Q e 7 a Y e F [ 8 [JFbeJ| aXF , � g M F� � C C���C C � DF GV8 L G T 75G_Q I 8 a v�) Fbe M F Y:��: DFJe Y a G]8�G e&e O Q L9e 75Qc: FbL G n`:V8 L M FJIKFJL G&M FJe G_:V8 k 84Y��M F�� �=� � C � v

����� � � !+������ � � ��� � ��� � ������������ � �

� F I DFJIKT Qc: F,esF k`F Y0GfY L9F e # L G \PiFJe_F M Fbe , � g Q L9[JT4L M9QXG_Q T`L5L9FJaXacFJIKFJL G e oY9: e v&A T G_: F m Y5G[JT`L5e Q e G F i8 79: DFbe_FJL G F :&Y L 79: T G TZ[JT`aXF \ # m :_QcM F^FbL G_: F2[JFba Y9Q M F � x9x&C �D��F G � � C C���C C �.| WY9Qe_T`L G a O DF G]8�GuM F a O 84:sG^M Fbe , � g Q L9[bT`L M9Q GVQ T`L9L9FbacacFbI FbL G e oY9: e v � Y T QcWY F IKT Q L9elF K[ 8 [bFWY F�[bFJa Y5Q,M F�� � C C � C C � | aXF 75: T G T0[bT`acF WY F�L9T Y e 79: DFJe_FbL G F : T`L9e Fbe G m�F 8UY [JT Y57 7 a Y eQ L GVY5QXGVQ SPF GfY L QcWY F&FJL�e_T`L n FJL : F v , T Y9: 84:s:_Q k`F : 84Y : DFbe Y a G]8UG |5L9T Y e M DFJ[ :_Qc: T`L9eb|5FJL�T :sM9: F[]\ : T4L9T`acT n`QcWY FU|ZaXFJe 79:_Q L9[ QX7�84Y�� e_T Y e % 79: T G T0[bT`acFbe F G 79: T G TZ[JT`aXFJe WZY5Q T`L G [bT`L GV:sQ m Y DF 84Y��QcM DFbFJe M Fbe , � g M F � x9x&C ���~F G � � C C���C C � v(A T Y e 79: DFJesFJL G F : T`L9e 84Y ese Q~M FJe 79: F Y k4FJe F G Y LS�T : I 8 a Q e_IKF n DFJL DF :V8 a WY9Q Fbe G e_T Y k`FJL G I 8 L WY�8 L GNM�8 L9efa 8 a QXGsG DF :_8UGVY5: F M Fl[bF M T4I 84Q L9F v

) F []\ 8U79QXG_: FKe Y9Q k 8 L G2GV:_84QXG F M FJe 79: T G T0[bT`acFbe M F 7�8U:sG]8Un F M F esFJ[ : F G k DF :_Q4��8 m9acFEt , x 9lz v; L9F M DF � L Q GVQ T`LuS�T : I FbacacF FJL FJe GBM T`L9L DFJF4|4F G acFbe L9T G_Q T`L9e M F e DFb[ Y9:sQXG DF WY9Q e O #r:V84757 T :HG FbL Ge_T`L G 8 m�T :_M DFbFJe v&A T Y e # 79: DFbe_FJL G T`L9e aXF 75: T G T0[bT`acF [ba 8 ese QcWY F M F 7�84:sGV84n F M FNe_Fb[ : F G t , x5zM F x \ 8 I QX: � x \ 8 ? C � 84Q L9e Q WY F acF , x�9 M F d FJa M I 8 L � d g � �D� F G [JFba Y9Q M F � � C C���C C �t WY9Q Fbe GNY L9FlIKT M9Q � [ 8�GVQ T4L M Fl[JFba Y9Q M F d FJa M I 8 L z v

� Y []\ 8475QXGV: F & |5L5T Y e 79: DFbe_FbL G T`L9e Y L , � g [bT`L9e G_:_Y9Q G i8 a O 84QcM F M9Y , x�9 M F�� � C C���C C �

Page 22: McGill School Of Computer Science

#@#

F G�M F WZY FJa WY Fbe 79: T G TZ[JT`aXFJe WY9Q T4L G DF G DF Q L GV: T M9Y9Q G e M�8 L9e � � ' = � �D� | � x9x&C ��� 84Q L9e QWY F M Oy84Y0GV: Fbe WY FEL9T Y eK[JT4L9e G_:_Y9QX: T`L9e v ) F , � g T`m G FJL Y | WY T QXWY F 798 e aXF 7 a Y e F %[ 8 [bF WY9Q F �0Q e G F { Y e WYPO i8 84Y { T Y9:sMPO \ Y5Q |~FJe G T :_QXn`Q L 8 a.|0e Q I 7 aXF^F G&Y5G_Q aXF 7 T Y9:NM FJe :V84Q e_T`L9e7 DF M984n T n`QXWY FJe v#A T Y e 8 L 8 a # e_F : T`L5e G T Y efacFbe e_T Y e %(75: T G T0[bT`acFbe Y0GVQ a Q e DFJe v

, 84: a 8 e Y5QXG FU| L9T Y e Q L GV: T M9Y5Qc: T4L9e 84Y []\ 8475QXGV: F $ acFbePe G_:_Y [ GVY9: FJe MPOy8UM k`F : e 8UQc: Fbe n DFJL DF :V8 a Q e DFJe v, T Y5: [JF S 84Qc: F4| L9T Y e M DF � L Qc: T`L9eua 8 L9T GVQ T4L M F < ��� � @���� @ �� < | Y L IKT M iFJacF M F [ 8 aX[ Y ae_F : k 8 L G i82n DFJL DF :V8 a Q esF : acFbe , x�v�A T Y e M DFJ[ :_QX: T`L9e Y L 79: T G T0[bT`acF M F , x t GVQc: DF M F � - = C & � z |Y5GVQ a Q e 8 L G aXFJe < ��� � @���� @ �� < | WY9Q 7 F : IKF GfM F n DFJL DF :V8 a Q e_F : acF , � g 75: DFJesFJL G DF v

d Q L 8 acFbI FbL G | M�8 L5e�a 8 [JT4L9[Ja Y e Q T`LP| L9T Y e : DFbe Y IKF : T`L9eEacFJej[JT4L G_:_Q m Y5GVQ T`L9e G Fb[]\9L QcWY FbeWYPOy8U797 T :sG F [bF I DFbI T Qc: FKF G L5T Y e M9Q e_[ Y0G F : T`L9e�i8�79: T 7 T`e M FJe 75: T`m9a.iFJIKFJe FbL9[JT : F T Y %k`F :sG e v

Page 23: McGill School Of Computer Science

� � � � � � �� �

� � � � � � � � � �� � � � � � � � � � � � �

� � � �� � � � � � � � � �% � � ��� �

; L 79: T G T0[bT`acF M F 7�84:HG]84n F M FKe_Fb[ : F G , x'� t �7/ ��z 7 F : IKF G i8EY L � � � � � ��� ?:@ M F IKF GsGV: FFJL 7�84:HG]84n F 7�84: I Q � 7�84:sG_Q [ Qc7�8 L G e Y L e_Fb[ : F G & M F S 8��[bT`L=i8 [JF WYPORY L FJL9esFJI m9aXF M F �7�84:HGVQ [ Qc7�8 L G e 79Y5Q e_esFJL G [ 8 ac[ Y acF : acF&e_FJ[ : F G & |ZI 84Q e WZY O Y L�FbL9e_FbI m9acF M F 7�84:HGVQ [ Qc798 L G e M FI T Q L M9: Fl[ 84:sM9Q L 8 a QXG DFlL Oy8UQXG&84Y [ Y L9F Q L0S�T : I 8UGVQ T`L t M98 L9e aXF^esFJL9e M F x \ 8 L5L9T`L � x \ 8 $ �D� zi8 75: T 7 T`e M9Y esFJ[ : F G v , 84: [JT`L GV: F4| M�8 L9e Y L G FJa 79: T G TZ[JT4acF Y L Q L Q GVQ 8�G F Y5: I 8 aXS 84Q e 8 L G7 T Y9:_:_84QXG I F G_GV: F FJL 7�84:HG]84n F Y L esFJ[ : F G M F S 8��[bT`L L9T`L [JT4\ DF : FJL G FU|Z[ O Fbe G&% i8 % M9Qc: F M F S 8��[JT4Li8 [JF WYPORY L9FrS�T Q e&a 8 7 \ 8 e_F M F M9Q e G_:_Q m Y5GVQ T`L G F : I Q L DFbF4| Y L n4: T Y97 F M F 7�8U:sGVQ [ QX7�8 L G e�t 8 k`Fb[ � � � ' � z WY9Q e_F : F n4: T Y97 F :_84QXGN7 T Y9:N: F GV: T Y k`F : acF2e_Fb[ : F G [ 8 ac[ Y acF :V84Q GfY L9F^k 8 aXF Y9:&� | G]8 L M5Q e WZY O Y L 84Y5GV: F n4: T Y97 F ���� � t 8 k4FJ[ � � � ' � z [ 8 ac[ Y acF :V84Q GfY L9F 84Y5GV: F2k 8 aXF Y9:& ���� &��v ) T : e WYPORY L9F G FJaXacF e Q GVY�8�GVQ T4L 7 F Y5G e_F 79: DFJe_FbL G F : | Q a`S 84Y5G�7 T Y k`T QX:�7 F : I F G_G_: F 84Y��7�84:HGVQ [ Qc7�8 L G e M F � � @ � � @"WY F,acFfe_Fb[ : F G Fbe G m Q FbL M9Q e GV:sQ m Y DF M FNS 8��[bT`L [bT`\ DF : FJL G F v �(a 7 F Y0G84Y ese Q 8U:_:_Q k`F : WY F [JF :sGV84Q L9e 7�84:sG_Q [ Qc7�8 L G e G FbL G FJL G M F [bT :_: T`I 79: F a 8E7 \ 8 e_F M5Y [ 8 aX[ Y aM9Y e_Fb[ : F G FbL M T`L9L 8 L GNM Fbe 7984:sG e WY9Q L5F 75: T�k Q FJL5L9FJL G,7�8 e : DFbFJaXacFJIKFJL GfM Fla O Q L QXG_Q 8UG F Y9: |Q aPL5T Y e,S 8UY5GNM T`L9[ Y L9F G Fb[]\9L QcWY F 7 T Y9: [bT`L GV: F : [JFJa 8 8UY e_e Q v5) F 79: T G TZ[JT4acF M F 7�84:HG]84n FM F esFJ[ : F G k DF :sQ4�~8 m5acF�t , x 9lz | Q L GV: T M9Y5QXG,7�84: � \9T : | ' T`a M � 8 ese_F : | g Q [ 8 a Q F G � � F : m Y []\

# }

Page 24: McGill School Of Computer Science

# &

M�8 L9e � � ' g � � A � |�Fbe G"Y L 84:HGVQ � [JF [ :&#070G T n`:_847 \ QXWY F WY9QZ: DF 7 T`L M i8 [bFJe M F Y��^79: T`m9a.iFbI Fbe vA T Y e 79: DFJe_FbL G T`L9e M98 L9e�[bF []\ 8475QXGV: F aXFJe 75: T G T0[bT`acFbe , x t 7 a Y e 7�84:sG_Q [ Y a Q iF : FbI FbL G [bFJa Y9Q0M Fx \ 8 I Qc: z 84Q L9e Q`WY F acF , x�9 M F d FJa M I 8 LKt1� � ' = � �D�F G � d g � � � z F G�Y L9FBI T M9Q4� [ 8UG_Q T`L M F[JFba Y9Q % [ Q | : F GV: T Y k DF M�8 L9e�� � C C��.C C � | WY9Q�7 F : IKF G i8^Y L 7 a Y e n`:_8 L M L9T4I m : F M F { T Y F Y9: eI 8 ac\9T`L5L oF G FJe M F 7984:sG_Q [ QX7 F : v A T Y e 79: DFbe_FJL G T`L9e 84Y e_e Q M FJe 79: T G TZ[JT`aXFJelF G^M FJe^L9T G_Q T`L9eWY F [bFJe M F : L Q F : e Y5G_Q a Q e_FbL G | L9T GV8 IKI FbL G acFbe^[bT M FJeu[bT :_: FJ[ G F Y5: e F G aXFJe 75: T G T0[bT`acFbe M Fk DF :_Q � [ 8�GVQ T4L MPO Q L5S�T : I 8UG_Q T`L v

� ��� � � � � � !+� ��� � ���� � � � � ��� ��� � ����� ���

) 8 I 8 { T :sQXG DF M Fbe , x�9 e_F,m 8 e_FbL G e Y9: a 8 L9T G_Q T`L M F 7�84:sGV84n F M F,e_FJ[ : F G t , x9z M F x \ 8 I Qc:� x \ 8 ? C �Nt Y L 75: T G T0[bT`acF M F , x 8 DF G DF G_: T Y k DF Q L M DF 7 FbL M�8 IKI FbL G 7�84: � � a 8 ? C �.|�I 84Q e&[bFM F : L Q F : Fbe G IKT Q L5e Y5G_Q aXF M�8 L9e�L9T G_: F [JT`L G F �ZG F z v�; L 75: T G T0[bT`acF M F 7�8U:sG]8Un F M F e_Fb[ : F G FJe G[JT`L5e GVQ GVY DF MPORY L9F 7�84QX: F M F 79: T G TZ[JT4acF�t ��� & �7/���(� z |"T iY �� & � 7 F : IKF G i8�Y L Q L QXGVQc8UG F Y9:� M F M9Q e GV:_Q m Y F : Y L�e_FJ[ : F G & 84Y���7�84:sG_Q [ Qc7�8 L G e M F � F G ��(�jFJe G acF 79: T G TZ[JT`aXF M F: Fb[JT`L9e GVQ GVY5G_Q T`L M9Y e_Fb[ : F G |~F � DFb[ Y5G DF 7�8U: acFJe 7�8U:sGVQ [ QX7�8 L G e e 8 L9efa 8 79: DFJesFJL9[bF M F � v

DD

AliceCarlotBob X o

s

s 1s 2 s 3 s N

......

Secret:

� ����� } v # � , 84:HG]84n F M FlesFJ[ : F G

; L � � % t �7/ ��z FJe G Y L 79: T G TZ[JT`aXF , x WY9Q 7 F : I F G i8 Y L FbL9e_FbI m9acF M F�� 7�84:HGVQ [ Qc798 L G e M F: Fb[JT`L9e GV:sY9Qc: F acF esFJ[ : F G e 8 L9e M T`L9L9F :f84Y [ Y L9F Q L5S�T : I 8UGVQ T`L i8rY L n`: T Y97 F M F IKT Q L9e M F��7�84:HGVQ [ Qc7�8 L G elt [ O Fbe G,Y L 79: T G T0[bT`acFrt �7/ ��z % � @ � � � z v) F 79: T G T0[bT`acF � � % t �7/ ��z M F x \ 8 I QX: e_F M DFb[ :sQXG [JT4I IKF e Y9Q G �

Page 25: McGill School Of Computer Science

# $

)^p����� �`����� � , x M F x \ 8 I QX: �C Q e GV: t � / � / &�z �

� � []\9T Q e QXGNY L 7 T`a # L oT`IKF 8 a DF 8�G T QX: F ���! % � ,�� M F M F n`: DF 84Y�7 a Y e�� � # G FJaWY F ��t � z � & F G M T`L G acFbe�[JTZF K[ Q FJL G e esT`L G []\9T Q e Q e M F S 8��[bT`L Y L Q S�T : I DFJIKFJL G8 a DF 8UG T Qc: F M�8 L9e % |`T iY�� % � � � t a 8NG]84Q acacF M F % 7 F Y5G I oFbI F oF GV: F F �07 T`L9FJL %G_Q FJaXacFbI FbL G n`:V8 L M F FJL � e 8 L9e WY FlacF 79: T G TZ[JT4acF L9F M F k Q FJL9L5F Q L9F K[ 8 [JF z v

� � []\9T Q e QXG � DFJa DFJIKFJL G e M9Q e G_Q L9[ G eJ|�L5T`LuL Y aXeJ| � �0/232323 / � " � % � F G acFbe M DFbk`T Q acF79Y m9a QXWZY FJIKFJL G v �(a M9Q e GV:sQ m Y F^FJL9e Y9QXG F���� � � ��t � � z 8UY { T Y F Y5: ��� | 7 T Y5: #��

� � �wv� FJ[`t � z �

� � \ 8UWZY F { T Y F Y9:fM9Q � Y esF 79Y m9a QcWY FJIKFJL G e 8 k 8 aXF Y9: ��� 3� , : FbL M9: F � k 8 acF Y5: e M5Q ��Y e DFbFJe F GrQ L G F :_7 T`acF :^Y L 7 T4a # L oT`IKF * M F M F n`: DF 8UY7 a Y e � � # v

� � F G T Y9: L5F : a 8 k 8 aXF Y9: & � *�t � z 3 ) ORQ L GVY5QXGVQ T`L M F :_:sQ iF : FlacF S�T`L9[ GVQ T`L9L9FbI FbL G

M Fl[JF 79: T G TZ[JT`aXF FJe G,M F2[ 8 IKT Y � F : acFle_Fb[ : F G,M�8 L9eNacF G F : IKFl[JT`L9e G]8 L G,MPORY L 7 T`a # L oT4I F8 a DF 8UG T Qc: F M F M F n`: DF � � # F GlM F M9Q e G_:_Q m Y F : � 7 T Q L G e M9Q e GVQ L9[ G e M F [JF 7 T`a # L oT`I F v.; LG Fba 7 T`a # L oT`IKFKL9F 7 T Y k 8 L G�oF G_: F Q L G F :s7 T`a DF WYPO 8 k`Fb[ � 7 T Q L G e T Y 7 a Y eJ|�acF e_FJ[ : F G e_F :_8e DFb[ Y9:sQXG]8UQc: FbI FbL GfM9Q ese Q I Y a DF [bT`L GV: F Y L9Fl[JT 8 a QXG_Q T`L M F2IKT Q L9e M F � 7984:sG_Q [ QX7�8 L G e v

� ��������� ��,� "� " � �� < ��� � @�� � � � � ��� � � � � � � ��� �-@ � ��� � � � ��@ ��� � ? ��� � @���? � � � �� � ?(< � ? � � � @ � � � � ��� � < � � ? � ��� �� � ��� � � � � � @ ��� � � < � @7?��-@ � ��� < ��� @ ��� � ��� �� � � � ? � � � ? ���� � < ? � ? � � @ ��? � � � � � � # � @ � � � � ��� � < ��? � � � � < ��� � � ? � � � � �-@ � @ � � ��� � ��� ��@ � � � � � �

)^p��� ����� x Y9757 T`esT`L9e WY F2L9T Y e 8 k`T`L5e � 7�84:sG eJ|������7/8323238/������ vA T Y eN[]\5F : []\5T`L9e & G Fba WZY F �*�t , z � & � �2� , � 32323 � ��� ��� , � ��� F G *"t � ��� z � �����7/8323230/7*�t � � � z � ��� � v

� FJ[ Q : Fbk Q FJL G i8r: DFJe_T Y9M9: F2acF e # e G iFbI F MPO DF WY�8�GVQ T4L9e,a Q L DF 84Qc: FJe �

Page 26: McGill School Of Computer Science

# A

��������������

# � � � � ��� ! 32323 � ��� � ���

vvv

# � ��� � � � � 32323 � ��� � ���

���������������

� � ��

����������

&

���vvv� � ���

� ����������

����������

��������� vvv��� �

� ���������

C 8 L9e,[JF e # e G iFbI F�i8 � DF WY�8�GVQ T4L9e&F G � Q L9[bT`L9L Y FJeb| & / �2�7/2323230/ ��� ��� | L9T Y e : Fb[JT`L5L 84Q ese_T`L5e� esT Y e a 8 S�T : I F MPORY L9F I 8UGV:sQ [bF M F 9 8 L C F : I T4L M F4| M T4L G acF M DF G F : I Q L 8 L G m Q FJL [bT`L9L YFJe G �

M F G � ��� ������� ) � �Ht � ��� � � ��� z) FJe � ���resT`L G M9Q e GVQ L9[ G eJ| 7�84:^M DF � L QXG_Q T`L M9Y 79: T G TZ[JT4acF4| aXF M DF G F : I Q L 8 L G FJe G M T4L9[ L9T4LL Y a"F G a 8 e_T`a Y5GVQ T`L�Fbe G Y L QcWY F � A T G T`L9e WY Fua O 8 { T Y5G,MPO 84Y5GV: FJe DF WZY98UGVQ T`L9e&L Oy8�� FJ[ G F FbL:_Q FJL acF [ 8 ac[ Y a M F & v ) 8 : Fb[JT`L5e GVQ GVY5G_Q T`L M9Y e_Fb[ : F G esFKS 8UQXGlM T`L5[KFK[ 8 [bFJIKFJL G 7�8U: Y Le Q I 7 aXF [ 8 ac[ Y aPa Q L DF 84QX: F v

x Q97�8U: [JT`L GV: F4| L9T Y e 8 k Q T`L9e $ � � DF WZY98UGVQ T`L9eJ|4L9T Y eBT`m G_Q FbL M9:_Q T`L9e Y LKe # e G iFbI FNT iY acFbe � �7 F Y k`FbL G e O DFb[ :sQc: F&FJL S�T`L9[ GVQ T4L M F & F G []\ 84WY F & � % FJL n FJL M9: F Y L9F esT`a Y5G_Q T`L 7 T4e_e Q m9acFF G aXF L9T`I m : F M FfesT`a Y5G_Q T`L 7 T Y5: []\ 84WY F & Fbe G acF I oFbI F v x Q �����7/8323238/�� � ��� � DF GV84Q FbL G []\9T Q e Q eM F&S 8��[bT`L Y L Q S�T : I DFJIKFJL G 8 a DF 8UG T QX: FU|ZL5T Y e L O 84Y9:sQ T`L9e 84Y [ Y L9F Q L5S�T : I 8UGVQ T`L�i8 79: T 7 T`e M F& t�F GBM F S 8��[bT`L 7 a Y e n DFJL DF :V8 acF4|4e Q L9T Y e 8 k Q T`L9e M Ffa O Q L5S�T : I 8UG_Q T`L i8 79: T 7 T`e M F & i8 79:_Q T :_Q |L9T Y efL O T`m G_Q FbL M9:_Q T`L9e 84Y [ Y L9F Q L5S�T : I 8UG_Q T`L e Y9797 a DFJIKFJL G]8UQc: F i8r79: T 7 T`e M F &�z v ��(a�Fbe G i8 L9T G F : WZY F L9T Y e 7 T Y k`T`L5e Q L G F :_7 T`acF : a 8 S�T4L9[ G_Q T`L M F,S 8��[bT`L 7 a Y e M9Qc: FJ[ G F 7�8U: a 8S�T : I Y acF M O Q L G F :s7 T`a 8UGVQ T`L M F ) 84n`:_8 L n F �

��t-, z ���� ��� ����� � ��� ) � �"! )$#�%� , � � � �

� ��� � � � �A T Y e"k DF :_Q � T`L9e"[JF GsG F : FJa 8UGVQ T`LuFbL : FJI 7 a 8��[ 8 L G , 7�84: � �'&.|U[bF WZY5Q98 L9L Y aXF G T Y e�aXFJe G F : I FbeM F&a 8 esT`I IKFNe 84Y S 7 T Y9:)( �+* WY9Q k 8UY5G �-, v&A T Y e 8 k`T4L9e M T`L5[ Y L 7 T`a # L oT4I F M F M F n`: DF84Y 7 a Y e � � # WY9Q 7�8 e_e_F 7�8U: acFbe 7 T Q L G ejt � ��� /������ z | # � ( � � v � L e 8 []\ 8 L GKWY F acF7 T4a # L oT`IKF FJe GNY L QcWY FU|�L9T Y e 8 k`T`L5e 8UQ L9e Q Y L9FlF �079: FJe_e Q T`L 7 T Y9: [JF 7 T`a # L oT`IKF v

Page 27: McGill School Of Computer Science

#;:

� ��� � � � � � !+� ��� � ���� � � � ��� � � ����"� � � ��� �

; L 79: T G TZ[JT`aXF , x�9 M F e 8l7984:sG Fbe G [JT4L9e G_QXGVY DF MPO Y L9F 7�84Qc: F M F 79: T G TZ[JT4acFJe t ��� & � � / ��(� z |T�iY����� & � FJe G&Y L 75: T G T0[bT`acF M F 7�84:sGV84n F M F2e_FJ[ : F G t esT Y k`FbL G Y L9F^F �ZG FbL9e Q T`L M9YE79: T %G TZ[JT4acF M F 7984:sGV84n F M F esFJ[ : F G t , x9z M F x \ 8 I QX: z v � \ 84WY F { T Y F Y9: ����[ 8 ac[ Y acF�� ( � �i8 a 8 � L M F^[bF 79: T G TZ[JT4acFKt�� ( � � � # e Q ����[ : T QXGNWY F^aXFle_FJ[ : F G 8 DF G DF M9Q e GV:sQ m Y DF M FS 8��[bT`L�[JT`\ DF : FbL G F4|�� ( � � � � 84Y5G_: FJIKFJL G z v

� ��(�&Fbe G,Y L 79: T G T0[bT`acF M F : FJ[bT`L9e G_QXG_Y5GVQ T`L M9Y esFJ[ : F G v� FJe 79: T G TZ[JT`aXFJe M T Q k`FbL G k DF :_Q4� F : acFbeN[ :_Q G iF : FJefe Y5Q k 8 L G e �� � � � ��p�Z���`�

� x Q Y L { T Y F Y9: \9T`L5L oF G F4|9���.|�[ 8 aX[ Y aXF�� ( � � � # i8 a 8 � L M F �� & � | 8 acT : e� ( � � � #7 T Y9: G T Y efacFbe 8UY5GV: FJe { T Y F Y9: ef\9T`L5L oF G FJe � � v

� x Q a O Q L QXG_Q 8UG F Y9: � FJe G \9T4L9L oF G F4|� ( � � � # 7 T Y9: G T Y5G { T Y F Y5: \9T`L9L oF G F ��� v

� � ��� "���Z����� ��� � �"��� x Q Y L�e_Fb[ : F G & FJe G []\9T Q e Q M FlS 8 �[JT`L Y L Q S�T : I DFJIKFJL GN8 a DF 8UG T Qc: F M�8 L9e � F G �Fbe G \9T`L5L oF G F4| Y L 84M k`F : e 84Qc: F �=L O 847979: FJL M9:_8 84Y [ Y L9F Q L0S�T : I 8UGVQ T`L i8 79: T 7 T`eM F & e Q�84Y [ Y L { T Y F Y9: \9T4L9L oF G FlL Oy8 FJL5[JT : F2[bT`IKI FbL9[ DF ��(� v

� � ���`����� �p�������p������ x Q Y L 7984:sG_Q [ QX7�8 L G \9T`L9L oF G F � � [ 8 ac[ Y acF�� ( � � � # i8 a 8 � L M F ��� & � | 8 aXT : eQ a F �0Q e G F Y L5F�k 8 aXF Y9: � � � | �&� DFJF i8 a 8 � L M F ��� & � | G FJaXacF WY F G T Y e acFJe7�8U:sGVQ [ QX7�8 L G e \5T`L9L oF G FJe [ 8 ac[ Y acFbL G�� i8 a 8 � L M F ��(�,e 8UY S 8 k4FJ[ 79: T`m 8 m Q a Q G DFMPO F :s: F Y9: �=} � ) v9C F 7 a Y eb|�e Q � FJe G \5T`L9L oF G F 8 acT : e � � &`v

) T : e WZY FNL5T Y e M9Q e_T`L9e WYPORY LK[JF :sG]8UQ L { T Y F Y9:�� L O 8l84Y [ Y L9F Q L5S�T : I 8UGVQ T`Lji8 79: T 7 T`e MPORY LDFJa DFJIKFJL G & |�L9T Y e k`T Y acT`L5e M5Qc: FU| 7 a Y e S�T : IKFJaXacFbI FbL G | WY F

������������� ! ��� �! � � � *"t�" $ (t � z z � # � � � � � *�t�" z � # �T�iY " $ (t � z FJe G a 8�M9Q e GV:sQ m Y0GVQ T4L M FJe k Y FbeEt�k`T Qc: M DF � L Q GVQ T4L 7 a Y euacT Q L z 7 T`e_e Q m9aXFJe M F� |�t 8479: iFJe aXFJe M9Q k`F : e_Fbe2F � DFJ[ Y0GVQ T4L9e 7 T`ese Q m9acFbe M9Y 79: T G TZ[JT`aXFue_T Y e acFbe M9Q k4F : esFJelFJL G_: DFJFbe

Page 28: McGill School Of Computer Science

# ?

7 T4e_e Q m9acFbe z F G " Fbe G a 8NM9Q e GV:sQ m Y5G_Q T`L M FJe�k Y Fbe MPORY L 7�84:sG_Q [ Qc7�8 L G L O 8 #`8 L G 84Y [ Y L9F Q L0S�T :&%I 8�GVQ T4L � � @�� ��@ �0: FJa 8UGVQ k`FbI FbL G i8 &`v � L MPO 84Y5G_: FJe IKT G eb| a 8 k Y F M F � 7 F Y0G,oF GV: F,e Q I Y a DFJF7�84:BY LKe Q I Y a 8�G F Y5: L Oy8�#`8 L G 84Y [ Y L9F Q L0S�T : I 8UGVQ T`LEi8l79: T 7 T`e M F &`v(A T Y e []\9F : []\9T4L9e Y L5Fe DFb[ Y9:sQXG DF Q L9[JT`L M9QXG_Q T`L9L5FJacaXF �) 8 k Y F MPO Y L 7�84:HGVQ [ Qc798 L G � [JT`L9e Q e G F�FbL�a O FbL9e_FbI m9acF M Fbe M T4L9L DFJFbe WY9Q T`L G DF G DFjFJL %: F n`Q e GV: DFbFJe t 79Y m9a QXWZY FJIKFJL G T Y FJL 79:_Q k DF z F G^WZY5Q T`L G^79Y�oF GV: F T`m5e_F : k DFJFJe 7984: � v , a Y eS�T : IKFJaXacFbI FbL G | M�8 L9e Y LwIKT M iFJacF M F g 8 []\ Q L9F M F�% Y5:_Q L n | a 8 k Y F MPO Y L { T Y F Y9: � FJe G[ 84:_8 [ G DF :sQ e DFbF 7�8U: aXFJe :sY m 8 L5e&[JT4L G FJL 8 L G e 8 esT Y9: [JF 8 a DF 8UG T Qc: F4|9esT`L :sY m 8 L M O FbL G_: DFbF4| M Fe_T :HGVQ F F GBMPO DFJ[ :_Q GVY9: F 84Q L9e Q5WY F M Fbe :_Y m 8 L9eJ| 7984:sGV84n DFJeb| MPO FJL GV: DFJFbe [bT`I I Y L9FJe F GBM F [JT4I %I Y L Q [ 8UG_Q T`L 79:_Q k DFJF 8 k`Fb[2aXFJe 8UY5GV: FJe { T Y F Y9: e v#) F I T M iFbacF M F g 8 []\ Q L9F M F% Y9:_Q L nrMPORY L[ 8 aX[ Y a m Qc7984:sG_QXG FU| 84Q L9e Q WY F aXFJe :sY m 8 L9er[bT`I 7 T`e 8 L G aXF I T M iFbacF esT`L GrQ aXa Y e GV: DFJe 7984: a 8��n`Y9: F^} v } v

Entrée

Src. Aléatoire

Travail

Sortie

Entrée Commune

Communication

Communication

Contrôle fini Contrôle fini

Entrée

Src. Aléatoire

Travail

Sortie

PP11 PP22

� ����� } v } � g T M iFJacF M F % Y9:sQ L n

A T Y e L O DFba 8 m�T : F : T`L5e 7 a Y eBe Y9: acFJe M DF G]84Q ace M F,[bFNIKT M iFJaXF 79Y9Q e WYPORQ ace L5F,esT`L G 798 e Y5GVQ a Q e DFJeM�8 L9efaXF : FJe G F M Fl[JF2I DFJIKT Qc: F v

A T G T`L9e 7 T Y5: [JF WY9Q e Y9Q G | WY F M�8 L5e Y L , x�9 Y L Q L QXG_Q 8UG F Y9: Fbe GB84Y e_e Q [JT`L9e QcM DF : DF [bT`IKI FY L 7�84:HGVQ [ Qc7�8 L G t [bT`L GV:V8UQc: FbI FbL GB84Y 79: T G TZ[JT`aXF M F , x9z v � FbI 8U:_WY T`L9e M F 7 a Y e WZY F 7 T Y9:

Page 29: McGill School Of Computer Science

# �

Y L , x�9 t ��� � / ��z � �"!"#%$'& �)( L9T Y e 7 T`esF : T`L9e � � � � � # F G IKF G_G F : T`L9e&FbL 7�84:HG]84n FacFKe_Fb[ : F G i8 a Oy8UQcM F MPORY L 7 T`a # L oT`IKF M F M F n`: DF 84Y 7 a Y e � t 7�8 e � � # [JT`IKI F 7 T Y9: acFJe79: T G TZ[JT`aXFJe M F , x5z v C Fj[bF GsG FES 8 �[JT`LP|BL9T Y e 7 T Y k4T`L9e [bT`L9e QcM DF : F :KWY F�aXF�L9T`I m : F M F7�84:HGVQ [ Qc7�8 L G eBI 8 aX\9T`L9L oF G FbeBFJe G 84Y 7 a Y e �Nt [bF WY9Q FJe G IKT Q L M9: F WY F ��� � z F G WY F,[JF Y�� %[ Q L9F 7 F Y k4FJL G,: FJ[bT`L9e GVQXG_Y F : aXF e_FJ[ : F G&7�8U: F Y�� % I oFJIKFJe v

� ��� � � � � � !+� ��� � ��� � � � � ��� � � ����"� � � ��� � ��� � ��� ���

� � �

) F 79: FbI Q F : , x�9 WY F L9T Y e 79: DFbe_FbL G T`L9e 8 DF G DF Q L GV: T M9Y5QXG 7 T Y9: a 8 79: FJI Q iF : FuS�T Q e M�8 L5e� � ' = � � �.| [ O FJe G Y L 79: T G T0[bT`acF WY9Q FJe G M oY FbL n`:_8 L M F 7�84:HGVQ F i8 , 84Y a d FJa M I 8 L v ) F79: T G TZ[JT`aXF G FJa WY F 79: DFJe_FbL G DF Q L QXG_Q 8 aXFJIKFJL G Fbe G t ���@& / ��z � �"!"#%$'& �)(`| Y L9FlI T M9Q4� [ 8UG_Q T`LM Fl[JFba Y9Q % [ Q t WY F2L9T Y e 79: DFJesFJL G F : T`L9e 8479: iFJe z e Oy8 k�iF : F oF G_: F t ��� }�/ ��z � � !�#%$ & �)( v

, T Y5: [bT`I 79: FbL M9: FBaXF 79: T G T0[bT`acFU| L9T Y e M Fbk`T4L9e M Oy8 m�T :sM^79: DFJesFJL G F : aXFJe�[JT M FJe�[bT :_: FJ[ G F Y9: eWY9Q # e_T4L GNY5G_Q a Q e DFbe v

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

x 8 L9e G_: T 7 8 acacF :EM98 L9e�acFbe M DF G]84Q ace M FJe [JT M FJe�[bT :_: FJ[ G F Y5: e L9T Y e 8 acacT4L9e M DFJ[ :sQc: F acFJe[JT`L5[JF 70G e M F m 8 esF M F [JF Y:� % [ Q 7 T Y5:u7 T Y k`T Qc: FJL9e Y9QXG F 79: DFJe_FbL G F :uY L G \ DFJT : iFJIKF e Y5: a 8[JT :s: Fb[ GVQ T`L M FJe 7 T`a # L oT4I Fbe v

) O T`m { FJ[ G_Q S M Fbe [JT M FJe [JT :s: FJ[ G F Y9: e Fbe GfMPO 8 { T Y5G F : M F a 82: F M T`L M�8 L5[JF 84Y�� IKFJe_e 84n Fbe WZY FL9T Y e M Fbk`T4L9e GV:V8 L9e_IKF GsGV: F�i8 G_:V8 k`F : e Y Lh[ 8 L 8 a m :sY # 8 L G t [ 84Y e 8 L GEM FJe F :s: F Y9: e z M FS 8��[JT4L*i8E7 T Y k4T Qc:l: FJ[ G_Q4� F : aXFKIKFJese 84n F : F �[ Y i8 e 8 k 8 aXF Y9:lQ L QXG_Q 8 aXF vPC 8 L9e^aXF [ 84M9: F M Fbe79: T G TZ[JT`aXFJe , x�9 | aXF [ 8 L 8 a m :_Y # 8 L G FJe G G T Y5G e Q I 7 acFJIKFJL GrY L T`m { F G I DF G]847 \9T :_QXWY F4|acFbe2F :_: F Y9: e 7 T`e_e Q m9aXFJe 79: T�k Q FbL9L9FbL G FJL S 84QXG2M Fbe 7�8U:sGVQ [ QX7�8 L G elI 8 ac\9T4L9L oF G FJe v%; Lw[bT M F

Page 30: McGill School Of Computer Science

# C

a Q L DF 84QX: F � |0e Y9: % |ZFJe G Y L esT Y e % FJe 7�8 [bF&k`Fb[ G T :_Q Fba M F % v ( L M DFbL9T G F � �%/ � / $ � Y L [bT M F� M F M9Q I FbL9e Q T`L � e Y9: % T iY $�Fbe G aXF I Q L Q I Y I M F a O FJL5e_FJIum9acF M FJe M9Q e G]8 L9[bFJe M F� �� � � � � FJL GV: F M F Y�� I T G e M F,[bT M F M9Q e GVQ L9[ G e t�a 8lM9Q e G]8 L9[bF M F *&8 I I Q L n FbL G_: F M F Y��I T G e�� � |�� ! FJe G aXF L9T`I m : F M Ff[JTZT :_M T4L9L DFJFbe T iY � �"F G � ! M5Q � iF : FbL G z v(; L [bT M F 8�#`8 L GY L9F M9Q e G]8 L9[JF M F *&8 I I Q L n $ 7 F Y5G [JT :_:_QXn F : { Y e WYPO i8�� t $ � # z � }��2F :s: F Y9: e v

� ��������� ��,� � " / ���`� ���5���� ������ 0� � 3��� �Z� ��� 2 � � �� � � � � � � < � � �-@ < � � � � � � � <t ,�� / & � z � %���% � ,�� � � < � � ����� < � ����� � ? � � ����� � < � � ? � � � � � � >� � � � � � � � � @ � ? � � ?(< �� ��� � ? ��� ��?�@ � ��? ��� < < ? � � � ��� ?:@9< � � � � � & � � � t ,�� z � � �? } � � � ����� � ��?�<� ��? � � � <�@ ��� @���? � � @ � � � � �� � � � ��� ������ �

)^p��� ����� k`T Qc: � ' x&C } � �) Oy8 a n T :sQXG \5I F 79: T 7 T4e DF M�8 L9e � ' x&C } � M T`L9L9F a Q F Y i8=Y L9F 79: F Y k`F MPO F �58 [ GVQXG_Y9M F G_: iFbee Q I 7 aXF I 84Q e L O Fbe GK7�8 e acF 75: T G T0[bT`acF T 75GVQ I 8 aXF v%; L 79: T G TZ[JT`aXF 7 a Y erF K[ 8 [bF4|�� t�� z |FJe G,75: DFJesFJL G DF 7�84: � F : aXF � 8 I 7E8 L M = Fbac[]\ � � = � v

C T`L9[U| 8 k`Fb[ � � & � � # |Ze Q L5T Y e 7�8U:sG]8Un FJT`L5e Y L esFJ[ : F G FbL Y5GVQ a Q e 8 L G Y L 7 T4a # L oT`IKF M FM F n4: DF 84Y 7 a Y e�� 8 k`FJ[ A � & � � # 7�8U:sGVQ [ QX7�8 L G eb|5L9T Y e 7 T Y k`T`L9e G T`a DF : F : { Y e WYPO i8 � 7�84:&%GVQ [ Qc798 L G e I 8 ac\5T`L9L oF G FJert acFbe 7�84:HGVQ [ Qc7�8 L G e \9T`L5L oF G FJe 7 F Y k`FbL G � ��@7@ � � � @ aXFJe I 84Y k 84Q e_FJek 8 acF Y9: e aXT : e M Fla 8 : FJ[bT`L9e GVQXG_Y5GVQ T`L M9Y e_FJ[ : F G z v

������� � � * � � *�� � �� � ����������� ���! #" *%$�&3� ��'&���&3 ,/*%(

A T Y e Y0GVQ a Q esF : T4L9e � 7 T Q L G e M5Q e G_Q L9[ G e M F % |�L9T G DFJe # /]}�/2323230/ � | 7 T Y5: a 8 I Q e_F FbL 7�84:&%G]84n F M FJeNe_Fb[ : F G e v � Fbe 7 T Q L G e 7 F Y k`FbL G oF G_: FlT`m G FJL Y e 7�84: Y L DFJa DFJIKFJL GN79:_Q I Q GVQ S t*) z M F% |`k Q 8 a O F �07 T4L9FJL G]8�GVQ T4L�t # � � ) / } � � ) � /2323838/ � � � ) " ��� 7�84: F � FbI 7 acF z v , 84: [JF G_G FM F : L Q iF : F2S 8��[JT`L M F^S 8UQc: FU|~a 8 I Y a G_Qc7 a Q [ 8UGVQ T`L FJe G M9QX: Fb[ G F t � �,+ � � � �.- � � �/10325476 896 ��� z F Ga O 84M9M9Q GVQ T`L 7 F Y0G e_FuS 8UQc: F�i8 a O 84QXM F M5Y�7 T`a # L oT`IKF 79:sQ I QXGVQ S 8 e_e_TZ[ Q DFji8 ) t�FJL GV:_8 k 8UQ aca 8 L GI T M9Y aXT Y LK[JF :sG]8UQ L 7 T`a # L oT`IKF Qc:s: DF M5Y [ G_Q m9aXF z v , F Y Q I 7 T :sG F acF []\9T Q � | L9T Y e n 84:sM T`L9e M F

Page 31: McGill School Of Computer Science

}U�

S 8��[JT4L 8 m9e GV:V8UQXG F,a 8uM FJe_[ :_QX75GVQ T`L M Fbe T 7 DF :_8UGVQ T`L9e MPOy8UM9M9QXG_Q T`L F G M F I Y a GVQc7 a Q [ 8UGVQ T`L M�8 L5eacF [bT :_7 eb|�[JT`IKIKF 84Y97�84:_8 k 8 L G v� FJ[ Q M9QXG |9L9T Y e 7 T Y k4T`L9eNI 84Q L G FJL 8 L GfM DF � L Qc: acF 75: T G T0[bT`acF M F , x�9 M F d FJa M I 8 L v

)^p����� �`����� � , x�9 M F d Fba M I 8 L&�C Q e GV: t � / � / &�z �

# v � []\9T Q e QXGfY L 7 T`a # L oT`IKF � � � @ � � t Q v F v i8 M F Y:� k 8U:_Q 8 m9acFbe z *�t-, / � z 8 a DF 8�G T QX: FM F M F n`: DF 84Y�7 a Y e �jFJL []\ 84WY F k 84:_Qc8 m9aXF4| G FJa WY F *�t ��/]� z � & v A T Y e[bT`L9e G_:_Y9Q e_T`L5e,a 8 I 8UG_:_Q [JF

�����������������

& � � & � ! 38323 & � � 32323 & �6"vvvvvv

& � � & � ! 38323 & � � 32323 & � "vvv& " � & "'! 38323 & " � 32323 & "%"

� ����������������

T iY & ��� � *�t � / ( z v�) 8 :V8 L n DFJF � M DF � L QXG * �(t � z F G a 8 [bT`acT4L9L9F � M DF � L QXG�� � t , z v) FJe � �$t � z t WY9Q L9FKe_T`L G27�8 e : F 79: DFJe_FbL G DFJe M�8 L9ela 8 I 8UGV:sQ [bF z esT`L G aXFJe [JTZFbS %� [ Q FbL G e WY9Qf7 F Y k4FJL G�oF GV: F Q L G F :s7 T4a DFJe 7 T Y9: : F GV: T Y k4F : & [JT`IKIKF M�8 L9e acF79: T G TZ[JT4acF M F , x M F x \ 8 I Qc: |5aXFJe 84Y5GV: FJe k 8 acF Y9: eNL9Fle_F : k4FJL G WYPO i8 M Fbe � L5eM F k DF :sQ4� [ 8UGVQ T`L M Fl[JT`\ DF : FbL9[JF2FJL G_: F2acFJe 7984:sG_Q [ QX7�8 L G e v

} v � M T`L9L9F � � � � & �4�7/232323 / � � " � & � " F G # � � � & � � /232323 / # " � � & " � 84Y { T Y F Y9:���.| 7 T Y9: � � # /232383 / � v

&5v=) F { T Y F Y9: ����k DF :_Q4� F WZY FracFJe M F Y�� FJL9esFJI m9aXFJe � � �0/232383 / � � " F G # � � /232383 / # "��T`m G FJL Y e M F � | Q L G F :s7 T4acFJL G m Q FbLrFJL M Fbe 7 T4a # L oT`IKFJe * �$t-, z / � �$t-, z | M F M F n`: DFbe84Y 7 a Y e � v0x Q [JFba 8 L O FJe G 7�8 e acFN[ 8 eb|�����k4T G F 7 T Y9: a 8lM9Q e WZY98 a Q � [ 8UG_Q T`L M F � v

$9v � \ 8UWZY F=��� M T4L9L9F � ��� 84Y { T Y F Y9: � � vA T G F :2WY FKe Q a O Q L QXG_Q 8UG F Y9: FJe G \5T`L9L oF G F4|�aXFJe k 8 acF Y9: e � ��� WY F�� � : F �[JT QXGlM Fbe84Y0GV: Fbe { T Y F Y9: eE\5T`L9L oF G FJeE[JT :s: Fbe 7 T`L M FbL G�84Y�� k 8 aXF Y9: e # ��� WY F � � 8 k 84QXG: F �[ Y FJe M F � v

Page 32: McGill School Of Computer Science

} #

A0v=) F { T Y F Y9: � �u[bT`I 7984: Fra 8 k 8 acF Y5: � ��� : F �[ Y F 7�84: � � i8 a 8 k 8 acF Y9: # ��� : F �[ Y Fbe7�8U: � | 7 T Y5: # � � � � v�x Q�7 T Y5: Y L Q L M F � t � / ( z Q a #j8rY L9F Q L9[bT`\ DF :_8 L9[bFFbL G_: F aXFJe M F Y�� k 8 acF Y9: eb|�� � M DFbk4T Q aXF 79Y m5a QcWY FbI FbL G a O Q L M F � t � / ( z | � M T QXG8 aXT : e M DFbk`T Q acF : 79Y m9a QcWY FbI FbL G a 8 k 8 acF Y5: � ��� vx Q � � M DF G FJ[ G F 7 a Y e M F�� Q L9[bT`\ DF :_8 L9[bFJeJ| Q a M FbI 8 L M F 79Y m5a QcWY FbI FbL G i8 � M FM DF k`T Q acF : G T Y5G Fbe acFbe k 8 aXF Y9: e WYPORQ a�a Y9Q�8uM T4L9L DFJFbe2t aXFJeBk 8 acF Y5: e Q L G F :s7 T4a 8 L G i8* �4t � z F G � ��t , zsz F G k`T G F 7 T Y5: a 8 M9Q e WY�8 a Q � [ 8�GVQ T4L M F � v

: v,x Q�Y L { T Y F Y9: � ) T`m9e_F : k4F Y L9F^k 8 aXF Y9:,79Y m9a QcWY F Q L9[bT`\ DF :V8 L G F 8 k`FJ[u[JF WYPORQ a7 T`e_eJiF M FU| Q a M FJI 8 L M F i8 � M F M DF k`T Q acF : 79Y m9a QcWY FbI FbL G acFJe k 8 acF Y5: e WYPORQ a�a Y9Q8rM T`L5L DFJFbe,F G k4T G F 7 T Y9: a 8 M5Q e WY�8 a Q4� [ 8UG_Q T`L M F � v

? vNd Q L 8 aXFJIKFJL G | []\ 8UWZY F { T Y F Y5: ��� T`m9esF : k4F G T Y0G FJe^acFbe^k 8 acF Y9: e 79Y m9a QcWY FbeuF G79:sQ k DFJFbe WZY F � 8 M T`L9L DFbFJeJ|�e O Q a # 8 Y L9F Q L9[bT`\ DF :V8 L9[bF4| � � M FJI 8 L M F i8 � M FM DF k`T Q acF : acFJe k 8 aXF Y9: e WZY O Q a a Y9Q 8KM T4L9L DFJFbe,F G k`T G F 7 T Y9: aXF M9Q e WY�8 a Q � F : v

� v,x ORQ a # 8 F Y � � # { T Y F Y5: e M5Q � DF : FbL G e t T Y 7 a Y e z WZY5Q T`L G k`T G DF 7 T Y9: a 8M9Q e WY�8 a Q4� [ 8UGVQ T`L M F � |UT Y e Q � 8 : FbS Y e DF M F 79Y m9a Q F :"Y L9F k 8 aXF Y9:�M FJI 8 L M DFJF4|� Fbe G [ba 84QX: FJIKFJL G FJL=S 84Y0G F�F G []\ 84WY F { T Y F Y9: � � e_F M T QXG M F : F G T Y5: L9F :� ( � � � � v

Page 33: McGill School Of Computer Science

}4}

� FJ[`t � / � / &pz �# v � \ 8UWZY F 7�8U:sGVQ [ QX7�8 L G ��� M DF k`T Q acF 79Y m5a QcWY FbI FbL G esFJe k 8 acF Y9: e � � � /238323 / � "�� 3} v �(L G F :_7 T`acF : aXFJeNk 8 acF Y5: e M F ���"FJLEa 8 S�T4L9[ G_Q T`L � �(t , z F G [ 8 aX[ Y aXF : � �(t � z | 7 T Y9:[]\ 8UWZY F � v

&5v=; GVQ a Q esF : aXF M FJ[bT M F Y9:�M F � F : acF � 8 I 7 %>= Fbac[]\ t�k4T Qc: | 7�84: F � FJI 7 acFU|:� � = � 7 T Y9:Y L G Fba 8 a n T :_Q G \9IKF z v

� ��������� ��,� � , /1) �+* ����� �Z� �!� ��� 2�� � ��� � � � ��� � � �� � < � ? � ����t ���@& / ��z �� !�#%$'& �)( �

)^p��� ����� � xBDFb[ Y9:sQXG DF M9Y , x�9 M F d FJa M I 8 L�� A T Y e M DFJIKT`L GV: T`L9e WY F []\ 84WY F [ :sQXG iF : F MPORY L, x�9 FJe G e 8UGVQ esS 84Q G t esF : DFbS DF : F : i8 a 8 esFJ[ G_Q T`L�} v } z v

� � � � ��p�Z���`�

� ) Fr[ 8 ac[ Y a M F � ( � � esF S 8UQXG i8 a 8 � L M Fra O DF GV847 F �5|Pe Y9QXG FEi8 Y L9FrT`m9esF : k 8�GVQ T4LM Fbe M T`L9L DFbFJe 79Y m9a QcWY Fbe t�[JF WY9Q | M�8 L9e Y L I T M iFbacF M F % Y9:_Q L n |P[bT`L9e Q e G F�i8T`m5e_F : k`F : a O DF G]8UG M9Y�:_Y m 8 L M F [JT`IKI Y L Q [ 8UG_Q T`L 7�84:sGV84n DF z v %�T Y efaXFJe { T Y F Y9: e\9T4L9L oF G FJe�T`m9esF : k4F : T`L G a 8 I oFbI F []\9T4e_F F G [ 8 ac[ Y acF : T`L G�M T`L9[Ba 8 I oFbI F"k 8 aXF Y9:� ( �Zv

� ) ORQXG FbI 79: DFJ[ DF M FbL G DF GV8 L G�79: T Y k DF4| Q a4e Y G�M F IKT`L GV: F :PWYPORY L { T Y F Y9: \9T`L9L oF G F��� L9F k`T G F :_8 { 8 I 84Q e 7 T Y9: a 8�M9Q e WZY98 a Q � [ 8UG_Q T`L MPORY L Q L Q GVQ 8�G F Y5: \9T`L5L oF G F� � v) FJe k`T G FJe M F M5Q e WY�8 a Q4� [ 8UG_Q T`L M F � esF&S�T`L G 8UY�� DF G]847 FJe & | A | : F G ? v � �58 %I Q L9T4L9e^[bF WY9Q e_F 798 e_esF FJL [bFJe DF G]847 FJe M9Y 7 T Q L G^M F k Y F M F ��� acT : e WY Fa O Q L QXG_Q 8UG F Y9: FJe G \9T4L9L oF G F t � � z vi� a O DF GV847 F & |����hL9F^k4T G F :V8 { 8 I 8UQ e 7 T Y9: a 8KM5Q e WY�8 a Q4� [ 8UG_Q T`L M F � � 79Y5Q e %WYPORQ a : F �[JT QXG M FJeBk 8 acF Y9: e Q L G F :_7 T`a 8 L G m Q FbL FbL M Fbe 7 T`a # L oT4I Fbe M F M F n`: DFJe 8UY7 a Y e � t 79Y9Q e WY F � �=Fbe G \9T`L5L oF G F z v

Page 34: McGill School Of Computer Science

} &

i� a O DF G]847 F A | ��� : F �[bT QXG 84Y 7 a Y e��Bk 8 acF Y5: e Q L9[JT`\ DF :V8 L G FJe2t M FJe { T Y F Y9: e I 8 a %\9T4L9L oF G FJe z e Q � Fbe G \9T`L5L oF G F v �(a L9F k`T G F :_8rM T`L9[ { 8 I 84Q e 7 T Y5: a 8 M9Q e WY�8 a Q %� [ 8UGVQ T`L M F � � v� Y�� DF GV847 FJe : F G ?0| Y L Q L QXG_Q 8UG F Y9: \9T`L9L oF G F 75Y m9a Q F :_8^G T Y { T Y9: e M FJe k 8 acF Y9: e[bT`\ DF : FJL G FbeJ| M T4L9[ ��� L9F&k4T G F :V8 { 8 I 84Q e 7 T Y9: a 8^M5Q e WY�8 a Q4� [ 8UG_Q T`L M F � � i8[bFJe DF G]8U7 Fbe % a$i8 v� L [JT4L9[Ja Y e Q T`LP|Ze Q � � FJe G \9T`L9L oF G FU| Q a # 84Y9:_8 84Y 7 a Y e�� { T Y F Y9: e WY9Q k4T G F %: T`L G 7 T Y9: e 8uM9Q e WY�8 a Q4� [ 8UGVQ T`LEt acFbe { T Y F Y9: e I 8 ac\9T4L9L oF G FJe z F G ��� [ 8 aX[ Y aXF :V8M T4L9[ � ( � � � # v

� � ��� "���Z����� ��� � �"��

� A T G T`L5e MPOy8 m�T :sM WZY F e Q a ORQ L QXGVQc8UG F Y9: FJe G I 8 aX\9T`L9L oF G FU|UL9T Y eBL9F e_T`IKIKFJe 7�8 eM�8 L9e a O T`m9a Qcn 8UG_Q T`L M F 79: T G DF n F : a 8 [JT`L �9M FJL GVQc8 a Q G DF M F e_T`L Q L5S�T : I 8UG_Q T`L t :sQ FbLL9FKa O FJI 7PoFb[]\9F M F M DF k`T Q acF : esT`L esFJ[ : F G i8jWY9QBQ a�k`F Y0G � z v�x Q a O Q L QXG_Q 8UG F Y9: FJe G\9T4L9L oF G F4| Q a9e Y G M F : FbI 8U:_WY F : WYPORY L 84M k4F : e 84Qc: FfL Oy8U7979: FbL MK:_Q FbL M F 7 a Y e84Y [JT Y9: e M Fbe DF GV847 FJef} i8 � WY F [bF WY9Q a Y9Q�8 DF G DF M5QXG i8 a O DF GV847 F # v�) F&[ :sQXG iF : FM Fu[JT`L �9M FJL GVQc8 a Q G DF^FJe G28 acT : e Y L5Fr[JT`L9[ba Y e Q T`L M9Qc: FJ[ G F M Fbe 79: T 75:_Q DF G DFbe MPORY L7 T`a # L oT4I F m Q k 84:_Q DF M F M F n4: DF 84Y�7 a Y e�� v

� � ���`����� �p�������p�����

� � Fb[ Q FJe GEY L9F [JT`L9e DF WY FbL9[JF M9Qc: FJ[ G F M F a ORY5GVQ a Q e 8UG_Q T`L M FJe�[bT :_: FJ[ G F Y9: e M F7 T`a # L oT4I Fbe�t�k4T Qc: a 8�M9Q e_[ Y e_e Q T`L M F a 8 e_FJ[ GVQ T`L ��� z F G M Fbe 75: T 79:sQ DF G DFJe M9Y7 T`a # L oT4I F m Q k 84:_Q DF v

��(a 7 F Y5G oF GV: F Q L G DF : Fbe_e 8 L G M F^esF M FbI 8 L M F : e ORQ a�FJe G 7 T`e_e Q m9aXF M F G T4a DF : F :NY L 7 a Y e n`:V8 L ML9T`I m : F M F 7�84:sG_Q [ Qc7�8 L G e I 8 aX\9T`L9L oF G Fbe M�8 L9e2acF , x�9 M F d Fba M I 8 LP|PFbL L9F IKT M5Q4�~8 L GWY FEaXF 79: T G T0[bT`acF ��(� v ) 8 : DF 7 T`L9e_F i8 [JFJa 8 Fbe G L DF n 8�GVQ k4F�F G FJacaXF FJe G M T4L9L DFJF 7�84: a 8[JT`L5e GV:sY [ G_Q T`L�e Y9Q k 8 L G F �

x T Q G � � & |�L9T Y ef[bT`L9e QXM DF : T`L9e & 7984:sG_Q [ QX7�8 L G eb| ���7/6��!,F G a ORQ L Q GVQ 8�G F Y5: � � ��� v~C Q e_T`L9eWY F+���NF G � ! e_T`L G \9T`L5L oF G FJe t � esF :_8 I 8 aX\9T`L9L oF G F z v�A T Y e 8 acacT4L9e&IKT`L GV: F : [bT`IKI FbL G

Page 35: McGill School Of Computer Science

} $

� 7 F Y0G,M5Q e G_:_Q m Y F :fM Fbe 7984:sG e M FlS 8��[bT`L i8 [JF WY F ��� F G ��!NL9F2e_F : FbL M FJL G&7�8 eN[JT`I 75G FMPORY L9F Q L5[JT`\ DF : FbL9[JF M9Y5:V8 L G a 8E7 \ 8 esF ��� & � � |"I 84Q e WY F M�8 L9e a 8�7 \ 8 e_F ��(� � 7 F Y0GQ I 7 T4e_F : a 8 : Fb[JT`L5e GVQ GVY5G_Q T`L MPORY L9F M F M F Y�� k 8 acF Y9: e M9Q � DF : FbL G FJeb| & �7/ & !J|"i8 esT`Lj[]\9T Q � v� T`L9e QcM DF : T`L9e aXF [JT :_7 e % � � � F G a O DFJa DFJIKFJL G 79:sQ I QXG_Q S � � } � % F GlM9Q e_T`L5e WY F acFJe7 T Q L G e ) F G ) � M F % e_T4L G Y0GVQ a Q e DF 7 T Y9: a 8 I Q e_F FbL 7�84:HG]84n F M9Y e_FJ[ : F G v ) 8�GUo8 []\5FMPORY L Q L QXG_Q 8UG F Y9: � I 8 aX\9T`L9L oF G FU| k`T Y a 8 L G IKF GsGV: F FbL 7�8U:sG]8Un F M F Y:� e_FJ[ : F G eJ|�[bT`L9e Q e G FM�8 L9e2[JF [ 8 e % [ Q i8 GV: T Y k4F :uM F Y��w7 T`a # L oT`IKFJelm Q k 84:_Q DFJe M F M F n`: DF # |%*�t-, / � z F G � t-, / � z |7�84:HG]84n F 8 L Gf: Fbe 7 FJ[ G_Q k4FJIKFJL G&M F Y�� esFJ[ : F G e M9Q e G_Q L9[ G e & � F G & !�� % vA T G T`L9e aXFJe 7 T4a # L oT`IKFJe 7�8U:

*"t , / � z � & � ��� � , � # � �( � � t-, / � z � & ! � � !9, � # ! �

, Y9Q e WZY F M�8 L9e"acF 75: T G T0[bT`acF ��� & � ����F G ��!�k4T`L G [JT4I 7�8U: F : |UFbL GV: F % F Y�� |`acFbe�k 8 acF Y9: e 84Y��7 T Q L G e t � / � � z F G t � � / � z |U[bFJe�S�T`L5[ GVQ T`L9e�e_T`L G esT Y I Q e_Fbe 84Y�� [JT4L G_:V84Q L G FJe"e Y9Q k 8 L G FJe �

*�t � / � � z � � t � / � � z / *�t � � / � z � � t � � / � z ( � & ��� & !�(a S 84Y5GNM T4L9[ GV: T Y k`F : & ��� & ! | � �7/ # �0/ � !2/ # ! WY9Q e 8UG_Q esS�T4L G aXF e # e G iFJIKF M O DF WZY98UGVQ T`L9e

& � � � � � � � # ! � � & ! ��� ! � �� # ! �

& � � � � � � # � � � � & ! ��� ! � � # ! � �( � & � � & ! �� �

� L 7 T`e 8 L G�� & � � & � � & ! | ����� � � � � !uF G�� # � # � ��# ! |�F G e 8 []\ 8 L GuWY F � �} � ! $ A � # F GrWY F � � � } � � ! $ A � }0|�L9T Y e L9T Y e : F G_: T Y k`T`L9e�i8E: DFJesT Y9M9: F acFe # e G iFJIKF

� & � } + � � ��� # � �� & ��� ��� } + � # � �

( � � & �� �

� F 7 FJL M98 L G |�[JF e # e G iFJIKF 8�7 a Y e Q F Y5: ele_T`a Y5GVQ T`L9eKt�L9T Y e 8 k`T`L5eu} DF WY�8�GVQ T4L9e 8 k4FJ[ & Q L %[JT`L5L Y e^F G^Y L9F [JT`L GV:_84Q L G F � & �� ��� 7 T Y9: G T Y5G Frk 8 aXF Y9:�� & Q a�F �0Q e G F Y L9F esT`a Y5G_Q T`L z v

Page 36: McGill School Of Computer Science

} A

) O Q L QXG_Q 8UG F Y9: 7 F Y5G []\9T Q e Qc: � & 7 T Y9: e 8UGVQ esS 84QX: F esT`LE[]\5T Q � M F & � F G & ! vx Y9797 T`esT`L9e WZY F^a O Q L QXG_Q 8UG F Y9: k`F Y0G IKF GsGV: FlFbL 7�84:HG]84n F & � � & F G & ! � # | Y L5F^esT`a Y5G_Q T`L7 T4e_e Q m9acF Fbe G,8 aXT : e M F 75: FJL M9: F

� & � }�/ � � � # ( � � # � # 3A T Y e 7 T Y k4T`L9e M T`L5[ 75: FJL M9: FU| 7984: F � FJI 7 acFU|

& � � & / & ! � # / � � � }�/ � ! � # / # � � }�( � # ! � #

� F WZY5Q S 84QXG WY F2a O T`L�e_F : F GV: T Y k4F 8 k`Fb[^aXFJe S�T`L5[ GVQ T`L9e

*�t-, / � z � & � }�, � } �

F G� t-, / � z � # � , � � 3

) FJe I 8UGV:sQ [JFbe�� *�t � ����� / � � ��� z � ��� � � � ! ����� � � F G � � t � ����� / � ����� z � ��� � � � ! ������� � e_T`L Gf: Fbe 7 FJ[ GVQ %k`FbI FbL G ������

�} $ &$ # �& � $

� ������ F G

�������& $ #$ � }# } $

� ������

A T Y e,[bT`L9e GV8UG T4L9e WY F^acFJefk 8 acF Y9: e M F * F G&M F ��84YE7 T Q L G t � / � � z [bT :_: FJe 7 T`L M FJL G | Q ak 8�M FrI oFbI F 7 T Y9: aXFJe k 8 acF Y9: e M F * F GlM F ��84Y 7 T Q L G t � � / � z^v � 7 T Y9:s:V84Q G M T`L5[M9Q e GV:sQ m Y F : acFbe 7 T Q L G eEt � � � � }�/ � � ! � $ / � � � � &`z F G t # � � � }:/ # !1� � $ / # �1� � & zt 79: FJI Q iF : F a QXn L9F F G [bT`acT4L9L9F M F � *"t � � ��� / � ����� z � ��� � � � ! ������� � z 84Y { T Y F Y9: ����F G aXFJe 7 T Q L G et � !1� � $ / � ! ! � �&/ � ! � � } z F G t # � ! � $ / # ! ! � �&/ # � ! � } z t M F Y��0Q iFJIKF�a Qcn L9FjF G[JT`aXT`L9L9F M F � � t � � ��� / � � ��� z � ��� � � � ! ����� � � z i8 ��! v ���NF G � ! L9F : F GV: T Y k`F : T`L G284Y [ Y L9F Q L %[JT`\ DF : FbL9[JFKFJL G_: FKacF Y5: e k 8 acF Y9: e M9Y5:V8 L G ��� & � v ) T : e WY F ��� [bT`I 7�84: FresFJelk 8 acF Y9: e 8 k`Fb[� |9[bF M F : L Q F : []\9T Q e Q G aXFJe k 8 acF Y9: ef[bT :_: FJe 7 T`L M98 L G FJe M F�� *"t � � ��� / � ����� z � ��� � � � ! ������� �J|~F GacT : e WY F=��! [JT`I 7�84: FuesFJe k 8 acF Y9: e 8 k`FJ[ � | � []\9T Q e Q G aXFJe&k 8 aXF Y9: e&[bT :_: FJe 7 T`L M98 L G FJe M F� � t � ����� / � ����� z � ��� � � � ! ������� � v ���BF G ��! L5F : F GV: T Y k`F : T`L G M T`L9[ 8UY [ Y L5F Q L5[JT`\ DF : FbL9[JF F G Q ace[ 8 aX[ Y aXF : T`L G []\ 8 [ Y L�� ( � � # v) T : e M F a 8 7 \ 8 e_F M F : Fb[JT`L5e GVQ GVY5G_Q T`L | � 7 F Y5G []\9T Q e QX:PM F 79Y m5a Q F : esFJe k 8 acF Y9: e t � �1�0/ � � !�/ � � � z

Page 37: McGill School Of Computer Science

} :

M F � *�t � ����� / � � ��� z � ��� � � � ! ����� � � T Y M F � � t � ����� / � ����� z � ��� � � � ! ������� � | M DF 7 FJL M�8 L G�M F�e ORQ ak`F Y5G WY F a 8 k 8 acF Y9: & � T Y a 8 k 8 aXF Y9: & ! esT QXG : Fb[JT`L9e GVQ GVY DFbF v9C 8 L9e aXFJe M F Y�� [ 8 eb|5e_F Y ace%���T Y ��!^t { 8 I 84Q e aXFJe M F Y�� FbLjI oFJIKF G FJI 7 e z 7 T Y9:s: T`L G esF 7 a 84Q L M9: F4|ZF G acFbe k 8 acF Y9: e M F �e_F : T`L G G T GV8 acFbI FbL G [bT`\ DF : FJL G FJe 8 k`Fb[ Y L M FJe M F Y�� { T Y F Y5: e v , Y9Q e WY F&L5T Y e [JT`L9e QcM DF : T`L5eWY F�} { T Y F Y9: eue_T`L G \9T4L9L oF G FJeb| � 7�8 ese_F :_8�7 T Y9: \9T`L5L oF G F4| 8 acT : e WYPORY L M F ���2T Y ��!e_F :V8 [JT4L9e QXM DF : DF [JT`IKI F DF GV8 L G I 8 ac\9T`L5L oF G F v�) F 7 T Q L G S�T`L M�8 I FbL GV8 a i8 : FJI 84:sWZY F : | 7 F YQ I 7 T :sG F,a 8 I DF G \9T M F M F : FJ[bT`L9e GVQXG_Y5GVQ T`L M9Y e_Fb[ : F G |~FJe GNWZY F2aXFJe 7�84:HGVQ [ Qc798 L G e WY9Q esT`L G\9T`L9L oF G Fbe t k`T QX:BQ [ Q ��� F G � ! z T`L G G T Y eB[ 8 aX[ Y a DF�� ( � � # | I 84Q e Q a9L O #K82798 eBF Y M Ffk 8 aXF Y9:�&� DFJF t � z i8 a 8 � L M F ��� & � G FbacaXF WYPORQ a # 8UQXG esF Y aXF Y IKFJL GrY L9F 79: T`m 8 m Q a Q G DF F �07 T`L9FJL %GVQ FJacaXFJIKFJL G 7 F G_QXG Fjt.} � ) z WZY F aXFJe 7�84:HGVQ [ Qc798 L G e \9T`L5L oF G FJe2L9F [ 8 ac[ Y acFbL Gl7�8 e � i8 a 8 � LM F ��(� t � 7 F Y5G=�&� F : � i8KY L9F M F M F Y�� k 8 acF Y9: e M9Q � DF : FJL G F 8479: iFJeNa 8 7 \ 8 esF ��(� z v�) F79: T G TZ[JT`aXF&k Q T`aXF M T`L9[laXF [ :_Q G iF : F M F � Fb[JT`L5e GVQ GVY5G_Q T`L MPORY L , x�9 t�k`T Qc: e_Fb[ G_Q T`L�} v } z v

* F Y9: F Y e_FbI FbL G | Q a F �0Q e G Fj[JF 7 FbL M�8 L G Y L9F�S 8��[JT4L M F�IKT M5Q4� F : acF 79: T G TZ[JT`aXF ��� & � M9Y, x�9 M F d Fba M I 8 L M F e_T :sG F i8�7 T Y k`T QX: [bT`L9e G_:_Y9QX: F Y L , x 9 t ��� }:/ ��z����"!"#%$'& �)( v �(ae Y G2M F M FbI 8 L M F : i8 []\ 84WY F 7�84:HGVQ [ Qc7�8 L G M F [ 8 aX[ Y aXF : Y L5FKe Qcn L 8UGVY9: F M9Qcn4QXG]8 acF 7 T Y9:[]\ 8 [ Y L M F acF Y9: e DFJa DFbI FbL G e v) T : e WZY O Y L { T Y F Y9: �%�K[bT`I 7984: F Y L9F k 8 acF Y9: � ��� 8 k`Fb[ Y L{ T Y F Y9: ���(|�L9T Y e M FJI 8 L M T`L5e�i8 � � M F S�T Y9: L Qc:uY L9F e QXn L 8UG_Y9: F M9Qcn`Q G]8 aXF M F � ��� v � F G_G Fe QXn L 8UG_Y9: F 7 F Y5G 8 aXT : e oF G_: F Y5G_Q a Q e DFbF 7984: � � M9Y9:_8 L G a 8K7 \ 8 esF ��(� 7 T Y9: [JT`L G FJe G F : Y L5FI 8UY k 84Q esF 7�84:sGlM F ��� v!( m9e_F : k`F :^WY F M�8 L5e^L9T GV: F F � FbI 7 acF 7 a Y e2\ 84Y5G | e Q a ORQ L Q GVQc8UG F Y9:8 k 8UQXG e Qcn L DF G T Y5G FJe esFJe 7�84:HG eJ|D��� T Y ��! 84Y9:V8UQ FJL G 75Y [bT`L G Fbe G F : aXFJe 7984:sG e Q L9[bT`\ DF : FJL G FbeM F � |ZacT : e M F ��(��|0FJL 79Y m5a Q 8 L G a 8 e Qcn L 8UGVY5: F M F � WY9Q 84Y5G \9FJL G_Q4� F Y L9F 84Y5G_: F&k 8 aXF Y9:7 T Y9: aXF^I oFJIKF 7 T Q L G v�C F Y�� e Qcn L 8UGVY5: FJe M9Qcn4QXG]8 acFJe MPORY L { T Y F Y9: � | 7 T Y9:,M F Y�� k 8 acF Y9: eM9Q e GVQ L9[ G FJe M O Y L�I oFJIKF 7 T Q L G&M Fua 8 S�T4L9[ G_Q T`LEm Q k 84:sQ DFJF Q L M9QcWY FbL G [Ja 8UQc: FbI FbL G,Y L9F GV:sQ %[]\9F :sQ F M F�a 8�7984:sG M F � v � F G_G F QXM DFJF 8 FJL S 84Q G DF G DF 75: T 7 T`e DFbF 7 T Y5: a 8�79: FbI Q iF : F S�T Q e7�84: g Q [ 8 a Q F G d FJa M I 8 L I oFbI Fut1� d g � ��� z |ZFbL Q L G_: T M9Y9Q e 8 L G a O Y0GVQ a Q e 8UGVQ T`L M F,e Qcn L 8UGVY5: FJeM9Qcn4QXG]8 acFJeri8 e DFb[ Y9:sQXG DFK[ :$#Z75G T n`:V8U7 \ QcWY F v , 8U: [JT`L GV: F4| aXF 79: T4m9a.iFbI F Fbe GlWY F L9T Y e []\9F : %[]\9T`L9e Y L9F e DFb[ Y9:sQXG DF � ��� � � � � � � � � ���������2t m 8 e DFJFre Y9: 84Y [ Y L9Fr\ #Z7 T G \PiFbe 7�8 e � i8 a 8 � L M F��(� Ff[ :$#Z75G T n`:_847 \ QXWZY F z v * F Y9: F Y esFJIKFJL G Y LKe_[]\ DFJI 8 | 79: DFbe_FJL G DF 7 T Y9: a 8 79: FJI Q iF : F S�T Q e7�84: �,8 m Q LjF G+� FJL % ( :,M�8 L9e � � � � C � t F G 7�84: a 8 e Y5QXG F :V8 KL DF2F G&Y5GVQ a Q e DF 7 T Y9: esFJe 79: T %

Page 38: McGill School Of Computer Science

}@?

79:_Q DF G DFJe M Oy84Y0G \9FbL G_Q4� [ 8UGVQ T`L M�8 L9e � � C C��.C C � z |UL9T Y e 7 T :HG F e_FJ[bT Y9: e v � F es[]\ DFJI 8 | 84797 FJa DF79: T G TZ[JT`aXF M F k DF :_Q � [ 8�GVQ T4L M O Q L5S�T : I 8UG_Q T`L t 9 � z Fbe G acF e Y { F G,M Fla 8 79: T0[]\ 84Q L9FlesFJ[ G_Q T`L v

� ��� � � � ��� � ���"��� ��� � � � � � ���� �"��� ���$����� ��� � � ���"��� � ��� �

C 8 L9e Y L 79: T G TZ[JT`aXF M F k DF :sQ4� [ 8UGVQ T`L MPORQ L5S�T : I 8�GVQ T4L t 9 � z L9T Y e 8 k`T`L5e Y L Q L QXG_Q 8UG F Y9: �WY9Q [JT`L � F Y LEesFJ[ : F G & i8 Y L Q L G F : I DF M9Qc84Qc: F�~|�[JF M F : L Q F :f7 T4e_eJiF M F2acF :�oT4acF M F M DF k`T Q acF :acFKe_Fb[ : F G i8�Y L : FJ[JF k`F Y9: � i8�Y L G FbI 7 e Y a G DF :sQ F Y5: v') F 79: T G TZ[JT`aXF 7 F : I F G i8 � M F esF[JT`L k 84Q L9[ : F WY F � 8 [J[JF 75G F :V8 m Q FbL & FbL GV8 L GEWY F e_Fb[ : F GE79: T�k`FbL 8 L G�M F � t 7 T Y9:[JT`L G_: F : Y L � I 8 aX\9T`L9L oF G F z F G 7 F : I F G 8UY e_e Q&8 � | Y L5FES�T Q eKaXFEesFJ[ : F G : F �[ Y | M F�esF[JT`L k 84Q L9[ : F WZY O Q a9k Q FJL G m Q FJL M F � t 7 T Y9: [JT4L G_: F : Y L�^I 8 aX\9T`L9L oF G F z v , : FJL9F�.NL5T G F 7�84:[JT`L G_: F WYPORY L 79: T G TZ[JT`aXF M F 9 �fL O FJe G 7�8 e DF WY9Q k 8 aXFJL G i8 Y L9F e Qcn L 8UGVY9: F M9QXn`QXGV8 acFU|9I 84Q e7 T4e_eJiF M FuaXFJe 79: T 79:_Q DF G DFbe M Oy84Y0G \9FbL G_Q4� [ 8UGVQ T`L M T`L G L9T Y e 8 k4T`L9e&m�FJesT Q L 7 T Y9: [bT`L9e GV:_Y5Qc: FY L , x�9 t ��� } z � �"!�#�$'& �)( F G Q aL9F M DF 7 FbL MrMPO 84Y [ Y L9F \ #07 T G \ iFJesF [ :$#Z75G T n`:_847 \ QXWZY F v ) Fbe79: T G TZ[JT`aXFJe M F 9 �NT`L G Y L9F 79: T`m 8 m Q a Q G DF MPO F :_: F Y9: |Pa 84WY FbacaXFuFJe GlQ L9[ 84: L DFJF 7�84: acFJe , x 9t ��� }:/ ��z � �"!"#%$'& �)( WY FfL9T Y e 79: DFbe_FbL G F : T`L9e v , 84: [JT`L G_: F [JFba 8 L O FJe GB7�8 e M9YrG T Y5GBn`:V8 k4F79Y9Q e WY Fua 8K75: T`m 8 m Q a QXG DF MPO F :_: F Y9: 7 F Y0GuoF GV: F : FbL M9Y F^F �07 T4L9FJL GVQ FJaXacFJIKFJL G,7 F GVQ G FlF G&WZY FM F G T Y5G F S 8��[bT`LP| MPOy8U79: iFbe2aXFJe : DFJe Y a GV8UG e M F � �=� � C � |PL9T Y e e 8 k`T`L5e WYPORQ a"FJe GlQ I 7 T`ese Q m5acFWYPO Y L , x�9 G T`a DF :V8 L G � ' ���@& 7�84:HGVQ [ Qc7�8 L G erI 8 ac\9T`L5L oF G FJe e_T Q FJL G e 8 L9e 79: T`m 8 m Q a Q G DFMPO F :_: F Y9: v

d T : IKFJaXacFJIKFJL G | Y L 75: T G T0[bT`acF 9 ��[bT`L9e Q e G F FJL Y L GV:sQc7 aXF G M F 79: T G T0[bT`acFbe ��� & � � | � $ ���!" � * |� ( � ! � * ( � " � * |�T iY����� & � � t � / �#/ � / &pz Fbe G2Q L Q GVQ DF 7�84: � v C 8 L9e [JF G_G F 7 \ 8 e_FU| � M T`L9L9F acFue_FJ[ : F G & i8a ORQ L G F : I DF M5Q 84QX: F�� 84Q L9e Q WY F MPO 84Y5G_: FJe M T`L5L DFJFbe 84Y:�5Q a Qc84Qc: FJe2i8 � F G i8 � v

� � $ ����" � * t��#/ � / &�z Fbe G Q L Q GVQ DF 7�84: � vBC 8 L9e [JF G_G F 7 \ 8 e_FU|�� e O 8 e_e Y9: F WZY F � t e Q\9T`L5L oF G F z 8 [J[bF 75G F :_8 acF & WYPO Q a 7 T`e_eJiF M F v

��� ( � ! � * ( � " � * t��#/ � / &pz Fbe G Q L QXG_Q DF 7�84: � v5C 8 L9e [bF GsG F 7 \ 8 e_FU| � : F �[bT QXG a 8 k 8 acF Y5: &

Page 39: McGill School Of Computer Science

}D�

M F � 8UQ L9e QPWY F M FJe M T`L9L DFJFJe 84Y��0Q a Q 8UQc: Fbe F G,M DFJ[ QXM F MPO 8 [J[bF 75G F : T YEM F : F { F G F : &`v) FJe 79: T G TZ[JT`aXFJe M T Q k`FbL G k DF :sQ4� F : acFJe [ :_Q G iF : FJefe Y5Q k 8 L G e �

� � �.�4�p���������� x Q � F G � e_T`L G \9T`L5L oF G FJeJ| � 8 [J[bF 75G F :_8KG T Y { T Y9: eNa 8 k 8 acF Y9: & M T4L9L DFJF 7�84:� e Q FbacacF 79: T�k Q FbL G k :_84Q IKFJL G M F � F Gf: F { F G_G F :V8 8 k`Fb[ 79: T`m 8 m Q a QXG DF ' # � �! �G T Y5G F 84Y0GV: F k 8 aXF Y9: &�� v

� x Q � F G � esT`L G \5T`L9L oF G FJeb| � e 84Y9:_8 8 k4FJ[ 79: T`m 8 m Q a QXG DF MPO F :s: F Y5: � �! � | 8U79: iFbeaXFJe 7 \ 8 e_Fbe ��� & � � F G � $ ���!" � * |0e Q a 8 k 8 aXF Y9: & WYPORQ a 7 T`e_eJiF M F esF :V8r8 [J[JF 75G DFbF7�8U: � v

� � ��� "���Z����� ��� � �"��

� x Q � F G � esT`L G \9T4L9L oF G FJeb| 8 aXT : e � L O 847979: FJL M9:_8 84Y [ Y L9F Q L5S�T : I 8UGVQ T`L t 8UYesFJL9e M F x \ 8 L9L5T`L z i8 79: T 7 T`e M F & FbL 84Y5G]8 L G&WY Fra 8K7 \ 8 esF � ( � ! � * ( � " � *L9FlesT QXGf7�8 eNFbL9[JT : Fl[JT`IKIKFJL9[ DFJF v

� ��� � ��� � � � � ���"��� ���$����� ��� � � � ��� � � � � � ����� � ���� � �

� � ��� � �

A T Y e 79: DFJesFJL G T`L5euacF 79: FJI Q F :275: T G T0[bT`acF 9 �]| M F �N8 m Q L F G � FJL % ( : | WY9Q 8�7 F : I Q e M F[JT`L5e GV:sY9Qc: F Y L 79: T G TZ[JT4acF M F , x 9 t ��� }�/ ��z � �"!�#�$'& �)( Q L9[bT`L M9Q GVQ T`L9L9FbacacFbI FbL G e oY9: vA T Y e G_:V8 k 84Q aXacT`L9e G T Y { T Y5: e M98 L9e Y L [JT :_7 e % �� � t� z T�iY � }*)�| � DF G]8 L G acF 7�8 %:V8 IjiF G_: F M Fle DFJ[ Y5:_QXG DF v

)^p����� �`����� � 9 � M F �N8 m Q L F G � FbL % ( : �C Q e GV: t � / �5/�� / &pz �

� ) ORQ L Q GVQ 8�G F Y5: � []\9T Q e Q G } � L9T`I m : FJe 8 a DF 8UG T Qc: FJe � �7/238323 � ! ) �! % F G } �L9T4I m : Fbe 8 a DF 8UG T QX: Fbe # �0/232323 / # ! ) �! % � v

Page 40: McGill School Of Computer Science

} C

� � [ 8 ac[ Y acF ��� � & � # � � �.| 7 T Y9: # � � � } � v� � M T`L5L9F t & / � � z /2323838/pt & / � ! ) z i8 � v� � M T`L5L9F t # �7/ �2� z /232383 /pt # ! ) / �7! ) z i8 � v

� Y5G \ 9 8 a(t��#/ � / &�z �� �K[]\9T Q e QXG � Q L M5Q [JFbe 8 a DF 8UG T Qc: FJe M9Q e GVQ L5[ G e # � � �0/232323 / � ) � } � F G aXFJe 79Y m9a Q F v� � M DFbk4T Q aXF acFJe 7984Qc: FJe^t # ���7/�� ��� z 32323 /pt # � � / ��� � z v� , T Y9: []\ 8 [ Y L M Fbe Q L M9Q [JFJe []\5T Q e Q e � �p| # � ( � � |�Kk DF :_Q � Fle Q

& � # ��� � ��� � ������ x QfG T Y5G Fbe acFbe 7984Qc: FJeKe 8UG_Q esS�T4L G a O DF n 8 a QXG DF4| � [bT`L9[ba Y5G WY F�� t�e Q \9T`L9L oF G F z8 [b[JF 75G F :V8 & |9e Q L9T4L Q aP[JT4L9[Ja Y5GNWZY F � acF : F { F GsG F :V8 v

C F k`T Q acF 9 8 a(t��#/ � / &�z �� � M T`L9L9F & F G t � � /232323 / � ! ) z i8 � v� , T Y9: []\ 8UWZY F Q L M9Q [JF � � M T`L G aXFJe 7984Qc: FJert # ����/�� ��� z L O T`L G 798 e DF G DF M DF k`T Q a DFbFJeJ|� k DF :_Q � Fle Q & � # ��� � ��� � � ��� v

� x Q a O DF n 8 a QXG DF,FJe G k DF :_Q4� DFJF 7 T Y5: ? � � � � < ? ��� � �-@ � | � 8 [J[bF 75G F^a 8 k 8 aXF Y9: v

Page 41: McGill School Of Computer Science

& �

)^p��� ����� � x DFJ[ Y9:_Q G DF M5Y�79: T G T0[bT`acF M F 9 � M F �N8 m Q L % � FJL % ( : � A T Y e M DFbI T`L G_: T`L9e WZY F[]\ 84WY F2[ :sQXG iF : F MPORY L 79: T G TZ[JT`aXF 9 � Fbe G e 8�GVQ eHS 84QXG t e_F : DFbS DF : F : i8 a 8 e_Fb[ G_Q T`L�} v $z v

� � �.�4�p���������� A T Y e e Y9797 T`e_T`L5e WY F � F G � esT`L G \9T`L9L oF G Fbe F G WY F aXF&e_Fb[ : F GfM F � FJe G &`vx Q � M T4L9L9F a 8 k 8 aXF Y9: & WY9Q�79: T�k Q FJL G k :V84Q I FbL G M F � | Q a"Fbe G [ba 84QX:&WY F �a Oy8 [b[JF 75G F :V8 v( m9esF : k4T`L9e M T4L9[ [JF WZY5Q esF 7�8 ese_F acT : e WY F � k`F Y0G�GV: T Y k`F :�Y L9F k 8 acF Y5: &�� �� &7 T Y9: M T4L9L9F : i8 � v� k`F Y5GBM T`L5[ FJese 8�# F : M F GV: T Y k4F : � � G FJa WY F a O DF n 8 a QXG DF & � � # � � � � : FJ[]\5F : []\ DFJF7�8U: � e_T QXG e 8�GVQ eHS 84QXG F v&A T G T`L9e MPO 8 m�T :_M�WY F � L O T`m G_Q FJL G,84Y [ Y L9F Q L0S�T : I 8 %G_Q T`L 7�8U: :V84797 T :HG i8 # M9Y5:V8 L G acFbe 7 \ 8 esFJe ��� & � � F G � $ ����" � * | 79Y9Q e WY F a 8M9Q e G_:_Q m Y5GVQ T`L M F # FJe GNQ L M DF 7 FbL M�8 L G F M Fbe 84Y5GV: FJe k 8 acF Y9: e vg 8UQ L G FbL 8 L G | 75Y9Q e WZY F & � # � � ��|�L5T Y ere 8 k4T`L9e WZY F &�� � # � � � � e Q F GesF Y aXFJIKFJL G e Q & � &�� � # t � � � � z � � v � F WZY5Q k4F Y5G M9QX: F WY F <�� �uFbe G [ 84798 m9acFM F G_: T Y k4F : &�� F G � � e 8UG_Q eHS 84Q e 8 L G a O DF n 8 a QXG DF WY F � : FJ[]\5F : []\5F4| � ��@ <uQ a FJe G[ 847�8 m9aXF M F : DFJe_T Y9M9: F & � &�� � # t � � � � z � � 7 T Y9:,: F G_: T Y k4F : #pv 9 YEWZY F �L O 8�84Y [ Y L9F Q L5S�T : I 8UGVQ T`L i8 79: T 7 T`e M F # | e 8 IKF Q aXacF Y9: FlS 8��[JT4L M F S 84Qc: F FJe GM Ff[]\9T Q e QX: � � Y L Q S�T : I DFbI FbL GB84Y \ 8 e 84:_MKM�8 L9e % v() 8 79: T4m 8 m Q a QXG DF M Ffe Y [J[4iFbeM F � Fbe GNM T`L5[ M F # � � % � � } � ) v

� A T Y efe Y9757 T`esT`L9e Q [ QPWY F � F G � esT`L G \9T`L9L oF G Fbe vx Q � Fbe G \9T4L9L oF G F4| � 8 [J[bF 75G F :_8 G T Y { T Y5: e &`vfx Q � Fbe G I 8 ac\9T4L9L oF G F�F GWYPORQ a 8 M T`L9L DF i8 � Y L9Flk 8 acF Y5: & WY F � L O 8 [b[JF 70G F :_8 7�8 eb|~e 8 L9e WY F � e O FbL847 F : �[JT Q k`F M9Y9:V8 L G � $ ����" � * |5[JFba 8 k`T Y9M5:V84Q G M9QX: F WZY F � 8 F Y a 8 I 8 ac[]\ 8 L9[JFM F^[]\9T Q e Qc: acFbe � 7�84QX: FJe t 7�8U: I Q acFJe } � z WY9Q L5F^k DF :sQ4� FbL G&7�8 e,a O DF n 8 a QXG DF WZY F� : FJ[]\5F : []\5F v�A T Y e 84Y5:_Q T4L9e M T`L9[

� �"!"# t�� � ( � & ( $ ( � � � � (1���)( � � & � � � ( ( ( � �)( &�z ���� } ��

� ��

���

79Y5Q e WY F � []\9T Q e QXG e_Fbe Q L M5Q [JFbe M F2S 8��[JT4L Y L Q S�T : I DFJIKFJL G&8 a DF 8UG T QX: F v �(a�e Y G

Page 42: McGill School Of Computer Science

& #

8 aXT : e M F2esF :V84797 FJaXF : M Fla 8 75: T 7 T`e Q GVQ T`L e Y5Q k 8 L G F ���� } ��

� �� � )�

��� ��� � �

� ��!

t k`T QX: 7�84: F � FJI 7 aXF � x 75Q C@$ � 7 T Y5: Y L9F 79: F Y k`F zF G,M F2L5T G F :NWY F

��� } ��

� ��

���� #

� )��� ��� � �

� ��!

� #� )���

��� � �

� ��

� #} ) t ���������� ����������� � z

� FJ[ Q979: T Y k`F WY F a 8 I 8 aX[]\ 8 L9[bF FJL WY Fbe GVQ T`L L O 84:_:sQ k`F WZY Oy8 k`Fb[ 75: T`m 8 m Q a QXG DF � �! � v� � ��� "���Z����� ��� � �"��

� � L O 8�84Y [ Y L9F Q L5S�T : I 8UG_Q T`L i8�79: T 7 T`e M F & 8 k 8 L G a 8�7 \ 8 e_F � ( � ! � * ( " � *79Y5Q e WY F 7 T Y9: M Fbe2k 8 aXF Y9: e # F G � �&� FJeb| G T Y5G F k 8 acF Y9: M F & FJe GlG FJaXacF WYPORQ aF �5Q e G F Y L �jY L QXWY F e 8UG_Q esS 8UQ e 8 L G � � & � # � F G aXFJe M5Q e G_:_Q m Y5GVQ T`L9e M F & F GM F � esT`L GNQ L M DF 7 FbL M�8 L G FJe M Fl[JFJaXacFbe M F # F GNM F � v

Page 43: McGill School Of Computer Science

& }

� ��� � ��� � � � � ���"��� ���$����� ��� � � ���"��� � � � � ��� � �� �

, : FJe WY F M9Q �=8 L9e 8U79: iFbe a ORQ L GV: T M5Y [ G_Q T`L M Fbe 79: T G TZ[JT`aXFJe M F 9 �]| � :_8 IKF : | C 8 I n �84:sM |C . Q FJI m�T��fe � Q | *,QX:sG F G �N8 m Q L�T`L Gl79: DFbe_FJL G DF M98 L9e � � C C��.C C � Y L L9T Y k`F 8UY 75: T G T0[bT`acFM F 9 � v � F M F : L Q F : 79: T G TZ[JT`aXF L9F M FbI 8 L M F WYPO Y L9FE[bT`IKI Y L Q [ 8UG_Q T`L M Fj[bT`I 7 acF �5Q G DFacT n`84:_Q G \9I QcWY F 7�84: :V8U797 T :sG 84YK7�84:V8 IEiF GV: F M F,e DFJ[ Y5:_QXG DF � t 8UY a Q F YrM F,a Q L DF 84Qc: F4|4[bT`IKI F7 T Y9: [JFJa Y9Q�M F �,8 m Q L�F G � FJL % ( : z v�C F 7 a Y eJ|~aXF2L5T Y k`F 84Y�79: T G TZ[JT4acF 7 T`e_eJiF M F Y L9F 79: T %79:_Q DF G DF 8UM9M9QXG_Q T`L5L9FJaXacF M Fja Q L DF 8U:_QXG DF4| M T`L G L5T Y e M9Q es[ Y5G F : T4L9e 8U79: iFbe a 8 M FJe_[ :_QX75GVQ T`L M Fa O 8 a n T :_Q G \9IKF v, T Y5:N75: DFJesFJL G F : aXF 79: T G TZ[JT`aXF4|5L5T Y e 8 k4T`L9efm�FJe_T Q L MPO Y L9FlL9T Y k4FJacaXF M DF � L QXG_Q T`Lwt M T`L9L DFbFM�8 L9e � � C C � C C � z �� "�����p����� � ,� � "�� � � ������� ?�@ t ,.�0/B,#!2/1, � z � % � � < � � � � #�� � � � � � @ �� � < � � � ��� � < ���? � � � � � � >� � � � � � � � � @ �� � <0?�@ % � ����� � ? � ��t � z � ,.�0/ ��t # z � ,#! ���#��t � z � , � ��)^p����� �`����� � 9 � M F � C C * � �C Q e GV: t � / �5/�� / &pz �

# v � []\9T Q e Q G Y L9F�k 8 acF Y9: � �! % ��� �&/ #�� 8UQ L9e Q WY F M F Y��h84Y5GV: FJe k 8 acF Y9: e8 a DF 8UG T Qc: FJeb| � /�� � � % ! � t & / � /�� z e_T QXG #�� � � � � � @ �� � � v � M DF k`T Q acF � 79Y %m9a QcWY FbI FbL G v

} v � []\9T Q e Q GfY Ljk4FJ[ G F Y5:&8 a DF 8UG T Qc: F t & � / � � /�� � z WY9Q Fbe G #�� � � � � � @ �� � v&5v � M T`L5L9F & / & � / � / � � i8 � v$9v � M T`L5L9F���/�� � i8 � v

� Y5G \ 9 8 a(t � / �#/ � / &pz �# v � []\5T Q e QXGBY L DFJa DFbI FbL G 8 a DF 8�G T QX: F�$#�! % F G 79Y m9a Q F $�/pt & � � $ &pz ( �ft � � � $ � z v} v,x Q � T`m5e_F : k`Fja 8�79Y m9a Q [ 8UG_Q T`L MPORY L9F�I 84Y k 84Q e_F k 8 acF Y9: | Q a 75Y m9a Q F & F G � v� [ 8 ac[ Y acF 8 aXT : e�� M F�S 8��[bT`L i8 [JF WY F t & / � /�� z e_T QXG #�� � � � � � @ �� �,F G acF79: T G TZ[JT4acF e_F G F : I Q L5F v

&5v � k DF :_Q � Fle Qt & � � $ & / � � � $ � /�� � � $�� z

Page 44: McGill School Of Computer Science

&@&

Fbe G #�� � � � � � @ �� � | Q a 79Y m9a Q F � � �`� 3���� T Y p� �J� � ��� e_FJaXT`L�acF [ 8 e v$9v,x Q � T`m9esF : k4F WY F � Fbe G I 8 aX\9T`L9L oF G FU| Q a`aXF M DFJ[ba 84: F 75Y m9a QXWY FJIKFJL G F G�79Y m9a Q F� F G &`v � 8 { Y e G F � e Q L DFJ[bFJe_e 84Qc: F M F2e_T :HG F WZY F t & / � /�� z esT QXG #�� � � � � � @ �� � |F G aXF 79: T G TZ[JT`aXF e_F G F : I Q L9F v

A0v,x Q � L O 8�7�8 e M DFJ[ba 84: DF � [JT`IKI F DF GV8 L G I 8 ac\9T4L9L oF G F FbL $9v |�I 84Q e WY F �8j79Y m9a Q DF p� �b��J��� FJL &5v | � M T QXG279Y m9a Q F : & F G � F G FJL9e Y9QXG F � M T QXG^8 aXT : e8 { Y e G F : e 8 k 8 acF Y5: � M Fle_T :sG F WY F t & / � /�� z esT QXG # � � � � � � @ �� � v

C F k`T Q acF 9 8 a(t��#/ � / &�z �# v � 79Y m9a Q FKt & / � z v} v � k DF :sQ4� F WY F�t & / � /�� z Fbe G m Q FJL #�� � � � � � @ �� � F G � � �`� 3���� T Y p� �J� � ��� M FS 8��[bT`L 847979: T 79:_Q DFJF v

) F k`Fb[ G F Y9: t & / � /�� z FJe G,84797 FJa DF k4FJ[ G F Y5:,M Flk DF :sQ4� [ 8UGVQ T`L vA T Y e 7 T Y k`T`L9e�I 84Q L G FJL 8 L G : FJI 84:_WY F : WY F e Q M F Y�� k4FJ[ G F Y5: e t 7 T4e_e Q m9acFbI FbL G M9Q � DF : FJL G e zt , / � /�� z F G t , � / � � /�� � z e_T4L G #�� � � � � � @ �� � < | 8 acT : e G T Y5G F [JT`I m Q L 84Q e_T`L�a Q L DF 84Qc: F M FK[JFbeM F Y:� k4FJ[ G F Y5: e e_F :V8 8UY e_e Q #�� � � � � � @ �� � � v � Fba 8wQ I 7 a QcWY F WY F�e Q L9T Y e 8 k4T`L9e M F Y��e_Fb[ : F G e & � | & !fF G a O \ 8 m Q a QXG DF M F acFbe k DF :_Q � F : |9L9T Y e 7 T Y k`T`L9e 8UY e_e Q k DF :_Q � F : G T Y5G F [JT`Ium Q %L 84Q e_T`L�a Q L DF 84Qc: F M F & �,F G & ! v � F G_G F 79: T 75:_Q DF G DFresF :V8 Y5G_Q a Q e DFbF M�8 L9e acFbe , x 9 | 84Q L9e Q�WZY FM�8 L9efaXFJe 79: F Y k4FJe M Flk 8 a QcM9Q G DF M9YE75: T G T0[bT`acF 9 � M F � C C * � v

)^p��� ����� � xBDFJ[ Y9:_Q G DF M5Y 79: T G TZ[JT`aXF M F 9 � M F � C C * � � A T Y e M DFJIKT`L GV: T4L9e WY F []\ 84WY F[ :sQXG iF : F MPORY L 79: T G TZ[JT`aXF 9 � Fbe G e 8�GVQ eHS 84QXG t e_F : DFbS DF : F : i8 a 8 e_Fb[ G_Q T`L�} v $z v

� � �.�4�p���������� A T Y e e Y9797 T`e_T4L9e Q [ Q~WY F � F G � e_T`L G \9T`L9L oF G Fbe F G WY F&aXFNesFJ[ : F G M F � FJe G&`v�(a~FJe G [ba 84QX: WY F,e Q � M T`L9L5F i8 � a 8 k 8 aXF Y9: & WY F � a Y9Q~8 k :_84Q IKFJL G M T`L9L DFJF4|� 8 [J[bF 75G F :V8 vA T Y e DF G_Y9M9Q T4L9e M T`L9[lacF [ 8 efT�iY � k`F Y5G,M T`L9L9F :fY L9F k 8 acF Y9: &�� �� & v� FJI 84:_WY T4L9e M Oy8 m�T :sM WY F��rL O 847979: FJL M 84Y [ Y L9F Q L5S�T : I 8UG_Q T`L�i8l79: T 7 T4e M F� M9Y9:_8 L G ��� & � � F G � $ ����" � * � [JF WY F � : F �[JT QXG,M9Y9:V8 L G ��� & � � 8 Y L9F M9Q e %

Page 45: McGill School Of Computer Science

& $

G_:_Q m Y5GVQ T`L Q L M DF 7 FbL M�8 L G F M F � v~C Y5:V8 L G � $ ����" � * |�e Q � FJL k`T Q FuaXFJefm�T`L9L9Fbek 8 aXF Y9: eJ| Q a [bT`L9L 8�o q G"M Oy8 k 8 L9[bF a 8 : DF 7 T`L9e_F M F�� vUx ORQ aL O FJL k4T Q F 7�8 e�acFJe�m�T`L9L9Fbek 8 aXF Y9: eJ| � e_F 7 a 84Q L M9:V8 F G acF 75: T G T0[bT`acF G F : I Q L9F vUC T4L9[ �lL O T`m G_Q FJL GB8UY [ Y L5FQ L5S�T : I 8UG_Q T`Lwi8r79: T 7 T`e M F � vA T G T`L5e WY F�[JFJe 8U:_n`Y IKFJL G e e_T`L G k :V8UQ e 7 F Y Q I 7 T :sG F aXF L9T`Ium : F M F S�T Q eWY F � $ ����" � * 8 DF G DF DF � DFJ[ Y5G DF t [bFJ[ Q Fbe GKQ I 7 T :sG]8 L GuM�8 L9e aXF [ 8 e T Y L9T Y e8 k`T4L9e 7 a Y e Q F Y5: e : Fb[JF k`F Y5: e z vg 8UQ L G FbL 8 L G | aXT : e M F a 8 7 \ 8 esF � ( � ! � * ( " � * | e Q ��FJL k`T Q F & � �� & / � � �� � /� 8 [J[bF 75G F :V8 e_F Y acFJIKFJL G e Q t & � / � � /�� z Fbe G #�� � � � � � @ �� � v 9 Y WY F t & / � /�� zFbe G # � � � � � � @ �� � | t &�� / � � /�� z FJe G FJL S 84QXG #�� � � � � � @ �� � e Q F G e_F Y acFbI FbL G e Qt & � & � / � � � � /]� z a O Fbe G t 7�84: a 8 79: T 79:_Q DF G DF M F^a Q L DF 84:sQXG DF z v � Fb[ Q L9T Y e M T`L9L5FY L5F DF WY�8UGVQ T`L�L9T`L GV:sQ k Q 8 aXF WY F � 7 T Y9:s:V84Q G : DFbe_T Y5M9: F 7 T Y9: : F GV: T Y k`F : � v �7 F Y5G S 84QX: F [bFJ[ Q�8 k4FJ[ 79: T`m 8 m Q a QXG DF 84Yj7 a Y e # � t � % � � } � z vC ORY L 84Y5G_: F [ oT G DF4| e Q � FbL k`T Q G M FJerk 8 acF Y9: e &�� / � � G FJaXacFJe WZY F � L O 8 [J[bF 75G F7�8 eJ| G T Y0G [JF WZY F� 8U7979: FbL M [ O FJe GuWY F a 8 M9: T QXG F 798 e_e 8 L Gu7�8U: aXFJe 7 T Q L G et �&/ & � z F G t # / � � z L O FJe G 7�8 e a 8lM9: T QXG F M DF � L Q G 7�8U: aXFJe 7 T Q L G e WZY F � 7 T`e_eJiF M F v� 7 F Y5G,8 acT : e DFJa Q I Q L9F : &�� [JT`IKIKF e_T`a Y5GVQ T`L 7 T4e_e Q m9acF v, 84:�M DF M9Y [ G_Q T`L |4L9T Y e 7 T Y k`T`L5e�k`T QX:"WY F e Q584Yr7 a Y e * k 8 acF Y5: e 7 F Y k`FJL GNoF G_: FbeDFba Q I Q L DFJFJe M9Y i8 M FJe : DF 7 T`L9esFJefL DF n`8UGVQ k`FJe M F � | 84Y IKT Q L9e � % � � * � }u[ 8 L %M9QXM�8UG e 7 T Y5: � : Fbe G F : T`L G k 8 a QXM FJe v �(a�e O FbL9e Y5QXGlWY F � 7 F Y5GlM Fbk Q L9F : & 8 k`Fb[79: T`m 8 m Q a Q G DF 84YE7 a Y e # � t � % � � * � } z v) T : e WY F L9T Y e Y5G_Q a Q e_F : T`L9eB[bF 79: T G TZ[JT`aXF M F 9 � 7 T Y9: [JT`L9e GV:sY9Qc: F&L9T G_: F 79: T %[]\ 8UQ L , x�9 | * e_F :_8 a Q L DF 84Qc: F&FbLjL v#) 8r79: T`m 8 m Q a Q G DF MPO F :_: F Y9: t�a 8 79: T`m 8 m Q a Q G DFWY F � 79Y9Q e_e_F 84Y5G \5FJL GVQ � F : Y L5F�I 8UY k 84Q esFEk 8 acF Y9: z e_F :V8 M T`L5[ MPOy8UY 7 a Y e# � t � % � � � t � z � } z � # � t.} ) � � t � z_z � } � ) � � - ,�� / v

� A T Y efe Y9757 T`esT`L9e Q [ QPWY F � F G � esT`L G \9T`L9L oF G Fbe vx Q � 79Y m9a Q F^acFJe,k 8 acF Y5: e & F G � T Y � F G � | a 8 79: T 79:_Q DF G DFuFJe G GV:sQ k Q 8 aXFJIKFJL Ge 8UGVQ esS 84Q G F vA T Y eBT`m9esF : k4T`L9e M T`L9[ a 8 e Q GVY�8UG_Q T`LraXT : e WY F � FJL k`T Q F Q L Q GVQ 8 acFJIKFJL G i8 � M Fbek 8 aXF Y9: e Q L5[JT`\ DF :V8 L G FJe F G WY F � [ 8 ac[ Y acF � � �`� 3���� |0e 8 L9e 7 a 84Q L G F M F � |Pi8 a 8

Page 46: McGill School Of Computer Science

& A

7 \ 8 e_F � $ ����" � * v5A T G T`L5e WY F^e ORQ a�F �0Q e G F 84Y IKT Q L5e M F Y�� k 8 acF Y9: e=$&� �� $�!G FJacaXFJe WY Fut &�� � $&� & / � � � $&� � /�� � � $&� � z F G t &�� � $�! & / � � � $�! � /�� � � $�!�� z esT`L GG T Y e acFbe M F Y:� #�� � � � � � @ �� � < | 8 acT : e 7�84: a 8 79: T 79:_Q DF G DF M F a Q L DF 84:sQXG DF t & / � /�� za O Fbe G^84Y ese Q v � FJ[ Q L9T Y e^IKT`L GV: F 7�84: [JT4L G_:V847 T`e DF WY FKe Q t & / � /�� z L O FJe G27�8 e#�� � � � � � @ �� � | Q a L9F 7 F Y5G F �5Q e G F :rWYPORY L9F�e_F Y acF k 8 aXF Y9: $ � % G FJaXacF WZY Ft & � � $ & / � � � $ � /�� � � $�� z e_T Q G #�� � � � � � @ �� � v �(a # 8�M T4L9[ 84Y 7 a Y e Y L5Fk 8 aXF Y9: $ WY F � 8 [b[JF 75G F :V8 M9Y5:V8 L G a 8r7 \ 8 e_F � $ ���!" � * v , Y9Q e WY F � []\9T Q e QXG$ M F&S 8 �[JT`L Y L Q S�T : I DFbI FbL G 8 a DF 8UG T Qc: F M98 L9e % |0a 8^75: T`m 8 m Q a QXG DF M F&e Y [b[4iFJe M FG_:_Q []\5F :_Q F M F � FJe G,M T`L5[ M F # � � % � v

� � ��� "���Z����� ��� � �"��

� A T Y efe Y9757 T`esT`L9e Q [ QPWY F � F G � e_T`L G \9T`L5L oF G FJe vC Y9:_8 L G a 8K7 \ 8 e_F � $ ���!" � * | � 7 F Y5G esT QXG,79Y m9a Q F : � � �`� 3���� T Y p� �J� � ���~v, Y9Q e WY F � F G �Ke_T`L G \9T`L5L oF G FJeJ|�e Q � : F { F G_G F � M DFbk4T Q aXF �rF G � F G FJL9e Y9QXG FG F : I Q L5FracF 79: T G TZ[JT`aXF4|PL5T Y e2L9F e_T`IKI Fbe M T`L9[ 7 a Y elT`m9a QXn DF M F M9Q e_e Q I Y aXF :& M F � v x Q"7984: [JT4L G_: F � 8 [b[JF 75G FU| G T Y0G [JF WZY O Q a 7 F Y5Gl8U7979: FbL M9: F M9Y9:_8 L G� $ ����" � * [JF esT`L G acFbe^k 8 aXF Y9: e �&/�� � / $�/ &�� � $ & / � � � $ � | 79: Tpk4FJL 8 L G M O Y L5FM9Q e G_:_Q m Y5GVQ T`L Q L M DF 7 FJL M�8 L G F M F &`v �(a e O FJL5e Y9Q G&M T4L9[ WZY F � L Oy8U7979: FbL M�:sQ FbLi8r79: T 7 T4e M F &`v

Page 47: McGill School Of Computer Science

& :

� � � � ��! ����� �� � �� �

) T : e WZY O Y L5F 7 F : e_T4L9L9F : F �[JT Q G Y L9F&e Qcn L 8UGVY5: F M9QXn`QXGV8 acF MPORY L�e QXn L 8UGV84Qc: F4|[JF G_G F 79: FbI Q iF : F7 F Y5G IKT`L GV: F : [bF G_G F e QXn L 8UG_Y9: F 8UQ L9e Q0WY F e 8 k 8 a QcM9Q G DF i8 L ORQ I 7 T :sG F WY9Q v � F G_G F 79: T 79:_Q DF G DFMPO 84Y5G \5FJL GVQ � [ 8UG_Q T`L 7 F Y5G2oF GV: F T4m G FbL Y F�i8 a O 84QXM F M Fbe 75: T G T0[bT`acFbe M F 9 � F G e_F :V8 Y5GVQ a Q e DFJFacT : e M F&a 8 [bT`L9e G_:_Y [ GVQ T`L M9Y�79: TZ[]\ 84Q L , x�9 WY F L9T Y e 79: DFbe_FbL G T`L9e v�; L9F � � � � � ?�@ � � � |M�8 L9e acFN[JT`L G F �ZG F M Fbe , x�9 |Ze_F,S 84QXG [JT`IKIKFNe Y9QXG � �� & � � Fbe G F � DFJ[ Y5G DF 7 T Y9: Y L9F,k 8 aXF Y9:& 7�8U: � 8 k4FJ[ Y L Q L G F : I DF M9Q 8UQc: F ��F G acFJe : FJ[JF k`F Y9: e=���7/ + + + / �#" t�acFJe 7984:sG_Q [ QX7�8 L G e M9Y, x�9lz v � L9e Y5QXG FU| � $ ����" � * FJe G F � DFJ[ Y0G DF 7�84: � 8 k`Fb[l[]\ 84WY F { T Y F Y9: ���!� � v/, a Y e G]8U:_M |e Q � k4F Y5G&84Y5G \9FJL G_Q4� F :&84Y:��7�84:HGVQ [ Qc7�8 L G e M F � WZY F & 75: T�k Q FJL G m Q FJL M F � | Q aPF � DFb[ Y5G F� ( � ! � * ( " � * 8 k`Fb[ G T Y e aXFJe 7�84:HGVQ [ Qc798 L G e vPx QB84Y IKT Q L5e�� � # 7984:sG_Q [ QX7�8 L G e 8 [J[bF 75G FJL Ga 8 k 8 acF Y9: & | L5T Y e M9Qc: T`L9e WY F�a 8 e Qcn L 8UGVY9: F % 9 � 8 DF G DFE[bT`L ��: I DFbF v A T Y e M DFbL9T G F : T`L5eY L9F G FbacaXF e Qcn L 8UGVY5: F 7�84: ��� t � / � z t aXF 79: FbI Q F : 84:sn`Y IKFJL G e 7 DFb[ Q � FEa O Q L QXG_Q 8UG F Y9: F G acFM F Y:�5Q iFJIKF e 7 FJ[ Q4� F2a ORQ L G F : I DF M9Qc84Qc: F z v

� ��� � � � � � !+� ��� � ���� � � � ��� � � � ��"� � � ��� � ��� � �

� �

A T Y e2esT`IKI Fbe I 84Q L G FJL 8 L Gl8475G FJe i8�75: DFJesFJL G F : aXF , x�9 M F � � C C��.C C � v � F 75: T G T0[bT`acFFJe G m 8 e DFue Y9: a 8 e_T`a Y5GVQ T`L M F d Fba M I 8 LP|�T`IKF GsG]8 L G a 8 L DFJ[bFJese QXG DF M Fr[JT M Fbe [JT :s: FJ[ G F Y9: e v9 T Q [ Q a 8 M DF � L Q GVQ T`L MPORY L G F : IKF WY9Q L9T Y eNesF :_8 Y5G_Q acF � �� "�����p����� � ,� �� "�� � � ������� ?:@ t�(D�0/2323838/%(�" z � % " � < � ? � � ������� ?�@ � � �`� � ��p����� < � � ���� � < � � ? � � � � � � >� � � � � � � � � @ � ? � � ?(< � � ��� � ? � ��t � z � ( � � ��?:@ # � � � � 3 ) F 79: T G T0[bT`acF M F 7984:sGV84n F M Fle_Fb[ : F G k DF :_Q �~8 m9aXF e_F M DF � L QXG [JT4I IKF e Y9Q G

)^p����� �`����� � , x�9 M F � C C * � �C Q e GV: t � / � / &�z �

Page 48: McGill School Of Computer Science

& ?

# v � []\5T Q e QXG,Y L 7 T4a # L oT`IKF^m Q k 84:_Q DF *�t , / � z 8 a DF 8UG T QX: F M F M F n`: DF 84Y�7 a Y e �fFbL[]\ 8UWZY F2k 84:sQ 8 m9aXF4| G FJa WY F *�t �&/]� z � & v A T Y ef[bT`L9e G_:_Y9Q e_T`L5e,a 8 I 8UG_:_Q [JF

�����������������

& � � & � ! 38323 & � � 32323 & �6"vvvvvv

& � � & � ! 38323 & � � 32323 & � "vvv& " � & "'! 38323 & " � 32323 & "%"

� ����������������

T iY & ��� � *�t � / ( z v�) 8 :V8 L n DFJF � M DF � L QXG * �$t � z F G a 8 [JT`aXT`L9L9F � M DF � L Q G � �(t , z v ) Fbe� �$t � z t WZY5Q L9F esT`L G 7�8 e : F 75: DFJesFJL G DFbe M98 L9e a 8 I 8UGV:sQ [JF z esT`L G acFbe [JTZF K[ Q FJL G eWY9Q 7 F Y k4FJL G oF GV: F Q L G F :s7 T4a DFJe 7 T Y9: : F G_: T Y k4F : &`v

} v � M T`L9L9F � � � � & �4�7/232323 / � � " � & � " F G # � � � & � � /232323 / # " � � & " � 84Y { T Y F Y9:���.| 7 T Y5: � � # /2383238/ � v, T Y9: []\ 84WY F k 8 aXF Y9: � ���p| # � � | � 8�G_G]8 []\9F Y L5Fe Qcn L 8�GVY9: F % 9 � �

����`t � / ��� z | ��� �

�t � / ��� z

&5v=) F { T Y F Y9: ����k DF :_Q4� F WZY FracFJe M F Y�� FJL9esFJI m9aXFJe � � �0/232383 / � � " F G # � � /232383 / # "��T`m G FJL Y e M F � e_T`L G m Q FbL � � � � � @ �� � vx Q [bFJa 8 L O FJe G 7�8 e acFf[ 8 eJ| ��� 75Y m9a Q Ffe_FJe k 8 acF Y9: e 84Q L5e Q�WY F&aXFJe e QXn L 8UG_Y9: Fbe % 9 �M F � e O # :_84797 T :sGV8 L G vBx Q Y L { T Y F Y5: T`m9e_F : k4FEa 8�79Y m9a Q [ 8�GVQ T4L M F k 8 acF Y9: eQ L9[JT`\ DF :V8 L G FJe 8 k`Fb[ M FJe e Qcn L 8�GVY9: FJe % 9 � k 8 a QXM FJe M F � | Q a�k4T G F 7 T Y9: a 8 M9Q e %WY�8 a Q4� [ 8UGVQ T`L M F � v

$9v � \ 8UWZY F ��� M T`L9L9F � ��� � *�t � / ( z 8UY { T Y F Y9: �%� 8UQ L9e Q�WYPORY L9Fue Qcn L 8UGVY5: F % 9 �]|�����4t ��� / � � z | WYPORQ a n DFJL DF : F 7 T Y9: [JF G_G F k 8 aXF Y9: v

A T G F :2WY FKe Q a O Q L QXG_Q 8UG F Y9: FJe G \5T`L9L oF G F4|�aXFJe k 8 acF Y9: e � ��� WY F�� � : F �[JT QXGlM Fbe84Y0GV: Fbe { T Y F Y9: eE\5T`L9L oF G FJeE[JT :s: Fbe 7 T`L M FbL G�84Y�� k 8 aXF Y9: e # ��� WY F � � 8 k 84QXG: F �[ Y FJe M F � v

A0v=) F { T Y F Y9: � �r[JT`I 7�84: F a 8 k 8 acF Y9:�� ��� : F �[ Y F 7�84: � �^i8 a 8 k 8 aXF Y9: # ��� : F �[ Y F7�8U: � | 7 T Y5: # � � � � v�x Q�7 T Y5: Y L Q L M F � t � / ( z Q a #j8rY L9F Q L9[bT`\ DF :_8 L9[bFFbL G_: F aXFJe M F Y�� k 8 aXF Y9: elt T Y e ORQ a L Oy8 7�8 e : F �[ Y a 8 k 8 aXF Y9: T Y a 8 e Qcn L 8UGVY5: F M F��� z | � � M DFbk4T Q aXF 79Y m9a QcWY FJIKFJL G � ��� F G �

����`t � / � � z v

Page 49: McGill School Of Computer Science

& �

: v,x QZY L { T Y F Y9: ���0T`m9e_F : k4F Y L9F k 8 aXF Y9:�79Y m5a QcWY F � ���p| �����`t � / � � z | Q L5[JT`\ DF :V8 L G F

8 k`Fb[^[bF WZY O Q a 7 T`eseJiF M F4| Q a 79Y m9a Q F e 8 k 8 aXF Y9: � ���&F G������`t � / ��� z v

? vNd Q L 8 aXFJIKFJL G |[]\ 84WY F { T Y F Y9: ��� T`m9esF : k`F G T Y0G FJe acFJe k 8 acF Y5: e 75Y m9a QXWY FJe v�x ORQ aT`m5e_F : k`F 7 T Y9: Y L Q L M F � t ( / � z M F Y���M9Q � DF : FJL G FJe e QXn L 8UG_Y9: Fbe % 9 �2t 8 e_e_TZ[ Q DFJFbei8 M F Y�� k 8 aXF Y9: e M9Q e GVQ L9[ G FJe z k 8 a QcM Fbe M F�a 8 7�84:HG�M F � |'��� k`T G F 7 T Y9: a 8M9Q e WY�8 a Q4� [ 8UGVQ T`L M F � v

� v,x ORQ a 8 F Y � � # { T Y F Y9: e M9Q � DF : FbL G eJ|�T Yj7 a Y eJ| WY9Q T4L G k4T G DF 7 T Y9: a 8 M9Q e WY�8 %a Q4� [ 8UGVQ T`L M F � |5T`L M FJI 8 L M F i8 []\ 8UWZY F { T Y F Y9: ��� M F : F G T Y9: L5F : � ( � � � � v

� FJ[`t � / � / &pz �# v � \ 8UWZY F { T Y F Y9: ��� 79Y m5a Q F e_Fbe k 8 acF Y5: e � � � /238323 � "�� 8 k4FJ[ aXFJe e Qcn L 8�GVY9: F % 9 �7 T Y9: aXFJe k 8 acF Y9: e � ��� : FJ[ Y FJe M FJe { T Y F Y9: e � � v

} v � \ 8UWZY F { T Y F Y9: � �"k DF :sQ4� F^e Q acFJefk 8 acF Y9: e M F=� � e_T`L G � � � � � @ �� � � < F G e Q acFJee Qcn L 8�GVY9: FJefe_T`L G k 8 a QXM FJe v~x ORQ a # 8 Y L9F Q L9[bT`\ DF :_8 L9[bF4| � �&Fbe G,M9Q e WY�8 a Q � DF v

&5v=) FJe k 8 aXF Y9: e M Fbe 7�84:HGVQ [ Qc7�8 L G e&L9T4L M9Q e WZY98 a Q � DFJe,e_T`L G Y5G_Q a Q e DFbFJe 7 T Y5:&Q L G F :&%7 T`acF : acF esFJ[ : F G v

� ��������� ��,� �� " � � ��� � � � �$� � � � < � t � � # / } � z � @ � � ?�< ��� �

)^p��� ����� A T Y e M DFJIKT`L GV: T`L9e WY F^[]\ 84WY F^[ :_Q G iF : F MPO Y L , x�9 FJe G e 8UGVQ esS 84Q G t esF : DFbS DF : F :i8 a 8 e_Fb[ G_Q T`L�} v } z v

� � � � ��p�Z���`�

� ) Fr[ 8 ac[ Y a M F � ( � � esF S 8UQXG i8 a 8 � L M Fra O DF GV847 F �5|Pe Y9QXG FEi8 Y L9FrT`m9esF : k 8�GVQ T4LM Fbe M T`L9L DFbFJe 75Y m9a QXWY FJe v %�T Y e aXFJe { T Y F Y9: e \9T`L9L oF G Fbe T`m5e_F : k`F : T`L G a 8 I oFbI F[]\9T4e_F2F G [ 8 aX[ Y aXF : T`L GfM T`L9[la 8 I oFJIKF k 8 acF Y9: � ( �0v

� �(a�FJe G S 8 [ Q acF M F&[bT`L9e G]8UG F : WY F e Q � FJe G \9T`L9L oF G FU| { 8 I 84Q e Q a�L5F e QXn L9F :_8^Y L5Fk 8 aXF Y9: Q L9[bT`\ DF :_8 L G F F G 7�8U: [JT`L5e DF WY FbL9[JFlL9F&e_F&S�F :V8uM T4L9[ { 8 I 84Q e M9Q e WY�8 a Q %� F : v

Page 50: McGill School Of Computer Science

& C

� � ��� "���Z����� ��� � �"��

� x Q a ORQ L Q GVQc8UG F Y9: FJe G I 8 aX\9T`L9L oF G FU|UL9T Y e�L9F esT`I IKFJe 7�8 e M�8 L9e�a O T`m9a Qcn 8�GVQ T4L M F79: T G DF n F : a 8 [JT`L ��M FJL G_Q 8 a QXG DF M Ffe_T`L Q L0S�T : I 8UGVQ T`L vUx Q97984: [JT`L G_: Ffa ORQ L Q GVQc8UG F Y9:Fbe G \9T`L9L oF G FU| Q aPe Y G,M F : FJI 84:_WY F : WZY O Y L 84M k4F : e 84Qc: FlL Oy8U7979: FbL M�:sQ FbL M F7 a Y e 8UY [JT Y9:V8 L G M FJe DF G]847 FJe }�i8 � WZY F&[JF WZY5Q a Y9Q�8 DF G DF M9Q G i8 a O DF G]8U7 F # v�) F[ :_QXG iF : F M F [JT`L ��M FJL G_Q 8 a QXG DF FJe G 8 acT : e Y L9Ff[JT4L9[Ja Y e Q T`L M9Qc: FJ[ G F M Fbe 75: T 79:sQ DF G DFJeMPORY L 7 T4a # L oT`IKF m Q k 84:sQ DF M F M F n`: DF 8UYj7 a Y e � v

� � ���`����� �p�������p�����

� A T Y e IKT`L GV: T`L9e MPO 8 m�T :_M�WYPORY L9F k 8 aXF Y9:=�&� FrFJe GlM DF � L Q F 7�8U: a 8KM9Q e GV:_Q m Y %G_Q T`L M FJe { T Y F Y5: eu\5T`L9L oF G FJeb| 7 F Y Q I 7 T :HG F e Q a ORQ L QXGVQc8UG F Y9: Fbe G \5T`L9L oF G F T YL9T4L v C�DF � L Q e_esT`L9e � [JT`IKI F DF G]8 L G acF�e_Fb[ : F G WY9QfQ L G F :s7 T`aXF i8 G_:V8 k`F : e acFJe7�8U:sG e WY F 7 T`eseJiF M FJL G acFbe � � # 79: FbI Q F : e 7�8U:sGVQ [ QX7�8 L G e \9T`L5L oF G FJe v ) F Y9: e7�8U:sG e e_T`L G � � � � � @ �� � < t Q ace e_FEe_F : T`L G 7 a 84Q L G e 8UY5GV: FJIKFJL G z F G 8 k4FJ[ 79: T %m 8 m Q a QXG DF 84Y I T Q L9e # � � t.} � ) � , � z | Q ace 7 T`e_eJiF M FbL G 84Y e_e Q M FJeKe Qcn L 8UGVY5: FJek 8 a QcM Fbe 7 T Y5: [JFJe 7�84:HG eb| [JF WY9Q Q L M5QcWY F WY F�acFJe 7�8U:sG e : F 7 T`e_FbL G e Y9: Y LY L QcWY F 7 T`a # L oT4I F+* � t-, / � z G Fba WY F * � t �&/V� z � � t Y L9F [bT`L9e G]8 L G F �&� F WZY FJa %[bT`L WY F z v ( m9e_F : k4T`L9e�acF 7 T Q L G M F�k Y F MPO Y L 8UY5GV: F 7�84:HGVQ [ Qc798 L G \9T`L5L oF G FWY9Q L O FJe G27�8 e Q L5[Ja Y�M98 L9el[JF M F : L Q F : FbL9e_FbI m9acF v � F 7�84:sG_Q [ Qc7�8 L Gl8 k DF :_Q4� DFesFJe 7�84:HG e 8 k4FJ[ acFbe � � # 79: FJI Q F : e { T Y F Y9: e \9T`L9L oF G Fbe v C F 7 a Y eb| Q a 8 84Y e_e Qk DF :sQ4� DFNacFbeBe Qcn L 8UGVY5: FJe v() FJe 7�84:sG e M F,[bF 7984:sG_Q [ QX7�8 L G t WY9Q esT`L G � � � � � @ �� � < ze Oy8 { T Y5G FbL GuM T`L9[ 84Y:�w84Y5GV: FJe2F G a O FJL9esFJI m�F M FJe 7 T Q L G e : Fbe G F � � � � � @ �� � < |[bFJe 7 T Q L G e M DF � L Q ese_FbL G,M T`L5[2a 8 I oFbI F S�T`L5[ GVQ T`L * � t , / � z vg 8UQ L G FbL 8 L G |�e Q � Fbe G \9T`L9L oF G FU| Q aPFbe G DFbk QcM FJL GNM F k`T QX: WZY F � � &`v; L9F,k 8 aXF Y9:BM9Q � DF : FJL G F M F � L9F 7 F Y0G oF G_: F Q L G F :_7 T`a DFbF WZY F&acT : e WYPORY L { T Y F Y9:I 8 ac\5T`L9L oF G F 8 79Y�79: T M9Y5Qc: F Y L�FJL5e_FJIum9acF M F�� k 8 aXF Y9: eJ| � � � � � @ �� � | 8 k`Fb[Y L5F�e QXn L 8UG_Y9: F�k 8 a QXM F 7 T Y9: []\ 8 [ Y L9F M FE[JFbe k 8 acF Y9: e v �(aNFJe G [Ja 84Qc: WYPO 84YIKT Q L5e�� � # M FK[bFJele QXn L 8UG_Y9: Fbe 79: T�k Q FbL9L9FbL G2M F { T Y F Y9: e2\5T`L9L oF G FJe v A T Y e8 k`T4L9e IKT`L GV: DF WY F acFbe 7�8U:sG e M FJe { T Y F Y5: e \9T4L9L oF G FJe : F 7 T`e_FbL G e Y9: acF 7 T %a # L oT`I F * � t-, / � z | M T4L9[ e Q aXFJe 7�8U:sG e M5Y { T Y F Y9: I 8 aX\9T`L9L oF G F�esT`L G � �� ��� � � � @ �� � <

Page 51: McGill School Of Computer Science

$ �

t�acF { T Y F Y5: Fbe G�M5Q e WY�8 a Q4� DF M5Y9:V8 L G ��(� e Q [JF L O Fbe G�798 e"aXF [ 8 e z |U[bFJe 7 T Q L G e : F %7 T`e_FbL G e Y9: a 8 I oFJIKF,S�T4L9[ G_Q T`L v:) O 84M k`F : e 84Qc: F L9F 7 F Y5G M T`L9[ 7�8 e Q L � Y FbL9[JF :aXF e_FJ[ : F G&WY9Q esF :V8 : DF k DFJa DF v

Page 52: McGill School Of Computer Science

� � � � � � �� �

� ��� � ��� � �%�� � � � � � � ���

� � � � � � � � � � ��

C 8 L9ef[JF2[]\ 8475QXGV: F4|~L9T Y e 79: DFJesFJL G T`L5e acFbe 75: T G T0[bT`acFbe M F^[ 8 ac[ Y acefI Y a GVQX7�84:sG_QXG FJelt , � g�zQ L9[bT`L M9Q GVQ T`L9L9FbacacFbI FbL G e oY9: e v � F Y�� % [ Q9Y5G_Q a Q e_FbL G acFbe 79: T G TZ[JT`aXFJe M F , x 9 WZY FNL5T Y e 8 k`T`L5ek Y e 84Y []\ 8479QXG_: F 79: DFJ[ DF M FJL G | 84Q L9e Q4WZY F M Oy84Y0GV: Fbe�es[]\ DFJI 8 e WY FBL9T Y e 79: DFbe_FbL G F : T`L9e vUC 8 L9eY L , � g |,L9T Y e 8 k4T`L9e 7 a Y e Q F Y5: e Q L M5Q k QcM9Y e ���7/232323 �#"f| 8 #`8 L G []\ 8 [ Y L Y L9F M T`L9L DFbF79:_Q k DFJF�,���� % | # � � � � | WZY5Q k4F Y aXFJL G [ 8 ac[ Y acF : a 8 k 8 acF Y9:fMPORY L9F^S�T4L9[ G_Q T`L 79Y m5a QcWY F� 84Y�7 T Q L G t ,.�0/8323238/B,5" z v

AAlliiccee

BBoobbCCaarrlloott

DDaavviidd

XXoo��

x1

x2x3

x4

xN

FF

� �����+&0v # � � 8 ac[ Y a I Y a GVQc7984:sG_QXG F

' T4a M9: F Q []\ | g Q [ 8 a Q F G =hQcn`M F : esT`L T`L G 79: T Y k DF WY F 7 T Y9: : DF 8 a Q esF :BY L , � g | Q a~e Y G M F

$ #

Page 53: McGill School Of Computer Science

$ }

G T Y { T Y9: e�S 84Qc: F FJLresT :sG F WY F a 8 k 8 aXF Y9:�M F � t ,.�7/2383238/1,5" z esT QXG : DFbk DFJa DFJF 79Y m9a QXWZY FJIKFJL G F GWY F � e_T Q GfM T`L9L DFJF 7�84: Y Lj[ QX: [ Y9QXGf8U:_QXG \9I DF GVQXWY F t Q v F v Y Lj[ QX: [ Y5QXG [bT`I 7 T`e DF M F 7 T :HG FbeMPO 84M9M9Q GVQ T4L F GfM F I Y a G_Qc7 a Q [ 8UGVQ T`L z M F % " i8 % |9T iY % FJe GfY L�[JT :s7 e � L Q v , T Y9:f84:s:_Q k`F :i8 e 8UGVQ esS 84QX: FlacFbef[ :_Q G iF : FJe MPORY L , � g |�[]\ 84WY F { T Y F Y5:,M9Q e G_:_Q m Y Fle 8 M T`L9L DFbF 79:sQ k DFJF 84Y��84Y5G_: FJe 7984:sG_Q [ QX7�8 L G e i8 a O 84QcM F MPORY L , x 9 v , 84: a 8 e Y9QXG F4| aXFJe { T Y F Y9: e F � DFJ[ Y5G FbL GEM Fbe79: T G TZ[JT`aXFJe MPO 84M9M9Q GVQ T`LP| M FNI Y a G_Qc7 a Q [ 8�GVQ T4L 7�8U: Y L9FN[JT`L9e G]8 L G FNF G M FfI Y a G_Qc7 a Q [ 8UGVQ T`L M FM F Y:� e_Fb[ : F G e FJL Y5GVQ a Q e 8 L G aXFJe 7�8U:sG e WYPORQ aXe 7 T4e_eJiF M FJL G M F [JFbeBe_FJ[ : F G e v �(a5S 84Y0GBQ I 7 a 8 L G F :[JFb[ Q M F S 8��[JT4L i8 [JF WZY F acFJe 84Y5G_: FJe { T Y F Y5: e esT Q FbL G [JT`L k 84Q L5[ Y e WY F acFJe^[ 8 aX[ Y aXeuesT`L GF �58 [ G e e 8 L9e WYPORQ ace 79Y9Q e_esFJL Gl7 T Y9: 84Y0G]8 L Gl847579: FbL M9: F M F a ORQ L0S�T : I 8UGVQ T`L i8 79: T 7 T`e M Fbe7�84:HG e Y5GVQ a Q e DFJFbe [JT`IKI FBT 7 DF :V8 L M FJe�L Q i8N75: T 7 T`e M9Yu: DFJe Y a G]8�G v ) F : DFJe Y a GV8UG � L 8 a M9Y [ 8 aX[ Y aM Fla 8 S�T`L9[ GVQ T`L e_F : F GV: T Y k`F2e_T Y e Y L5FlS�T : IKF M9Q e GV:_Q m Y DFbF2F GN7 F Y5GNM T`L9[ oF G_: F : DF k DFba DF 7�84:acF 79: T G TZ[JT4acF � ( � ! � * ( " � *"M9Y , x�9 Y0GVQ a Q e DF v A T Y e 79: DFbe_FbL G T`L9e M T`L9[ Y L , � g \ # m :_QcM Fe ORQ L9e 79Qc:_8 L GlM F � � ' = � �D�.| � � � C � ���.| � � F 8 C �D� | � x5x&C �D� F G � � C C � C C � v�C 8 L9e [bF , � g |acFbe 75: T G T0[bT`acFbe MPOy8UM9M9QXG_Q T`L�F G,M F^I Y a GVQX7 a Q [ 8UG_Q T`L 7�84:fY L5F^[bT`L9e GV8 L G F^e_T`L G e Q I 7 aXFJe v#) F79: T G TZ[JT`aXF M F I Y a GVQc7 a Q [ 8UGVQ T`L�Fbe GrY L 7 F Y 7 a Y e^S Y5G DF F GuM FJI 8 L M F4|"FbL GV: F 84Y5G_: FJeb| Y L5F79: F Y k`F2i8&M9Q k Y a n 8UG_Q T`LlL Y acaXF v�A T Y e 79: DFJesFJL G T`L5e [JFJe 79: T G T0[bT`acFbeJ| Q aXe�e_T`L G"G T Y e�[JT`L9e GV:sY9QXG ei8 a O 84QcM F M9Y , x�9 M F � C C * � t e_Fb[ G_Q T`L^} v � z WY9Q esF esF :HG�M9Y^75: T G T0[bT`acF M F 9 � M F � C C * �t esFJ[ G_Q T`LE} v : z v

� ��� � ��� � � ���$�� � ���� � ��� ��� ��� ��� ����� !+� ��� � ��

� ���

� � � � � � ��"�

, T Y5:�G T Y5G FJejacFJe�T 7 DF :V8�GVQ T4L9e MPOy8UM9M9QXG_Q T`L | M F I Y a G_Qc7 a Q [ 8UGVQ T`L 7984:�Y L9F [JT`L9e G]8 L G F F GM FjI Y5GVQX7 a Q [ 8UG_Q T`L M F M F Y�� e_Fb[ : F G e WY FEL9T Y e 8 acaXT`L9e 79: DFJesFJL G F : | aXF : DFJe Y a GV8UG M T QXG esF: F GV: T Y k`F : e_T Y eua 8 S�T : I F MPORY Lwe_FJ[ : F G I Q e FJL 7984:sGV84n F M FKS 8 �[JT`L k DF :_Q �~8 m9aXF v , Y9Q e WZY FacF , x�9 Y5GVQ a Q e DF Fbe G [JFba Y9Q M F � C C * � | Y L : DFbe Y a G]8UG � M T QXGfM T`L5[2esF : F G_: T Y k4F :N7�84:HG]84n DF7�84:fM Fbe 7�8U:sG e � �0/8323230/ � "f|�T iY � � 84757�84:sG_Q FbL G,84Y { T Y F Y9: ��� WY9Q�7 T`eseJiF M FuaXFJefe_T Y e %(7984:sG e� � � /8323238/ � " �.| T iY � L 8 acFJIKFJL G � � � Fbe G284Y ese Q [bT`L9L Y 7�84: aXF { T Y F Y9: � �^F G ��� 7 T`e_eJiF M F Y L5F

Page 54: McGill School Of Computer Science

$ &

e QXn L 8UG_Y9: F % 9 � M F2[JF M F : L Q F :f7 T Y9: [JF GsG Flk 8 acF Y9: v�C FlI oFJIKF4| � ��[bT`L9L 8UQXG acFbe k 8 acF Y5: e � ���M F�� ��| 7 T Y9: # � ( � �wv

� ��� � � ������"��� � ���� ����� ��� ��� �

A T Y e k`T Y aXT`L9e [ 8 ac[ Y acF : $ � � M F e_T :HG F i8 [JF WY F aXF : DFbe Y a G]8UG e_T Q G Y L e_Fb[ : F G k DF :_Q �~8 m9aXF vC Q esT`L9e WY F $ FJe G I Q e_FlFbL 7�84:HG]84n F M F2S 8��[bT`L�k DF :_Q �~8 m9aXF 7984: acF 7 T4a # L oT`IKF * � t , / � z F GWY F �lFJe G I Q esF FbL 7�84:sGV84n F 7�84: acF 7 T`a # L oT`IKF *��4t-, / � z v , T Y9:"84:_:sQ k4F :�84Y : DFbe Y a G]8UG k`T Y a Y |[]\ 84WY F { T Y F Y9: ����[ 8 ac[ Y acFla 8 e_T4I IKF M Fu[]\ 8 [ Y L M F^e_FJe 7�84:sG e M F * � F G * � | $ � � � � � � |# � ( � � |�FbL 79:_Q k DF v �(a Fbe G [ba 84QX:uWY F $ � � � � � � FJe G Y L9F k 8 acF Y9: e Y5: acF 7 T`a # L oT4I F* � � � � � * � � * � WY9Q�8 [JT`IKI F G F : I Fl[bT`L9e GV8 L G $ � � v

��������������

* � t # / # z � * � t # / # z 32323 * � t # / ��z � * � t # / ��zvvv* � t � / ( z � * � t � / ( zvvv

* � t � / # z � * � t � / # z 32323 * � t � / ��z � * � t � / ��z

� �������������

� L9e Y9Q G FU| 7 T Y9: WY F $ � � e_T QXG Y L e_FJ[ : F G k DF :sQ4�~8 m9acFU| []\ 84WY F�� � M T QXG 7 T`e_e DF M F : Y L5Fe QXn L 8UG_Y9: F % 9 � 7 T Y9: acFJe"e_T Y e %(7�8U:sG e $ � � � �(� � /232323 / $ " � � � "�� v , Y9Q e WY F aXF � � M F � C C * �FJe G a Q L DF 84QX: F4| Q a5e Y G MPO 84M9M9Q GVQ T4L9F : acFJe M F Y�� e Qcn L 8�GVY9: FJe % 9 � M F []\ 8 [ Y L9F M Ff[JFbeBk 8 aXF Y9: e v� L MPO 84Y5GV: F IKT G eb|Ze Q aXFNk4FJ[ G F Y9: M F&k DF :_Q � [ 8�GVQ T4L M F $ � � Fbe G t $ � � / �

���/�����z F G WZY F [JFba Y9Q

M F�� � � Fbe G t�� � � / ����/�����z |���� M T`L5L9F :_8 t $ � � � � � � / �

���� �

���z 8UY�� { T Y F Y5: e2acT : e M F a 8

7 \ 8 esF � ( � ! � * ( " � * v ) FJe { T Y F Y9: e"k DF :_Q � F : T`L G FJL5e Y9Q G F e Q t $ � � � � � � / � � � � � � � � � /�� � � � � � � � � zFJe G m Q FJL #�� � � � � � @ �� � v, 84: [bT`L GV: F4| e Qf8UY a Q F Y M9Y 79: T G T0[bT`acF M F 9 � M F � C C * � L5T Y e Y5GVQ a Q e Q T4L9e 7 a Y5G�oT G acF79: T G TZ[JT`aXF M F 9 � M F �N8 m Q L F G � FbL % ( : |�acF { T Y F Y9: ��� WY9Q [ 8 aX[ Y aXF $ � � � � � � FJL 79:_Q k DFM Fbk :_84QXG : F % F � DFJ[ Y5G F : acF , x�9 M F � C C * � i8 7�84:HGVQc: M F�a O DF G]847 F & 7 T Y9: T4m G FbL Qc: acFJee QXn L 8UG_Y9: Fbe % 9 � M FJe esT Y e % 7�84:HG e M F�esFJe�L9T Y k4FJaXacFJe k 8 acF Y5: e v � FJ[ Q FJe G�M oYh8UY S 84QXG WZY FacFbe k`FJ[ G F Y9: e M Frk DF :_Q � [ 8UG_Q T`L M9Y 79: T G TZ[JT`aXF M F 9 � M F �,8 m Q L�F G � FbL % ( : L9F e_T4L G27�8 e

Page 55: McGill School Of Computer Science

$@$

a Q L DF 84QX: Fbe v� Y T QcWY FrL5T`LwL DFJ[JFbe_e 84Qc: F 7 T Y9: a 8 7 \ 8 e_F��(��| []\ 84WY F { T Y F Y9: ��� M T Q G284Y ese Q [ 8 aX[ Y aXF :acFbe,esT`I IKFJe $ ��� � � ����| # � ( � � | WY F acFbe 84Y0GV: Fbe { T Y F Y9: e 7�84:HG]84n FbL G 8 k`Fb[ a Y9Q v � FJ[ QL9T Y eBesF :V8lY5G_Q acF e Q L9T Y e Y5G_Q a Q e Q T`L9e 7 a Y e GV84:_M Y L 79: T G TZ[JT`aXF M FfI Y a GVQc7 a Q [ 8UGVQ T`L t F G 84Y e_e QL DFJ[bFJese 84QX: F2e Q L9T Y e Y0GVQ a Q esT`L9e Y L 9 � L9T`Lj\9T`IKT`IKT :_7 \9F z v

� ��� � ���� �"������ � � ��� � ����� ���� � ���� ��� � � �

A T Y e k`T Y acT`L9e [ 8 aX[ Y aXF : $ + $ M F&S 8��[bT`L I Y a GVQc7984:sG_QXG F T iY $ Fbe G Y L9F [JT4L9e GV8 L G F 79Y m5a QcWY FF G $ FJe G&Y L�e_Fb[ : F G I Q efFbL 7�84:HG]84n F t M FlS 8��[JT`Ljk DF :_Q �~8 m9aXF z 7�84: a 8 S�T`L5[ GVQ T`L * � M T4L G acFG F : IKFr[JT`L9e G]8 L G FJe G $�v�C F S 8��[bT`L e_FJIum9a 8 m5acF�i8 a O 84M9M9Q GVQ T`LP|�[]\ 84WY F { T Y F Y9: ��� [ 8 ac[ Y acFFJL 79:_Q k DF $ + $ � ��| # � ( � � | F G e_FNe_F :sG M FNa 8 79: T 79:sQ DF G DF M Ffa Q L DF 84:sQXG DF M FJe e QXn L 8UG_Y9: Fbe % 9 �M F � C C * � 7 T Y9: : FJL M5: FlacF esFJ[ : F G $ + $ k DF :_Q �~8 m9aXF v

��������������

$ + * � t # / # z 32323 $ + * � t # / ��zvvv$ + * � t � / ( zvvv

$ + * � t � / # z 32323 $ + * � t � / ��z

� �������������

x Q L5T Y e 8 k Q T`L9e Y0GVQ a Q e DF,aXF 9 � M F �N8 m Q L F G=� FbL % ( : | Y L : Fb[JFbk4F Y9: � � 84Y9:V8UQXG 75YjY0GVQ a Q esF :e_T`L k`FJ[ G F Y9:fM F,k DF :sQ4� [ 8UGVQ T`L t # /�� z 7 T Y5: k DF :sQ4� F : a 8 e Qcn L 8UGVY5: F % 9 � M F ��� 7 T Y9: a 8 k 8 aXF Y9:$ + $ � ��FJL�k DF :_Q �~8 L G e Q $ + $ � � � # � � � � � t�e_F : DF S DF : F : i8 a 8 e_Fb[ GVQ T`LE} v'A`z v� T`IKI F M�8 L9e�acF [ 8 e M F a O 84M9M5QXGVQ T`LP| []\ 84WY F { T Y F Y9: [ 8 ac[ Y acF 84Y ese Q aXFJe�k 8 acF Y5: e%$ + $ ��� | # �( � � | WY9Q e_T4L G L DFb[JFJese 84QX: Fbe"e Q L9T Y e�k4T Y acT4L9e Y5GVQ a Q esF : aXFJe 79: T G TZ[JT`aXFJe M F I Y a G_Qc7 a Q [ 8UGVQ T`L7�84: a 8 e Y9Q G F v

Page 56: McGill School Of Computer Science

$ A

� ��� � ���� �"������ � � ��� � ��� ������� � � � � � ���

A T Y e k4T Y acT4L9e [ 8 ac[ Y acF : $ + � T iY $ F G � esT`L G I Q esFJeBFJL 7�84:sGV84n Fri8 a Oy8UQcM F MPORY L 75: T G T0[bT`acF, x�9 v%A T Y e^L9F 7 T Y k`T`L5e 7�8 e G T Y0G e Q I 7 acFbI FbL G2M FbI 8 L M F : i8 []\ 8UWZY F 7�84:HGVQ [ Qc7�8 L G ���M Fl[ 8 aX[ Y aXF : acFbe 79: T M9Y9Q G e^t $ � � + � � � z M F^aXF Y9: e 7�84:sG e M F $ F G,M F � v � Y T QcWY F2[JFJe 7 T Q L G eM DF � L Q ese_FJL G m Q FJL=aXF 79: T M5Y9QXG M FJe 7 T`a # L oT`I Fbe M FJe 7 T Q L G e�t F G M T`L5[ Y L 7 T`a # L oT`IKF i8G F : IKF,[bT`L9e GV8 L G $ + � z |[JF 7 T`a # L oT4I F 7 T Y9:_:_84QXGNoF G_: F M F M F n`: DF }�� � � � # |Zk Q T`a 8 L G 84Q L9e QacF [ :_Q G iF : F M Fla ORQ L G F :_7 T`a 8�GVQ T4L M9Y , x�9 v~C F 7 a Y eJ|5acF 7 T`a # L oT4I F L O FJe GN7�8 e 8 a DF 8UG T Qc: F4|5T4LL O T`m GVQ FJL G { 8 I 84Q e Y L 7 T`a # L oT`IKF Qc:s: DF M5Y [ G_Q m9aXF 7�84: F � FJI 7 aXF v , T Y5:&84:s:_Q k`F :N84Yj: DFbe Y a G]8UGk`T Y a Y Q a�L9T Y e S 8UY9M9:V8 M F Y���75: T G T0[bT`acFbe v A T G T4L9e 7�84: � & � �

�Y L�e_Fb[ : F G & I Q e FJL 7�84:HG]84n F

M FES 8 �[JT`L k DF :_Q �~8 m9aXF 7�8U: Y L { T Y F Y5: �=F G � & � � Y L e_FJ[ : F G I Q e FbL 7�84:HG]84n F M FjS 8��[JT4Lk DF :_Q �~8 m9aXF 7�84: Y L { T Y F Y9:fWY FJaX[JT`L WY F v5) F 79: FJI Q F : 79: T G T0[bT`acF M T`L G L9T Y e 8 aXacT`L9e 8 k4T Qc:m�Fbe_T Q L 7 F : I F G i8 Y L { T Y F Y5: ��� M F 79: T Y k`F : | 7 T Y5: GV: T Q eKe_Fb[ : F G e � � � �

� �| � # � �

� �F G � �7� �

� �

WY F � � � # e 8 L9e M DFbk4T Q aXF :uM F a ORQ L5S�T : I 8UGVQ T`L�i8�79: T 7 T4e M F � | # T Y � v � Q L9e Q |�[]\ 84WY F7�84:HGVQ [ Qc7�8 L G I F G_G F :V8 FbL 7�84:HG]84n Fue_FJelesT Y e % 7�84:HG e $ � � |� � � F G $ � � + � � �.| # � ( � � | M FS 8��[JT4L k DF :_Q4��8 m9acF F G^M DFJIKT`L GV: F :V8 i8 a O 84QcM F M9Yw75: T G T0[bT`acF WY FKacFbe 75: T M9Y9QXG e e_T`L G m�T`L9e v) F M F Y��0Q iFJIKF 79: T G T0[bT`acF WZY FNL5T Y e Y5GVQ a Q e_F : T`L9e 7 F : IKF G_G_:V8l84Y�� { T Y F Y9: e M F G_:V8 L9eHS�T : IKF :acF Y9: e 7�84:HG e : DFbe Y a G]8 L G FJe M F esT :sG Fli8 [JF WY F $ + � e_T Q G e_T Y e�a 8 S�T : IKF M O Y L^e_Fb[ : F G k DF :_Q4��8 m9acFI Q e FJL 7�84:HG]84n F 7�84:fY L 7 T`a # L oT`IKF 8 a DF 8UG T Qc: F M F M F n`: DF 84Y�7 a Y e � v

* ��U�� �`�5�p����� ��� ��� 3�p� �!�����

A T Y e M DFb[ :_Q k`T`L5e Y L 79: T G TZ[JT`aXF 9 , % , x�9 Y5G_Q a Q e DF 7�8U:uY L Q L QXG_Q 8UG F Y9: � 7 T Y9:^79: T Y k`F :WY F GV: T Q e e_Fb[ : F G e � � � �� |.� # � �� F G � �7� �� e 8UG_Q eHS�T`L G � # � � v � F 79: T G TZ[JT`aXF 8 DF G DF Y0GVQ a Q e DF 7 T Y9:a 8�79: FJI Q iF : F S�T Q e M98 L9e acF�[ 8UM9: F M Fbe , x�9 M�8 L9e � x9x&C ���.| Q a 8 k 8UQXG M DF { 8w84757�84:_Y M�8 L5e� � � k M ' � ?��NF G � � � C�, C # � M�8 L9eKacF�[ 84M9: F MPO FJL n 8Un FJIKFJL G m 8 e DFje Y5: aXF 79: T`m9a.iFJIKF M9YacT n`84:_Q G \9IKF M9Q es[ : F G v �(a�e O 8 k�iF : F 84Q L9e Q�WZY FracF 79: T G TZ[JT4acFuFbe G m�T`L 7 T Y9: L ORQ I 7 T :sG F WY FJae_[]\ DFbI 8 MPO FJL n`84n FJIKFJL G \9T`IKT`IKT :_7 \ QcWY F t Q v F v WY9Q 7 F : I F G a O 84M9M9Q GVQ T4L M Fle_Fb[ : F G e z v

Page 57: McGill School Of Computer Science

$ :

)^p����� �`����� � 9 , % , x�9 �9 , % , x�9 t � / � / � � � �� / � # � �

�/�� � � �

�z �

# v, T Y9: ( � # /232323 � t � � # z |t 8 z � []\5T Q e QXG # � � % F G [ 8 ac[ Y acF � � � � + # � vt�m z � esFl[JT`IKI F G i8 # � F G � � FJLj[ 8 aX[ Y a 8 L G

� � # � � ��

� � � " t � / # � z v

� � � � � ��

� � � " t � / � � z vt�[ z ) F 7984:sG_Q [ QX7�8 L G � � ����� "=[]\5T Q e QXG � � * (��! � ��/ #�� �

� x Q � � * ( � � �� ) FJe 7�8U:sGVQ [ QX7�8 L G e�T Y k : FJL G � # � � �� t Q ace�F � DFJ[ Y5G FbL G a 8 7 \ 8 e_F ��(� M9Y, x�9lz v

� �(ace [ 8 aX[ Y aXFJL G [bT`acaXFJ[ G_Q k4FJIKFJL G � � # � � � � � ��

� # � + � � � ��� � � � � �

�t Y L

[ 8 ac[ Y aPa Q L DF 84QX: F z v

� �(ace&T Y k : FbL G � � # � � � � � �� F G k DF :_Q � FJL GlWY F a 8 k 8 aXF Y9: [JT :s: FJe 7 T4L Mm Q FJL i8 � v

� x Q � � * ( � # �� ) FJe 7�84:sG_Q [ Qc7�8 L G e�[ 8 ac[ Y acFbL G [bT`acaXFJ[ G_Q k4FJIKFJL G F G T Y k : FJL G � # � # � � �

�v

� �(ace"[ 8 aX[ Y aXFJL G � � t # � # � z � t � � � � z � ��

� t # � # � z + � � � ��� � � � � �

�� � � � �

t [ 8 ac[ Y aPa Q L DF 84Qc: F z v

� �(ace T Y k : FJL G a O FJL n`84n FJIKFJL G F G k DF :_Q4� FJL G e Q a 8 k 8 aXF Y9: DF n 8 acF � vt M zjx QPY L9Flk DF :sQ4� [ 8UGVQ T`L DFJ[]\9T Y F4| G F : I Q L9F : acF 79: T G TZ[JT4acF 8 k`Fb[ Y L ����������9v

} v,x Q�8UY [ Y L DFJ[]\5FJ[4| G F : I Q L9F : acF 75: T G T0[bT`acF 8 k`Fb[ ����� ����Z�4v

Page 58: McGill School Of Computer Science

$ ?

� ��������� � � � " � � � @�� � � � � ��� � ��� � < � ? ��� � @ � ? � � � � � � ? � � � � � � � ? ����� � ?��� � @ � ��� � ? ��� @ � � � � ��� �5� � � � � � � � � @ � @ � ? � � � � # � � @ � �-@ � � � � � �

�� � # � �

������ �7� �

��

< �� < � � � � � ��� @ � ����� � ��� ��@ � � � � � ��� @�� � ��< � � � � # ��? � � � � � @ � � � � � ����� < � � ��?�� ��?�@9<��� ��� ? � ���� ��� <0? ��� �� < � ��@ < � ? � � � � � ��� � ��� # ��� ���� ��? � �� ��� � @�� � � � � � � �� ? � � � � <# � } � ) <�� � �� � # �)^p��� ����� �� � ��� -~�5�p����� �+��� � � �%A T Y e L5F M T`L9T`L5e WZY O Y L5FKFbe WY9Q e_e_F M F 79: F Y k4F WZY FacFbe 7�84:HGVQ [ Qc7�8 L G e L O 847979: FJL9L5FJL G&798 e 7 a Y e MPO Q L5S�T : I 8UG_Q T`L i8r79: T 7 T`e M F � | # F G � WY Fl[bFWYPO Q a 7 T Y9:_:_84QXG M DF M9Y9QX: FKFJL [JT`L5L 84Q ese 8 L G^WY F aXF : DFbe Y a G]8UG2M FKa 8 79: F Y k4F i8�M9Q k Y a n 8UG_Q T`LL Y acaXF v(A T Y e e Y9797 T`e_T4L9e m Q FJLKe oY9:BWY F&L5T Y e L9F 7 T Y k4T`L9e 7�8 e M DF M9Y5Qc: F M FNa ORQ L5S�T : I 8UGVQ T`LM F ,�i8 7�84:HGVQc:"MPO Y LKFbL n 84n FJIKFJL G � ,�� � v A T G T`L5e WZY O i8 []\ 84WY F Q G DF :_8UGVQ T`LP|�e_T Q G � # � � � � esT QXG� t # � # � z � t � � � � z t I 84Q e { 8 I 84Q e�acFbe M F Y�� k 8 aXF Y9: e"FJLrI oFJIKF G FJI 7 e z FJe G M DFbk4T Q a DFJF v`C 8 L9eacFbe M F Y�� [ 8 eJ|�e Q # � F G � � e_T4L G []\9T Q e Q e M FuS 8��[bT`L Y L Q S�T : I DFJIKFJL G 8 a DF 8UG T QX: FU|�T`L�L9F 7 F Y0G:_Q FJL 847979: FJL M5: F i8 79: T 7 T`e M F � | # F G �li827�8U:sG acF S 8UQXG WY F � FJe G DF WY9Q k 8 aXFJL G i8 � # T Y L9T`L vC 8 L9e aXFJe M F Y�� [ 8 eb|PacFbe&k 8 acF Y9: e esT`L G M9Q e_e Q I Y a DFJFJe 7�84: Y L5F S�T`L9[ G_Q T`L 8 KL9F 8 a DF 8UG T Qc: F vA T G T`L9e WY F,e Q aXFJe M F Y�� k 8 acF Y5: e DF G]8UQ FJL G M DFbk4T Q a DFJFbeJ| Q a�esF :V8UQXGBGV:sQ k Q 8 a M F&[ 8 ac[ Y acF : � # � �p|[JF WY9Q M T`L5L9F :_84QXG M F2a O Q L5S�T : I 8UG_Q T`LKe Y5797 a DFbI FbL G]84QX: F M�8 L5eNaXF [ 8 efT Y � # �� � v � LjF � F G |L9T Y e 7 T Y k4T`L9e M DF k`T Q acF : acFuS 84Q G WY F � #�� � �� � t e Q [ O FJe G aXF [ 8 eJ|P[ O Fbe G [JF WYPO T`L k`F Y0G79: T Y k`F : z I 8UQ e Q aPL9F S 84Y5Gf7�8 e M DFbk`T Q acF : a 8rM9Q � DF : FJL5[JFlF �58 [ G F �� � �4����� ����� � �(a�FJe G [Ja 8UQc: WZY F e Q � � � # |0a 8 k DF :_Q4� [ 8UG_Q T`L i8 a O DF G]8U7 F t [ z e_F :_8uG T Y { T Y9: ek :V84Q F F G acF 79: T G TZ[JT4acF G F : I Q L5F :V8r8 k4FJ[2e Y [b[4iFJe vx Q 7�8U: [JT`L GV: F � �� � # | Q a #=8 M F Y�� [ 8 e v�) F 79: FJI Q F : | e Q � 8 k 84Q G FJL*F � F G []\9T Q e Q� � � � # � |PaXFJe 7�8U:sGVQ [ QX7�8 L G e G_: T Y k`F : T`L G2WZY F� � � � �� � # � � # � F GlM T4L9[ e Q � � * ( � # acF79: T G TZ[JT`aXF DFJ[]\5T Y F v ) F M F Y��0Q iFbI FU|�e Q � �� � # I 84Q e WY F � � �� � # � |"a 8 k DF :_Q � [ 8UG_Q T`L M9Y[ 8 e � � * ( � � DFb[]\9T Y F G_:_Q k Qc8 acFbI FbL G v C T4L9[�i8 []\ 84WY F QXG DF :V8�GVQ T4LP|�e Q � � * ( FJe G []\9T Q e Q F M FS 8��[JT4L Y L Q S�T : I DFJIKFJL G^8 a DF 8UG T Qc: FKF G WY F � �� � # | Q a #w8�Y L9F 79: T`m 8 m Q a Q G DF M F �! WY F a 8k DF :_Q � [ 8�GVQ T4L DFb[]\9T Y F :V8 v � 75: iFJe t � � # z � QXG DF :_8UGVQ T`L9eJ| Q a # 8 F Yw84Y I T Q L9e � G_Qc:_84n FJe M F� � * ( & WY9Q T`L G DF G DF2S 84Q G e M FlS 8��[bT`L Y L Q S�T : I DFbI FbL GN8 a DF 8UG T QX: F t M�8 L9e Y L n`: T Y57 F M F � � #7�84:HGVQ [ Qc7�8 L G e Q a # FJL 8 8UY I T Q L9e # WY9Q FJe G \9T`L5L oF G F z F G M T`L5[ue Q � �� � # aXF 75: T G T0[bT`acFDFJ[]\9T Y F 8 k4FJ[ 79: T`m 8 m Q a QXG DF # � # � } ) v �

Page 59: McGill School Of Computer Science

$ �

� ��Z���!�4�p�������!� ��� -~������� 3 ������� ��8�w�

� ��������� � � � , � � � �5��t , / � z ? � � � � � � >� � � � � � @ � � � � � � � @ �N}�� � ?�� �� ��?:@ ��� @ � �� � � < � �� ����t �&/V� z � � � � ? � � ��< � � < � ? � ���� ? � � ��� ?�@ ��t ( / � z � #�� � / ( � � � < � � � < �� � � @ � � � � @ ��� � ��? � ?�@ ��� ����� ��� � � � ? � ��� � � �� � �-@ �Nt � � # / }�� z � @�� � ?(< ��� � ������� � < ��� � ��@9< ? � � @ � � � � � ���^t � � # / } � z � @ � � ?�< ��� � ��?�@ � ��� � @ � � � � @ � � � ��� < ��� @ ��� � � ��t �&/]� z? � � � � < �� � ? � � � � � � >� � � � � � @ � � � � � � �-@ � � � � � � @ ��� �

)^p��� ����� A T Y efI T`L G_: T`L9e [bT`IKI FbL G [bT`L9e GV:_Y5Qc: Fl[bF 75: T G T0[bT`acF v) O QXM DFJF,FJe G WZY F acFbe 7�84:HGVQ [ Qc798 L G e n DFJL DF : F : T`L G Y L 7 T`a # L oT4I F 8 a DF 8UG T Qc: F M F M F n`: DFl}�� 8 k`Fb[G F : IKF�[JT`L5e G]8 L G � M T`L G acFbe 7 T Q L G e esF : T`L G�M9Q e GV:_Q m Y DFbe 7�84: I Q e acFbe 7�84:HGVQ [ Qc798 L G e v �(ace84M9M9Q GVQ T`L9L9F : T`L G FJL9e Y9QXG F�[JT4acacFb[ G_Q k`FbI FbL G [bF 7 T`a # L oT`IKF 84Y�7 T`a # L oT4I F M9Q ese Q I Y a 8 L G �F G FbL9e Y9Q G F G_: T`L WY F : T`L GK7 T Y9: T`m G FJL Qc:rY L 7 T`a # L oT`IKF M F M F n`: DF 84Y 7 a Y e � t WY9Q e_F :_88 a DF 8UG T Qc: F z v %�T Y5G [JFJ[ Q [bF S 84QXG FbLrL O F � Fb[ G_Y�8 L G WY F M Fbe�T 7 DF :V8UG_Q T`L5e"a Q L DF 8UQc: Fbe v � F M F : L Q F :7 T4a # L oT`IKF e_F :V8 [JFba Y9Q WY9Q IKF GsG F :_8 FJL 7�84:sGV84n F a 8 k 8 aXF Y9: � M F S 8��[JT`L�k DF :sQ4�~8 m5acF v� ��Z� ��Zp�5��� ��� � � ����3 ���6� � ���� � ���`���5�������� � , T Y9:Kn DFJL DF : F : Y L 7 T4a # L oT`IKF m Q k 84:sQ DF8 a DF 8UG T Qc: F � t-, / � z M F M F n`: DF 84Y^7 a Y e�}���FJL2[]\ 8 [ Y L9F M F [bFJe�k 84:_Qc8 m9acFbeJ| G FJa WY F � t �&/]� z � �5|[]\ 84WY F { T Y F Y9: ��� M9Q e GV:_Q m Y F � ! 7 T`a # L oT`IKFJelm Q k 84:sQ DFbe � � ! ) ! )�� t , / � z 8 a DF 8UG T Qc: FJeKt Q L9[ba Y�8 L GacF G F : IKF [JT4L9e GV8 L G z | � / � � � # /238323 / � | M F M F n`: DF 84YE7 a Y e�� FJLj[]\ 84WY Flk 8U:_Q 8 m9acF vA T Y e M DF � L Q e_esT`L9e

* �(t , / � z ���) ���

��) � ��� , ) � ) �

+� � ! ) ! ) �

F G a 84Q ese_T`L9e []\ 84WY F { T Y F Y5: DFbk 8 a Y F : aXF Y9: e 7 T Q L G e e Y5: * �$t-, / � z i8r7�84:sG_Qc: M F acF Y5: e 7 T Q L G eM F � � ! ) ! ) � t-, / � z v�(afFJe G [Ja 8UQc: WY F�aXFJe k4FJ[ G F Y5: e M Fbe [JTZF K[ Q FJL G e M FJe I T`L oT`I Fbe M F * �(t , / � z e_T`L G Y L Q %S�T : I DFJIKFJL GjM9Q e GV:sQ m Y DFJe�F G�Q L M DF 7 FJL M�8 L G e M F a O Q L5S�T : I 8UG_Q T`L M FwL ORQ I 7 T :HG F WY FJa^FJL %e_FbI m9acF M Oy84Yj7 a Y e�� { T Y F Y9: e v �(aPFJe G 8UY e_e Q [Ja 8UQc: WY F * �(t �&/]� z � � v� L9e Y9Q G FU|�acFJe { T Y F Y9: e,[ 8 ac[ Y acFbL G [JT`aXacFJ[ GVQ k`FJIKFJL G

� t-, / � z �"������ * �Ht-, / � z

Page 60: McGill School Of Computer Science

$ C

i8 a O 84QcM F M9YE75: T G T0[bT`acF M Oy84M5M9QXG_Q T`L I Y a GVQX7�84:HGVQXG F,k Y i8 a 8 e_FJ[ GVQ T`L &0v } vA T G T`L9e Q [ Q4WYPORQ aUe_F :V84Q G�Q I 7 T`ese Q m9acF M F [JT4L9e G_:_Y9QX: F [JT4acacFb[ G_Q k`FbI FbL G Y L 7 T4a # L oT`IKF 8 a DF 8UG T Qc: FM F M F n`: DF 84Yl7 a Y e � M T`L G acF G F : I F�[bT`L9e G]8 L G FJe G �fF G�M T`L G acFbePIKT`L oT`IKFJePesT`L G�Q L M DF 7 FJL M�8 L G eM F a O Q L5S�T : I 8UG_Q T`L WY F 7 T4e_eJiF M F 84Yw7 a Y e � { T Y F Y9: e v , T Y9: [bT`L9e G]8UG F : [bFJ[ Q | Q aBe Y G M F: FbI 84:sWY F : WY F G T Y e acFJe 7�8U:sGVQ [ QX7�8 L G eBe 8 k4FJL G M DF { 8^WY F � t ��/]� z � �0|Z[bF WY9Q acF Y9:BM T`L9L5Fi8 []\ 8 [ Y L Y L 7 T Q L G e Y9: a 8 S�T4L9[ G_Q T`L M F 7 a Y e v �(a�e Y :_84QXG M T`L9[ WY F � 7�84:HGVQ [ Qc7�8 L G e&esF: F n`: T Y57 FbL G^7 T Y9:l7 T Y k`T QX:lQ L G F :_7 T`acF : acF 7 T4a # L oT`IKF�i8E7�8U:sGVQX: M FJe � � # 7 T Q L G e WYPORQ ace[JT`L5L 84Q ese_FbL G vg 84Q L G FJL 8 L G | Y L5F S�T Q e WZY F acFJe 7�84:sG_Q [ Qc7�8 L G e T`L Grn DFbL DF : DF acFJe 7�84:sG euk DF :sQ4�~8 m5acFJe t 84Q L9e QWY F acFJe e Qcn L 8UGVY9: FJe % 9 � : F WY9Q esFJe z M9Y*7 T4a # L oT`IKF 8 a DF 8UG T Qc: F � t , / � z | acFJe 7�8U:sGVQ [ QX7�8 L G e[ 8 aX[ Y aXF : T`L G [JT`aXacFJ[ GVQ k`FJIKFJL G a 8 e_T`IKI F

��t , / � z � � t-, / � z 3

A T G T`L9e [bF GsG F e_T4I IKF 5t , / � z � � ��t , / � z � � t-, / � z v �(a�FJe G [Ja 8UQc: WY F aXF G F : IKF [JT4L9e GV8 L GM F �FJe G � F G WY Fje_Fbe IKT`L oT`IKFJe esT`L G Y L Q S�T : I DFbI FbL GK8 a DF 8UG T QX: Fbe v �(afe Y G M T`L5[ M FGV: T`L WY F : [bF 7 T`a # L oT`I F v p��� � ���2� � 3 ���6� � ���� � � , T Y9: [JF S 8UQc: FU|4L9T Y e 8 k`T`L9e MPO 8 m�T :_M m�FJesT Q L M Ffa 8 S�T : I Y acFMPORQ L G F :_7 T`a 8UG_Q T`L M F ) 8Un`:V8 L n F 7 T Y9: acFbe 7 T`a # L oT`I Fbe m Q k 84:sQ DFbe WY9Q FJe G&M T4L9L DFJF 7�8U:

9t-, / � z �"������

"����%� ��t � / ( z�� ���4t-, z

T�iY� ���Ut , z �+� � #� � , � &� � & � � #�%� � � �( � � 3

A T Y e k DF :_Q � T`L9e [JF GsG F S�T : I Y aXF,FbL : FJI 7 a 8��[ 8 L G , 7984: � F G �K7�84: # |0[JF WY9QP8 L9L Y acF G T Y eacFbe G F : IKFJe M F a 8 e_T`IKI F,e 84Y S 7 T Y9: � � � / ( � # | WZY5Q k 84Y5G 9t � / #bz v � L e 8 []\ 8 L GfWY F acF7 T4a # L oT`IKF FJe GNY L QcWY FU|�L9T Y e 8 k`T`L5eNm Q FJL Y L9FlF �575: FJese Q T`L 7 T Y9: [bF 7 T`a # L oT`I F vA T Y e 8 acacT4L9e L9T G F : raXF 7 T`a # L oT`IKF GV: T`L WY DF 5t , / � z � ! $ , � � � � ! $ � � � � vA T Y e 7 T Y k4T`L9e DFJ[ :_Qc: F [JT4I IKF Y L9Fl[JT4I m Q L 84Q esT`L a Q L DF 84QX: F

5t , / � z �"������

"�� ��� ��t � / ( z � ���4t-, / � z 3

Page 61: McGill School Of Computer Science

A �

A T G T`L9e WY F acF 7 T4a # L oT`IKF � ���4t-, / � z t F G�84Q L9e Q � ���Ut , / � z_z Fbe G [JT`L5L Y 79Y m9a QcWY FbI FbL G79Y9Q e WYPORQ a"L5F M DF 7 FJL M WY F M FJe 7 T Q L G e �&� FJe MPORQ L G F :_7 T`a 8UG_Q T`L t WY F L9T Y e 8 k4T`L9el[]\9T Q e Q e[JT`IKIKF DF G]8 L G t # / # z /pt # / } z /832323bt � � # / ��z /�t � / ��z vC T`L9[U| 7 T Y9: S�T Y9: L Qc: i8 []\ 84WY F { T Y F Y9: � acFJe k 8 aXF Y9: e 9t � / # z /2323230/ 5t � / ��z 84Q L9e Q WY F0t # / � z /2383238/ 0t � / � z F G aXFJeue Qcn L 8UGVY9: FJe % 9 � 847579: T 75:_Q DFbFJeb| Q a e Y G WY F aXFJe 7�8U:sGVQ [ QX7�8 L G e[ 8 aX[ Y aXFJL G [JT4acacFb[ G_Q k`FbI FbL G 9t-, / � z v � Fb[ Q L O FJe GuWYPORY L [ 8 aX[ Y a�a Q L DF 84Qc: Fue Y9: acFJe 7�8U:sG e M F9t-, / � z t M DF { i8 I Q e_Fbe FJL 7984:sGV84n F z F G e_F S 8UQXG,M T`L9[ S 8 [ Q aXFJIKFJL G i8 a Oy84QXM F M FJe 79: T G TZ[JT4acFJeM Fla 8 esFJ[ G_Q T`L &5v } F G &5v<&5v �

) �9����.-~�����Z�K�J����� � 3��9��p�

; L9F M F : L Q iF : F�[]\5T`e_F WY9Q L9T Y e I 8 L WZY F�FJe G Y L9FES 8��[JT`L M F 7 F : IKF GsGV: F i8 Y L { T Y F Y9:M F I F G_GV: F FJL 7984:sGV84n F [JFbe�e_T Y e % 7�84:sG e $ � �7/8323230/ $ � " M F e_T :HG F i8 [JF WY F aXFJe 84Y5G_: Fbe7�84:HGVQ [ Qc7�8 L G ele_T Q FJL G 8 e_e Y5: DFJe WYPOy8UY I T Q L9e�� � # M F [bFJe^e_T Y e %(7�8U:sG e 84Q FbL G k :_84Q FbI FbL GDF G DF�I Q e_Fbe FJL 7�8U:sG]8Un F t F G 7�8 e MPOy8UY5GV: FJe k 8 acF Y9: e Q L9[bT`\ DF : FJL G Fbe z v �(I 8Un`Q L9T4L9e WY F ���7�84:HG]84n F M Fbe2k 8 aXF Y9: e � F G # WZY O Q a []\9T Q e QXG i8 e_T`L 84Q esF4| acFrS 84Q GlM F 79: T Y k`F :^WYPO FbL F � F G�+ # � � L9FlL9T Y e 8 k 8 L9[bF^FbL :sQ FJL v

�,8U797 FbacT`L5e % L5T Y e WY Fu[]\ 84WY F k 8 acF Y9: $ � � M F ��� FJe Gl84Y ese Q [JT`L9L Y F 7984: aXF { T Y F Y9: � �lF GWY F���� 7 T`eseJiF M F Y L5FKe Qcn L 8UGVY9: F % 9 � M FK[bF M F : L Q F : 7 T Y9: [bF G_G FKk 8 aXF Y9: v A T Y e Y5GVQ a Q esT`L9e[JF S 84Q G 7 T Y9: [JT`L5e GV:sY9Qc: Fla O 8 a n T :_QXG \9IKF WY9Q e Y9QXG��)2p����� �`��� � � , x�9 % e_T Y e %(7�8U:sG e �, x�9 % e_T Y e % 7�84:sG e�t � | , x�9 % � C C * � t e z_z �

# v � \ 8UWZY F 7�84:HGVQ [ Qc7�8 L G ��� 7�84:HG]84n F i8 a O 84QcM F M9Y , x 9 M F � C C * � []\ 8 [ Y LM F�esFJeKe_T Y e %(7�8U:sG e & � � /238323 & " � v A T G T`L9e acF : DFJe Y a GV8UG 7�84: acFberFJL n`84n FJIKFJL G e� & � � � �

� �/238323�� & " � � �

� �

v� \ 8UWZY F 7984:sG_Q [ QX7�8 L G ��� 7984:sGV84n F 84Y e_e Q esFJe k 8 acF Y9: e M F�k DF :_Q � [ 8�GVQ T4L & �4�0/232323 / & � " v

} v, T Y9: []\ 84WY F 7�84:HGVQ [ Qc7�8 L G � � | , T Y9: []\ 84WY F 7�84:sG_Q [ Qc7�8 L G �%�p|� � 8 ac[ Y acF : [JT`aXacFb[ GVQ k`FbI FbL G � & � �4� �

� �

� � & � � � ��� 3

� C�DFbk`T Q acF : acF : DFJe Y a GV8UG F G k DF :sQ4� F :NWYPORQ a FJe G m Q FJLj� v

Page 62: McGill School Of Computer Science

A #

� x Q aXF : DFbe Y a G]8UG L O Fbe GN7�8 ef�5|���� M T Q G M DF k`T Q acF : e 8 k 8 acF Y9: & ���� 84Q L9e Q WY Fla 8e Qcn L 8UGVY5: F % 9 � M F�� � WYPORQ a 7 T`eseJiF M F 7 T Y9: [JF G_G Flk 8 aXF Y9: v) Fbe 7�84:HGVQ [ Qc7�8 L G e M DF k`T Q acFJL G FbL9e Y5QXG F a 8 k 8 acF Y9: M F � & ���7� �

� �

v�x Q & ���� �� & ���F G WZY F a 8 e QXn L 8UG_Y9: F % 9 � M F � � 7 T Y9: & ���� FJe G Q L k 8 a QXM F2t T Y WY F ��� M DFb[ QcM FM FlL9F 7�8 ef[JT`aXa 8 m�T : F : z ����FJe G,M5Q e WY�8 a Q4� DF v

� ��������� � � � � �� � � � ? � @�� � � � � ��� � � " � & !�$'&�� � � � � & � ���� ? � � @ � � � � ��� � ?�@ � � < � � � @ � � � ? � � � � < � � # � ��� ?�@9< � ��@7@ � < � � � � �� � � @ � � � � � � � ��� ?�@9<�< ��?�< � @ � < � � & � < �� < � � � � � ��� @�� � � ��� ��@ � � � � � � � @�� � ��< � � & � ��� � � � @9< �-@ � �

)^p��� ������ � �4����� ����� �(a9Fbe G [Ja 84Qc:"WZY FNe Q9Y L { T Y F Y9: ����FJese 84Q F M Ffe O FJL n 8Un F : i8 Y L9F k 8 acF Y9: & � � WY9QFJe G M9Q � DF : FJL G F M F^e 8 7984:sG,: DFbFJacaXF t & � � z WYPORQ a 7�84:HG]84n F 8 k`Fb[ Y L { T Y F Y9: \9T`L9L oF G F � �2| � �e_F 7 a 84Q L M9:V8 i8 a O DF G]847 F M F k DF :sQ4� [ 8UGVQ T`L v.) Fbe 7984:sG_Q [ QX7�8 L G e M DFbk4T Q aXF : T4L G28 acT : e a 8 k 8 aXF Y9:& � �~F G ��� 79Y m5a Q F :V8 Y L9FNe QXn L 8UG_Y9: F % 9 � t k`FJL 8 L G e Y5797 T4e DFJIKFJL G M F � � z WY9Q L O FJe G 798 e 7 T Y9:[JF G_G F k 8 aXF Y9: v; L9F e Qcn L 8UGVY9: F % 9 � M F � �NL9F 7 F Y5Gf7�8 e oF GV: F,S 8 m :_QXWY DFJF 7�8U: ��� t e Q � �NFJe G \9T4L9L oF G F z 8 k`Fb[79: T4m 8 m Q a QXG DF M FKe Y [J[4iFbe 7 a Y e n`:V8 L M F WZY F � t.} � ) � ,�� z v�C T`L5[Ke Q � �uFJe G \5T`L9L oF G F4| 8 k`Fb[79: T4m 8 m Q a QXG DF ' # � � t.} � ) � ,�� z ����e_F S�F :_8 M5Q e WY�8 a Q4� F : v, Y9Q e WZY O Q a # 8w8UY IKT Q L9e � � # { T Y F Y5: eK\9T`L9L oF G FbeJ| ��� M Fbk :_8 IKF G_G_: F�FJL 7�84:HG]84n F 8UYI T Q L9e�� � # k DF :sQXG]8 m9acFbe e_T Y e %(7�8U:sG e 7 T Y9: L9F 7�8 efesFlS 8UQc: F M9Q e WZY98 a Q � F : v� ��� "���Z���p����� ������ �#A T G T4L9eBe Q I 7 aXFJIKFJL GBWY F,e Q~Y L9F 7�84:sG & � �~Fbe G M DFbk4T Q a DFJFU|ZesT QXG � � esT QXG� �,Fbe G I 8 ac\5T`L9L oF G F t Y L M FJe M F Y�� e O Fbe G FJL n`84n DF i8 Y L9F I 84Y k 84Q e_F&k 8 aXF Y9: v ) O 84M k`F : e 84Qc: FL O 847979: FJL MKM T`L9[ 8UY [ Y L5F Q L5S�T : I 8UG_Q T`L^e Y9797 a DFJIKFJL GV84Qc: F 79Y9Q e WY Ffe_F Y acFfa 8 k 8 aXF Y9: & � �~FJe GM DFbk4T Q a DFJF F G,WY F2[JFbacaXF % [ Q DF GV84QXG M DF { i8 [JT`L5L Y F 7984: a O 84M k`F : e 84Qc: F v �

Page 63: McGill School Of Computer Science

A }

)^p����� �`�����j��� � ������� 3�� � �`�5�p�����

A T Y e 7 T Y k4T`L9e � L 8 acFJIKFJL GNM DFb[ :_QX: F aXF 79: T G T0[bT`acF M F2I Y a G_Qc7 a Q [ 8�GVQ T4L v

)^p����� �`����� � g ; ) % �C Q e GV: t � / � $ � � /�� ��� � z �

� � \ 8UWZY F { T Y F Y9: ��� 7984:sGV84n Fle_Fbe&e_T Y e % 7�84:sG e $ � � /832323 $ "�� M F $ 8UQ L9e Q�WY F^e_FbeesT Y e % 7�84:HG e �(� � /232323 � "�� M F � i8 a O 84QcM F M5Yj75: T G T0[bT`acF , x�9 % e_T Y e % 7�84:sG e v

� � \ 8UWZY F { T Y F Y9: � �~[ 8 aX[ Y aXF � � � � $ � � + � � � | # � ( � � |`FbL 75:_Q k DF F GB7�84:HG]84n FesFJefk 8 acF Y5: eui8 a O 84QcM F M9Y , x�9 M F � C C * � v

� � \ 8UWZY F { T Y F Y9: ��� 79: T Y k`FEi8 a O 84QcM F M9Y�79: T G T0[bT`acF 9�, % , x 9 WY FuaXFJe&FbL n 8 %n FbI FbL G e � � � � � �

� �| # � ( � � e 8UGVQ esS�T`L G m Q FJL � � � � $ � � + � � � v

� � � DFJ[ Y5G F : acF 75: T G T0[bT`acF M5YjG \ DFJT : iFJIKF M Fla 8 e_Fb[ G_Q T`L &5v $9v } v

) F�e_F Y a 75: T`m9a.iFJIKF WY9Q,7 T Y9:_:_84QXG e Y9: k`FbL Qc: Fbe G i8 a O DF GV847 F # | T�iY�Y L { T Y F Y9: 7 T Y9:_:_84QXGM DFJ[ QcM F : M FEL9F 798 e IKF GsGV: FjFJL 7�84:sGV84n Fje_Fbe e_T Y e %(7984:sG e v x Q [bFJa 8 84:s:_Q k4F4| acFbe { T Y F Y9: eT Y k : FbL G [JT`aXacFb[ GVQ k`FbI FbL G acFbe�e_T Y e %(7984:sG e M9Y { T Y F Y9: I 8 ac\5T`L9L oF G F F G aXF 79: T G TZ[JT`aXF : FJ[JT4I %I FbL9[JF i8 a O DF GV847 F M9Yj7�84:sGV84n F M Fbefe_T Y e %(7�8U:sG e v � FJa 8 75: T`aXT`L n F :V8 acF G FJI 7 e MPO F � DFJ[ Y5GVQ T`LM9Yj79: T G T0[bT`acF 7�84:f84Yj7 a Y e Y LjS 8 [ G F Y9:fM F �wv� FbI 8U:_WY T`L9e WY F aXF 79: T G TZ[JT4acF FJL e Y9: S 8 [bF L O 8=84Y [ Y L9F 79: T4m 8 m Q a QXG DF MPO F :_: F Y9: e v x 879: T4m 8 m Q a QXG DF M O F :_: F Y9: FJe GK84Y 7 a Y eua 8 e_T4I IKF M Fbe 79: T`m 8 m Q a QXG DF MPO F :s: F Y5:rM F e_FbeKesT Y e %79: T G TZ[JT`aXFJe v�, Y5Q e WY FB[]\ 8UWZY F 79: T G TZ[JT4acF 8fY L9F 79: T`m 8 m Q a Q G DF M O F :_: F Y9: F �07 T`L9FJL G_Q FJaXacFbI FbL G7 F GVQ G FrFJL � F G2WYPORQ ace&e_T`L G F � DFJ[ Y5G DFbe Y L L9T`Ium : F 7 T`a # L9T`I Q 8 a M F S�T Q eJ| a 8 79: T`m 8 m Q a Q G DFMPO F :_: F Y9:f: FJe G F^F �07 T`L5FJL GVQ FJacaXFJIKFJL Gf7 F GVQ G F FbL � v

Page 64: McGill School Of Computer Science

� � � � � � �� �

� � � � � � ��� � ��� � � � � ��� �

� Y e WYPORQ [ Q |UL9T Y e�L Oy8 k`T4L9e GV:V8UQXG DF WY F M Fbe 84M k`F : e 84Qc: FJe&i8 e_F Y9Q a |U[ O Fbe G i8 M9QX: F MPOy8UM k`F : e 8UQc: FbeWY9Q [JT`L GV:poT`acFbL G^Y L L9T`Ium : F M F 7�84:HGVQ [ Qc7�8 L G e L9F M DF 7�8 e_e 8 L Gu7�8 e Y L9FK[JF :sG]8UQ L9F a Q I Q G F v, 84: F � FJI 7 aXF4|�L9T Y e 8 k`T`L9e M T`L9L DF 84Y []\ 8U79QXG_: F & Y L 79: T G TZ[JT4acF , � g WZY5Q G T`a.iF : F Y L84M k4F : e 84Qc: Fji8 e_F Y5Q a�[JT`L G_:�oT`a 8 L G IKT Q L5e M F�� � }KIKFJI m : FJe v � F 7 FbL M�8 L G | MPO 84Y5G_: FJe,e G_:_Y [ %GVY9: FJe 7 a Y e n DFJL DF :V8 acFJe MPO 84M k`F : e 84Qc: FJe 7 F Y k4FJL G oF G_: F G T`a DF : DFbFJe 7�84:&Y L , � gwv �(I 84n`Q L9T`L9eY L e_[ DFJL 8U:_Q TrT iY L9T Y e 8 k4T`L9e : 7�8U:sGVQ [ QX7�8 L G eb| � � � ���7/ ��!8/2343 3 / ��� � WY9Q k4F Y aXFJL G [ 8 aX[ Y aXF :Y L9F S�T`L5[ GVQ T`L M F S 8 �[JT`L 79:sQ k DFJF�t Q v F v : Fbe 7 FJ[ GV8 L G acFJeu[ :_Q G iF : FJe M O Y L , � g e oY9: z v �(a FJe G7 T4e_e Q m9acF WY Fj[JF :sG]8UQ L9e { T Y F Y9: eb| e Q,: F n`: T Y97 DFbeJ| k`F Y9Q aXacFbL G [bT`aca 8 m�T : F : FbL GV: FjF Y:��7 T Y9:8 [ WY DF :_QX: M F,a ORQ L5S�T : I 8UGVQ T`LP| M F,S 8��[bT`L I 8 ac\9T4L9L oF G F4|Pi8^75: T 7 T`e M FJe M T`L9L DFbFJe 79:sQ k DFJFbe M Fbe84Y5G_: FJe { T Y F Y9: eJ| GV8 L M9Q e WY F acFJe 7984:sG_Q [ QX7�8 L G e MPOy8UY5GV: FJel[JT 8 a QXG_Q T`L5e,esF :V8UQ FJL G \9T4L9L oF G FJe vC Q esT`L9eJ| 7984: F � FJI 7 acFU| WZY F�acFbe { T Y F Y5: e M FJe FJL9esFJI m9aXFJe � ���7/ ��!8/ ���2/ ��� � | � ���7/ ��!8/ ��� � |� ���7/ � �2/ � � � | � � !2/ � � � | � ���2/ ��� � e_F : F n4: T Y97 FJL G 7 T Y9: G FJL G F : MPO T4m G FbL Qc:BM FNa ORQ L5S�T : I 8UGVQ T`Li8275: T 7 T`e M FJe M T`L5L DFJFbe 79:sQ k DFJFbe M Fbe 8UY5GV: FJe { T Y F Y5: e v � e G&%(Q a 7 T`ese Q m9acF 7 T Y9: acFbe : { T Y F Y9: eM F [ 8 ac[ Y acF :�Y L9F S�T4L9[ G_Q T`L M F S 8��[bT`L 75:_Q k DFbF�� *,Qc:HG F G g 84Y9: F : tB� * g C ?D� z T`L G I T`L G_: DF WZY F[ O FJe G FJL F � F GB7 T`e_e Q m9aXF � �(a5e Y GBMPO 8�� FJ[ G F : Y L 7 T QcM e M F G_:V8 k 84Q a � ��t Y LrL5T`I m : F FJL GVQ F : zi8 []\ 84WY F 7�84:HGVQ [ Qc798 L G ��� F G M F&a Y5Q~8 e_e Qcn L9F : a 8lG�o8 []\9F M F � � 7�84:HGVQ [ Qc798 L G e M�8 L9e Y L 79: T %G TZ[JT`aXF^e G]8 L M�84:_M 8 k`Fb[ 7 a Y e M F { T Y F Y9: e vPC Fu[JF GsG F S 8��[bT`LP| Q a�FJe Gl7 T`ese Q m9acF M F 79: T0[ DF M F :

A@&

Page 65: McGill School Of Computer Science

A�$

i8rY LE[ 8 ac[ Y aPI Y a GVQX7�84:HGVQXG F&e DFJ[ Y5:_QXGV84Qc: F [JT`L G_: F Y L 84M k`F : e 84Qc: F 8 [ GVQ S"e Q F G e_F Y acFbI FbL G e Q�

� �� � ����� � � � � ,�� � � ��� � � � � �

#}

�� �� � ���� � 3

C 8 L9e L9T GV: F F � FJI 7 acFU| ��� | ��! |D���,F G ��� 84Y9:V8UQ FJL G aXF 7 T QXM e M F G_:V8 k 84Q a � � � � ! � � � �� � � # | � � e_Flk`F :_:_84QXGN8UGsGV:sQ m Y F : � � � } F G�� L 8 aXFJIKFJL G ��� 84Y9:_84QXG aXF 7 T QXM e � � � &5v�(a FJe G FbL�F � F G,7 T`e_e Q m9aXF M F^[ 8 ac[ Y acF : Y L9FlS�T`L9[ GVQ T4L M F S 8��[bT`L 75:_Q k DFbF2e Q F G e_F Y acFbI FbL G e Q84Y [ Y L9F 7984Qc: F MPO FJL5e_FJIum9acFbe M F [bT 8 a Q GVQ T`L9e I 8 ac\9T4L9L oF G FJe�L9F esT`I IKFJL G t 8 k`Fb[ a O T 7 DF :V8UG F Y9:MPORY L Q T4L MPO FJL9esFJI m9aXF z i8 a O FbL9e_FbI m9aXF G T G]8 a M FJe { T Y F Y9: e � v�A T Y e L9T G T`L9e Y L 84M k`F : e 84Qc: FT`m DF Q e_e 8 L G i8rY L9F G FbacacF&[JT`L GV:_84Q L G F 7�84: ! v � F GsG FlL9T G_Q T`L esF n DFJL DF :V8 a Q esF i8 a 8 M DF � L QXG_Q T`Le Y9Q k 8 L G F � �� "�����p����� � � ��� "�� ��� < � @7? ��� ?�@ � � � � � � @9< �-@ �� <0?�@ � �� �� } � � � < � � � ��� ) <�� ? � ? � < � � � < � � ����� < � � � ��� < � � � � � � � � � ��� � < � � � �-@ � � ? �

�� � ��!������ ! � � � � � ��� 32323�� � ) � � 3

A T G T`L9e WY F )�� ) � � v*,QX:sG F G g 84Y9: F : T`L G FJL�S 84Q G DF G FbL M9Y acFbe : DFJe Y a G]8�G e M F � � ' = � �D�.|� � � C � �D��F G � �=� � C �t�k4T Qc: aXF []\ 8U79QXG_: F # z | WY9Q DF GV84Q FbL G e oY9: e [JT`L G_: F M Fbe 8UM k`F : e 8UQc: Fbe�i8 e_F Y9Q a � �@& F G � � }0|i8�M FJe , � g e oY9: er[JT`L G_: F M FJe 84M k4F : e 84QX: FJe M F�e G_:_Y [ GVY9: F � F G� ! : FJe 7 FJ[ GVQ k`FJIKFJL G v, 84: a 8 e Y9Q G FU|�esFum 8 e 8 L G e Y9: aXFJe < ��� � @���� @ �� < t�L9T Y e aXFJe M DFJ[ :_QX: T`L9e 7 a Y e,aXT Q L z | � :V8 %I F : | C 8 I n �84:_M F G g 84Y5: F : tB� � Clg C �D� z T`L GrM T`L9L DF Y L , � g Q L5[JT`L M5QXGVQ T`L9L9FbacaXFJIKFJL Ge oY9: [JT4L G_: F Y L 84M k`F : e 84Qc: F M F2e G_:_Y [ GVY9: F � WY9Q Fbe G e Y97 F : %(7 T`a # L9T`I Q 8 acFJIKFJL G 7 a Y efFbS %� [ 8 [JFrFJL � WY F [JFba Y9Q�M F � * g C ? � 7 T Y9: [JF :sGV84Q L9e G #Z7 FJe M Fre GV:_Y [ GVY5: FJe MPO 84M k4F : e 84QX: F v, a Y e 75: DFJ[ Q e DFJIKFJL G |�aXF , � g M F � * g C ?�� 8 Y L G FJI 7 e MPO F � DFJ[ Y5GVQ T`L 7 T`a # L5T`I Qc8 a~FJL � � � |WY9Q Fbe G e_T Y k4FJL Gf7 T`a # L9T`I Q 8 a9FJL � | GV8 L M9Q e WY F&acF , � g M F � � Clg C �D��FJe G 7 T`a # L9T4I Qc8 aFJL �wv � FJe M F : L Q F : e 84Y5G F Y9: e T4L G 84Y e_e Q F � \ Q m DF Y L 75: FJI Q F :r79: T G TZ[JT`aXF , � g [ :&#07 %G T n4:V847 \ QcWY FJIKFJL G e oY9: [JT4L G_: F Y L 84M k4F : e 84QX: F M F G #Z7 F ! v � F 8 k`F : F G = TZT`a � � = C �D�T`L G 84Y e_e Q 8 I DFJa Q T : DF aXFJe : DFJe Y a GV8UG e M F � * g C ?�� 7984: Y L S 8 [ G F Y9: 7 T`a # L5T`I Qc8 a.|UI 8UQ e e_F Y acF %I FbL G M98 L9e aXFf[ 8 e MPORY L 84M k4F : e 84QX: F 7�8 e_e Q S v , 8U: a 8 e Y9QXG F4| x I QXG \ F G x G_Qcn a Q [ltB� x5x&C �D� z T4L G79: DFbe_FbL G DF Y L 79: T G TZ[JT`aXF , � g Q L9[bT`L M9Q GVQ T`L9L9FbacacFbI FbL G e oY9: [bT`L GV: F Y L 84M k`F : e 84Qc: F 8 [ GVQ S

Page 66: McGill School Of Computer Science

A@A

! |�e_F m 8 e 8 L G e Y9: acFbe < ��� � @ ��� @ �� < | WY9Q FJe G 84Y ese Q e Y97 F :&% 7 T`a # L9T`I Q 8 aXFJIKFJL G27 a Y eF K[ 8 [JF WY FK[JFba Y9QBM9Y I oFbI F G #Z7 F 79: DFJe_FbL G DF M98 L9e � * g C ?�� v � Fbe M F : L Q F : e^T`L G^Y5GVQ a Q e DFacF es[]\ DFJI 8 M F � � � � C � |PI T M9Q �~8 L G aXF 79: T G TZ[JT`aXF M F k DF :sQ4� [ 8UGVQ T`L M FrI Y a G_Qc7 a Q [ 8�GVQ T4L M F7�84:HG e 7984:sGV84n DFJFbe M F S 8��[JT4L^k DF :sQ4�~8 m5acF 7 T Y9:�WYPORQ aZe_T Q G F [ 8 [JF v ) O F K[ 8 [ QXG DF M9Y 75: T G T0[bT`acFM F � � � � C � FJe G 7 T`a # L9T`I Q 8 aXF FJL � % � ! | GV8 L M9Q e WY F [bFJa Y5Q�M F � x9x�C �D�PFbe G 7 T`a # L5T`I Qc8 acF FbL* ! � � % � v�d Q L 8 acFJIKFJL G | acF , � g Q L GV: T M9Y9Q G2M�8 L9e � � C C � C C � Fbe G 8UY e_e Q n DFbL DF :_8 a Q e 8 m9aXF�i8M FJe 84M k`F : e 84Qc: FJe M F e GV:_Y [ GVY5: F ! v � F G_G F n DFJL DF :V8 a Q e 8UGVQ T`L M T4L9L9F Y L , � g FJL5[JT : F 7 a Y eF K[ 8 [JF WY FN[JFba Y9Q~M F � x9x&C �D�"t�a 8 [JT`I 7 aXF �0QXG DF M5Y 79: FJI Q F : Fbe G M�8 L9e � tst � � * ! � � z � � � zG]8 L M9Q e WY Fl[JFba Y9Q M5YEM F : L Q F : Fbe G,M�8 L9e � t � ! t � � * ! � � z �,� � z vA T Y e 75: DFJesFJL G T4L9e M�8 L5e,[bF^[]\ 8U79QXG_: FlacFbe < ��� � @���� @ �� <f8UQ L9e Q WZY F^a 8 [bT`L9e GV:_Y [ GVQ T`L M9Ye_[]\ DFbI 8 M F 7984:sGV84n F M F esFJ[ : F G2Q L M9Y9QXG&7�84: [bF M F : L Q F : vPd Q L 8 aXFJIKFJL G |�L9T Y e 75: DFJesFJL G T4L9ea O FJe WZY5Q e_esF M F a 8 [bT`L9e GV:_Y [ GVQ T`L MPORY L , � g |�F K[ 8 [JF4| Q L9[JT4L M9QXG_Q T`L5L9FJaXacFJIKFJL G e oY9: [bT`L GV: FM FJe 84M k`F : e 84QX: Fbe M Fle GV:_Y [ GVY5: F ! v

� ���"�� ���������� ��������

;�� < ����� @���� @ ���������� � �"!$#�%�'&(�*),+�&-)��.&(+/� !10-2 �435+��$6�7�8� 2 &:9;+�&(< %��3 2 �=& 0(� 6��+ 0(2 �=>?� 0 +@6�'�A6�B 2 6�'�8� � �A6� B ! � 2 &(+ B 2 � �"0:%� 2 �DC !10 � B + 2 -4+ 2 )FE � � 2 �G� = 0 < # � 2 � !1�H# + � � �JI = C@& �:K ;�� < ���� @���� @ ���)�+�&()'�.&(� # �7C�+ �) !1� � +/�8� 2 �'&(&(�=� � �7C !1� )'� 0-!1� 3 !A! &G6��� �.� �/K ) � �L!A#�%�'&(�=�8� # 6� � �.0 �� � C�+ 0 � B + 2 � � � � +/� 2�0 )'�NMPO���� 2 � � ) !12 B � % O�6�'� 0 >?�.�'�A6��� B + 2 � � �N)�� 2 �Q+ 0(� �=C !1� )'� 0(!1�R >?� 0 +���� ! ) 0 � %+S)FE5+�>?�.� & 0 < � �TM � # �UM � � & 0 �8�A6� 2 +�&�,WV� !X%� , �� � ,��Y�G� , � ,��ZK[5!128� ��&-&(� � � � ��O �.! �.�\+^] !1� �\&_+ # 6� � �.0 � 0(!�� ��� 0 ]/+ � �8�L`bac edgfih�fijd � � ��� , / ����� � @���� @ �� � � � � � ? � � ��@ � < % � � � < ��� � @���� @ �� � < � ? �� @ � � �����@kM ` �ml M / R / %Un � �? M � < � ? ��� � � @ � ���%$ � ( <0?�@ ��� � ��@ � < % ��� R � < � ? ��� � � ��� � � � � � � < � � � � ��� < � � � � � ��� � �oM � � @9< ��� � � < � � ����� � � < � � � � � @ ? � � ,WV� � � � � # /8323230/ � � /Fp ���q / #��� � ?�� ��� � � ? ��� � � ��� < � � � ��� < � �\M � A�! � !1� �7>?�.�r&_+sC !1� )'� 0-!1� R � 9;+��8� ! ) 0 � B +�� � 6�')������Q+ 0-2 � � � � �H� � �t& 0 < � � � %+T� � & 0 �8�A6� 2 +�&# 9 0(�.#.0 )�� � K) +N�Q+ 0 &-&(� # �ukM �'��� # 6�'v �.0 �4) !��"� �Y&(� �.!�� 3 2 � # �*) ! & !��.� ��� # �=MPK

Page 67: McGill School Of Computer Science

A :

(��r# 6�Gv �.0 ��&(� < ��� # � M l & � � � l M n�n ) !��"� � &(�\� ! �.���Z�'� B +�)'��� � <1� �.# 2 6� B + 2 &-��� & 0 < � ���# �*MPK���� � k� � ��O5M�� O B ! � 2 � � ��q�� # � O 2 � B 2 6����� � �Q�=&_+ � +/� 2�0 )'� C !128� 6��� # ��� & 0 < � ��� �# � �Q��&-&(�'��>?�.��& 9 6�G]/+�&(�5+�� 0(!�� # ���WV� +�� B !10(� � � �W� !�0 � ] 6� 2�0 vo6�'� l #.!1�.� � &_+ ]/+�&(�'� 2 & ! < 0 >?�.�] 2 + 0 � n K� ! �.� #.0-28!1� ��>?�.�Y&(����������������������� +�)�)'� B �8��� � �Y� � � 2 6�'� � � 0 �'� �����.&-� � � � � � 0������ � # + � �o&(��������� # ��M �AO ! %� ��N�'���o� � ]1�')'�8��� 2 v�!A�/O )FE !10 � 0# ��C�+ �) !1� >?�.�'&() !1� >?�.������& !��� � )FE5+ � <1� � � � � # �*3.+��8�*+ B.B 28! B 2�0 6�NK" ! �.� B 2 � �.#.2�!1� �\&(��]1�')'�8��� 2 �# ` � l # �Fq��$#%#%#&�Fq n K� � ) !1� �$6�'>?�.� � )'��O)FE5+�>?�.���������'������������� )�+�&()'�.&(�Y� � �4C !�� )'� 0(!1� 3 !A! &G6��� �.� �

( l�� n �)*+ *,.- & �

�- � & � � � l M � n&�

q & � � ! � #/�� �4C !1� )G� 0-!1� ( ` �10 � �'��� #.0 �8� �L!1�.! � !1� �Y� 0 �'���8��� &(� � � � ��� 0 B ! � 2 � ! �.�� � � � ��.! �.�\+,] !�� �

� � � � � ( l � n �32 ( l � n!X%� � � �G� �32 � !1� � # ��� 2 �'&_+/� 0(!1� � # 9 !128#.2 � B + 2 � 0 �'&��8� 2 � �'� � 2 �'� B ��)'� 0 ]�� � � � �,K ! � � B ! � ] !1� � # 6�'v �.0-2 � � !12�#.2 � B + 2 � 0 �'& �8� 2 ��q�� - �

B + 2 &(+ 2�%�'<1&(�=`4� � � � 0 �G� �8��� &(�&�� � � � � 0 )FE5+�>?�.�\) !$!12�#.!1�.� 6�'� # �5�r��� � B &(�.� B �'� 0 �Q� >?�.�\&_+�) !A!�28#.!1� � 6��� ) !�282 �'� B !1�.# + � �8�# � � K�Y+ � �7&(+ � k� � �L]1� 0(� �/O �.! �.�H+,] !�� �L+��.�8� 0 � � � �.! � 0(!�� # � �"!��.! � !��.0 � B ! � 2 &(�'�6��������������������7��`bac98 dgfih�fijd;:=< ��� ?> � �4�������@������������� kM ` � l M � R � %Un �A��� � � �B�6�C�B� ���C���D� � ��� � �E�F���� � R ���G���IHA�C�3�J�F��� �$K � � �A� � � � � �&����K �L�J�F� � � � ��� � �NM �%#%#%#O� � � � P &X�����s6�'] 0(# � � ��>?��9 � � �������Q������������� �L!1�.! � !1� �4),+�&-)��.&-�4� � �=C !�� )'� 0(!1� 3 !$! &G6��� � � � �L! ��.! � !1� ��K�Ro� B � �.# + � ��O �.! � � B ! � ] !1� ��+��.�8� 0 # 6� �L!1� � 2 � 2 >?�.�4� ! � �Q�4C !1� )G� 0(!��s�L!1�.! � !1� �B �'� � k�'� 2 �4),+�&-)��.&G6��� B + 2 � � �������E���A��������� �"!��.! � !�� ��K

�3S cUTWVYX�c :Z<� ��� [< �]\ �������E���A���������l��� - q -q q -

� �� � R � � �"l_^ n�n

�a`K Rl - n � �NM \&b Rl_^ n � �"c$d�H���efH&K�e \ e \ ���hg\ ��i H�� b ef��� i �$K \kj5l

Page 68: McGill School Of Computer Science

���

� 0 �.! � �"+/�8� ! ) 0-!1� �H&:9 � � �8� � 3.&(� # 6�') 280 � B + 2 &:9 �&! B 2 ���8� 0(!1� 2 6�'<1�.& 0:%� 2 � ��q�� - � +^]���)s&:9 � � �

�8� � 3.&(� # ���U� ! � � �Z� � �8� � 3.&-����� l � - �%#%#%#O� � � n O�&_+ 2 ��&(+/� 0-!1� � ) !12�2 �'� B !1�.# %+ &(+ 2 �'&_+C�� 0-!1�S# 9 0(� )�&(� � 0(!�� �*O # + � ��� l � - �%#$#%#$� � � n O # �"C�+��) !1� %+s)��t>?�.� B ! � 2=# ���U! � � �8� � 3.&(�'�� � � �� l � - �%#%#%#O� � � n �.! �.�\+^] !1� � � � � � ( l � n � ( l � n K ! � 2 )��G�8�Q� 2 + 0 � !1� O� � �7C !1� )G� 0-!1�T�L!1�.! � !1� � ( # 6�Gv �.0 �4+��.��� 0�# �7C�+��) !1� � +��Q� 2 ��&(&-� � � ���� 2 �.)G�Q� 2 � # 9 + # ]1� 2 �Q+ 0-2 � � � � � � � � ( l � n � q � K��� B &(�.�'O�6�'�Q+ � � #.!��.� 6� � � �������7������������� ),+�&-)��.&(+ � � ( O 0 &.� ! 0 ���8��� � �8)FE�6� � + # � B + 2 �F+�<1�# � ����) 2 �'�t& 0(� 6�,+ 0-2 � >?� 0 � ! & %� 2 �s&_+U��� 2 �.)'�8� 2 � # 9 + # ]1� 2 �Q+ 0(2 � � K ! �.�t+ B.B �'& !1� �t+�& !12 �� � � � l �=n � � &_+7� � 2 �.)'�8� 2 � # 9;+�)�) %��� # � B 28! � ! ) ! &(� # � � O5)�9 ��� � � � C�+ 0 � & 9;� � �8� � 3.&(�# ��� � � �8� � 3.&(�'� # � B + 2 � 0 ) 0 B + � �8�D>?� 0 B ��� ]�� � � 2 ��) !1� ��� 2 � 0-2 �4&(� �8��) 2 �G�,K"�79;+ 0 &-&(��� 2 ��O �.! � �+,] !1� � � � � � � � � � ( l � n � - � K � � ]$�.� # � # 6�') 280-2 �*&(�*�8)FE�6� � + # � � O �.! �.� +�&(& !1� �# 6�'v �.0(2 � � �DC !1� )G� 0(!�� �8� 2 � ��)'� 0 ]��\>?� 0 +��8� ! ) 0 � %+�)FE5+�>?�.� & 0 < � � # 9 � � � � +�� 280 )���� � B + 2 � 0 ) 0 �B + � � # � K � � � � �'��O �.! �.� B ! � ] !�� � ! 3.�8� 2 ]1� 2 >?�.�\&_+ C !�� )'� 0(!1�N# 9Z6�'� 0 >?�.�G�F+�<1� # 9 � � �������������������� �"!��.! � !�� � � �=C�+ 0 ��>?��9;+���� ! ) 0 � 2"%+"� � � & 0 < � � # �=&_+ � +/� 280 )��4� �T�.!�� 3 2 � # + � �� - �%#%#$#O� � � KJ ! �.� B ! �A] !1� � #.!1� ) # 6�'v �.0-2 &_+ C !1� )G� 0-!1���R ` � - �$#%#%#$� � � 0 � ��� 0 ]/+ � �8�L`

�Rl �Zn � � ��� � Rl � n � � V� � p � ��q�� - � #R 9;�'��� � %+C� #.0(2 ��O �Rl �Zn +��8� ! ) 0 � %+Y&_+Y& 0 < � � � # � &(+ � +/� 280 )�� # 9;� � �������7������������� l M � R � %Un� ����! �.�'� 2 � �o� 0 � 6�G� 0 >$� �'�8�8� &(� & 0 �A6� 2 +�&9� V� %+Y&_+�& 0 < � � � # ��MPK��X+�C !1� )G� 0(!�� B �'� ��+��8� ! ) 0 � 2%+ B &-�.� 0 ��� 2 �D& 0 < � ����� � � k� � � ��! �.�'� 2 �G�D� ! �A� ��! �.�'� 2 +N+�� �L!10(� ��� � �Y& 0 < � ��>?� 0 &(� 0 ��� �+��8� ! ) 0 6�'� l &_+ C !1� )'� 0(!1� ��� �e��� 2�� �')'� 0 ]1� � + 0 � B +�� � 6��)'�����Q+ 0-2 � � � � � 3 0�� ��)G� 0 ]1� n K Ro��) 0$0(� B ! �8�3 0 � � � k� 2 >?�.�*&(� �.!1� 3 2 � # �4& 0 < � � # �4&_+ � +�� 280 )��/O��5O #.!10 � k�'� 2 � ' � K

! � � B ! �A] !1� � � + 0(� �8� � + � � # 6��) 2�0(2 � &(�T��)FEo6� � + # � B + 2 �Q+�<1� # � ����) 2 �'� & 0(� 6��+ 0(2 � � k� 2) !1� � 2 �L� � + # ]1� 2 �Q+ 0-2 � # �L��� 2 �.)'�8� 2 � # 6�Gv �.0 B + 2 � � ������� ������������� �L!1�.! � !1� � kM `l M � R � %Un O ! %�sM ��� ��� � � � +/� 280 )'��� � ("`����j5h^j��1j X�c � + 2 �F+�<�� # � � ��) 2 �G� < 6� � 6� 2 +�& 0 �$6�"!� 0 ��� 2 l$# � �5� & � kM n `

� # )FE !10 � 0 ��( � - ]/+�&(�'� 2 � R M �%#$#%#$� R � �JM � % B ! � 2 C !128� � 2 &(� ]���)'�8��� 2 & 0 < � ��#&% l & � R M �%#$#%# R � �JM n K

Page 69: McGill School Of Computer Science

���

� # ),+/&()�� &(�Y&(��]���)G�Q��� 2 � � M �#�� K� # #.0 ��� 2�0 3.� � ��� � M � �# � +�� ��! �.�'� 2 ���� l � n O B ! � 2 - � � � �5K

�7ac j����cUTSc < ��� [< � \ ����� b �FHA�Ce \ H i�� ��K b6\ � b KU���� ���KU� HA�C� b � \ K�� ����� \ �A�$� i � \ � \� b � KJH b KU� \ ��g\�� � i ������e \ �������'������������� kM K b i e i �hg\$l

� � c���� c : � !10 � ( &_+NC !1� )G� 0(!�� �L!1�.! � !1� �4)�+�&()'�.&G6�'� B + 2 kM K � !�0 � � � % � l�� n�� � ! %� � �'���\&_+N� � 2 � )'�Q� 2 � # 9 + # ]1� 2 �Q+ 0(2 � # 6�Gv �.0 � B + 2 kM K ! � � �L!1� � 28!�� � # 9;+�3 !128# >$� 9;� � � � �8� � 3.&-� # � B + 2 � 0 ) 0 B + � �Q� � � � B ��� � 2 �') !1� � � 2 � 0(2 �&(�*�8�') 2 �G�! 7� 0 �'� �8��� &(� � � � �Y� 0 &-��� 2 ) ! & !1�.� � # �7M l M 2 n ) !1� � 0 � � � # + � � &-��� 2 �������t&(�]1�')'�Q�'� 2 �- % l - �Fq��%#%#$#O�Fq1n l #.!1� )�� 0 �G� �8�'�.&(� � � � �D� 0 &:9 � � ��� � 3 &(��C�+ 0 � B + 2 � 0 � # � � � n K#" ��%$ �'��O5�8� B.B ! � !1� �\>$� 9 0 &��&! 0 � �Q�4� � ]1�')'�Q�'� 2'& �Q��& >?�.� & M � % �- � O5+�& !12 �

( & � � �*) %+& M � �, � % �-�, � % �

!X%� ( � ) ��� �\&(� B 2�!A# � 0 � 0(� �8� 28� �*� �F+ � # + 28# �8� 2.- � K ! � !1� � >?�.� & ��� � )�+�&()'�.&_+/3.&(���0/L),+�)'� � � � �,K" � # � 28�.0 � 2 & 0 ����O �.! �.� # �G] !1� � # 6� �"!1� � 2 � 2 >?��9 � � � � ��� � 3.&-� � # � B + 2 � 0 ) 0 B + � �Q� # !1� �&(�'��) ! & !1� � ��� � ��C !1� � B +�� B + 2 � 0 � # � ������� # � kM l )/9;�'����� %+C� # 0(2 �\� � � � �8� � 3.&-��>?� 0 �'���o� �6��&G6� � � � � # ��&(+*� � 2 � )'�Q� 2 � # 9;+ # ]�� 2 �Q+ 0-2 �� � n � � B �'� �D+/)�>?��6� 2�0(2�# 9 0-� C !12�� +/� 0(!1� %+ B 28! B ! �# � �8��) 2 �G�1 1K ! � !1� � # 9;+�3 !128# >?�.� &:9 0(� +�<1� # ��M � �����N6�'< +�&(�D+��H) !1� B &G6� � � � � !12 �8E ! < !�� +�& # � �.!32 +��# �4MPK4" � B + 2 � 0 )'�.& 0 � 2 O?)'��&_+*]1���A� #.0(2 � >?��9 0 &�&! 0 � �Q��� � ]���)G�Q��� 265 �8��&(&-� >?�.�4M � 5#� % �q�'� 5 M % �- K�7 & !12 �'O B ! � 2 � ! � �8�\]/+�&-��� 24�98 - � O?�8��&-&(� >?�.� � � % M � �: � B ! � 2 � 9 0(� B !12 �Q�>?�.��& �: 8 - � O �.! �.� +,] !�� � +��.��� 0 >?�.�*M � l �: l ( n8n � % �AO !X%� :Nl�( n % �:<; ( 5 O B ! � 2 � ! � �( 8 - K] + 0 �Y&(����]/+�&-��� 2 � # � �- l �: l ( n8n � � !1� �*� ! � �8��� #.0 � � 0-� )'�8����O � � <1� �.#.2 + � �*� ! �.�4&(���6��&G6� � � � �Q� # � - O )'��>?� 0�0-�.#.0 >?�.��>?�.��&:9 � � �8� � 3.&(� � � 9;+N+��.)�� � � 0(� C !128� +/� 0-!1� %+ B 28! B ! �# �= 1K �

Page 70: McGill School Of Computer Science

���

� ���"� � �*-&3����&(��, ��& � (.�* � � � ��� ��� ( ����� * � ����� *% 3��� ���� (������*-& (����

" �T2 � � B &(+ �),+ � ��O # + � ��&(� ��� # �T)FE5+ B 0 � 2 �AO &-� � # � � E5+ �L0(2 B + 2 &(� B 28! � ! ) ! &-� # � � < 6� � 6� 2 +�& 0 �$6��O � ! �.� ! 3 �Q� �.!1� � � � B 28! � ! ) ! &(� &G6��< %� 2 � � � � � B &-�.� C�+ 0 3.&-�D>?�.� &-� B 28! � ! ) ! &(�# � ��� >?�.� �.! �.� +,] !1� � 0(� � 2�!A# � 0 ��K4" � �%$ �'��O.&(� B 28! � ! ) ! &(� # � ��� B 2 6�'�8� � �A6� � � B + 2 ��F+�<��,+ 0 � B +�� �����.&-� � � � �7� � �L]/+�&-��� 2 �8�') 2�%�'�Q�/O � + 0 �43 0 � � � � �"C !�� )'� 0(!1� #.!1� �=&(�H�Q� 2�� �) !1� ���F+ � �*�'���=&(�N�8�') 2 �'�,K]�79;+ 0 &-&(�'� 2 �'O��Y� �.� + 28! O� �+�3 0(� �'�� \+�3 0(�U!1� �*+/��� 2�0 3.��6�H&-� �.!1�# ��� B + 2 �Q+�<1� # �7�8�') 2 �'�4�'� # � B ! & 2$� k!1� �4] 6� 280 vW+�3.&-��� l � � n %+r)'�7<1� � 2 � # � �8)FE�6� � + K7 B 280(!�280 O5� �T�.! � ]��,+�� �"!$#�%��&-� # � B + 2 �F+�<�� # �=�8�') 2 �G�Y��� � 0-� � 28!$# � 0 � # + � � &-��� 2 + 2 � 0 )'&(�� �� � � � ! O� ! �.��&-��� B 28! � ! ) ! &(�'� # � B + 2 �F+�<1� # � ����) 2 �'� B + 2 �Q+�<1� � ��+��.�8� 0 � � B ! & 2$� k!1� ��K� � B ! & 2$� k!�� � + 0-� � 0 B + 2 �F+/<e6� B + 2"� ! � 2 � ��� ��� �t� � C�+ 0 �H� � 0 & 0 �$6� # + � �r&-���L�8)FE�6� � +/�# �4),+�&-)��.& # �YC !1� )'� 0(!1� ��KJ ! �.�\+,] !1� �\3��� !�0(� # � B + 2 �F+�<1� 2 )�� B ! & 2$� k!1� � B � 0 �8>?�.�*)�9 ��� �B + 2 # �'� ),+�&-)��.&-� �8� 2 &(�'� B + 2 �8� # � B ! & 2$� k!1� � B + 2 �Q+�< 6�Y>?�.�4&(�'� B + 2 � 0 ) 0 B + � �8� + 282�0 ]�� � � %+),+�&-)��.&-� 2 &-� 2 6�����.&-�Q+/�4] ! � &(��K ! �.�=+,] !1� �=+��.��� 0 3��� !�0(� # � 2 ��) !1� � � 0 �8�.� 2 )'� B ! & 2$� k!�� �# + � �e&(�o)�+���O B + 2 � ! � � B &(��O !X%�7� � B + 2 � 0 ) 0 B + � ��� ! �.��&-�D) !1� � 2 k! &-� # 9 � � + # ]�� 2 �8+ 0(2 � # 6�') 0(# �# � � � B +���) ! &(&_+/3 !12 � 2 � �U2 �GCi�.�Q+ � � # �7�8� 0 ] 2 �N&(�'�s6�'�Q+ B ��� # � B 2�! � ! ) ! &(��K�� 2 �'C O�� 0e�.! � �2 � � B &(+ �) !�� �=&-� B 28! � ! ) ! &(� # � � # � � E.+ �"0-2 B + 2 &(� �.! � ]��,+���O � � � � �8� � 3.&-� # � B + 2 �� 0 ) 0 B + � �Q� # �r&(+s��� 2 �.)G�Q� 2 � # 9;+�)�) %��� B ! � 2�2 + 0 � 2 ��) !1� ��� 2 � 0-2 �t&(+ ]/+�&-��� 2=# � ����) 2 �'��O � + 0 �B +��4&(�N]���)'�8��� 2 B + 2 &(�'>?�.��& 0 &�+ 6�'�A6� B + 2 �Q+�< 6�/K������ 2 ��� �8� � � � ��O # �'� B 2�! � ! ) ! &(��� # �")�+�& �)��.&-��& 0(� 6��+ 0(2 ��� >?� 0!1� �"6�G�A6� 0(� � 2�!A# � 0 �Q� # + � � � R��� � � ! �.! �.� B !12 �Q� � �o�8��) ! � 2 ��K " � �%$ �'�,O%+ & 9 + 0(# � # 9 � � B 28! � ! ) ! &-� # � � 2 + � ��Ci� 2 � # 9;� � < +�<1� � � � � l �� " n O >?� 0 � 2 + � � Ci� 2 �r& 9;� � < +C�<1� � � � � # 9 � � ��! �.��� 2 ��� %+ � � � ]/+�&-��� 2�� l � � !

� � n %+U� � +�� � 2 � ��! �.�'� 2 � �^O 2 6�����.&-�Q+ � � %+&:9 � � <1+�<1� � � � � � � !

���Oe+ 0(� � 0 >?�.� # 9;� � B 28! � ! ) ! &(� # � B + 2 �Q+�<1� # 9;� � � B + 2 � l n # 9 � �

� � <1+�<1� � � � ��O � ! �.� B ! �A] !1� ��) !1� ��� 2 � 0(2 � &-� B 28! � ! ) ! &(� ��� >$� 0 +L&(��� B 2�! B 2�0 6�'�A6���\] ! ���&(�.�'��K"Ro�'&_+L+ # 9 + 0 &(&-��� 2 �"6�'�A6�4�8�.<1< 6� 2 6� # + � � � R��G� � �!� !:KRo��&(+ #.0 ��O�&-� B 2�! � ! ) ! &(� ��� <e6� � 6� 2 +�& 0 �$6�T>?�.� �.! � � B ! �A] !1� � ) !1� � � 2 � 0(2 � B � 28� �'� # �),+�&-)��.&-� 2*� 9 0(� B !12 �Q�H>?�.��&-&(�HC !1� )G� 0(!�� & 0-� 6�,+ 0(2 � # �LC�+ �) !�� �$6�')�� 2�0 �F+ 0(2 � %+s& 9 + 0-# � # ��� B 28! �� ! ) ! &-��� # 9 + #.#.0 � 0(!1� �'� # � � �.& � 0 B & 0 )�+/� 0-!1� � �.& � 0 B + 2 � 0 �8��� B 2 6�'�8� � �A6���*+�� )FE5+ B 0 � 2 �" K �X+� �.& � 0 B & 0 )�+/� 0-!1� O B + 2 ) !1� � 2 ��O ����� � � ) !12 �r� � �rC !10 �=� � �"� k+�)FE.� �.!�� � 2�0 ] 0 +�&-��K P & �8� � 3.&(�3 0 � � >?�.�t& 9 0-� B &_+ � �F+�� 0(!��T# � B 2�! )'�����8�.� # � � �.& � 0 B & 0 )�+/� 0-!1�T� � &-� 0 B + 2 � 0 �8� � �t� !10 � B +/�

Page 71: McGill School Of Computer Science

� q� � B E�6� � !1�s%� � � & 0(� 6��+ 0(2 �D�Q+ � � 2 ��) ! � 2 � %+*&(+Y) !1�L� � �.0 ),+/� 0(!1� K Ro� B � � # + � �,O 0 &5� ! 0 ���8��� � �B 28! B 280 6�'�A6� # �'�;�������@�������������7� l )�+ 2 +/)'�A6� 280 �$6��� B ! � 2 &_+ B 2 � �"0:%� 2 � C !�0 � # + � � � R��� � � ! n >?� 0+ #.� �'�g&_+ � �.& � 0 B & 0 )�+/� 0-!1� KORo�'���Q� B 28! B 2�0 6�G�A6� B �'� � # 9;+ 0 &(&(�'� 2 � k�G� 2 �D+�)'>$� 0 �8� B + 2g� 9 0(� B !12 �Q�>?�.��&-&(�Y��� 2 �.)G�Q� 2 � # 9 +�)') %�'� c Kbac98 dgfih�fijd;:=<���������� �����'�������������� � c � T �]X h�f VYX f$� � h^f�jd� � �7�������k������������� kM `l M � R � - n �J�F�A�N`\ � \ e �5�����A��� i g\&b g\ � \ �4K�e b i ��e i H�� b i �C��� � i e \ � i � b�\ K�� � \ H b�\ KU� ���� �g\ �B�C�4� g\K�� � \ H b�\ KU� � \ � \ HA�C��� i ��� i �F�C��� b�\ e��$K \

������ ��

� � 8�� ( �� � M �,�� M �, � ) % ( �- ��,�� �, � )

�a`K ( + � + ) \ � b e \ ����� ��K i b i � b�\ � � \ � b ��� � ��� � �&KU� - � \&b �J�CKU� �� % l�� M � + + + � � � n \&b �: %l�: M � + + + : � n �B�CK9�7�����C��� � � : % l � M : M �%#%#$#$� � � : � n l 7 0-� � 0 O & 9 0-# 6��� # �T&(+ ) !�� ��� 2 �.)G� 0(!��# � B 28! � ! ) ! &-� # � � �.&-� 0 B & 0 )�+/� 0-!1� � �.& � 0 B + 2 � 0 �Q� # �# ���U! ����) 2 �'�8� B + 2 �F+�< 6�'� � O , �'��� # � # � � + �.# � 2 � � ) !12 �=� � � C !�0 � %+r)FE5+�>?�.� B + 2 � 0 ) 0 B + � �� �� - � / # � � �'�8� 2 �s� � B + 2 �F+/<1�s)FE.+�)�� � � # � �����t� ! �.��� B + 2 �Q� � ��! �%#%#%#O� � �#" �G� , �$! �%#$#%#$� , �#" K" � �8� 0 �Q�/Oe&(� B + 2 � 0 ) 0 B + � �=),+/&()�� &(� � �&% + , �'% O B ! � 2 -)(+*,( �5O �G� B 2�! � ]1� l %+ & 9 + 0-# � # �B 28! � ! ) ! &-� # �r&_+ ����)'� 0(!1� K.- B + 2 � ! � � B &(� n >?�.� &(� B 28!$# � 0 �7��� �N) !�282 �')'��K P &o�'9;� � < +�<��+�& !�2 � %+N�8�'� B 2�!A# � 0 �8� %+N& 9 + 0-# � # � ��� K g! � 2\2 ��) !1� � � 0 �8�.� 2 &-�Y�8��) 2 �G�,O&(��� B + 2 � 0 ) 0 B + � �Q�),+�&-)��.&-� � � � 0-� B &(� � � � ��O # �YC�+ �) !1� ) ! &-&(��)G� 0 ]1��O

� � , ! � % � M � �&/ M ! � �� - M / ; #%#%# ;0� � � �&/ � ! � �� - � / �!X%� �� % l�� M �%#%#$#$� � � n ��� �4&(�=]���)G�Q��� 2*# � 2 �') !1� 3 0(� + 0 � !1� >$� 0 ��� �4) !1� � � B � 3.& 0 >$� � � � � �,KR !1�L� � B ! � 2 �.! � 2 � � �.&-� 0 B & 0 )�+/� 0-!1� � �.& � 0 B + 2 � 0 �Q� # � )FE5+ B 0 � 2 � Og� 0 � � B + 2 � 0 ) 0 B + � �2 �GCi�.�8� # � � �'�8� 2 �\� � B + 2 �F+/<1������� B + 2 �8�o&(�'�D+��A� 2 �'� ��! �.�'� 2 ��&(�'� 2 �') !1� ��� 2 � 0 ��� � � �G� �.! � �2 � B 2 � �.!1� �\&(� B 2�! � ! ) ! &-� %+ B + 2 � 0(2 # � # 6��3 � �,KBRo�'���Q�=+/�8�Q+�>?�.� � � B 28! & !1� <1�Y&-� B 28! � ! ) ! &(�>?�.� B + 2 � � C�+�)G�Q�'� 2 +�� B &(�.�21 KB��� B &-�.��O� �T2 6���8� &-�F+�� 2 6�')�� � � # ��R 2 + � � 2 O �Y+ � <43+ 28#�'�3 +�� 2 � 2 l � R��� � � ! n # 6� �"!1� � 2 �*>$� � B ! � 2 � 9 0(� B !�2 �Q�Y>?�.�'&(&-�*� � 2 �.)'�8� 2 � # 9;+�)�) %��� c O&_+ ) !1� B &(� ! 0 �A6� # �=������� ������������� &_+ # 6�'v �.0 �8�8+ � � 6��>?� 0 ]�+/� � %+T&(+s) !�� B &-�&! 0 �A6� # �=�������������������� +,]1��) � �.&-� 0 B & 0 ),+�� 0(!�� >?� 0 &-� 0 ��� �N+���� ! ) 0 6�/KhRo� # � 2��.0 � 2 2 6���8� &-�F+�� �.! �.�N+����8� 2 �>?�.�N&_+t) !1� ��� 2 �.)G� 0-!1� ����>$� 0 �8�$6���L) 0 �ZE5+��A� #.!1�.� �N� � R� �%/L)�+�)�� l �8+ ) !1� B &(� ! 0 �A6�=��� �# + � � & 9 !12�#.2 � # �65 � � l �87:9 � l<; n � 5 � n O !X%��5 ��� �o&(+Y�Q+ 0 &-&(� # � �������7������������� �L!1�.! � !1� � n K

Page 72: McGill School Of Computer Science

� � ��� ����� �

� �� ����� ��� ��

� ���e)FE.+ B 0 � 2 �'� B 2 6��)6� # � � �8� !1� � B 2 6���8� � �A6�D�G� # 6�G]1��& ! B.B 6�o&(��� �.! � 0(!1� � # ��),+�&-)��.&-� � �.&-� 0 B + 2 �� 0 �Q��� # + � �Y� �U�L!A#�%��&(� 0(� ) !1�.#.0 � 0-!1�.� �'&(&(� � � � ��� k� 2 +,]1�')L)�+ � +�& # � #.0 $ �.� 0(!1� B �.3.& 0 >?�.��KRo� �L!A#�%�'&(�"+ 6�'�A6�r)FE !�0 � 0 ),+ 2=0 & B � 28� �'� � � � � � 0 &(&-��� 2 �"+/3.��� 2 +�)G� 0(!�� # � B 2�! 3.& %� � �r�'�B � 28� �'��+ 0(� � 0 # 9 ! 3A�Q� � 0(2�# �'� 2 6�'�8�.& �F+/�8� � 2�%����< 6� � 6� 2 +���! K ! �.�Y+,] !1� � #.0 �8)��A�A6�7� � # 6�'�Q+ 0 &# � #.0 ]�� 2 � � ! �.��� B 2�! � ! ) ! &-��� >?� 05!1� � � � � 6��� +�� # 6�G]1��& ! B.B � � � � � # ��� �8)FE�6� � +�� # �\)�+�&()'�.&(�� �.& � 0 B + 2 � 0 �Q�'� 0-� ) !��.#.0 � 0(!1� ��&(&-� � � � �Q�\� k� 2 �Y&(�'� B &(� �Y�%/L),+�)'���*) !1� � � � %+t)'� ��! � 2 KB ! � �+,] !1� �=+��.��� 0 # 6�') 280 �*� � � ! � ]1��+�� B 2�! � ! ) ! &(� # �H),+/&(�.)'�.& � �.&-� 0 B + 2 � 0 �Q� 0(� ) !1�.#.0 � 0(!��.� ��&[�&(� � � � �7� k� 2 O � 2�%�'� 0(� �Q� 0 � 0 C Og>?� 0 � �'�H� � ]�+/&(��� 2 &(��� � ! � 0-!1� �7&-��� B &-�.� 0(� B !�2 �F+ � �8��� # �)��4� 2 B � # �=)�+�&()'�.&:KJRo� # � 28�.0 � 2 B 28! � ! ) ! &(� B ���A� k�'� 2 �*+ # + B �A6� B ! � 2 +/�8�8� 2 � 2 &_+N�$6�')�� 2�0 �A6�) !1� � 2 �N� � + # ]1� 2 �Q+ 0-2 � B &-�.��< 6� � 6� 2 +�&:O�Q�'&�>?�.� B 2 6�'�8� � �A6�L+�� # � 2��.0 � 2 )FE5+ B 0 � 2 ��K �g! � �*+/�& !1� < # �*)�� � 6� �"!�0(2 �/O �.! � ��+,] !1� � � � 0 & 0 �$6�4� � C !128� +�& 0 � � ��>?� 0 ����� � ! �A]1� � � � + � >?�5+ � �# + � �*&_+ & 0 �8�A6� 2 +��Q� 2 � # + � �*)�� #.!1� + 0(� �/O�&_+ �$6�')�� 2�0 �A6� # �H� ! �.�=&-��� B 28! � ! ) ! &-��� # 6��) 280 �Q�=+6�'�A6� B 28! � ] 6�'��KP & 2 ��� �Q� )�� B � �.# + � � � � ) !�2 � B &-�.� 0 ��� 2 �r�8� � �'�Q� %+ # 6�']���& ! B.B � 2 � � ),+�&-)��.& � �.&-� 0 B + 2 � 0 �Q�/K ! � � B � � � !1� �\+��U! �Q�')FE �.0 >?�.�'���A� 0 & 0 �$6����� # + � � # ��� ��)FE %� � ��� 2 6�'� ! & ]�+ � � # �'� B 28! 3 & %� � ���B &(� � B 2 6�') 0 ��O5) !��"� � B + 2 �&!A� � B &(�Y&-���D] ! �Q�'��K"�Y+ � � � � ��) 2 � � 0-� O !1� #.!10 � ��9;+����8� 2 � 2 >$� ��8�'�.&(�'� &(�'� B � 2 � !1�.� ���4+�� � !1280 �$6�'����+ 0 � � � &(� #.28!10 � # �=] ! �Q� 2 K�� �T� � #.!10 � B +/� B � 28� �'��� 2 �

� -

Page 73: McGill School Of Computer Science

� ^%+ � � � B � 2 � !��.� � # �L] ! �Q� 2 B &(�.� # 9 � � �HC !10 � ! � # �L]�� �.#.2 �r� !1� ] ! �Q�L�'�*� � � B � 2 � !1�.� �#.!10 � B ! �A] !10-2 �'9 +/�8�8� 2 � 2 >?�.��� !1� ] ! �Q�\� !�0 � ) !�� B �A6��K � �\) 280 � %� 2 � # � B 28! �8��)G� 0(!�� ) !1� � 2 �\&_+C 2 +�� # �7��� �4&(� B &(�.� #.0 /L) 0 &(� %+ 2 ��� B �')'�8� 2 �'�*+/�.)�� � �7�Q��)FE �.0 >?�.�N>?�.� �.! �.�Y) !1� � + 0 ��� !1� �� � &(��C�+ 0 � # �DC�+ �) !�� + # 6��>?�5+��Q��K9 ! �.� B � � � !1� �76��<1+�&(� � � � � %+�&:9 6�']/+�&(�.+/� 0-!1� # 9;+�� � 2 �'��C !1� )&�� 0-!1� �*� B 6�') 0 v.>$� ����O &-���*C !1� )'� 0(!1� � # �t)FE 0 $ 2 � � � � �8��O # �t� 0 < � +/�8� 2 �'� � � � 6� 280 >$� ����K ! � �# �'] !1� � # 6�']1�'& ! B B � 2t# ���"�Q��)FE �.0 >?�.�'� B 2 6�') 0 �8��� # + � �t&-�s3 � � # 9 ! B � 0(�L0 ��� 2 )��'�t),+�&-)��.&-��K ! � � B ! � 282�!1� � B ��� � � k�G� 2 � �"!$# 6��& 0 ��� 2\# 9 +/� � 2 ��� � 2 B ��� # 9;+ # ]�� 2 �8+ 0(2 ���4+�� �8� 0 O �G��C ! � 2��.0(2# ���DC !�� )'� 0(!1�.� +�& 0 �A6����>?� 0 � !�� � � k� 2 �'� ) !1� � 2 �4� � �4+/���F+�>?�.� #.0-280 <e6��� B + 2 )��'� <1� � 2 ��� # 9;+ # �]1� 2 �Q+ 0(2 �'��K ! � �Y) 28!32�!1� �*>$� �L&-� #.!1� + 0-� � # �'�Y),+�&-)��.&-� � �.&-� 0 B + 2 � 0 �Q�'���'���*< 2 + �.#U! � ]1� 2 ��OX+�� �F+ � �# �t) k! �A6� # � # 6�']���& ! B.B � � � � � B 2 +/� 0 >$� � >?�.� �8Eo6� !12�0 >?�.�/K ! �.�o�'� B 6� 28!1� � ��� 2 � ! � � >?�.� &(����Q�')FE �.0 >?�.�'� B 2�! )'� 2 + � �o&_+4) !1� v # � � � 0 +�& 0 �A6� # ��� #.!1�.� 6����� B 280 ] 6�'����) !1� � 0-� �.� 2�!1� �D� ! � ��! � 2 �# � B 28! < 2 �'�8�8� 2 # + � �\� � �Y] !�0 ��C !12�� �'&(&(�/O.+,]1�') B 2 ���A]1� # �4&(��� 2 �$6��)'� 280 �A6�/K

Page 74: McGill School Of Computer Science

� ��� ���� �� � � � � ��

� ��R�� � - ! ��� �� 2� ��� ���5R� ������P ��� ��� 3 ������ ��� � � ��������! � � � R� �#"�����$!%'&�()�����������%' &�('�* �%'����+$,������ � P-� 7 (/.0�!��� ���21 ������3��� 4+��� �65 � $�$ 77� � �� 98$ � ��� �:����%/$ � �� ��<; ���>= ?BH \A@ i ?�HCBEDEF b-G e G!H DJI KMLON��OPRQ � S6TVU<FWB G H \A\ � i ? H>@ �" � ('����� � � � .YX \ H b K6B \[ZOGCb�\A@ i ?\K G>] F�K b�\ B NH i \ ?BH \ �M^� ���� - � �`_ ^+a � �� ���!('%)��� � ���!�b ��2[c � ��%'����('&W���!��� � �����[+��2[c �d� ��� � ����/fegc7��$ 5 � � - �!� - �� ^���%'��� ���98 � ����(h � �

� � �i � a ! j�� � �ii"���� �k1 ��(/$,%'^� ��$ 2l^�� � $ � 5 � () b$ � ('���,+$!%'��� � (/.Y.m ��('( 2n^�� � 5 �� ! � �! �P-�o; ���>= ?BH \A@ i ?pKqBEDEF b-G e G!H DrU7KMLON��OPRQ � stS ��^� ���� ��� a _ � � ^ � � ���!('%)���7 ������ �$ - �!� a � � ^��!%'������� �

� � �Yu � � ! 1r� � ���:8 � ��� � ���Y� ()��v�+ ! !�����w ��� 77�xu %'� ������ � � �IR� ��^�('�C$,������ ! Y$ � � � 8�!���b O. � �y� � � 5 � 26^�$ � � �, ^ � % 5 .m+��()$98z$ � ('���! �#$O��%' 9$,�!%)&���$!��� 5 � �b^���$A+$!% � �� �P-� 7R{1 �M����%/$ � ��� �B G H \A\ � i ? H>@|G~}Eb \6bm� \ ? b i \&b = ?<?JK�=�e ; KM� �D ] F G �@ i K ] G ?�P \AG BED G~} K G>] F�K b i ? H d|K Ui H!= H6G dO� e e i ? G i @ d7�*= Dn�t�i��d��#S�s#s �^< � �� - _ - a �����Cv\� � ���W���{��� a�a � �<� � 7 �d� � ��� � 7R{1 ����� ! �

� � � � ^ ! j�� � �ii"����V ��� � � � +&���� ��R � 26^�$ � ���! ^ � % 5 ^�� � $ � 5 � () y^�� � " +&�( 2� !� 5 ����� �#+%'�� 9$[�426�<+�b% 5 ��" ���! ! �!%)�� �g� � �� 77� ����^�^���(��R����%/$ � ���{; ���>= ?x� \A@i ?pKqBEDAF b~G e G!H D#I��y�dLOQYKML�N��OPgS � ��" � ('���b� ����� � .OX \ � b�� B \�Z7GCb�\A@ i ?K G>] F �Ub�\ B �� i \ ?x� \ �+^< ���� a ��_ ^ �� � ^��!%)�������~8 � ���!(h+��� ^ - _ ^ � 1 2�� �!� ^ �

� � (h �!� ! ��� �� � (h �t()�%2 � � >.0�����<+�!��%)��� 5 � 26^�$ � ���, ^ � % 5 � �%26 ��� � % 5 � ��� "{�<1 ���98v�%'�x� � 5�� ����()%'��� � �<  � 5 ��: ��� 1 ���!()%'� � � ��%)$ � �#����%)$ � �! �� �#S�¡`S Z = b i G ?W=�eK G>] F �Ub�\ B¢K G ? }%\ B \ ?x� \ U�£ � ? \ ���<¡Od¤�#S�¡`SCd ZL\C� N G B,¥Fd ZL\C� N G B,¥ �w" � 8

Page 75: McGill School Of Computer Science

� -('���b� - � � .�;�� � �� rK G ? }�� B � ?x� � FWB G � ��� ��� ? H>@ � ^< ���� � _ � � � 1¢� �#$!"+ ()� �� � ��� � 7 ��� ���!� �#7�������� ���� � �

� �Ru ! "{� � ����('���++�b^� ���� ��u ��( 5 ����" �!� � � 5 � ���!� 5 $,% � � � .� ()����&��, % 5 &�( � 5 � 5 � ���� �� �� +$,���t$f������&���� - � � � -�� a �

� �Ru � � ! j�� � ��i"����[ ��� u �6� ( ��� � � �!����8-&� !���l �� 5 ���!�¢����()$!%/8z^< ��$ 2 5 � �b^��:$A>8$,% � � �l� � �y��LOQYKMLON��7P U ; ���>= ?x� �A@ � ?pKqBEDAF�� G��'G!H D U � B G � ��� ��� ? H>@4G~}�y�dL�QYKMLON��OP ��� � � � �

��� +� ��� ! �� � ���C$!$,% � �� � ��� �A@ � ? � � � B � � ��� ��� F�= B���DoK G>] F � ��=���� G ? = ? � ; F#F � � ��!=���� G ? @ � ���<j $ � �� �%' �� j ��^� ��$!�b���t$ � . � � ��^���$!��� 5 %)��� 5 �� ��� 7 ^�^�()%'���1 +$ � ���b+$!% 5 �� � � � u ��%'3��[+��� � �� 9$,%/$,��$!� � . 5 %'��� 5 �+� � �����f� � ��� � �!�C"6%' !���"����! �% � � �

���!� j ��� ! j�� � � ����� � � � �#"��^W�i ��� ��� �A� j ��� 3 ��� � 1 ��(/$,%)^< ��$ 2n��� 5 � ����%)$!% � 8�< ()( 2o !� 5 �����r^�� � $ � 5 � (' %$m��&6$,���������p+&� �$!�, 5 $�' � � � � B G � ��� ��� ? H>@�G~} � �P �(� ?)��� � � ; ?<? � = � ; KM� �D ] F G�@ � �6]�G ?�P �AG BED G~} K G>] F � ��� ? H �t^< ���� ��� _ � � � � � % 5 +� � � � ()('%'� � %' ��+* _ -[1 324� � � � �

��� jYj � � � ! �� � �, ������� �A�+j +�b� 3+�!��� W�+j 3�%'����& � v� ��6%�� 1r� � %)��$i�i ��� � � &�%)� ��" / 85 %)���#$ ����()$!%'^<+��$ 2 5 � �b^��:$A+$!% � �� �v�%/$ � ��%) ��� ���� 9$���%'� � ��%)$ 2 ��� �|; ���>= ?x� �A@� ? KqBEDAF�� G��'G!H D#I��y�dL�QYKMLON��OP S#S ��" � ('������� ��� � � .�X � �,� � B ��ZOG � �A@ � ?K G>] F � � � B1 ��,� � ?x� � ��^� ���� � � _ * � �) ^���%'��� ���98 � ����(h ��� 1 � 5 � � �!� � �

��� j�1 � � ! �� � �! ������� �A�:j ��� 3 �!�x�t ���J� ��1 ���!��� �- ^<+�[^�� � ���,+�b ���b���������, (����(/$,%)^< ��$ 2 5 � ��^���$A>$,% � � � j ���!��%/.���!��"����! !% � � ��%) !^ � ��%'&�('������ | �:$,�����! ��� � ��� �

��� j�1 � � ! �� � �,+�b����� �A�j �b� 3 �!��� ��� � ��1 ������� � � � ��������% 5 +$!% � �o^��!%/"0"��� �� � ��������% 5 +$!% � �[^��!%/"0"��� �d� �!� � �

��� j "6� � � � !yj�� � � ����� �A� ����j ��� 3 �����w ��� ��� "+ � ��� � �,�>. ��1 ��()$!%'^<+��$ 2 5 � �V8^���$,+$,% � �� Y���� !����%'����^���%)"+ 5 2 � . �i 5 � ^< ��$ 2�1 7%)��^���$O+��� 5 � �!��� 5 $,���� ! � .$ � ������ ���()$ ��� � � ��( �M� �����! � 5 �+�{����%/$ � ����; ���>= ?x� �A@ � ? KqBEDAF�� G��'G!H D#IKMLON��OPRQ � s<¡ ��" � ()���b�2* � � .yX � �,� � B �|ZOG � �A@ � ? K G>] F � � � B ��,� � ?x� � �^< � �� � � _ � � � �) ^��!%)�������~8 � ���!(h+���x� ��� � �x� �`_ * a 7 ������ �$O� ��� �:�

Page 76: McGill School Of Computer Science

� �

��� " "6� � � � !¢j�� � � ����� ��� 8 �O��" " ����$! !�+�t ��� ��� " +����� � �,�+. ��7 ��%)�b^�� � "�����^�� � $ � 5 � (. � ������� � �� 9$,�,>$,%'���J^ � ! !�� ! �% � � � .R��%) 5 ����$!��( � �� �!%/$ � �� f+���* � �����������C8�,+('%'3�+$,% � �� �b� � j i"6%'� � � ��� +��� u 26� � � �!% 5 � ������%/$ � �� ��M; ���>= ?x� �A@� ?pKqBEDAF�� G��'G!H D#I��y�dLOQYKML�N��OP s<¡ ��" � ('���b� a - � .OX � �,� � B ��Z7G � �A@ � ?K G>] F � � � B� ��,� � ?x� � ��^� ���� � * � _ � - � � ^���%'��� ���98 � ����(h ���+� � � � � � _ � � 7 ^���%'(� � � �:�

��� � � � � � ! �� � ���C$!$!%��<� �)� ��%'� � � ��� �Y� ()���!��% 5 � �� ��� 1r� �� � � ��7 �< ^:$,%)" ��( 2J !� 5 ���������(/$,% 8-^< �9$ 2 5 � ��^���$,+$,% � � �O� � �B G � ��� ��� ? H>@bG~} � � P �(� ?)��D � � � H � ; ? �? � = � ; KM� �D ] F G�@ � �6] G ? � � P �AG BCD G~} K G>] F � � � ? H �:^< ���� � �`_ � - � ���� %'(' ����('^ � %'�� � ������ 26()"+ ��%h���* * _ * -�1 2 � � ��� �

��� � � � � ! �� � �, ������� 1r� � �! ���t('%)��� �f� 5 ��� �����b � �� ��� ��� 1�� �R����� � 1 ��()$!%/8 ��$ ��� ��%)$ 2� !� 5 �!�C$�8z&< ('( � $���('� 5 $,% � �� yv�%/$ � ()%'���� �Ov � ��� ��� �n����('% 1 �������������%)$ � ���d; ���>= ?x� �A@ � ? KqBCDAF�� G��'G!H DtI��y��LOQYKMLON��7P S � �x" � ('�����J� a � a � .X � �,� � B ��Z7G � �A@ � ? K G>] F � � � B ��,� � ?x� � �q^< � �� � * _#� ��� ^��!%)�������~8 � ���!(h+���� * _ � � 1 2*� � ��� �

��� � e ��� ! �f� � ��� ��� ��� �Y� ('���!��% 5 � � "�� eY�� � %)('�C":%/$,3+�� ��� 1r� ���< � � � �!%/"++$,�b%'�:8. � ���[+$!% � �*����$!�!%'�C"+ ( �J� ��� � � ; ?<? � = � �D ] F G�@ � �6] G ? � G>� ? �#=���� G ? @JG~}K G>] F � � � B ��,� � ?x� � � � QYK� � S�� � �W^� ���� - � _ � ��� � 7 (' �b%/$ � �� � 5 $ � &W���� � � � ��� " " " � � ��^���$,��� :� 5 %'�C$ 2 � �!�� � �

��� �O1 7 ��� ! �f� � ��� ��� �� �Y� ('�:v� � !����� ���1 % 5 ('%��W ��� �f��7 v���!&�� 5 ��� � ���!%��< &�('�7 !�E85 ����$2 � �!%)���[+��� 5 � %'�C":%)���V !%)����()$, ����%)$ 2J%)��$ � �O^��!�� !��� 5 � � .M.m+��()$! � � �� " " " �W����%)$ � ��� � � � = ?<? � = � �D ] F G�@ � �6] G ? � G>� ? �#=���� G ? @�G~} K G>] F � � � B ��,� � ?x� ��� Q��,� G � � B��6����� � � �#S�s� � � G B�� � = ? � � Q L ��^<+���� � _ ��� � ��� a � ^���%'��� $!�!���C$i� ��%/$,� a�a � %'()" ��� ^���%'����� 1 j * a � � a �#� #7 �W� � ��� �#� "�" "� � ��^���$!��� :� 5 %)��$ 2 � �!�� ! �

��� � � a ! j�� � � ��� � � � �� �^�2:�b 9$,���� �� � ��&�('�E8~ �����#$ ^�� � &�()���� 1 ��()$!%'^< �9$ 2 5 � �V8^���$,+$,% � �� ¤ �� 5 ���!�V��� 5 � ����%/$,% � �< ()( 2�.0� � � ��%'� � ��%)$!%'�� � ��� 5 � 26^�$ � ���, ^ � %/85 +('( 2r.0� � � �[ � � �!%/$,%'�� ��� � ; ���>= ?x� �A@ � ? KqBCDAF�� G��'G!H D UyKML�N��OPRQ � stS �^< � �� �!� � _ � a � � ����('%'�x� 7 ������ �$O� �!� a �� ^��!%'������� �

Page 77: McGill School Of Computer Science

���

� jYj � � � -�! 7y�Wj � �#$,%) ���� ��j �� ��b����$i��� � � �, ��� ��(��W ��� 1r� �R����� � �2� vp$ � � ����.0��� 5 $,% � �¢ �� 5 ���!��( 2 � � � 7 � 1 �W����%)$ � ��� � B G � ��� ��� ? H>@�G~} � � � �(� ?)�mD � @ � � � = ?<? � = � ; KM� �D ] F G�@ � �:] G ? � � P �AG BED G~} K G>] F � ��� ? H U�� G ?)�mB��� = � �� � �� � � � � K = ?W=��#= � � = D¢� � ��� � � �#S#S�� ��^� ���� � * * _�� �w�2��v � � ���W�M���� a�a � ��� #7 �d� � � -�� 7 � 1 � �!�� � �

� � �¤1 � ��� 1r�#� %/$,3�%�� 1r� � %'�9$i�t ����� �:1 ���!��� � �M�! ��%'��� 5 � �!��� 5 $!���� � �. � � ^��!%/"+ 5 2�%'���� 5 � ����%/$,% � �< (��y��()$!%/8-^� ��$ 2 5 � ��^���$,+$,% � � � X � �,� � B ��Z7G � �A@ � ?nK G>] F � � � B ��,� � ?x� � �x� - � * )� *:� _ � � �x� �!� � �

� � �¤1 � ��� 1r� � %/$,3�%�� 1r� � %)��$��w ��� � �q1 ���!��� � ���,+��%'��� 5 � ���!� 5 $,���� ! 7. � ��^��!%/" 5 2%'����� 5 � ����%/$,% � �< (�����(/$,% 8-^< �9$ 2 5 � �b^��:$A+$!% � � � � �!��� 5 $!���J" ���! �% � � � 7 "+ %/8(h+&�('�f.0� � � +��$ ��� �! ��d� � � � �

� �q1 � ��� �M��� ��()���b �� ��� W�x1 % 5 +('% � � ^�$,%)�[+(d ('� � �!%/$ � �� . � � � 263i �#$!%'���7 �������C8�����#$ � � � � B G ��¤��T�� � ?<?�� KM� �D ] F � G ? P �AG BED G~} K G>] F � � � ? H �^< � �� 2� � * _ � � *:��� ��� � � � � �2�,&:^W� 5 $,������������%)����$,%'��� � .x$ � %' ()� � �!%/$ � �g%' 5 � �� �$, �#$%)�b� 26� 5 � � � � � �� ���C$-v � �!� � .��|� � ���� %/.�$ � ���6����&���� � .x.m ��(/$, %' f('�� � Y$ � ����� �w ��� %)� � + 26� 5 � � � � � �� O���C$-v � ��� � .���� � ���� �%). $ � ��t����&W��� � .�.m ��(/$, �%) 2()�� � �$ � ����� -��

� � � � � � 7y�(� � ��% � �>���� � � �> � � $ � �R ��� e � �¤� $A � 7 ^��, 5 $,% 5 (2 !� 5 ����$�" � $,%'��� 5 � �����f. � �(' �!� �2 5 ()�¤��()� 5 $,% � �� � X � �,� � B �¤ZOG � �A@ � ? K G>] F � � � B. ��,� � ?x� � �� ��� * - - _���� �d� � � ��

� � � ��� 1r� e � � �, ���6()%'� ��� 1r� e �� ��%/$,��� � � � �b���� !%)���r ����%'��^�('���b���t$,+$,% � �� . J !� 5 ������ � 5 $!% � � !���9"6% 5 � �y� � �A� � � P�B!= ? @ =6�,��� G ? @VG ? G~} � � = B � � ?��H � ? ��� B�� ? H �:" � ('����� * *+$ � 'C��^< ���� a * _ � *:� 1 2*� � � � �

� �O� e ��� � ���� �����< � � � ��R� +�!� 5 �t%�� �7� eY�,iv 5 302:��� ��� � �� &�%'� �� 2� &��� �$b ���� / 5 %'���#$ � ��%'��� � . #7 .0��� 5 $!% � �� �w� ������ (xe � &�('%)$!3 �#����%)$ � ��� ���>= ?x� �A@� ? �CBEDEF�� G��'G!H D � KMLON��OPRQ � S � U2� � � = ?<? � = � � ?)� � BE?W=�� � G ?W= � �CBEDAF�� G��'G!H D� G ? }�� B � ?x� ��� �= ?)�z=���= B �A= B�= � K = � � }iG BE?)�m= � � � ��H �#@ ����s#���#� � �#S#S � UFWB G � ��� ��� ? H>@ �f" � ('����� ��� a � � .¢X � �,� � B � ZOG � �A@ � ? K G>] F � � � B< ��,� � ?x� � �

Page 78: McGill School Of Computer Science

� �^< � �� V� � � _ � � *:� � ����('%)��� � ���!�b ��2 c � ��%'����('&W������� � �����[+��2 c� � ��� � ����fekc���$ 5 � �w� �!� � �) ^��!%)�������~8 � ���!(h+� �

� �O� e ��� & � �� � �����< � � � ��M� �!� 5 �t%�� �7� eY�,iv 5 302:���M ��� � � &�%)� � 2� &��� �$O$ � �!�C8 ��� ('� j + �%'���<>$,������ �k� �\�2��('% 1 ���������{����%/$ � ��� ���>= ?x� �A@ � ?g�CBEDAF��� G��'G!H D � �y��LOQYKMLON��7P � S � Ud�E?)� � BE?W=���� G ?W= � K G ? }�� B � ?x� ��G ? � �)� P �)�AG BED= ? � F#F � ���!=���� G ? G~} KqBEDAF�� G!H B�=CF � ����P � � � ?)� � ���A@�� �= B�= H6G�@A@ = � �F�=�� ? � � = D� �t�t� � � �#S#S � U�FWB G � ��� ��� ? H>@ �i" � ()���b�2� a � a � .xX � �,� � B � Z7G � �A@ � ?¢K G>] F � � � B ��,� � ?x� � ��^<+���� � - _ �� ��� � ����('%'�x� � ���!�b ��2�c � ��%)����()&����!��� � �����[+��2 c � ��� � ���<�fe c��C$ 5 � �d� �!� � �� ^��!%'�������~8 � ����(h � �

� �O1�u � � � ��� �Y� ('���!��% 5 � � ��<1 % 5 ()%��6 ��� 77�:u %)�������� � � � ��� v $ � ^�(h 2J+��2[�b���#$A (�# ����� 7 5 � �b^�()��$!������ ! �$ � � � �!���k. � ��^�� � $ � 5 � (' qv�%)$ �V��� ���� �$R�[ � � �!%/$ 2 �� � 7 � 1 ������%)$ � ��� � B G � ��� ��� ? H>@�G~} � �)� ?)� ? � � ��� ?)� � = ?<? � = � KM� �D ] F G �@ � �6] G ?kP �)�AG BED G~} K G>] F � ��� ? H �fZ �C� N G B,¥lK � ��D � �*= D�� ������¡ � �#S�s<¡ �^< � �� *:��� _ * * � ������v � � �!�����{��� a�a � ��� #7 �d� � � �6� 7 � 1 � �!�� ! �

� �� � � � � �� � �����<+� � � 1r� ���� &�%)���x+����� � +&�%'� � %'��^�('% �<��� � + ���4.m+ �$�8$,�! 5 �Y����(/$,%)^< ��$ 2 5 � ��^���$,+$,% � �� �v�%/$ � ^�^�()% 5 >$,% � �� x$ � $ � �!�� ��� ()� 5 � 26^�$ � 8���! ^ � 2 �q� � � B G �����¡�� � KM� �D ] F G�@ � �6] G ? � B,� ?x�,� F � �A@7G~}�� � @ �mB�� � � � � �K G>] F � � � ? H � �fQ � K � ��� � � � �

� � � * � � �C$,��� � ���b����()({ ��� 1 � � � ���� � � � %'� � ( 2����� �%'('%)���#$ 5 � ���!� 5 $ � �� b. � �^ � ( 26� � ��%h+(' �r�E? }iG B ] =���� G ? � B G � �A@A@ � ? H X � ��� � B @ � - $ - ' /� � �`_ � �:- � ��^:8$,����&W���Y� � � * �

� �f1 � � � 1r� � %'��$� ���b� �61 ���!��� � � � ��^�()��$,� 5 � �, 5 $,���!%'3�+$,% � � � .x ��"����! ! �!%)�� $ � 8('���, &�('��%'�����������! (t����(/$,%'^� ��$ 2 5 � ��^���$,+$,% � �� ��� � � B G �� KM� �fQ � K � S�¡ �^< � �� * ��_ :- �x� �!� �:�

� � e � ��� � � � � %� ��� "{� e��� � %)('��"6%/$,3 �<� ��^�� � " ������^�^W����& � ������ � ��%'��. � ���[>$,% � �:8$ � � � ����$,% 5 ^��!%)"++$!� %)��. � ���[+$!% � � ����$!�!%'�C"+ ( $m�,&6$!��������� &� 9$,�, 5 $�' � � � �PRQYK U KM� �D ] F G�@ � �:] G ? P �)�AG BED G~} K G>] F � � � ? H � �PRQYK � ��� � � � �

� e � � � � "{� eY�� � %)('�C":%/$,3l ��� �� � 9$,� � "6 ���2 � ��^�()% 5 >$,% � �p%' � � � ������������

:� � � " �<>$A &<+ !� � 5 � ��^���$A>$,% � �< ('( 2#8-^���%)"++$,�R%'�:. � �!�b+$,% � ������$,��%'�C" +( ��� �

Page 79: McGill School Of Computer Science

� �

� B G � ��� ��� ? H>@7G~} � �)� � s � � ?<? � = � �D ] F G�@ � �6]�G ? � G>� ? �#=���� G ? @7G~} K G>] �F � � � B ��,� � ?x� � � � QYK� �9S�¡ � ��^� ���� � - _ �! �� � 7 (' ��%)$ � �� � 5 $ � &����0* a _* *J� � � �:��� " " " � � ��^���$,��� :� 5 %'�C$ 2 � �!�� � �

� e u � � 1r� e� � 5 � �����V ��� 7y�Mu %'�������! � � � � �n !^<+�o^�� � ���! �b � � � � B G �� G~} ��mB � �,� � B � � ?�K G>] F � � � � �mD ��^� ���� �� a * _ ����� �x� � � ��

� 1 � � � � � 7y�#���t1 ������3��� �� �M� � � � � �Y� �! 5 ��� $i�t ��� W� 7y� � +�� �$ � ��� � � = ? � � G�G ¥ G~}=CF#F � � � �V�CBEDAF�� G!H B�=CF � D>� � � � � � � �!�� ! !����%'�� � ����%) 5 ����$!�2�b+$ � ���b+$,% 5 ��� %)$, � ^�^�('% 5 +$,% � �� � � � � ���� � �� * a a�a � � u � � � �!^ � �!+$,� � ()"6� � � � � 5 +$ � �x� � !�- ��8 � � � �:��� #7 �d� �!� �:�

� 2 a�a � ��� 8 ��� 2:� � ��� � � �!%/" >$,�|�<+$,>8-&<+ !� � ������%'�� � 1 9$,���V$ � �� !%) �� 1 5 � %)('(����%)"����! �%)$ 2���* a�a�a � $ � &W�Y^���&�('%' � ��� �

� �� � ��� � �� &�%'�� ��� 1r��� ���:8 � � � � ���!%��< &�('�� �� 5 �!��$y � +�!%'���¢+���r�y��()$!%'^< �9$ 2^�� � $ � 5 � () 2v�%/$ �4��� ���� 9$��[ � � �!%/$ 2 �f� � 7 � 1 ������%/$ � ��� � B G � ��� ��� ? H>@VG~} � �)�� � H � � � ?<? � = � KM� �D ] F G�@ � �:] G ? �B�� ?x�,� F � �A@�G~} � � @ ��B�� � � � � ��K G>] �F � � � ? H U�� � ][G ?)� G ? � � � � B���= � K = ?W=��#= � ��H �#@ � �����t� � � �#S�stS �#^� ���� �! _� � ������v � � �!�����{��� a�a � ��� #7 �d� � � � � 7 � 1 � �!�� ! �

� 6� - � � � �1"{��:� ��� � � � 7 �b+$ � ���b+$,% 5 (Y$ � � � � 2 � . 5 � ��������% 5 +$!% � � � " � 8('���b� * � ��^< � �� �� �`_ - * � � * _ � ��� �x� � - � �

� 6� � ��� 7y� :� ��%'� �!�2� v�$ � � �!�R{ !� 5 ����$ �wK G>]�]�� ?)���!=���� G ? @G~} � �)� @A@�G �,�m=���� G ?}iG BVK G>] F � � � ? H �*=6� � � ? � BED ��*�*+$9��� ' � � * _ � � ��� � " ����&W���O� � � � �

� ^�% � - � 1r�� ^�%/"+ � ��K = � � �#� �#@ � � B � � ��� � � G ?��>��u �#77��� ��� �! ��%'��� � � 5 � ���2��v � � �!���� � � -��

� � � � 7y� ��%)$ � ��� 7y�� $,%'� ('% 5 �<1 ��()$,%)^< �9$ 2 5 � �b^���$A+$!% � �y��� 5 � ����%)$!% � �� ('( 2Y !�E85 ���!�2 �# %)�� �$���� +��"����! ,+� 2V �$!�!� 5 $,������ � � � 26^�$ � ( � ��2 � � 8 � � � *:� 5 ���:� (� . � � ��^���$,��� 5 %)��� 5 � � 1 5 � %)('(��2��%)" ���� !%)$ 2 � 1¢� �#$,���i (�� � �< ������ � � � �

� $,% � ��� j��� O� $!%'�� � � ��KqBEDEF�� G!H B�=CF � D4P �)�AG BEDV= ? �=�B�=6�,����� � � � � � ���� � �� � � 5 +$ � �x��� � ��� �

� �M ^ � ��� 7y� �M ^�^ � " "+ ('��+$,% � �¢���y. � � 5 $,% � �� f ����¤� � ���("���� Y^��!%/"0"���� �O1 "��� � %'���7����b���)$!�!%' �� �:����%/"����! !%/$�"����� 1¢� �#$!�#"�i+(�� 7 ������ 9$y� �!��� �

Page 80: McGill School Of Computer Science

�!�

� � � ��* � 7y� � � � ����� � � $ � 5 � (' w. � �M �� 5 ���!� 5 � �b^���$A+$!% � �� $0�,&6$,���������V+&� �$!�, 5 $�' �:� �� � � � ?<? � = � �D ] F G�@ � �6]�G ? � G>� ? �#=�� � G ? @�G~} K G>] F � � � B ��,� � ?x� � �>^< ���� � � a _ � � - � � � % 5 � � � � ('('%)� � %) ��:� � "�����&������ � ��* ��� "�" " � � ��^���$!��� :� 5 %)��$ 2� �!�� ! �