課題1:締切りは11月1日。管理工学科事務室に提出されたし。

candidate-eliminationアルゴリズムをインプリメントしたJavaプログラムがある。 英国Salford大の Prof. Sunil Vadera の下で、 学生 Jan Rowley がプロジェクト課題として作成したものである。 現在では公開されていないため、この文書のあるディレクトリに Vs.html としておく。 これを実行してみよ。

その最終結果を印刷し、その過程を説明せよ。

但し、これらには誤りがある(一目ではわからないが)。下記注意事項を参考にして修正した後、 実行、結果の印刷、報告作成を行って下さい。

レポートは、A4用紙1〜2ページに簡潔に纏めよ。また、活字相当で記されることを要す。

以上(2004.10.18)


注意1:
Javaソースプログラムは, 本文書のディレクトリ内の Vspace.zip に含まれています。


注意2:
上記プログラムには不適当なところがあります(例題ではちゃんと動いているように見えますが。 下記注意4参照のこと)。
以下の点を修正して使ってください。

Vs.java(及び Vs1.java)内
samp = ( Sample ) en.nextElement ( ) ;

try{ samp = ( Sample ) en.nextElement ( ) ; }
catch (Exception e) { 
comentry.appendText ( "The examples has been exhausted before the termination condition is reached " ) ;
return true ; 
}
とする(インデントはそれなりにつけてください)。
(老婆心ながら comentary の正しい綴りは commentary です)

ResturantExample.java (及び shapeExample.java)内
(老婆心ながら、restaurant が正しい綴りです)
atts = new Attribute[6] ;

atts = new Attribute[attNames.length] ;
に、

for ( int count = 0 ; count <=5 ;count++){

for ( int count = 0 ; count <=attNames.length-1 ;count++){
に、

for ( int count = 1 ; count <5 ;count++){

for ( int count = 1 ; count <attNames.length-1 ;count++){
に、

それぞれ修正してください(最後のメソッドは使用していないようなので最後の修正はしなくても 大丈夫ですが)。


注意3:
そして、

Vs.java (または Vs1.java)中の
//Get the samples
の次の行の修正と
ResturantExample.java (または shapeExample.java)内の
attNames と Sample1〜 の修正だけになります(多分)。
勿論、html ファイルの修正が残っていますが。

この修正のとき、
・attNamesの最初は id でなければいけない
 ・スポーツをするか否か(その事例が正例か負例か)の指定をするところは Class でなければいけない
・Classに対応する値(属性値)は yes か no でなければいけない(YesやNoはだめ)
ということに注意して下さい。


注意4:
その他下記プログラムに誤りがあります。修正しましたのでこちらを使用してください。
なお、不整合な事例を検出しないという誤りが残っています。ご承知おきのほど。
誤りはまだ残っていそうです。気が付きましたらご連絡ください。

Model.java
GenTree.java
SpecModel.java

注意5:
印刷するなら appletviewer も試みて下さい。この方が使いやすいかもしれません。


以上(2004.10.18)