はてなキーワード: 抽象化とは
http://lingmu12261226.blog10.fc2.com/blog-entry-138.html
まず、自分の意見が正しいか正しくないか(合理性)だけしか考えてないですね。自分の意見はこんなに正しいんだーってことを強弁するだけ。
さらにいえば、正しさだけにこだわるのは、「正しいかどうかは人の立場や物の見方によって変わる」ということが全く理解できてないってことでもある
要するに、自分にとっての正しさを、延々と立場の違う他人に受け入れろ、という議論を展開するわけです。
この人はもう手遅れとして、これを悪いケースとして、幼稚な意見の述べ方から脱出する方法を考えましょう。
仕事をする時、物事を動かすときに最も必要になるのは何か。2つあります。
もう一つはものごとについてのメリット・デメリットを両方考えてみる事です。
相手のことを考えてみるといってもこういうのは違います。
「この会社だけでなく、色々な企業を見てくださいね」と優しく就活生に語りかける癖に、実際には「手書きのエントリーシートだと時間がとられて、他の企業の説明会に参加しにくくなる?いやいや、本当にうちの会社に入りたいなら手書きででもエントリーシート書けるでしょ?さっさと書け」というようなメッセージを就活生にぶつけている。これでよく「社会人」を名乗っているなと常々思っている。自分の会社に応募してきた学生すら苦しめてるくせに「社会のために頑張って働いてます!」というような善人面はしないでいただきたい。
これは自分の考えを押し付けているだけです。真剣に考えて見た結果がこれならまぁ、そういう思考をする人がお似合いの舞台で頑張ってください。
こういう思考をもてる人間であればほんの少しかんがえただけでわかることですが、
企業側には手書きの履歴書には合理性があります。 デメリットもありますがそれ以上に効率が良い部分が大きい。
そして、学生側でも「レベルが低い学生であればあるほど」効率性が悪いどころか大きなメリットがあります。
そういった点とデメリットを比較して、デメリットが大きい人達を探していきます。
・考えなしにバカスカエントリーして一日2つも3つも対応しなければならない企業がある人
・履歴そのものが自分を雄弁に語ってくれため、デジタル情報で一切構わない人
・ドラッカーのように字が致命的に汚く、どれだけ努力しても直せない人
・毎日mixiやtwitterや社会人批判のブログに時間を費やし就職活動に割く時間が足りない馬鹿学生
くらいでしょう。この人達をいかに核にして、そこから浮動票をうまく巻き込んで物事を変えていくか考えないといけないわけです。
togetterで時々この話題になった時、多くの人を巻き込んでいるのは「履歴そのものが自分を雄弁に語ってくれため、デジタル情報で一切構わない人」のタイプの人ですね。
彼らがそう言ってるから自分もなんとなく手描きは大変だし反対だ、位の学生が多いですが、扇動されているにも気づかないとかお馬鹿さんですね!
業界全体として、「手書きの履歴書が悪い」などという乱暴な理論は到底当てはまりません。
少なくとも、合理性や理屈の名において、この件を変えようと思っているのであれば、それは阿呆だと言えます。
できるだけ議論の対象を具体的に絞る、そしてできるだけ数で語る。
実際にアンケートをとって、どの程度の人がそれを望んでいるのか確認する。
まずは選択適用から推進して、手書き履歴書を望む人が少ないため採用に不都合が出ることを証明できればいいのです。
あと、本当に心の底から思うんですが、履歴書ってそんな大した話ですかね?
企業に不満を持つにせよ、もっと大事なところに疑問を持ったりしないの?
頭の良い人が、企業の問題を本質的に掴んで、そこに人を巻き込むためのわかりやすい切り口として履歴書問題を取り上げるってのはわかる。
でも、特にそういうことを考えてない人が、ドヤ顔で履歴書問題について論じているのを見ると、怒りと言うか憐れみすら感じるんですが。
ごめん、偉そうなことを書いたけれど、俺の説明ダメダメだわ。
http://d.hatena.ne.jp/Chikirin/20120126
言いたいことは全く同じなんだが、説明のわかりやすさのレベルがぜんぜん違う。
抽象化しつつ、プロセスとSHは詳細化しろって、言うやすし行うは難し。
私は抽象化はできるけれど、それと並行してプロセスとSHを分解するってのができなんだ。
このくらいの説明がすっと書けるようになりたい。
JavaScript って生き物っぽいって思ったのがきっかけだった。
なんか菌?に遺伝子いれてたんぱく質を生産させるやつ? Function は菌の細胞膜で prototype は遺伝子で、だから prototype に全然関係ない違う生物の遺伝子を生きてる菌に入れちゃったり。そうすると全然ちがうたんぱく質が生産されたり。prototype にべべーっとコピーして追加するのなんてまさしくそれっぽい。
だってプロトタイプベースって、生き物しかいない世界じゃない?基本的に。インスタンスってのは生き物じゃない設計図があってそれにしたがって出来た生き物がインスタンスってイメージあんだけど。プロトタイプベースの世界にはそんな設計図も生き物じゃないものもないよね?なのにわざわざインスタンスっていうのに何か違和感?ご都合主義的なもの感じる。クラスは型で、インスタンスを実体だとかなんとかって氾濫してるせいかな。多分この辺の用語が JavaScript をわかりにくくさせてる気がする。
僕の感覚では、オブジェクトってのは生き物で、クラスベースってのは神が設計図に基づいて生き物を生産してる世界で、インスタンスベースってのは生き物が生き物を複製してる世界のイメージだ。多分、原始の生物はインスタンスベースみたいな世界で、海の中にうようよしてたんだろうな、とか。
オブジェクトじゃないものは、生き物じゃない死んでるたんぱく質や RNA の破片みたいな。それだけじゃなにもできないみたいな。それだけじゃ命がないから、生き物の殻に詰めるってのが JavaScript のコンストラクタのイメージ。
Perl の bless したらこれはもう命入ったよ生き物だからねっあとは勝手にしてねってのも、Python の名前空間さえあればなんとかなるよねってのも、JavaScript のハッシュさえあれば世界作れるよねってのも、みんなどこか似ている。ちゃんと OOP を理解できてるかは別としてもこの三つはわりとすぐやりたいことができた。昔 Java の本を買ってきて挫折したのにくらべたら、なぜかずっとわかりやすかった。(bless という命名はすごく洒落てる)
全然関係ないけど、Django の日本語リファレンスは何か萌える。ラクダ本の日本語訳はむかつくのに。
プログラミングを始めたばっかりの時は、なんだか難しい用語の意味を理解しないと OOP がわからないと思ってた。それは僕らの住んでる世界とは全然関係のないプログラミングの技術ってやつだと思ってた。
でも多分違う。
世界が動く仕組みさえあれば、あとは作り手に世界の成り立ちを抽象化する表現力さえあれば、世界は勝手に表現されていくし、動き出してく。たまたま僕らの世界はオブジェクトなもので溢れていて、プログラミング言語が進化すれば世界に似るのも当然だろう。いや逆か。プログラミング言語が世界に似てきたから、オブジェクトなんていう世界に似た概念が出てきたってことか。なんだか難しい用語ってのは、その表現の一部分の技術に名前をつけてるだけなんだな、と。例えば何とか歌唱法や何々画法とか何とかレトリックとかパースの取り方みたいなのと同じ。それは表現を理解する手助けにはなるけど、その意味を知る事がイコール表現力をあげることにはならないんだよね。これに気づくのに遠回りしすぎたなあ。
(知識を得るだけで、100% 還元される人もいるかもしれないけど、そんなのは一部の天才だけだと思う。殆どの凡人はそうはいかない。とはいえ、元の錬度が低ければ、コツをいくつか教わるだけでいきなりうまくいくこともある。ただ、それをまるまんま実力だと思うのは、どんな分野でも危険だ。恋愛テクニックやらを必死に読んでる連中が男女間の深い人間関係を上手くやれてるとはちょっと想像できない!)
プログラミングで表現力を上げるにはどうすればいいんだろう。きっと他と同じだろうな。いい表現を沢山味わって、世界をよく観察して、どう成り立ってるかどう動いてるか、私達はそれをどう認知しているのか、考えることかもしれない。漫画家を志す人が美術解剖学を学んだり、優れた画家が絵筆で世界を生々しく描写するように、優れたプログラマは世界のなりたちをプログラムに写し取ったり、世界の仕組みを作る事が出来るのだと思う。
その順番で書いた意味をきちんと子供に確認して、掛け算の意味(小学校的なルールのことではない)を理解してないことを確認した上で×としたなら
でも、もう一つ忘れちゃいけないのは、理解できているか否かの判定として俺哲学で導き出した俺理論を使うのはクソってこと。
それができて初めて
一般化すると「数式を導き出すまでの思考過程をある一つのものだけに限定するべきではない」
ということが分かっていることになると思うよ。
算数ってのは、何を何倍したら何になりますか、の思考でしかなくて、数式で書くべきではないような思想の抽象化をあえて式にしてるってだけなんだよ。
算数って学問の考え方も、実はそれに近くなってるんです。
「6本×8人/本=48本」
ていうのは数式にしたら正しく見えるけど、言葉で書いたら、
「6本を8人/本倍したら48本になるね」
「8人/本を6本倍したら48本になるね」
先生が正しいんだけどね。
それわかってないやつが多すぎて痛い。
6【本】 ×8 = 48【本】
であって、
「8人に6本をと6本を8人には同じだろ」って批判してるアフォもいるけど、もちろんそれは当然同じだけど、だからと言って
8【人】 ×6 = 48【人】
と表記していいわけじゃない。
「~学」っていう哲学の話なのに、問題の核心を履き違えている人が多いなあ。
ううん、違うよ。
算数ってのは、何を何倍したら何になりますか、の思考でしかなくて、数式で書くべきではないような思想の抽象化をあえて式にしてるってだけなんだよ。
↑というのが「世界の真理」や「これが算数というもの」という考え方の標準であったことは無いのに、
そういうものを「これが算数で、それ以外は低能のアホが考える算数です」と教えることはただの嘘ですって話だよ。
あえて書くなら「ソシュールが言うところの算数では」と書くべき、これまたローカルな話でしょう。
本当は「(増田が理解していると勘違いしているところの)ソシュールが言うところの算数では」だけどね。
あなたが「算数って学問の考え方も、実はそれに近くなってるんです。」と思うのは勝手だし、面白い考え方の一つだけれど、
それを小学2年生に「押し付ける」のは、完全に間違っているんですよ。
ちょっと余談で申し訳ないけれど「これから哲学の話をしますけど」みたいな前フリも付けずに、
いきなり算数のかけ算の話題に「哲学」や「ソシュール」を持ち出して
日本はなんで馬鹿ばっかなんだ、って偉そうに言ってる増田ほど数学内の話をしかできてないんだよな。
俺から言わせれば日本人ってなんでこんなに哲学を知らないんだ、なんだけどね。
前増田は基礎教養サボらなかったかもしれないけど、哲学の授業はなかったんだね。
かわいそうに。
なんてことを書き出す「自称哲学分かっている俺」のせいで哲学は世間では「かっこうわるい、うざい」印象を持たれてしまって悲しいよね。
抽象化してしまった式で単位を問うのは本来バカバカしいが、小学二年生だから単位を考えるのは大切だよ。
でも、単位は抽象化されているから、数の順序が入れ替わったとしても、理解が正しければ問題ないよ。
その理解を教師はエスパーして、○を付けろって話なんですね。
前の増田だが。
なんとなく理解を書いてみると。
が「感覚」で(その認識のための前提知識を得ている事は自明とする)
その上でその「感覚」が抽象化され記述されたものが、式であると。
なるほど。
上記の感覚によって、「3個ずつ5皿だから15個」と感じ、抽象化したら「3×5=15」になるし、
感覚が「5皿に3個ずつだから15個」と感じるケースは、抽象化したら「5×3=15」になると。
そして、その感覚は当然のように「3個ずつ5皿だから15個」と「5皿に3個ずつだから15個」は同じことだと認識しているから、
「3×5=15」と「5×3=15」は同じこと。
ツリーのどっかの増田さんが言ってたけど、あなたも数字信奉者よね。
算数って学問の考え方も、実はそれに近くなってるんです。
算数ってのは、何を何倍したら何になりますか、の思考でしかなくて、数式で書くべきではないような思想の抽象化をあえて式にしてるってだけなんだよ。
だから今回の例でいえば、
「6本ずつ8人に配ると48本になるね」
っていうのは、それ以外ではないってこと。
誰かがしつこく言ってる数式の単位、
「6本×8人/本=48本」
ていうのは数式にしたら正しく見えるけど、言葉で書いたら、
「6本を8人/本倍したら48本になるね」
「8人/本を6本倍したら48本になるね」
っていう、世の中の現実と照らし合わせたら完全に無意味で数字遊びをしているだけの可変性になるわけよ。
「ずつ」にこだわるなんてナンセンス、って言い方はわかるけど、「ずつ」そのものが掛け算と同じような事象を表し、かつ、何を何倍するか、の本質なんだよね。
この話、まだ続くのかー。
参考書も読んで、指導要領も読んで、現役の教師に話を聞いたりもしたけど、
・かけ算には順序がある
・1あたりの数」×いくつ分
・かけられる数とかける数
もちろん、初めてかけ算を覚える生徒に対して、
・1あたりの数」×いくつ分
・かけられる数とかける数
という教え方が想定している「モデル」を使って説明することが有益である場合も多いよ。
でも、モデルは一つじゃないよね。
「沢山あるモデル」が結局は「かけ算で表記でき、順序は関係無い式まで抽象化できる」ところに気づく。
これがこの段階では一番重要な事柄でしょう。(その他はそれこそ「厳密にいうと・・・」の数学の世界に任せると良いよね)
そのはずが、何故かある特定のモデルのみが「算数という学問の唯一の真理」と勘違いする人が出てくる。
これは端的に言って間違いだよ。
「想定された順序でないと×にする」
「1あたりの数×いくつ分、かけられる数とかける数のような特定のモデル以外で思考するのを禁ずる」
ことが有益であることなんてほとんど無いと思うんだけど、どうだろう。
めんどくせえ奴だな…。そういう変な駆け引きすんのやめろよ。
なんつーか、世の中、数字とか数式が出てくるとそれを絶対普遍の真理みたいに捉える奴が多すぎる。
畏怖なのかなんなのかわからんが、馬鹿ほど数式や数字は絶対正しいと、(数字的な)ルールありきで話をし出す。
純粋数学がなんでああいう構造になってるのか、とかいう話を除いて、本来数学なんつーもんは人間の感覚を
なんでそんなことしたかっていうと、それが必要だったからだよ。もの作ったり社会を作ったりするのに。
ルールなんて知らない子供も感覚は持ってるわけ。掛け算が可換だとかその程度のことは、感覚に訴えて理解させればいいんだよ。
交換法則なんつー抽象は必要ねーし、割り算の(小学校的な)ルールも必要ねえ。
人間の脳の認知能力をナメててクソしょうもねえマニュアル思考で教育する馬鹿が自分の仕事を確保するためだけに無駄に物事を複雑化して子供の可能性を潰す。
第1章 新しいプログラミング・パラダイムをめぐって (井田哲雄) 1.1 はじめに 1.2 プログラミング・パラダイムの形成 1.3 プログラミング・パラダイムの展開 1.4 パラダイムと作法と構造化プログラミング 1.5 構造化プログラミングを超えて 1.6 関数型プログラミング,論理型プログラミング,対象指向プログラミング 1.7 新しいプログラミング・パラダイム 1.8 まとめ 第2章 ラムダ計算と高階プログラミング (横内寛文) 2.1 はじめに 2.2 ラムダ計算 2.3 最左戦略 2.4 コンビネータによる計算 2.5 まとめ 第3章 マルセイユProlog,Prolog Ⅱ,Prolog Ⅲ 3.1 はじめに 3.2 準備 3.2.1 述語 3.2.2 項 3.2.3 項の単一化 3.2.4 節およびHorn節 3.2.5 論理式の意味 3.2.6 論理的帰結と導出 3.3 マルセイユProlog 3.3.1 Prologの記法 3.3.2 Prologの計算規則 3.3.3 Prologプログラムの例 3.3.4 カット・オペレータ 3.3.5 DEC-10 Prologとの相違 3.4 Prolog Ⅱ 3.4.1 difオペレータ 3.4.2 freeze 3.4.3 ループ構造 3.4.4 Prolog Ⅱのインプリメンテーション 3.5 Prolog Ⅲ 3.5.1 制約の枠組 3.5.2 Prolog Ⅲのプログラム例 3.5.3 束縛の領域と制約系 3.5.4 Prolog Ⅲのインプリメンテーション 3.6 まとめ 第4章 制約論理型プログラム (相場 亮) 4.1 はじめに 4.2 制約プログラミング 4.3 制約の分類 4.4 プログラムの実行 4.5 制約の評価 4.6 まとめ 第5章 オブジェクト指向 (柴山悦哉) 5.1 はじめに 5.2 モジュラリティと抽象化 5.2.1 抽象化 5.2.2 手続き抽象 5.2.3 データ抽象 5.2.4 オブジェクトによる抽象化 5.2.5 並列オブジェクトによる抽象化 5.3 共有 5.3.1 多相型 5.3.2 継承 5.3.3 多重継承 5.3.4 Self 5.3.5 動的束縛の意義 5.4 対話性 5.4.1 クラスの再定義 5.4.2 表示機能の一体化 5.5 オブジェクト指向の弱点 5.6 まとめ 第6章 型推論とML (横田一正) 6.1 はじめに 6.2 LCFの超言語からMLへ 6.3 プログラミング言語と型 6.4 MLの表現と型宣言 6.5 MLの型推論 6.6 LCFへの応用 6.7 まとめ 第7章 Miranda (加藤和彦) 7.1 はじめに 7.2 Mirandaの概観 7.2.1 等式による定義 7.2.2 基本データ型と基本演算子 7.2.3 ガード付き等式とスコープ・ルール 7.2.4 高階関数とカリー化 7.2.5 パターン・マッチング 7.2.6 ノンストリクト性と遅延評価 7.2.7 ドット式とZF式 7.3 型 7.3.1 強い型付けと静的な型付け 7.3.2 多相型 7.3.3 型類義 7.3.4 代数データ型 7.3.5 抽象データ型 7.4 処理系 7.5 まとめ 7.6 文献の紹介 第8章 項書換えシステムと完備化手続き (大須賀昭彦) 8.1 はじめに 8.2 項書換えシステム 8.3 TRSの停止性 8.3.1 意味順序 8.3.2 構文順序 8.4 TRSの合流性 8.4.1 完備なTRS 8.4.2 危険対 8.4.3 危険対を用いたTRSの合流性判定 8.5 Knuth-Bendixの完備化手続き 8.6 KBの応用 8.6.1 帰納的な定理証明への応用 8.6.2 等号論理の定理証明への応用 8.7 まとめ 第9章 等式プログラミングから融合型プログラミングへ (富樫 敦) 9.1 はじめに 9.2 等式プログラミング 9.2.1 等式プログラム 9.2.2 代表的な等式プログラム 9.2.3 プログラミング技法 9.2.4 正則プログラムと正規化戦略 9.3 条件付き等式プログラム 9.3.1 条件付き書換え規則 9.3.2 条件の種類 9.3.3 利点と問題点 9.4 融合型プログラミング 9.4.1 AMLOGシステム 9.4.2 向付き等式 9.4.3 実行戦略の変更 9.4.4 代入操作 9.4.5 合流するプログラムへの変換 9.5 まとめ
第1章 有限オートマトン D.Perrin:橋口攻三郎 1. 序論 2. 有限オートマトンと認識可能集合 3. 有理表現 4. Kleeneの定理 5. 星の高さ 6. 星自由集合 7. 特殊なオートマトン 8. 数の認識可能集合 第2章 文脈自由言語 J.Berstel and L.Boasson:富田 悦次 1. 序論 2. 言語 2.1 記法と例 2.2 Hotz 群 2.3 曖昧性と超越性 3. 反復 3.1 反復補題 3.2 交換補題 3.3 退化 4. 非生成元の探求 4.1 準備 4.2 生成元 4.3 非生成元と代入 4.4 非生成元と決定性 4.5 主錐の共通部分 5. 文脈自由群 5.1 文脈自由群 5.2 Cayleyグラフ 5.3 終端 第3章 形式言語とべき級数 A.Salomaa:河原 康雄 1. 序論 2. 準備 3. 書換え系と文法 4. Post正準系 5. Markov系 6. 並列書換え系 7. 射と言語 8. 有理べき級数 9. 代数的べき級数 10. べき級数の応用 第4章 無限の対象上のオートマトン W.Thomas:山崎 秀記 序論 Ⅰ部 無限語上のオートマトン 記法 1. Buchiオートマトン 2. 合同関係と補集合演算 3. 列計算 4. 決定性とMcNaughtonの定理 5. 受理条件とBorelクラス 6. スター自由ω言語と時制論理 7. 文脈自由ω言語 Ⅱ部 無限木上のオートマトン 記法 8. 木オートマトン 9. 空問題と正則木 10. 補集合演算とゲームの決定性 11. 木の単項理論と決定問題 12. Rabin認識可能な集合の分類 12.1 制限された単項2階論理 12.2 Rabin木オートマトンにおける制限 12.3 不動点計算 第5章 グラフ書換え:代数的・論理的アプローチ B.Courcelle:會澤 邦夫 1. 序論 2. 論理言語とグラフの性質 2.1 単純有向グラフの類S 2.2 グラフの類D(A) 2.3 グラフの性質 2.4 1階のグラフの性質 2.5 単項2階のグラフの性質 2.6 2階のグラフの性質 2.7 定理 3. グラフ演算とグラフの表現 3.1 源点付きグラフ 3.2 源点付き超グラフ 3.3 超グラフ上の演算 3.4 超グラフの幅 3.5 導来演算 3.6 超辺置換 3.7 圏における書換え規則 3.8 超グラフ書換え規則 4. 超グラフの文脈自由集合 4.1 超辺置換文法 4.2 HR文法に伴う正規木文法 4.3 超グラフの等式集合 4.4 超グラフの文脈自由集合の性質 5. 超グラフの文脈自由集合の論理的性質 5.1 述語の帰納的集合 5.2 論理構造としての超グラフ 5.3 有限超グラフの可認識集合 6. 禁止小グラフで定義される有限グラフの集合 6.1 小グラフ包含 6.2 木幅と木分解 6.3 比較図 7. 計算量の問題 8. 無限超グラフ 8.1 無限超グラフ表現 8.2 無限超グラフの単項性質 8.3 超グラフにおける等式系 8.4 関手の初期不動点 8.5 超グラフにおける等式系の初期解 8.6 等式的超グラフの単項性質 第6章 書換え系 N.Dershowitz and J.-P.Jouannaud:稲垣 康善,直井 徹 1. 序論 2. 構文論 2.1 項 2.2 等式 2.3 書換え規則 2.4 決定手続き 2.5 書換え系の拡張 3. 意味論 3.1 代数 3.2 始代数 3.3 計算可能代数 4. Church-Rosser性 4.1 合流性 4.2 調和性 5. 停止性 5.1 簡約順序 5.2 単純化順序 5.3 経路順序 5.4 書換え系の組合せ 6. 充足可能性 6.1 構文論的単一化 6.2 意味論的単一化 6.3 ナローイング 7. 危険対 7.1 項書換え 7.2 直交書換え系 7.3 類書換え 7.4 順序付き書換え 7.5 既約な書換え系 8. 完備化 8.1 抽象完備化 8.2 公平性 8.3 完備化の拡張 8.4 順序付き書換え 8.5 機能的定理証明 8.6 1階述語論理の定理証明 9. 書換え概念の拡張 9.1 順序ソート書換え 9.2 条件付き書換え 9.3 優先度付き書換え 9.4 グラフ書換え 第7章 関数型プログラミングとラムダ計算 H.P.Barendregt:横内 寛文 1. 関数型計算モデル 2. ラムダ計算 2.1 変換 2.2 計算可能関数の表現 3. 意味論 3.1 操作的意味論:簡約と戦略 3.2 表示的意味論:ラムダモデル 4. 言語の拡張 4.1 デルタ規則 4.2 型 5. 組合せ子論理と実装手法 5.1 組合せ子論理 5.2 実装の問題 第8章 プログラミング言語における型理論 J.C.Mitchell:林 晋 1. 序論 1.1 概論 1.2 純粋および応用ラムダ計算 2. 関数の型をもつ型付きラムダ計算 2.1 型 2.2 項 2.3 証明系 2.4 意味論と健全性 2.5 再帰的関数論的モデル 2.6 領域理論的モデル 2.7 カルテシアン閉圏 2.8 Kripkeラムダモデル 3. 論理的関係 3.1 はじめに 3.2 作用的構造上の論理的関係 3.3 論理的部分関数と論理的同値関係 3.4 証明論的応用 3.5 表現独立性 3.6 論理的関係の変種 4. 多相型入門 4.1 引数としての型 4.2 可述的な多相的計算系 4.3 非可述的な多相型 4.4 データ抽象と存在型 4.5 型推論入門 4.6 型変数をもつλ→の型推論 4.7 多相的宣言の型推論 4.8 他の型概念 第9章 帰納的な関数型プログラム図式 B.Courcelle:深澤 良彰 1. 序論 2. 準備としての例 3. 基本的な定義 3.1 多ソート代数 3.2 帰納的な関数型プログラム図式 3.3 同値な図式 4. 離散的解釈における操作的意味論 4.1 部分関数と平板な半順序 4.2 離散的解釈 4.3 書換えによる評価 4.4 意味写像 4.5 計算規則 5. 連続的解釈における操作的意味論 5.1 連続代数としての解釈 5.2 有限の極大要素と停止した計算 6. 解釈のクラス 6.1 汎用の解釈 6.2 代表解釈 6.3 解釈の方程式的クラス 6.4 解釈の代数的クラス 7. 最小不動点意味論 7.1 最小で唯一の解を得る不動点理論 7.2 Scottの帰納原理 7.3 Kleeneの列と打切り帰納法 8. プログラム図式の変換 8.1 プログラム図式における同値性の推論 8.2 畳込み,展開,書換え 8.3 制限された畳込み展開 9. 研究の歴史,他の形式のプログラム図式,文献ガイド 9.1 流れ図 9.2 固定された条件をもつ一様な帰納的関数型プログラム図式 9.3 多様な帰納的関数型プログラム図式 9.4 代数的理論 9.5 プログラムの生成と検証に対する応用 第10章 論理プログラミング K.R.Apt:筧 捷彦 1. 序論 1.1 背景 1.2 論文の構成 2. 構文と証明論 2.1 1階言語 2.2 論理プログラム 2.3 代入 2.4 単一化子 2.5 計算過程―SLD溶融 2.6 例 2.7 SLD導出の特性 2.8 反駁手続き―SLD木 3. 意味論 3.1 1階論理の意味論 3.2 SLD溶融の安全性 3.3 Herbrand模型 3.4 直接帰結演算子 3.5 演算子とその不動点 3.6 最小Herbrand模型 3.7 SLD溶融の完全性 3.8 正解代入 3.9 SLD溶融の強安全性 3.10 手続き的解釈と宣言的解釈 4. 計算力 4.1 計算力と定義力 4.2 ULの枚挙可能性 4.3 帰納的関数 4.4 帰納的関数の計算力 4.5 TFの閉包順序数 5. 否定情報 5.1 非単調推論 5.2 閉世界仮説 5.3 失敗即否定規則 5.4 有限的失敗の特徴付け 5.5 プログラムの完備化 5.6 完備化の模型 5.7 失敗即否定規則の安全性 5.8 失敗即否定規則の完全性 5.9 等号公理と恒等 5.10 まとめ 6. 一般目標 6.1 SLDNF-溶融 6.2 SLDNF-導出の安全性 6.3 はまり 6.4 SLDNF-溶融の限定的な完全性 6.5 許容性 7. 層状プログラム 7.1 準備 7.2 層別 7.3 非単調演算子とその不動点 7.4 層状プログラムの意味論 7.5 完全模型意味論 8. 関連事項 8.1 一般プログラム 8.2 他の方法 8.3 演繹的データベース 8.4 PROLOG 8.5 論理プログラミングと関数プログラミングの統合 8.6 人工知能への応用 第11章 表示的意味論 P.D.Mosses:山田 眞市 1. 序論 2. 構文論 2.1 具象構文論 2.2 抽象構文 2.3 文脈依存構文 3. 意味論 3.1 表示的意味論 3.2 意味関数 3.3 記法の慣例 4. 領域 4.1 領域の構造 4.2 領域の記法 4.3 記法上の約束事 5. 意味の記述法 5.1 リテラル 5.2 式 5.3 定数宣言 5.4 関数の抽象 5.5 変数宣言 5.6 文 5.7 手続き抽象 5.8 プログラム 5.9 非決定性 5.10 並行性 6. 文献ノート 6.1 発展 6.2 解説 6.3 変形 第12章 意味領域 C.A.Gunter and D.S.Scott:山田 眞市 1. 序論 2. 関数の帰納的定義 2.1 cpoと不動点定理 2.2 不動点定理の応用 2.3 一様性 3. エフェクティブに表現した領域 3.1 正規部分posetと射影 3.2 エフェクティブに表現した領域 4. 作用素と関数 4.1 積 4.2 Churchのラムダ記法 4.3 破砕積 4.4 和と引上げ 4.5 同形と閉包性 5. べき領域 5.1 直観的説明 5.2 形式的定義 5.3 普遍性と閉包性 6. 双有限領域 6.1 Poltkin順序 6.2 閉包性 7. 領域の帰納的定義 7.1 閉包を使う領域方程式の解法 7.2 無型ラムダ記法のモデル 7.3 射影を使う領域方程式の解法 7.4 双有限領域上の作用素の表現 第13章 代数的仕様 M.Wirsing:稲垣 康善,坂部 俊樹 1. 序論 2. 抽象データ型 2.1 シグニチャと項 2.2 代数と計算構造 2.3 抽象データ型 2.4 抽象データ型の計算可能性 3. 代数的仕様 3.1 論理式と理論 3.2 代数的仕様とその意味論 3.3 他の意味論的理解 4. 単純仕様 4.1 束と存在定理 4.2 単純仕様の表現能力 5. 隠蔽関数と構成子をもつ仕様 5.1 構文と意味論 5.2 束と存在定理 5.3 隠蔽記号と構成子をもつ仕様の表現能力 5.4 階層的仕様 6. 構造化仕様 6.1 構造化仕様の意味論 6.2 隠蔽関数のない構造化仕様 6.3 構成演算 6.4 拡張 6.5 観測的抽象化 6.6 構造化仕様の代数 7. パラメータ化仕様 7.1 型付きラムダ計算によるアプローチ 7.2 プッシュアウトアプローチ 8. 実現 8.1 詳細化による実現 8.2 他の実現概念 8.3 パラメータ化された構成子実現と抽象化子実現 8.4 実行可能仕様 9. 仕様記述言語 9.1 CLEAR 9.2 OBJ2 9.3 ASL 9.4 Larch 9.5 その他の仕様記述言語 第14章 プログラムの論理 D.Kozen and J.Tiuryn:西村 泰一,近藤 通朗 1. 序論 1.1 状態,入出力関係,軌跡 1.2 外的論理,内的論理 1.3 歴史ノート 2. 命題動的論理 2.1 基本的定義 2.2 PDLに対する演繹体系 2.3 基本的性質 2.4 有限モデル特性 2.5 演繹的完全性 2.6 PDLの充足可能性問題の計算量 2.7 PDLの変形種 3. 1階の動的論理 3.1 構文論 3.2 意味論 3.3 計算量 3.4 演繹体系 3.5 表現力 3.6 操作的vs.公理的意味論 3.7 他のプログラミング言語 4. 他のアプローチ 4.1 超準動的論理 4.2 アルゴリズム的論理 4.3 有効的定義の論理 4.4 時制論理 第15章 プログラム証明のための手法と論理 P.Cousot:細野 千春,富田 康治 1. 序論 1.1 Hoareの萌芽的な論文の解説 1.2 C.A.R.HoareによるHoare論理のその後の研究 1.3 プログラムに関する推論を行うための手法に関するC.A.R.Hoareによるその後の研究 1.4 Hoare論理の概観 1.5 要約 1.6 この概観を読むためのヒント 2. 論理的,集合論的,順序論的記法 3. プログラミング言語の構文論と意味論 3.1 構文論 3.2 操作的意味論 3.3 関係的意味論 4. 命令の部分正当性 5. Floyd-Naurの部分正当性証明手法とその同値な変形 5.1 Floyd-Naurの手法による部分正当性の証明の例 5.2 段階的なFloyd-Naurの部分正当性証明手法 5.3 合成的なFloyd-Naurの部分正当性証明手法 5.4 Floyd-Naurの部分正当性の段階的な証明と合成的な証明の同値性 5.5 Floyd-Naurの部分正当性証明手法の変形 6. ライブネスの証明手法 6.1 実行トレース 6.2 全正当性 6.3 整礎関係,整列集合,順序数 6.4 Floydの整礎集合法による停止性の証明 6.5 ライブネス 6.6 Floydの全正当性の証明手法からライブネスへの一般化 6.7 Burstallの全正当性証明手法とその一般化 7. Hoare論理 7.1 意味論的な観点から見たHoare論理 7.2 構文論的な観点から見たHoare論理 7.3 Hoare論理の意味論 7.4 構文論と意味論の間の関係:Hoare論理の健全性と完全性の問題 8. Hoare論理の補足 8.1 データ構造 8.2 手続き 8.3 未定義 8.4 別名と副作用 8.5 ブロック構造の局所変数 8.6 goto文 8.7 (副作用のある)関数と式 8.8 コルーチン 8.9 並行プログラム 8.10 全正当性 8.11 プログラム検証の例 8.12 プログラムに対して1階論理を拡張した他の論理 第16章 様相論理と時間論理 E.A.Emerson:志村 立矢 1. 序論 2. 時間論理の分類 2.1 命題論理 対 1階述語論理 2.2 大域的と合成的 2.3 分岐的 対 線形 2.4 時点と時区間 2.5 離散 対 連続 2.6 過去時制 対 未来時制 3. 線形時間論理の技術的基礎 3.1 タイムライン 3.2 命題線形時間論理 3.3 1階の線形時間論理 4. 分岐的時間論理の技術的基礎 4.1 樹状構造 4.2 命題分岐的時間論理 4.3 1階の分岐的時間論理 5. 並行計算:その基礎 5.1 非決定性と公平性による並列性のモデル化 5.2 並列計算の抽象モデル 5.3 並列計算の具体的なモデル 5.4 並列計算の枠組みと時間論理の結び付き 6. 理論的見地からの時間論理 6.1 表現可能性 6.2 命題時間論理の決定手続き 6.3 演繹体系 6.4 モデル性の判定 6.5 無限の対象の上のオートマトン 7. 時間論理のプログラムの検証への応用 7.1 並行プログラムの正当性に関する性質 7.2 並行プログラムの検証:証明論的方法 7.3 時間論理による仕様からの並行プログラムの機械合成 7.4 有限状態並行システムの自動検証 8. 計算機科学における他の様相論理と時間論理 8.1 古典様相論理 8.2 命題動的論理 8.3 確率論理 8.4 不動点論理 8.5 知識 第17章 関係データベース理論の構成要素 P.C.Kanellakis:鈴木 晋 1. 序論 1.1 動機と歴史 1.2 内容についての案内 2. 関係データモデル 2.1 関係代数と関係従属性 2.2 なぜ関係代数か 2.3 なぜ関係従属性か 2.4 超グラフとデータベーススキーマの構文について 2.5 論理とデータベースの意味について 3. 従属性とデータベーススキーマ設計 3.1 従属性の分類 3.2 データベーススキーマ設計 4. 問合わせデータベース論理プログラム 4.1 問合わせの分類 4.2 データベース論理プログラム 4.3 問合わせ言語と複合オブジェクトデータモデル 5. 議論:関係データベース理論のその他の話題 5.1 不完全情報の問題 5.2 データベース更新の問題 6. 結論 第18章 分散計算:モデルと手法 L.Lamport and N.Lynch:山下 雅史 1. 分散計算とは何か 2. 分散システムのモデル 2.1 メッセージ伝達モデル 2.2 それ以外のモデル 2.3 基礎的概念 3. 分散アルゴリズムの理解 3.1 挙動の集合としてのシステム 3.2 安全性と活性 3.3 システムの記述 3.4 主張に基づく理解 3.5 アルゴリズムの導出 3.6 仕様記述 4. 典型的な分散アルゴリズム 4.1 共有変数アルゴリズム 4.2 分散合意 4.3 ネットワークアルゴリズム 4.4 データベースにおける並行性制御 第19章 並行プロセスの操作的および代数的意味論 R.Milner:稲垣 康善,結縁 祥治 1. 序論 2. 基本言語 2.1 構文および記法 2.2 操作的意味論 2.3 導出木と遷移グラフ 2.4 ソート 2.5 フローグラフ 2.6 拡張言語 2.7 その他の動作式の構成 3. プロセスの強合同関係 3.1 議論 3.2 強双模倣関係 3.3 等式による強合同関係の性質 3.4 強合同関係における置換え可能性 3.5 強等価関係上での不動点の唯一性 4. プロセスの観測合同関係 4.1 観測等価性 4.2 双模倣関係 4.3 観測合同関係 4.4 プロセス等価性上での不動点の唯一性 4.5 等式規則の完全性 4.6 プロセスの等価性に対するその他の概念 5. 双模倣等価関係の解析 5.1 等価性の階層構造 5.2 階層構造の論理的特性化 6. 合流性をもつプロセス 6.1 決定性 6.2 合流性 6.3 合流性を保存する構成子 7. 関連する重要な文献
説明しても判らないであろう部分は、抽象化して説明すれば良いんでないか。
相手は理解をしたいわけじゃないだろう。
納得したいだけ。
ケーキの例えは微妙ですね。量の問題ではないです。質の問題です。
例えば、好きな要素が、ルックス、のんびり屋、金持ち、だとしたら、
Aちゃんは、全部持ってて
Bちゃんは、のんびり屋、だけだったとします。
もちろん「のんびり屋度がBちゃんの方が上だから、Bちゃんを選ぶ」というのは理解できてます。各要素はまったく同一だとします。
グラビアアイドルのようなルックスで、僕のために色々尽くしてくれて、僕を大好きで、大金持ちの令嬢が
言い寄ってきたら、心が揺れると思います。
抽象化するとこうなるでしょうか。
好きになる要素a,b,c,d.....z があったとして、
ほぼ同時期に上記要素をもつ異性がふたり(仮にAちゃん、Bちゃんとする)現われたとする。
Aちゃんは要素を10個もつ。
Bちゃんは要素を5個もつ。
Aちゃん∋Bちゃんとする。
この場合、どんな人でもAちゃんと付き合うと思う。
(両方と付き合うとか、Bちゃんと付き合ったあと、Bちゃんを振って、Aちゃんと付き合うとか、そういうのはナシで)
「わたしはあなたよりも多くの要素を持つ人があなたと同時期に現れてたとしても、あなたを選んだ」
と主張してゆずりません。
僕は彼女が恋に浮かれて、おかしな事を言っているだけだと思っていますが、
そうではない可能性はあり得るのでしょうか?