設計者の意志決定過程の解析に関する研究 設計者の癖の研究

Page 1

U9105 早稲 田大学理 工学部建 築学科 事業論文 指 導教授 渡 辺仁史

隻計者 の意志決定過程 の解析 に関す る研究 こ 村謙

: :

ヒ 計者の癖の研究 ギ

.:

:

・ :ヽ

ル・ i l ¨

‐ ,争 :: ゞ ‘↑ .

│「

lヽ

1,1 ` ギ



1991年 度事業論文

設計者 の意志決定過程 の解析 に関す る研究 設 計 者 の 癖 の 分析

早稲 田

G8D“ 9

木村

91.IQ31


文章構成 はじめに 設計者の癖 意志決定過程の解明 機械学習 コンピュータの新たな可能性 研究 目的 機械学 習に つ いて

4

機械学習 とは 概念 クラスタリング 概念 クラスタリングの例 CLS/Concept Learning System αD分 野における機械学習の応用の現状 研究方法

9

コンピュータ・プログラム ケースス タディー 研究結果 出来上がった決定木 決定木図の見方 各決定木中の扉の種類/数 各決定木の機の数

18

考察 枝の長 さによる評価 校の数による評価 分類基準 について 「階測 による分類 分類の順序 「引き違 い戸Jに ついての収東 まとめ おわ りに

21

資料

22


は じめ に

設計者 は一体 どのような意志決定の過程を経て一つの建築を完成 させるのだろうか。 このこと が解明されれば多 くの人の設計の指針 となるであろうし、ひいては自動設計の手がか りともなる と思 われ、非常 に興味深い題材 である。

設 計 者 の癖 建築の設計 において設計者 は与え られた状況を分析 し、それをもとに条件を設定 し、その条件 を満たす空間を作 り出 してゆ くのである。その過程 で様 々な要素を考慮 し、適切な理論に基づい て形や機能を決定 して設計を進めてゆ く。一方、中には本人が特 に意識せず になされた決定 もあ る。 このような決定は、設計者本人にもどのような道筋で導 き出されたのか判然 としない場合が 多い。そこで、設計者 はそれが自分の癖 である、と認識 したりす るものである。癖 とはこのよう な一見あい まい な決定の結果の表われであることが多い。 ところが、そのように意識的に行 われていない決定で も、設計行為 においては、その背後 に様 々な要素が関係 した理論が存在するはずである。癖 についていえば、それは単なる個人の嗜好で はな く、あるルールに基づいた意志決定の結果であると思われる。 このように考えれば、癖 とい うのはとらえどころのないあいまいなものではなく、十分な根拠 を持 つ理論の結果の現象 と見 る ことができる。

意志決 定過程 の解 明 本論文の 目指す ところは設計者の意志決定過程 の解明であるが、今回はその発端 として、設計 者 の癖 について研究するものとする。先のように考 えれば、癖 とい うもの も妥当な意志決定の過 程 の結果であると予想で きるので、意志決定に関する研究の適当な事例 となるはずである。 さて、前 に述べ たように、癖 の背後 にもあるルールが潜んでいると思われるが、 どのようなア プローチをとればそのルールを解明できるのであろ うか。厳密 に解明 しようとすれば認知科学、 心理学等さまざまな分野からのアプローチが考えられる。本論支では、それらの中から最 も興味 深いアプローチをとることにす る。それが、 コンピュータによる機械学習である。

1‐

渡辺仁史研究室 1991年 度卒業論文


機 械学 習 一般にコンピュータは万能であるかのような幻想を持つ人も多いようだが、 コンピュータ自体 はそれ単体 では何 もできない。ましてや、学習などを行 うことはないのである。 コンピュー タの 原理 は電卓のそれと同 じであ り、極めて単純 なものである。では、 コンピュー タによる機械学習 とはどのようなことを指すのか。 機械学習 とは、学習を知識の体系化 ととらえ、その知識の体系化を機械を利用 して行 うことで ある。つまり、 コンピュータによる機械学習とは、 コンピュータを利用 して知識を体系化す るこ とである。 では、何故 コンピュータを用いるのか。知識の体系化 を進める際 には、大量のデータについて、 その各々の特徴 を分析 し、各データ間の関係、類似性を調べ、それをもとにデータの分類、体系 化 を行 うこととなるのである。 コンピュータはもともと大量のデータを処理す ることを目的 とし て開発 されたもので、 このような作業 には “うってつけ"な のである。 もちろん、 コンピュータ を用 いず純粋 に人間の手のみによって作業を進めても、同じ結果 は得 られるであろうが、それに は莫大 な労力、時間が費やされることとなるであろう。 しか し、 コンピュー タによる体系化 に向 かない知識 というもの も当然予想され、全ての場面 においてこの技術を利用 できるものではない。 どのようなケースにこの技術を利用す るかの判断は非常に重要であ り、また今後の課題で もある。

コ ン ピュー タの 新 た な可 能 性 一般的 に、 コンピュー タを利用 した問題解決 においては、与条件からあるルールにもとづいて 結果を得 てお り、 このルールは人間が既知の ものとして用意するものである。つま り、問題 の解 決法 は人間が考 えコンピュータは純粋 に計算機 として用い られているのである。 しか し、機械学 習 においてはこれ と全 く異なり、与条件 と結果からルールを導 き出す もので、いわば、問題 の解 決法をコンピュータが導 き出そうとす るのである。 ここでは、 コンピュータが人間のより高度な 思考 の補助を行 うのである。 このように、機械学習 は今 まで人間が行 っていた思考を代行する可能性を示 してお り、 コンピ ュー タの新 しい可能性を開 く技術 である。今後の展開が非常 に楽 しみな分野 である。 機械学習については多 くの人工知能の学者が研究 しているものでありながら、特 に我が国では、 今 まで設計分野での応用技術 として用 いられることがほとんどなかった。いずれにしても、 こう した専門知識を管理する技術 は人間の創造力を補助 し、設計をより適切 に、かつ、分かりやす く するための道具 となるはずである。

‐2‐

渡辺仁史研究室 1991年 度卒業論文


研 究 目的

本研究 の 目的 は、機械学習 の手法 の一つで ある概念 クラス タリングの技術 を応用 し、建築設計 上の様 々 な要素間の制約や ル ー ルをコンピュー タ自身 に学習 させ ることで、設計者 の設計 上の癖 や潜在的な意志決定の過程 を解 明 し、 さらに、概念 クラスタ リングの有効性 を明 らかにす ること にある。 この結果 は、 自動設計 にお ける設計者 の嗜好、癖 の認識、再現 にも応用す ることができ、その ための研究 も目的の一つである。 さらに、将来渡辺仁史研究室 で 自動設計 システムとして開発 中 の 00AMSに 適応 される可能性 もあ り、00AMSの ための研究 の一環 としての性格 も持 つ。

‐3‐

渡辺仁史研究室 1991名 魔事業論文


機械学習 につ い て

機 械 学 習 とは 「熟練 した設計者 はよ りよい仕事をするが、 これはただ単によ り多 くの事実 を蓄積 したことに よるものではない。設計が進むにつれて、設計者 は事実 という形 で情報を蓄えながら、情報 の構 成 を変化 させるのである。学習 とはこの様 な変化のことである。」 Cearning and Creat市 ly in Design Systems:」 .S.Gero漸目Knowledge Based Design System)

従 来 の 問題解 決 の ア プ ロー チ で コ ン ピュ ー タを利 用 す る際 には、 コ ン ピュー タに条件 と問題 解

決 のルー ル を与 えなければな らなかった。 このルールは人間が考 え出 し、 コンピュー タはそのル ールに従 って動作す るのみであ った。逆 にい えば、人間が自分の能力だけで理解 できない ことは、 コンピュー タを用 いて も理解 で きなかったのである。結局、解法 のはっき りしない複雑 な問題が あ ったと きに、その一般的な解法 を見 つけだそうとすれば、 この問題 に関 して特男Uに 教育 された 専門家 の多大 な労力 と、長い時 間が要求 され たのである。 ところが、 コンピュー タ技術 の進歩 と 共 に、 このルール を導 きだす作 業 を コンピュー タに代行 させ よう とす る動 きがみ られるようにな った。 これが、機械学習 の概念 が誕生 した背景で ある。 人間の行 う学習 とは、ある蓄 え られた情報 を体系化す る行為 で あ り、機械学習 は基本的 にこの 作業 を代 行す るものである。要す るに、与 え られた情報 間の類似性 や差 異 を分析 し、それを もと に情報 の構造 を導 きだ し、情報 を体系化す るのである。現段階では、機械学習 の性能 は人間の学 習能力 には遠 く及 ばないが、原 理的には人 間 の学習 を再現 してお り、将来的 には人間の学習 能力 の多 くの部分 を再現 で きると思 われる。

概 念 クラ ス タ リ ン グ 概念クラスタリングとは機械学習の手法 の一つで、基本的に、与えられた事例をカテゴリーに 分ける手法 である。例えば、建築物をその建 てられた年代、建設地、建築家な どの要素をもとに 分類する際等 に用いることができる。その原理は単純で、まず、ある要素 に注 目して事例 を分類 し、次に、分類されたそれぞれの事例 を新 しい要素 に注 目して分類す ることを、事例が完全 に分 類 されるまで、あるいは、分類 の基準 となる要素がなくなるまで繰 り返すのである。 従来の機械学習の手法 では、情報 間の類似性 を数値 に置き換え、数値を基準 にした分類 を行 い、 分類 された ものの中か ら意味、 ルール を見 い だす作業は観察者 の手 に委 ね られてい た。 しか し、 問題解決 におい て必要なのは、数値的に正確 に分類 された情報ではな く、情報 の中 に隠れてい る ‐4‐

渡辺仁史研 究室 1991年 度事業論文


ルールであ り、情報の概念的な説明、解釈 である。概念 クラスタリングはその名の示す とお り、 この様な、情報の概念的な解釈 を得 ることを目的 として開発 された手法である。

分類基準

事例 の集合

要素A 要素B ●■ ■ ■ ● ● ● ● ●要素X 0●

第一段階の分類 要素Aを もとに分類

第 二段階の分類 要素Bを もとに分類

第 N段 階 の分類 要素Xを もとに分類 概念 クラス タリング仕組 み

概念 クラス タ リン グの例 概念クラスタリングの例として 以下の建築物を分類する過程を2つ 示す。

カサ・ ミラ

ア ン トニ オ・ ガ ウデ ィ…

パ ル セ ロナ・ パ ビ リオ ン

ス・

フ ア ン・ デ ル・ ロ ー エ

早稲 田大学図書館 サヴオア邸

ル・ コル ビジェ

落水荘

フランク・ ロイ ド・ ライ ト

イ ェール・ アー ト・ ギ ャラリ

ルイス・ カー ン

…5‐

渡辺仁史研究室 1991年 度卒業論文


1

オ ア サヴ 邸 落水荘

;:修 :昇

゛ す

隼iヮ ;ニ

ア卜 ・

早稲 田大学図書館

・ カ サ ミ ラ

まず 、年代 に注 目

イ ェール・ アー ト・ ギ ヤラ リー

次 に、建設地 に注 目

パ ルセ ロナ 。 パ ビ リオ ン

サ ヴオア邸

ォ サヴ ア 邸 落水荘

隼 ‡ ヮ ;ニ

ア卜 ・

早稲 田大学図書館

゛ :修 :昇 す チ

・ミ カ サ ラ

コル ビジ ェ パ ルセ ロナ・ パ ビリオ ン

サ ヴ ォア邸

イ ェ ール・ ア ー ト・ ギ ヤラ リー

‐6‐

渡辺仁史研究室 1991年 度卒業論文


これ らのカテ ゴ リー分 けの結果、最初 の例では、早稲田大学図書館 は 1920年 代 の 日本 に建 て られた作 品 と見 ることがで きるが、次 の例では建築家今井兼次 の作品で あると見 ることがで きる。 ここで どちらの分類 が よ り妥 当であるか といえば、 よ り簡潔 に分類 が行 われている、建築家 を分 類基準 とした分類 の方が適当 で あると思 われる。 この ように、概念 クラス タリングでは分類 の基 準 となる要素 に注 目する “ 順序 "が 重要 になって くる。 先 の ような分類 の妥当性 の評価法 として、枝 の長 さを基準 にす る方法 がある。多 くの場合、枝 の長 さが短 いほ ど間に無駄 な分類 を含 まないので、的確なルール を導 きだ してい ると考 え られる。 以上で見 てきたように、概念 クラス タリングは定量的 な分析 よ りも、定性的な分析 に適す るも ので、設計 におい ては数値 よって特徴 を表記で きない、数値 によって分類 で きない事象 も多 く、 今 回の 目的 には適当な手法 であると思 われる。 また、 この様 な特徴か ら、概念 クラス タリングは 設計 にお ける様 々 な局面で利用 されて行 くと予想 される。 さらに、従来の数値 による分析 では、ある特定 の範囲の中で類似性 な どを数量的 に表すが、数 値自体 に意味 はないのでその範囲外 の情報 と比較す るには別 の尺度 を用 い なければな らなかった。 ところが、概念 クラスタリングでは分類 の基準 に普遍的 な意味があるので、別 の情報 との比 較 に も同 じ尺度が用 い られる。

CLS/′ Concept Learning System 本研究 では概念 クラス タリングの手法 の うち、CLS(Concept Larning Sys"m)と 呼 ばれるもの を採用 した。CLSは 19“ 年 ハ ン ト、マー テイン、 ス トー ンの手 によって編み出 された一般法則 を導 き出す単純 な手法 で あ り、概念 クラス タリングの最 も基本 的な手法 である。CLSに もとづ く プログラムの 目的 は、専門的な知識、ルール を膨 大 なエグザ ンプルの中か ら導 き出す ことである。

CAD分 野 に お け る機 械 学 習 の応 用 の 現 状 世界的に見て設計分野 における機械学技術 の応用、自動設計技術 の開発 はほとんど行われてい ない ようである。CAD分 野の主な トビックを拾ってみても様 々なデー タを統合的 に扱 う方法 につ いて論 じられたものが主である。その中では、建築物のモデル (プ ロダクトモデル)を 計算機上 に構築 し、それを中心 とする統合化されたシステムについての研究が多いようである。 例えば、スウェーデンでは、施工や管理 において必要なあらゆる情報 に対応 しているモデルを 作 り、建設業界 でや りとりされている設計や施工、管理の情報を取 り扱 うための規格 を開発する プロジェク トがあ り、フインランドでは、プロダク トモデルのプロ トタイプが RATASモ デル (建 築物 プロダク トモデルの基本)に 基づいてい くつか開発されている。 これ らの研究 はリレー シヨナルデータベース、ハイパーメディア、製図 システムなど、異なる様々な種類 の技術 を取 り 入れ、統合化 して開発されているが、現在 の段階では、人工知能や機械学習の概念を採用 したも ‐7‐

渡辺仁史研究室 1991年 度卒業論文


のはほ とん ど見 られない。 これ らの研究 では、 プログク トモデルは来世紀 の コンピュー タ統合化 建設 において利用 される ー デ タベー スの 中で、建物 を表 わすデー タを構築す る方法 として将来性 があると考 え られてい る が、あ くまで、デー タの取扱 いが研究 のメイ ンテーマ となってい る。

以上のような現状から判断 して、本研究は設計分野における機械学習応用の研究の先駆け とな るものであり、意義あるものと考えている。

‐8‐

渡辺仁奥研究室 1991年 度事業給文


研究方 法

コ ン ピュ ー タ・ プ ロ グラム 本研究 に際 してコンピュー タの環境 としては Sm」 ltalkを 用い、概念 クラスタリングの理論を 基 にプログラムを作成 した。作成にあたっては、渡辺仁史研究室で以前に行 われた研究を参考 に した。なお、リス トは巻末 に掲載 した。

ケ ー ス ス タデ ィ ー ケーススタディーの設計者 として比較的多 くの図面の入手が可能であった吉坂隆正氏を選び、 今回は建物の用途を限定 し、自邸、竹田邸、樋口邸 (第 1期 )の 3軒 の住宅 についてデータを収 集 した。データとして各図面 よ り、扉 とそれに準ず る開口を抽出 し、その各 々について、開日の 種類、幅、壁面に対す る取 り付け位置、開回の内外の部屋 の用途、開国の位置する階数を調べた。 抽出 した開回の総数 は 42で ある。以下に収集 されたデータの概要 を示す。 開 回の種類 /総 数 扉なし

開 国の 幅

5

右 内開 き戸

3

右外 開 き戸

7

左 内開 き戸 左 外 開 き戸

2 9

両外開 き戸

1

両内開 き戸

0

600か ら9∞

普通

900か ら1800 広 い 1800以 上

とて も広 い

7

引 き違 い戸 引 き違 い戸 6枚

狭い

6

引戸

カー テ ン

600以 下

1

1 42

‐9

渡辺仁史研 究室 1991年 度卒業論文


壁面に対 す る取 り付 け位 置 開回の内側壁面 におけ る取 り付け位置 を指 し、壁面 を左右、中央 に 3分割 し、そのいづれの部 分 に取 り付 け られているかを調べ た。 部屋 の用途 開回の内外 の部屋 (空 間)の 用途 と しては次 の よ うな ものが認 め られた。外、 テラス、玄関、 廊下、居 間、食堂 、和室、寝室、子供部屋、老人室、洗面所、 トイ レ、脱衣室、風呂 、作業部屋、 押 し入 れ/ク ロゼット、収納 、機械室。 部屋の内外の判断基準 ある部屋 が 開回の内側 であるか外側 で あるかの基準 は、基本的 に建物 の奥 に位置す る部屋 の方 が内側 とな り、建物 の外が最も外側、廊 下もほとん どの場合 において外側 となってい る。 これは、 一般的な常識 に基 づいてい る と思われ妥 当である と判断 した。 以上の よ うに作成 されたプ ログラム によ り収集 したデー タを処理 し計算結果を得 た。処理 は、 分類 の基準 となる要素を入 れ換 えて 4回 試行 を行 った。 さらに、参考 と して、開日の内 と外 を入 れ換 えたデー タを追加 したものについ て も処理 を行 い結果を得 た。最後 に、 これ らの計算結果 を もとに扉 の選択 に関する決定木 を作成 し評価 を加 えた。

‐10…

措覇仁奥研究室 1991年 度卒業論文


研 究結果

出来 上 が っ た決 定木 各試行の結果をもとに作成 した決定木 を次頁以降 に示す。なお、各 図 におい て、最初 の分岐 に よる枝を誌面の都合により省略 してある。

決定木図の見方 第一の分類基準 第二の分類基準

第 nの 分類基準

赫回れ

扉 の種 類

一 月

"Rn劇

"Rou s輛

ngLln 6輛 "bu ttngDout翻

"Dh

右外 開 き戸 左 内開き戸 左外 開き戸 両外開き戸 両 内開 き戸

引戸

引 き違 い戸

開 回の幅

mttn

引 き違 い戸 6枚

耐0) ∈亘)∈亘)eD← γ

カー テ ン

扉 の取 付 け位 置

∈⊃⊂⊃(萱 ⊃

部屋の種類

CWa")(⊃ ⊂ )ρ 可 ① ④ ① ①

m000は

Cdrel")

¨)Ohn)mC⊃ ①

O

階数

000 渡辺仁史研究室 1991年 度卒業論文


決定木 1

‐12‐

渡辺仁史研 究室 1991年 度事業論文


決定木 2

‐13‐

渡辺仁史研究室 1991年 度卒業論文


超木 3

‐14‐

渡辺仁史研究室 1991年 度事業論文


決定木 4

‐15‐

渡辺仁史研究室 1991年 度卒業論文


決定木 5(参 考)

:1■ ■: ■│■ ■1■ ri■ │

‐16‐

渡辺仁史研 究室 1991年 度卒業論文

# 一 一 一

一 一 一 〓 一 一 ・一 一一一 一

鼈 螂


各決定木 中の扉 の種類/数 決定木

総数

決定木 2

1

実数 比率

実数

5

5

決定木 3

比率

実数 比率

実数 比率

5

1

5

1

1

3

1

扉な し

5

右内開 き戸

3

右外 開 き戸

7

4

左 内開 き戸

2

2

左外 開 き戸

9

9

両外 開 き戸

1

1

両内開 き戸

0

0

引戸

6

6

引 き違 い戸

7

3

引 き違 い戸 6枚

1

1

1

1

1

1

カー テ ン

1

1

1

1

1

1

1

4

0.57

0.57

42

1

1

ウコ

合計

1

決定木 4

5

0.71

4

0.57

2

1

2

1

2

9

1

9

1

9

1

1

1

1

1

0

0

0

1

6

1

5

0.83

4

0。

3

0。 43

4

0.57

1

0.43

35

3

0.43

35

35

67

34

注 :実 数 とは実際に決定木図中に出現した数で、比率は実数の総数に対する比率である。

各決定 木 の 枝 の 数 決定木 1

決定木 2 81

81

決定木 3 78

決定木 4 78

-17渡辺仁史研究室 1991年 度事業論文


考察

枝 の 長 さに よ る評 価 枝 の短い ものは多 くの場合的確なルールを導き出 していると思われる。例えば、決定木 1に お いて、枝 の長さが 1の 開口の内側が「玄関」 のケースには「右の押 し開き戸」がつ きそれ以外の 扉 は使用 されない、というルールが見いだせるが、枝の長 く延 びた「 トイ レ」 のケースについて は、ルールが見いだせない。

枝 の 数 に よ る評 価 ここでは、決定木の主となる評価基準 として枝の数を採用 した。 これは、枝 の数が少ないほど、 まとま りのある木が作成 されたと見 ることができるからである。

分類基準 につ いて 本研究では、開日の種類、幅、壁面に対す る取 り付け位置、開回の内外 の部屋の用途、開回の 位置する階数を分類基準 として選んだが、 この選択が適切であったかどうかの判断はできていな い。 しか し、現段階では扉の決定 に関する要素としてほかに適当なものが見あたらないため、あ る程度妥当なものであると考 えている。

「階数」 による分類 「階数」を基にした分類には有意なものは見られなかったので、この特徴は必要なかった (分 類 に関与 しない)と い える。

分類 の 順 序 分類基準 の選択順序 を変更す ることによ り様々な決定木が得 られるが、 この選択順序は、設計 者の思考過程の順序、あるいは意志決定の優先順位 と見 ることができる。決定木 1に ついてみれ ば、扉を選択する際に、まず内側の部屋の用途を考慮 し、次 に外側の部屋の用途、開口幅、取 り ‐18‐

渡辺仁史研究室 1991年 度卒業論文


付 け位置、階数 の順序 で決定 したと見 ることがで きる。 また、 開口幅 と取 り付 け位置 を入れ換え た決定木 2は 、決定木 1と 比較 して枝の長 さが短 くな ってお り、 よ り適切なルール を示 している と考 えられ るが 、 このこ とか ら、開口幅 よ りも取 り付 け位置 の方が意志決定 におい て優先順位 が 高 い と見 られる。

「引き違 い戸」 についての収東 結果から、「引 き違い戸」 については収束 が見 られ、これは引き違い戸 は和室 につ くとい うル ールを示 しているものと思われる。 しかし、常識的 に考 えて、 これはこの設計者独 自の癖 とい う よ りは一般的な指向である。 このように、ルールが見 いだせたとしても、それが特定 の設計者の 独 自の ものであるかどうかは判断できない。 この判断を行 うには、設計者を特定せずに収集され たデータをもとにした結果 を評価 しなければならないであろう。

ま とめ 今回 4つ の試行 を行 ったが、最終的に最も適当 と思われる決定木 は決定木 4で 、 これは枝 の数 が最も少 な く、開日の種類の収束も最も高い ものである。 この決定木から考 えられる設計者の主 な傾向 として以下のようなものが考えられる。 ・扉 の決定 に関する要素 の優先順位 は以下 の ようである。 (1)開 回の外側 の決定 (2)開 回の内側 の決定

(3)取 り付 け位 置 (4)開 口幅 。和室 には引 き違 い戸 が用 い られる。 ・ トイ レの扉 はケースバ イケースで決 められてい る。 扉 の数 がある程 度収束 してい れば、その決定木 はあるルール を導 き出せたと判断 で きると思わ れるが、今 回 はいずれの試行 においても、決定木上の扉 の数 は 80%程 度 の収束 しか見 られず、 これは当初予想 してい たよ り低 い値 であった。 この主な原因 として、サ ンプルが少 なかったこと と、分類基準 の選択が適切でなかったことが可能性 として考 え られる。 分類基準 につい ては、先 に も述べ たとお り、現段階 ではこれ以上の ものが考 えられないが、 こ の基準の選択が適切 でない と決定木 の信憑性 も得 られない。例 えば、今 回「 トイ レ」 については 収束が見 られなかったが、 これが規則性が ないか らこの ような結果が導 き出 されたのか、それと も、分類基準 の選択 による ものなのか判断 で きない のである。 また、 開口をはさむ二 つの空間の 内外 の決定 に関 しても若干あ い まいな点が見 られる。 このように分類基準 の選択は決 定木 の内容 を決定す る最 も重 要 な要因の一 つであ り、考慮 の余地 が大 い にあると思 われる。

‐19-

渡辺仁史研究室 1991年 度卒業論文


最終的にい くつかのルールが導出され、特に扉の選択の際に和室 には引き違い戸 (ふ すま)を 用いるとい うルールは、設計者個人のルールではない と思われるが、かなり信憑性の高いルール である。総合す ると、現段階では、機械学習により設計者の意志決定の課程 を解明するまでには 至 らないが、この分野 に関 しての機械学習の有用性が確認できた。

20・

渡辺仁奥研究室 1991年度事業請文


お わ りに

本研究 によ り、設計分野 における機械学習 の応用 に可能性 が見 い だせたので さらに研究 を進め て行 きたい。 よ り意味のある決定木 を得 るために、必要なサ ンプル数、適切 な分類基準 の選定 に関す る研究 を進める必要 がある。機械学習 の基本的な理論 は完成 されてい るので、 この様 な現実 の問題 へ の 適応面 に関す る研究が重要 で ある。 また、 プ ログラム面 では、生成 された決 定木 の評価、最適な決定木 の導出な どをインプリメ ン トす る予定 で ある。 これ には、決定木 の評価 に関す るさらなる考察 が必要 で あると考 えている。 最後 に、本研究 で得 られた結果が 自動設計 に関す る研究 の手がか りとなることを期待す る。

謝辞 本論文 の作成 に当た って指導、協力 を してい ただいた渡辺仁史先生、渡辺俊 さん、研究室 の皆 さんに感謝 します。

‐21‐

渡辺仁史研究室 1991年度卒業論文


¥等

米 斗

プログラム リス ト

22‐

渡辺仁史研究室 1991年 度事業論文


pbiec[ subclass: rcLSl InstanceVarlableNames:'featureDlctlonary endSymbol newSymbol tllelD InitData' classVarlableNames:'lnltData' poolDlctlonarles: " category :'Concept Clusterln g'

rCLSI methodsFor: lnltlallto

ilnltlallze featureDiclionary e OrderedOollection new. endSymbol +'-nexl-' asSymbol. newSymbol c'-new-' asSymbol. InitDala e'lnitialDaA'.

tClSl melhodsFor: accegr rfeatureDlcllonary: aLlct featurcDictionary e aList deepOopy.

updateFeatureDlctWlth : aSample I featurcUst I

r ClSlSample new. self featureD'rctionary : ba[.rreDiaionary. feafirreUst

teatur€Dictionary do:[ :aFeaturel

baturpList addAFeaUre: aFeatrrel. aSample teatlres do: [ :aFeurcl (teatureList haveFEairre: aFeatre) ifTrue:[

featurelist featrrcs do: [J I f = aFeaEre iffrue:[f feaUre: aFeatrre canBe:(aSample criterionOf : aFeatlre)l]l if

False:[teaUreust addAFeat re: aFeaulre.].1.

featureDictionary e leatureUst feaUres.

Cl-Sl methodsFor: fllo flleln: aFlle

lfile data I file o FileSteam fileNamed: aFile. daae Dictionary new.

d&

e-

fils filsln.

(daa indudesKey:

fi lel

D)

iffrue:[data at$lelD ] ifFalse:[rfalsel

llleOut: name | file

data

I

file r FileSbeam fileNamed: name. data c Dictionary new. data at filelD put sell. dnta sbreon: file. file close.

渡辺仁史研究室 1991年 度卒業論文


subclass: #CLSI Feature InstanceVarlableNames: " classVarlableNames: " poolDlctlonarles: " category:'Concept Clusterlng'

methodrFor: accaslng

↑ key

aFoatule canBe: aOrlterlon ・aFea"re′ aCribお ncan be boh a S面 ng and a CLSlFeature.・ IS“ ng彙 逍 "re ttbrion l fettre← aFeatlre. cribrion← aCriteFiOn.

ffeature isMombed:CLSl Feattlre) irrruc卜 輌ng← feamtt feamrel rFalse:Is籠ng← feaurel.

key=ni: i「

rrue:lkey・

String】

IFaに o:lkey=st‖ ng rF」 se:ISe‖ eroE You mmot change the feature.']. (α 熊編On

isMomb(ポ 所:OrderedCo‖ cd鰤 on)

ifrrue:I

critenon do:I℃

︲ロ ︰ e s d

(Value inciudes:cl

rFa:sa lValue addLatt cln

ue indudes:α iterbn) ifFalse: [value addlasr aitedonll.

aFeaturc b: sCrltedon self

bature: aFeaturE canBe: aOdbdon

ClSlFealure methodgFor: oomparlng = aFssture

'aFature can be boh a Sting ard a CLS1FeaUre.'

lbaturc

|

(aFedrre isllemberOf: Cl,Sl Featrre) iffrue: fieature r aFeat rs feaUrel ifFalse: [eaturs aFeaure]. ' rself baure = baure

ClSlFcturr methodsFor: lnltlallze lnltlallze value e OrderedOollection new.

ClslFeature class lnstanceVarlableNames:

"

ClSlFeturc darr methodrFor: Inrtanco qoellon

渡辺仁奥研究室 1991年 度卒業論文


isupsr nsu, initialize

渡辺仁史研究室 1991年 度卒業論文


subclass:κ LSlSample Ins'tanceVarlableNames:'name leaturesOfASample' classVarlableNames: " poolDlctlonarles: " category:'Concept Clusterlng'

lSrmpb nahodrFor: dlrplay

Tranttpt crrr:sh鉗 :ser naFne. 801ffeatures dol■ 迫m鯰 Tranttpt α;sh酬 :わ 詢 Ю わattlre. │

わature cribrion dol面 "riOn l on.H TEnscriptは 不how:cri"‖

Transoipt cr;cr;show:self mme. self featutas do:[:baure I Transcdpt cr;show: bafrJlp batuls. Tnnsqipt tab;show: featre criedon lastl

methodrFor: accodng

rFrstu|! (aFeafirre isMemberOf: Cl,Sl F€at re) ifFalse: [self eroc'eFreafirro must be a CLslFeatrre']. (self haroFeaurc : aFeairre) ifTrue: I Transcript cr;shorv:'--+ver writing a feaUre-'.

baturEsOtAsample do:[:featurel ba$le = aFeaUre

iffrue:[baturc bature: aFeai.rrE canBe: aFeatrre qitedonfl] ifFalse: fieaturesO{ASample addLast aFean rel aFeaturc lhatb: eCrlterlon

lbanjte

I

bafirre c ClSlFeatrre new.

bahrc baturc: aFeature s€lf addAFeature

is: aodbrion.

: feau,rre.

sFcturc (s€lt hareFeatrre: aFeaurc) ifFalse: lrni[. self batuns do: I

lf

| = aFeature ifTrue:

rdl 'Retum the

[tf aitedon lastll.

bairns.'

rbattFsOlASample haveFeduro:

rFqturc

'Anmen t rhelher aFeaUre batupsOfASample do: [ { | = aFeairre ifTrue: [ ?rue n. ilalse

is in lhe featrrc list of

his sample.'

清初仁史研究室 1991年 度卒業論文


'Flettrlr tho nane of the sample.' tnamo

r: rlrlng

.llrrtetpeemple.' ngrpc sling mdhodBFo『 :h‖ L:b

LatuenOf― pb… pb鋼 山 batn30「 ―

On Or cLSlFeatl鯰

Dl輌

.・

neW.

namgc'ngf. filelDcSarde'. terperidliafiae

lsample class :nttnceVarlableNames:"

cilu

nclhodrFor: hrriano cr*tlon

tsupr n€ir hilie{ize

渡辺仁史研究室 1"1銅 質事業書文


subclass:● cLSlTreeNode lnstanceVarlableNames:'tedureOfThlsNode classVarlableNames: " poolDlctlonarles: " category:'Concept Clusterlng'

'reeNodc mclhodrFor:

chttd ren

samples'

rccedng

eSamplc samples

addlast aSamph. eSampleUrt

aSampleust dO:【

ple:se:F addASample:aSamplel

lc|ibtun baturc frag I

samples size <=

I

[t hlsel. nil firue: [dalse].

ifTrue:

:

balureOfThisNode

leafire e baturcOfThisNode batrre. samples do:[:asamplel (aSample haveFeatrr€: batJre ) ifTrue: I ctiudon e aSamde cribrionO:

batrre.

"cdtedon' is the cribrion of he feafi.rre of aSample.'

(featurcOfThisNode oitedon) do: [ :cl

c= criblbn firue:I

driHrcn at: criterim ilAbsent [cfrildrcn atcribrion putCLSlTreeNode rrew.].

(ctriHrcn at cdbrim) addASamde: aSample.l.l.l ilFalss: I 'ln lhis case, his node cannot dsbibute the sample properly, so the sample would be passed

b a'special

rode'.' self

drildren do: eNode aNode aNode

enor 'Do not have sudr kind of feaure.'|.].

I aNode I fealrnDiaionary: baturcDir:lionary. detideFeatrreFrom: baUrcOflhisNode. divkle.l.

'At herc I must dvide the'spetiel node'rmde by he case abow.' leatursrofThleNode: eFcaturc baturcOfThisNode e aFeatrre.

ramplellrt tsamples

ramplcllrt rSamplellrt samples r.aSampleUst.

]LSlTrcNodc mctlrodrFor; dbplay !leplay Tnnscdpt cr. self displayTrceWithMargin: 0

]LSl TreNodc ndhodrFor: lertng eLeal tctrilden size <

1

渡辺仁史研究室 1991年 度卒業論文


TrmNodo method3FoF:lnim:L“

'ctrilden is a Dbtionary wih key; qitedon, value; a TrcsNode.' 'samples is a list of Sample s.' cfiiHren e Dic{ionary new. samples c OrderedCollection new. filelD o TreeNode'.

tzuper inilialize

TreNode mathodrFor: pdvetc leFctureFrom: sFeturc feanreDbtionary size > 1 iffrue: ffeatureDbtionary removeFirstl ifFalse: I batureOfThisNode c nil.

tfalsel. featur€OfThisNode

r featrreDictionary

fi

rst.

?trr.ro

self

isl€af iffrue: I samples do: [:aSamplel Transcript crtab : atrlargin. Transcript show: "'; show: aSample name.l.

rfalsel. Transcdpt crtab: aMargin. Transcript show: bilrreOfThisNode baUre. drildren keys do: [:cribdon I Transaipt crtab: alrlaryin + 1.

Transcript shorr'->'; shorf,: cdorion. (c*riHrcn et cdbrion) disdayTresWthlilargin: alvlargin + 2l

CLSlTreeNode class InstancevarlableNames:

CLSlTreeNodo

cbg

"

methodgFor: lnrtance creailon

n9w ?super nsw infialize

渡辺仁史研究室 1991年 度事業論文


CLS1 subclass: #CLSI Envlronment

lnstanceVarlableNames:'menuPolnt fileOut' classVarlableNames: " poolDlctlonarles: " category :'Concept Clusterl n g'

Cl-lil Envlronment methodgFor: prlvate featurellenu I menuSbeam new end seleclion end + endSymbol asSbing. new e newSymbol asstrir€.

I

[menuSream r ReadWriteSbeam on: ". lealureDictionary do:[ Jeaure I menuStream nextPutAll: feature feahrre. menuStream nextPutAll:':('.

bature cdtsrion

do

:l:qibdonl

menuStseam nextPutAll: cribrion. menuStseam nextPu8ll: '[', (feature feature), ", criterion, ']'.1. menuStseam nextPutAll:'(',new,'[',(feature feature),'',neril,1','))'.1. meouStseam nextPutAll:'(',end,'[',end,']',')'.

seleaion {Menu&tilder menuFromSbing: rnnuStseam contents) startupAt menuPoint. seleclion istvlomberOf : Symbofl whileFalse. rselection

lnputFeatureOt: namc ||

end new sebction select€dFeatrre selectedOriterion

end nerv

selection

cendSymbolasString. c newSymbol asSring. e CLSlFea[rre new.

I

[f o self feaUreMenu. f = endSymbol

firue:[rendSymbof].

ef intoChunks. selectEdFeatul" e I at:1. selecbdOribrion e f at 2. (sel€c'tsdFeanrre = nil) | (seleaedOdterion = nil)] whileTrue. f

selectedOribrion = ncrw iffrue:[selection featrre: selecbdFeature asStsing is: (FilllnTheBhnk reqtrest'critsrion of ',selectedFeatrre at: menuPoint)l if False:[selection featrle: selecbdFeature is: selectedOriterion]. tseleciion makeATreeFrom : aSampleLlst I

decisionTree

I

leatureDictionary size <1

iffrue:[ self enor:'featup d'r:itonary is empty.' ]. decisionTrce r ClSlTreeNode new. decisionTrce teaturcDictionary: feaUreDic{ionary. decisionTrcE addASamplelist: asampleList. decisionTr€e featureofThisNode: (feaUreDiaionary first). decisionTi€e divid€. rdecisionTrce

readErcelData: namo

渡辺仁史研究室 1991年 度卒業論文


daia o OnderedOolleclion new.

((FileSueam fileNamed: nsrne)contentsOfEntireFlle data addlast tokenl.

asSymbol intoChunks) do:[fokenl

data I

Eny|ronmfi | mcthodrFor: lnltlallzc

fblD← 'Environmenr.

llen← false.

,superinittze

Envlronment methodrFor: srecuuon

name I

aDecisionTrce aSample aSamdeUst file

I

sell initialize. Gursor execrrb showWhib:[

aDecisionTree + CLSlTreeNode nEw. aSample e ClSlSample new. aSampleList r- OrdercdOollection new. aSampleList e sell se6amplesFromFile: name. aDecisionTree leatureDiclionary: teatlr€Dicfionary. aDecisionTree o self makeATreeFrorn: aSampleUst aDecisionTree display. fileOd firw:[aDecisionTrse fileOut name,Tree'l]. taDecisionTree

namc

laDxisionTrce aSample aSamdeUst file I self initialize. Cursor execub showWhile:[

aDecidonTt€e o CLSlTrceNode new. aSarnple

r ClSl

Sample new.

aSampleUst e Order€dOollection new. aSampleUst e self se6anples: name. aDecisionTlee batur€Dblimary: baUreDictionary. aDecisbnTrce e self malcATmeFrom: aSampleUst aD,ecisbnTrce display. fi leOtrt ilTnr:[aDecisionTpe fileQrt name,Trce]1. raDecisionTrce

fromErcel: nemc I

aDecisionTrce aSample aSampleList

I

self initialize. Cursor execub showWhile:[

aDecisionTm o CLS1 TFeNode new. aSample c CLSlSample neu.

aSampleUst r OrdemdGolleaion new. aSampleUst e sell se6amplesFlomExcelFib:

nams.

aDecisionTrce baturcDknionaly: baUrcDictionary. aDecisionTrce + sell makeATrceFrcm: aSampleList aDecisionTrce dsday. fi

leOrt finr:laDecisionTrce fileOut name,Tme'll.

taDecisionTrce

渡辺仁史研究室 1991年 度事業論文


IC|-Sf enUronmont methodsFor: cnterlng rampler

ienlerASamplc

I

I

sande baur€

|

sample e ClSlSample new. [sample name: (FilllnTheEank rcqrcst:'Enterthe sarnPle name -="

narns'at msnuPoint initialAnswer: sample name).

iffrue:[ fieat,lrc e sell inputFeaureOf: sample name. feaure isMemberCf: CLS1 Featurel whileTrue:[sample addAFeatrre: feature]. sample dsphyWthOneOriterion. (ElinaryOhoice message:Are you surc?')l if False:[ruefl whileFalse. rsample enterSamplecFrom ErelFl b I list ercelName data counter sample bature i noOfltems counter .. 0. list o Orderedoollection new. feanlre

i

I

Order€dOollection new.

noOflbms

r 6.

excelNarne c FilllnTheBlank

excslName

-='

re$rest 'Enterhe name ol Excel file'at msnuPoint

iffrue:[daa e seff rcadExcelData: excelName.! ifFalse:[rnill.

ie

1.

noOflbms timesRepeau[

balut€ addlast (data first). data pmoveFirst

dala

i. i+lJ. do{:d'ilmnl countsr = O

ifTrue{ sanrple + ClSlSample new. sample name: datlmnl ifFalse:[sample addAFeatrre; (baUre at: (counter + 1)) thatls: datumn.].

@untgrrcounter+

1.

@unter = noOflbms ifTrue:[ fist addLast sample. counter e 0ll.

dist enter8ampleoFromFlla: prof ectNamc I node list I node c CLSlTrceNode new.

node r node fileln: profixtName, 'SampleListNode'. list + node sampleList list do:[:samplel sell updateFeatureDictVt/itr: sample.l.

dist setSampler: namc I sample list node

I

menuPoint csensorcursorPoint

list sample node e ClSlTrceNode

o OdepdOollection new. + Cl,SlSamde new. new.

'Get he initial sample.' sample + sample fileln: narne, lnitData. ssll updateFsdrmDictVlrih: sample.

[sample, sef enbrAsamC€. samPle name

-= "

渡辺仁史研究室 1991年 度卒業論文


lisl addlast sample. eell updateFeaturcDictwith: sample.

rue.l ilFalse :[false[ whileTrue.

nodeaddASamdeust list node fi leOut name,€amdeLtsf.lode'. rlist

l nst nOde l

menuPdnt ‖ st

node

'Crot Sst

r- Sensor anrsorPoint e OrdercdOolleclion new.

+ ClSlTlseNode new.

hiliel samphs.'

o self enbrSamplesFmmExcelFile.

lst do:l:samplel eelf updareFeaturcDidWlh: sample.l. node

fileOtt name,'SampleUstNode'.

dist

I sample

list nodo

I

menuPoint eSEnsorcursorPoint r OldErcdOo[eclbn new. :ist sample

node

e ClSlSamde new.

cCLSilTreeNodonew.

'Cr€thilial samples.' lisl c self enbrSamplesFrcmFile: name.

r self enbrASample. Satnde namo -= " [sample

firue:[

list addlast sample. selt updateFeatupDis'tli/ith : sample.

rue.l if False:[hlsell

whileTrue.

node addASampleUst list node fileOut name,€ampleListNode'.

tlist

class

InstancevarlableNames:

"

lEnvlronmerit clarr methodrFor: cxetnplo conllnuc: prolectNamc

rClSl Envircnmsnl

neyy continue:

proiectName

do: prolcclName

rOlSl Envircnment new do: prcicf.lame

fromEroh proleclllamc 渡辺仁奥研究室 1991年 度卒業論文


rOlSl Envimm€nt n€w tromExcel: propctName 3tartup: Folectlrhm. I

bdfieLi$ baut3

aPoint

I

aPoint r- Sensor crrrsorPoint

feaut€lbt + ClSlSample mw. bafrrcUst nam: lnilialData.

fictm

e FiillnTheBlank ltquest'bahrr€' at aPoint

bdr|€ ---.1

whihTrue:[baturcList addAFeatrrc: batun hatls: InilDaal.

batumlistdsplay. (ElinaryChoice message: Ara you

are?')l wtrileFalse.

bafirleust fi bOut proirctr{ame,lnitData. self do: goiectName.

tself startup:

bsf

渡辺仁奥研究室 1991年 度事業論文


渡辺仁史研 究室 1991年 度卒業論文




Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.