

		**********************************
		*				 *
		*	ץ	 *
		*				 *
		**********************************


1. ץ߷

ץ񤯤äơΤ褦ʤȤܻؤ:
(a) ®٤ʤ٤夲롣
(b) ɤϤФƤ⤢٤®٤ݤ롣
(c) ʤ٤礭Ϥ򰷤褦ˤ롣
(d) encode ֤򤢤ٵˤƤ⡢¾α黻ν®٤夲롣
    (ץˤ encode γϾǤȤȤǰ
     Ƭ֤)




2. ɽΥǡ¤

  顢Ϳ줿ץͥåȥŸݻencode η
̤ȤƥͥåȥؤΥȥ꡼֤ȤȤͤꤵ
ҸƤӽФηǤ̵Ǥ롣äơɽϡΡץǡ¤
ȤݻʤФʤʤ

  ɽΥǡ¤ϡϤ黻ȿǤ˱黻κݤ˱黻
θ򤷤ʤƤ黻̤ˤΥǡ¤Ȥ˾
ޤޥ礪Ӥα黻ˤϼΤ褦ʤΤ: 
(a) Ϳޥ礪ӱ黻̤礭̤ΤǤ롣
(b) Ǵ֤Υޥå󥰤ɬפȤ黻(intersection, difference)롣
(c) ƱǤθĿ˴ط黻(intersection, difference, contraction)
    롣

  (a)顢κݤˤ餫礭ꤷʤƤ褤ǡ¤Ȥ
ꥹȤѤ뤳Ȥˤ(b)顢2Ĥν֤ƱǤ򸫤Ĥ䤹褦
˥ꥹ򥽡Ȥ뤳Ȥˤ(c)顢ƱǤθĿʬ
ˡƱǤθĿݻ뤳Ȥˤ

  ޤȤȡܥץѤɽϡǤȤθĿΥڥΥꥹ
ǡڥǤ礭ǥȤƤ롣
  ex.) [1,5,2,3,32,2,32,5,2,1]  [(1,2), (2,3), (3,1), (5,2), (32,2)]
ǤȸĿΥڥ¤˥ե󥯥ѤΤϡꥹȤ٥Ѥ
®äǤ롣ޤ˥ϥå夷ơ1ܤǤϤʤʣΥ
ȤĤȤǡ黻ˤäƤϷ׻̤Υ򲼤뤫⤷ʤ
Хإåɤͤȼ»֤ṳ̂ˤϤĤʤꤽʤäΤǺѤʤ







3. ץ

  ۤȤɤνҸϡɽΥǡ¤ѤñľʹǤ롣
ץͥåȥϡͥåȥ/ɽѴХإåɤȤʤ
Ѥʤä


(A) encode

  ϥꥹȤ򥽡ȤƱǤ1ĤˤޤȤɽ롣Ȥϡ
åȤȥޡȤ˱ؤƤ롣

  åȤǤϡꥹȤƬ3ǤΤ礭Ǥʬζ
Ȥ뤳Ȥǡʤ٤ʬ2ĤΥꥹȤ礭·֤û
̤ޤäƤ롣

  åȤǤϡϥꥹȤȤƤ褦ʾν
֤ĹʤäƤޤǡΤ褦ʾˤϥޡȤѤ
롣ޡȤϡǽΥޡñ̤1ǤñޡȤǤϤʤ
¸ߤ뾺礢뤤Ϲ߽ʬѤ뼫ޡȤѤ

  åȤȥޡȤؤϡΤ褦˹Ԥʤޤϥꥹ
ȤƬ100Ǥ¸ߤ뾺/߽θĿĴ٤롣
ex.) ϥꥹ [1,5,2,3,32,2,32,5,2,1] ξ硢
 : [1,5], [2,3,32], [2,32], [5], [2], [1] 6ġ
 ߽: [1], [5,2], [3], [32,2], [32,5,2,1] 5ġ
θĿپʤ(11Ĥξ礭)ˤϾ
ޡȤԤʤ߽󤬾ʤˤϹ߽Ѥޡ
ȤԤʤʳξˤϥåȤԤʤܥץǤϡ
ϥꥹȤƬ100ǤǤξ/߽θĿ30̤ǤХޡȤ
Ѥ롣


(B) decode

  ɽƬ֤˥ꥹȤѴ롣ǥɷ̤ϥȤ줿ꥹ
ȤȤʤ롣


(C) union, intersection, difference

  3ĤνҸȤ⡢2ĤΥȤ줿󤫤1ĤΥȤ줿פȤ
Ū˥ޡȤȻԤʤ


(D) contraction

  ɽǤθĿ1˽񤭴롣


(E) choose

  ɽƬ1ǤȤꡢĿ1餹ƬǤθĿ1ΤȤϡ
Υڥɽ롣





4. ¹Է

  ƥȲźդƤ뿳ץѤƼ¹ԤȤμ¹
֤򼨤Ķ Sparc Station 20 + SunOS4.1.3 + klic2.004 + gcc2.7.2.1
ǡ-O2 -n դƥѥ뤷-H 4m դƼ¹Ԥ

ϥꥹĹ		/bin/time Ǥη¬
 10,000		2.2 real         1.4 user         0.3 sys
 20,000		3.6 real         2.9 user         0.6 sys
 30,000		5.3 real         4.2 user         1.0 sys
 40,000		7.5 real         6.1 user         1.3 sys
 50,000		9.6 real         7.2 user         2.2 sys
 60,000		10.9 real         8.9 user         1.9 sys
 70,000		12.2 real        10.2 user         1.9 sys
 80,000		15.0 real        12.4 user         2.5 sys
 90,000		18.0 real        14.6 user         3.2 sys
100,000		19.3 real        15.3 user         4.0 sys

ϥꥹĹϡ 360,000 ǤޤưǽǤ뤳Ȥǧ





5. ʸ

  ץꡢ˼ΤΤ򻲹ͤˤ
(a) KLIC ֽƥ -- KL1  --
(b) ܸ KLIC Emacs Info




[]

  ǿƱξ֤ץϤ᤿빽ñ˺줿β
ϰʳ;Ϥʤԡɤɵ᤹ȤɤƱ褦ʥץ
ˤʤäƤޤΤǤϤʤȿۤǤ롣⥸塼ǤϤʤơץ
Τ餻Ƥ館СäȤʤΤ줿Ȼפޤ
KLIC Υե󥹥ޥ˥奢äȽ¤ߤȻפä
