Skip to content

Commit

Permalink
Merge pull request #44 from saireya/reduction
Browse files Browse the repository at this point in the history
Reduction
  • Loading branch information
saireya committed Aug 3, 2018
2 parents 01acca2 + 272f804 commit b289f76
Show file tree
Hide file tree
Showing 15 changed files with 5,304 additions and 1,148 deletions.
4 changes: 4 additions & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,7 @@
* [命題と定理](ch_8.md#命題と定理)
* [推論](ch_8.md#推論)
* [科学における推論](ch_8.md#科学における推論)
* [還元](ch_9.md)
* [システムの分解](ch_9.md#システムの分解)
* [還元の例](ch_9.md#還元の例)
* [還元の目的](ch_9.md#還元の目的)
2 changes: 1 addition & 1 deletion bib.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
[simon2]: http://amazon.jp/dp/489362167X "Herbert A. Simon『システムの科学』(1999)(パーソナルメディア)"
[kawamoto]: http://amazon.jp/dp/4791753879 "河本 英夫『オートポイエーシス――第三世代システム』(pp. 158, 176-177, 230-231, 238)(1995)(青土社)"
[descartes]: https://ebooks.adelaide.edu.au/d/descartes/rene/d44dm "René Descartes『Discourse on the Method of Rightly Conducting the Reason, and Seeking the Truth in the Sciences』(1637)"
[descartes-j]: http://amazon.jp/dp/4480093060 "René Descartes『方法序説』(pp. 55-58)(2010)(筑摩書房)"
[descartes-j]: http://amazon.jp/dp/4480093060 "René Descartes『方法序説』(pp. 36-38, 55-58)(2010)(筑摩書房)"
[aristotle-e1]: https://ebooks.adelaide.edu.au/p/plato/p71so "Aristotle『Metaphysics』(The University of Adelaide)"
[aristotle-e2]: https://ebooks.adelaide.edu.au/p/plato/p71so "Aristotle『Metaphysics』(The University of Adelaide)"
[aristotle-j]: http://amazon.jp/dp/4061591169 "Aristotle『形而上学』(1994)(講談社)"
Expand Down
14 changes: 0 additions & 14 deletions ch_5.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,6 @@ Aristotleは全体と部分の違いを考察\[[aristotle-e1]\]\[[aristotle-e2]\
このように、 *システム全体の能力が各要素の能力の和と等しくならない* 性質を指して、システムは **創発的** (**emergence**)であるという\[[broad]\]\[[malaterre]\]
一方、創発性のない通常の集合では、集合を個々の要素に分解したとき$S = \sum_{i=1}^n s_i$となるため、集合は *総和的* であるという。

> #### info::分割統治法
>
> 大規模な問題を解決するときの基本的な手法の一つに、問題をより小さな問題に分割して解決する **分割統治法** (**divide and conquer method**)がある。
分割統治法は、一人ですべて担うのが難しく、多人数で分担されることが多い、巨大なソフトウェアの開発で一般的に用いられる。
>
> 例えば、銀行にあるATMのように顧客と現金のやりとりを行う機械を開発する際は、最初からすべての機能を実装することはできない。
そこでまず、顧客の口座への預け入れや、口座からの引き出し、他の口座への振り込みなど、ATMにはどのような機能が必要かを整理する。
その上で、必要となる機能ごとに担当者を割り振りし、それぞれが担当する部分のプログラムを作成する。
このように分割統治法での開発には、並行して各機能の開発を行えるため開発期間を短縮できる他、不具合が発生しても該当する部分のみを修正すればよく、不具合が全体に波及しにくいといった利点がある。
>
> だが実際のシステムでは創発性があり、それぞれの部分が全く独立しているわけではないため、必ずしも分割統治法が適切とはいえない。
むしろ、不適切な分割により非効率な解決の仕方がとられたり、問題の全体像を見失ってしまって解決できなかったりと、副作用が大きい場合もある。
分割統治法を用いる際は、問題を本当に個々の部分に分割してよいのかや、分割の仕方が適切かを検討する必要がある他、分担した後も適宜、それぞれの担当部署の情報共有を図り、分割の仕方を見直すなど、柔軟な対応が必要となる。

## システムの閉鎖性

円という点の集合が円周を境界に持つように、システムもまた **境界** をもつ。
Expand Down
17 changes: 0 additions & 17 deletions ch_6.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,23 +135,6 @@ Simon\[[simon2]\]によれば、 **問題** (**problem**)は、 *目標とする
問題における諸要素の関連性( *構造* )を **モデル** (**model**)として明示し、目標とする状態と現在の状態に差がある *原因* を明らかにする。
0. **解の提案** (**proposal**):
明らかになった問題の原因を取り除く *アイデア**提案* する。
> #### info::探索
>
> ある問題を解を求める最も単純な方法は、考えうるすべての組み合わせを総当たりで試す **全数探索** である。
特に、暗号の解読や認証の通過を目的に行う全数探索は、 **総当たり攻撃** (**brute-force attack**)と呼ばれる。
全数探索は単純で古典的だが、解の範囲がある程度限定される場合には、人手でも行える他、コンピュータを用いて機械的にも行えるため、十分有効な方法である。
>
> 全数探索のうち、一つの場合に注目してより *深く* 探索する **深さ優先** 探索は、注目した部分に解が含まれる場合は高速に解を発見できるが、注目した部分に解が含まれない場合は探索に長時間を要する。
深さ優先探索は特定の場合を深めることから、垂直思考と類似している。
>
> また、複数の場合を順に調べてより *広く* 探索する **幅優先** 探索は、解が比較的浅い部分にある場合は高速に解を発見できるが、解が深い部分にある場合は探索に長時間を要する。
幅優先探索は多数の場合を検討することから、水平思考と類似している。
>
> 実用上は、深さ優先と幅優先を組み合わせた方法や、評価関数に基づいて次に探索すべき部分を決定する方法などが用いられる。
また、すべての場合を検討するのではなく、 *確率的に場合を選択* し、選択した場合のみを検討する **Monte Carlo法** などもよく用いられる。![fig:search. 探索と水平思考・垂直思考](search.svg)



## モデル

Wilson\[[wilson]\]によれば、 **モデル** (**model**)とは *ある人のある状況に関する明示された解釈* である。
Expand Down
1 change: 1 addition & 0 deletions ch_8.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

本章では、他者への介入において不可欠な論理について述べる。
まず論理が必要とされる理由を述べ、論理において重要な定義、命題や定理、証明について述べる。
更に、代表的な推論の形式と、科学における方法について述べる。

## 論理の目的

Expand Down
64 changes: 64 additions & 0 deletions ch_9.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# 還元

本章では、創発と対置される概念としての還元について述べる。
創発と還元は対立するとされるが、一方が正しいあるいは重要であるということではなく、いずれも重要な概念である。
そこで本章では、まず集合やシステムを複数の部分に分解することを検討する。
その上で、システムからみた還元の概念と、より身近な問題解決において還元が有効な事例を挙げる。

## システムの分解

まず、集合を複数の部分集合に分割することを考える。
集合$A$と集合$A_1, \cdots, A_n$があり、$A = A_1 \cup \cdots \cup A_n$とする。
ここで、$A_1, \cdots, A_n$は互いに共通部分を持たない、つまり任意の$i, j$について$A_i \cap A_j = \emptyset$が成り立つとする。
このとき、$A_1, \cdots, A_n$は **互いに素** な集合であるといい、$A_1, \cdots, A_n$は$A$の **分割** もしくは **直和** であるという。
集合を直和に分解することを強調して、記号「$\cup$」ではなく記号「$\sqcup$」を用い、$A = A_1 \sqcup \cdots \sqcup A_n$と表すことがある。
このように「漏れなく重複なく分割する」ことを、一般的には **MECE** (**Mutually Exclusive and Collectively Exhaustive**)と呼ぶ。
集合には創発性がないため、このように素朴に分割することが可能である。

次に、システムにおいても集合と同様に、分割を定義することを考える。
システム$S$とシステム$S_1, \cdots, S_n$があり、$S = S_1 \cup \cdots \cup S_n$とする。
ここで、$S_1, \cdots, S_n$が互いに共通部分を持たないとすると、システム$S$は分割可能だといえる。

だが、システムは「要素が互いに関連する」集合であり、創発性がある。
もしシステムの中に分割可能な部分が存在すると仮定すれば、その部分はシステムの他の部分と関連していないため、システムの定義に反しており、別のシステムだといえる。
従ってシステムに対しては、集合のような素朴な分割は不可能である。

Simonは、システム内部の要素間の関連性には強弱があり、互いに強い関連性をもつ部分と、互いに弱い関連性しかもたない部分があることに着目した\[[simon2]\]
ここで、$S_1, \cdots, S_n$が「互いに弱い関連性しかもたない」とは、任意の$i, j$について$S_i \cap S_j ≒ \emptyset$が成り立つことである。
このとき、$S_1, \cdots, S_n$は「 *ほとんど* 互いに素」であり、$S ≒ S_1 \sqcup \cdots \sqcup S_n$とみなせる。
Simonはこのようなシステム$S$は **準分解可能** (**nearly decomposable**)だといい、$S_1, \cdots, S_n$を$S$の **部分システム** (**subsystem**)と呼んだ。
準分解可能なシステムでは、システムを複数の部分システムに分解しても、失われる創発性は無視できるほど小さいものとみなせる。

## 還元の例

システムの準分解の例として、異なる機能を持つ複数の部門からなる組織や、大きく複雑な作業をより小さな作業に分解した **WBS** (**Work Breakdown Structure**)などがある。
特に官公庁や大企業における **官僚制** (**beaurocracy**)は、「縦割り」などとも呼ばれ、何層にもわたり準分解可能な、機能的分化の進んだシステムである。

問題解決の場面では、そのままで解決不可能な *複雑で大規模な問題を、より小さく単純な問題に分割* し、分割した問題を解く **分割統治法** (**divide and conquer method**)が行われる。
分割統治法は、歴史上では古代ローマ帝国の統治にも遡ることができるが、数学の問題での場合分けなど、身近な場面で用いることも多い。

準分解可能なシステムは、最も上位のシステムから下位の部分システムに枝分かれしていく **木構造** (**tree**)のグラフで表せるため、木構造を順に辿って解を探す、 **探索** (**search**)を行うことも多い。
探索は場合の数の数え上げなど日常的に用いる他、囲碁や将棋、チェスなどの機械によるゲームプレイで、次の手を決めるために用いることもある。

このように、 *分割や分解により対象の複雑性を低下させることで、問題の解決や現象の解明が可能* だと考える立場を **還元主義** (**reductionism**)といい、Descartesらが有名である\[[descartes]\]\[[descartes-j]\]

> #### info::探索
>
> ある問題の解を求める最も単純な方法は、考えうるすべての組み合わせを総当たりで試す **全数探索** である。
特に、暗号の解読や認証の通過を目的に行う全数探索は、 **総当たり攻撃** (**brute-force attack**)と呼ばれる。
全数探索は単純で古典的だが、解の範囲がある程度限定される場合には、人手でも行える他、コンピュータを用いて機械的にも行えるため、十分有効な方法である。
>
> 全数探索のうち、一つの場合に注目してより *深く* 探索する **深さ優先** 探索は、注目した部分に解が含まれる場合は高速に解を発見できるが、注目した部分に解が含まれない場合は探索に長時間を要する。
深さ優先探索は特定の場合を深めることから、垂直思考と類似している。
>
> また、複数の場合を順に調べてより *広く* 探索する **幅優先** 探索は、解が比較的浅い部分にある場合は高速に解を発見できるが、解が深い部分にある場合は探索に長時間を要する。
幅優先探索は多数の場合を検討することから、水平思考と類似している。
>
> 実用上は、深さ優先と幅優先を組み合わせた方法や、評価関数に基づいて次に探索すべき部分を決定する方法などが用いられる。
また、すべての場合を検討するのではなく、 *確率的に場合を選択* し、選択した場合のみを検討する **Monte Carlo法** などもよく用いられる。![fig:search. 探索と水平思考・垂直思考](search.svg)



## 還元の目的

!INCLUDE "bib.md"

0 comments on commit b289f76

Please sign in to comment.