「変数」を含む日記 RSS

はてなキーワード: 変数とは

2012-02-01

http://anond.hatelabo.jp/20120131213502

から薄味とか濃い味とかわからずに育っているんだ。

それが困るのは、自分の味覚で味を調整しようとするからなんだぜ?

まだそんなことができる段階じゃない。

今塩を足したら味はこうなるとかシミュレーションできないうちはやめた方が良い。



レシピにもよるが、「適量」とか「お好み」とか省略して書いて無い奴をまずは作る。

それで、レシピを書いた人が作った料理と同じものができる。

それが美味いか不味いかは、レシピ書いた人の味覚と作った人の味覚の違いによるので仕方がない。

基準ができれば、次回から二人の好みに合わせて調整したレシピを作っていけばいい。

一通りのレシピが完成したら、それがお前さんたち夫婦の家庭の味になるって事だ。

コミュニティのためにレシピを公開するのも良いんじゃないかね?



余談だが、化学実験工業化する際のようにレシピは割合で覚えた方がスケーラビリティが良い。

まぁ、全工程変数化するのはそれなりに面倒だが、やっておくと年末年始お盆などに来客があった時に慌てなくて済む。

2012-01-20

http://anond.hatelabo.jp/20120120152748

方程式線形なら、その方程式系の性質を調べる一般的な枠組みを線形代数学と言う。

線形方程式系が解を持つ条件は、変数の数と方程式の数が同じなら、その係数行列逆行列を持つということと同値

行列逆行列を持たないとき、その行列行列式が0になるので、例えば2次元かつ方程式2つなら、それらがどのくらい「平行に近いか」と「行列式がどれくらい0に近いか」が関係ある。



変数の数より方程式の数が多いとき行列が正方行列でなくなるので、逆行列存在しない。

でもその場合でも、(ムーアペンローズの)一般化逆行列というものを求めることができて、これを使うと「全ての方程式を最大限満たす解」を書き下すことができる。

この「最大限満たす解」が「完全に満たす解」であれば解が存在することになる。その条件も一般化逆行列による記述を使えば調べることができるだろう。

もっと高級なこと言い出すとジョルダン標準形がどうとかいう話になるかもしれないけど…。



非線形場合は基本的に、一般的に調べるのは難しいと思う。

局所的に線形化して調べるくらいしかいかも…。



しかし、こういうのをネットで簡単にいろんな人に訊けるというのはほんと羨ましい。

俺の頃にもこういうのがあったら良かったのになあ…。

http://anond.hatelabo.jp/20120120150936

一般の非線形の話してんの?変数次元は?

「2つ」って言ってるところからして非線形かつ2次元の想定だと思うけど。

線形2次元かつ方程式3つ以上なら、直線が囲む面積と一般化逆行列の特異値かなんかの関連とかありそうだけど。

2012-01-18

Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1

 

42 : デフォルト名無しさん : 2011/11/12(土) 23:53:51.20

Pythonの方が弄れる対象が多いのに、なんでウェブ系だとPHPの方が流行ってんだろ

端末からテキスト処理も楽だし、数値計算周りのライブラリも充実しているのに

PHPが優遇されているのって歴史的な経緯以外に何か他の理由でもあるのか?

けどまぁ、情弱文系SEが大半を占めているバカだらけの日本じゃ別にPHPで困ることもないか


45 : デフォルト名無しさん : 2011/11/13(日) 01:41:24.25

数値計算や端末からテキスト処理なんてWeb系じゃ大して使わないからなあ…


43 : デフォルト名無しさん : 2011/11/13(日) 00:04:23.30

PHPが未だに現役なのは、単に歴史的な経緯でしかないだろ

Pythonに関しては、ZopeさえコケていなければWebサーバLLとして大成功していたはずなのに、

Railsなんかが登場したおかげで、すっかり影が薄くなってしまますた....


44 : デフォルト名無しさん : 2011/11/13(日) 00:49:55.28

zopeってコケてたんだ

ってか、railsインスパイアされたフレームワークって今じゃ幾らでもあるよね

djangoとかCakePHPとか。rubyってRoRを使いたいユーザを除くと、

pythonPHPの方がユーザー数は圧倒的に多いと思うんだけど

本家railsって、他を遥かに越えるほど良いものなんだっけ?


48 : デフォルト名無しさん : 2011/11/13(日) 08:30:25.68

44

Zopeが登場した当時、RDB+PHPはもう古い、これからOODB+ZopeWebの中軸になる!」

さかんに宣伝され、雑誌でもZope特集が組まれていた

 

少なくとも自分ZopeからPythonという言語を知ったし、その時点でRubyは知らなかった

そして、その後のORM(RDB)+Railsの出現と華々しい革新性への注目は、誰もが知っているだろう

今でもZopeの開発は継続されてはいるが、結果的に当初の期待が大きく裏切られたという事実は動かしがたい

 

djangoCakePHPについては実際に触っていないので憶測になるが、おそらく技術水準ではRailsと同等だろう

しかしRailsはRailsコミュニティの活動が活発だし、その進化は異常に早い

 

Railsに何か致命的なトラブルが発生して開発が停滞する、あるいはdjangoCakePHPから

何かのイノベーションが提示されでもされない限り、後発のdjangoCakePHPRailsに追いつくのは無理

Railsは決して技術的に完璧Webフレームワークではないんだけどね....(たとえばSeaSideのような.... )

 

からこそ「もしもZopeが....だったなら」という「たら・れば」感はPythonコミュニティの潜在認識になっている


51 : デフォルト名無しさん : 2011/11/13(日) 12:55:40.83

 C a k e P H P は う ん こ   

遅い、設計が古い、動作がおかしいの3重苦

日本では流行ってないけど海外だとYiiが流行ってきてる


55 : デフォルト名無しさん : 2011/11/13(日) 17:31:12.14

CakePHP使ってんの?

可哀そうにw


53 : デフォルト名無しさん : 2011/11/13(日) 14:44:48.55

求人PHPばかりだからPHPやるしかないだろ。


57 : デフォルト名無しさん : 2011/11/13(日) 19:34:04.95

でもやっぱりいつもの使い慣れたLL(Python/Ruby)で

Webサービスを書きたいってのがある


73 : デフォルト名無しさん : 2011/11/15(火) 17:32:46.07

アメリカ言語ユーザー数は

Python>>>>>>>>Ruby

求人数は

Ruby on Rails>>>>>>>>Django

http://www.indeed.com/jobtrends?q=django%2Cruby+on+rails&l=

どういうことなの?


74 : デフォルト名無しさん : 2011/11/15(火) 17:48:15.59

RubyRails以外に使い道がないか


75 : デフォルト名無しさん : 2011/11/15(火) 17:54:35.50

海外ではRubyは昨今のRailsバブルのお陰で

もはやWebスタートアップ共通語になってるらしいからね

求人数が多いのはそのためだと思うよ


76 : デフォルト名無しさん : 2011/11/15(火) 18:03:23.05

なんかのミスかと思ったがアメリカでもRuby on Railsは人気があるのかなあ・・・

Pythonのほうが使いやすいと思うのだがフレームワークRailsが優位なんだろうか


77 : デフォルト名無しさん : 2011/11/15(火) 18:23:14.33

Djangoは周辺ライブラリ微妙だし本体も鈍くさい感じがする。

でも、FlaskはSinatraより好きだからPythonが嫌いってわけではない。むしろ好き。

 

ただ、いざ作り始めるとやっぱりRailsが楽だなあってなって、Railsを使い続けている。


78 : デフォルト名無しさん : 2011/11/15(火) 18:38:46.28

同感だ

同じように思っている人が他にもいて安心した


79 : デフォルト名無しさん : 2011/11/15(火) 18:54:37.13

PHPJavaScalaには

Railsみたいなフレームワークあるのに

Pythonはいいのないんだよな


80 : デフォルト名無しさん : 2011/11/15(火) 21:19:09.89

PHPフレームワークが乱立しすぎているから、RailsPHPで実装してみようというやつが出てきた。

Scalaも注目されだしたのはつい最近のことだしな。

それに比べてPythonは、Zopeというデファクトスタンダードが既に存在していたけど、

つの間にかフェードアウト


ただ、どうやってもRailsもどきRailsを超えることはできないのは間違いない。


83 : デフォルト名無しさん : 2011/11/15(火) 21:25:38.55

パクリオリジナルを超えられない(キリッ って定型句だけど、

これってキリッって言いたいだけだと思う。

後発品が先に出たものを超えたものなんていくらでもあるから


84 : デフォルト名無しさん : 2011/11/15(火) 21:30:04.39

D言語って超えたって?


85 : デフォルト名無しさん : 2011/11/15(火) 21:31:12.00

B言語って超えたって?


86 : デフォルト名無しさん : 2011/11/15(火) 21:53:33.76

でもRailsRubyの黒魔術を使いまくりから

PHPで同じ事をできないわけではないだろうけど、Ruby on Railsほど簡潔にはできない


90 : デフォルト名無しさん : 2011/11/15(火) 22:50:07.81

スタートアップなんて根無し草の集まりにとって、

googleが囲った言語coolさを見出せないんだろ


123 : デフォルト名無しさん : 2011/11/20(日) 11:32:16.79

まあくだらねえWEBサービス作って喜んでる情弱は早く死ねって事だよ


91 : デフォルト名無しさん : 2011/11/15(火) 22:52:42.98

そういう理由じゃなくてRailsのほうが単純に情報プラグインも多いからでしょ


3 : デフォルト名無しさん : 2011/11/15(火) 23:07:07.67

linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん

わざわざ不合理で不完全な言語を使うなんて

社会からハミ出た奴らの精神的な作用によるものじゃないの?


95 : デフォルト名無しさん : 2011/11/15(火) 23:20:20.21

django情報プラグインが増えないという、

現実に対する鬱憤を吐いてるようにしか聞こえないな

もしも

linuxじゃデフォのツールなんだし、ツールとの連携を考えたらpython一択じゃん

真実であるのなら、今頃はdjango情報プラグインが溢れかえっているはず


104 : デフォルト名無しさん : 2011/11/16(水) 01:20:49.05

Python信者乙。

yumや、gdbgnome拡張pythonであるからといって、それをwebアプリでも使いたいと思う人は少ないというだけのこと。

ソースからインストールする必要があったとしても、web開発ではrubyを使いたいという人が多いというだけのこと。


94 : デフォルト名無しさん : 2011/11/15(火) 23:15:11.93

というか、世界中Pythonプログラマが Remeber Zope!! を合い言葉

打倒RailsたるWebフレームワークを開発しているはずだけど、

いまだにRailsを超えるプロダクトが登場しないのはナゼ?


Railsも登場してから、かなりの年月が経過しているんだけどなぁ....

その間にもRailsRails 3が登場して、REST/AJAXの強化等の進化継続しているよ

347 : デフォルト名無しさん : 2011/12/09(金) 10:16:35.22

Ruby では

ary.map {|x| x**2}

となるものが、Python では

map(lambda x: x**2, ary)

となり、lambda の本体が1つの式では表現しきれなくなると

def mapper(x):

.....

map(mapper, ary)

書き換える必要があります


348 : デフォルト名無しさん : 2011/12/09(金) 10:24:20.94

Pythonのlambdaを用いた階乗計算

f = lambda x:(x and f(x-1)*x)or 1

RubyにはPythonのように「lambda本体は式でなければならない」という限定がありませんから

andやorを使った不自然記述をしなくても

f = lambda{|x|if x == 0 then 1 else x*f.call(x-1) end}

または

f = lambda{|x|x == 0 ? 1 : x*f.call(x-1)}

と書けます。lambda内でreturnが使えますから、書きたければ

f = lambda{|x|if x == 0 then return 1 else return x*f.call(x-1) end}

でもOKです。


390 : デフォルト名無しさん : 2011/12/10(土) 15:35:41.62

348

これはPythondisっているように見せかけてRubydisっているのか? と一瞬思ってしまったw

だってRubyのほうが長くない?CLのfuncallみたいなcall()がちょっとうざいし…

そしてどっちもlambda式の中で束縛変数名前再帰可能、と

350 : デフォルト名無しさん : 2011/12/09(金) 11:12:13.28

要素に対する関数適用と、抽出を組み合わせる場合

Python

print [x*2+100 for x in [1,2,3,4,5] if x > 2 and x < 5]

暗号のように見える。

Ruby

puts [1,2,3,4,5].select{|i| i > 2 and i < 5}.map{|i| i*2+100}

思考の流れと、コードの流れが一致しているので書きやすい。


351 : デフォルト名無しさん : 2011/12/09(金) 11:22:55.04

だれだPythonなら書き方はひとつとか言ってるのは

map(lambda x: x*2+100, filter(lambda x: x > 2 and x < 5, [1,2,3,4,5]))

354 : デフォルト名無しさん : 2011/12/09(金) 12:22:07.37

pythonて可読性が高いのをうたってる割にはそこいまいちだよね


353 : デフォルト名無しさん : 2011/12/09(金) 12:10:08.46

Ruby場合には、左から右へと無名関数データフローあるいは

パイプラインのように並ぶからコードが読みやすい

 

関数型プログラミングに不慣れな初心者でも、参照透明性のあるコード自然に書ける

プログラマにとって優しい or プログラミングの楽しさを教えてくれるのがRuby

 

それと比較すると、Pythonコードは、関数型プログラミングというもの

いかに高度で難解なものであるかという事をもったいぶってプログラマ押し付け

 

もしもPythonしか知らないプログラマであれば、関数型 = 難解 という印象を持つだろう


356 : デフォルト名無しさん : 2011/12/09(金) 12:53:45.66

階乗計算くらいだと単純すぎて、ナゼ重要なのかが分かりづらいと思うのでコードで示す

result_list = source_list.map { |elem|

  x = foo(elem.x)  # ここが局所宣言を書く部分

  y = bar(elem.y)  # ここも局所宣言の続き

  x + y       # 最後に評価された式の値が、無名関数のリターン値になる

}

Rubyでは、map等に与える無名関数の中で局所的な環境(クロージャ)が作られるから

x = foo(...) のような代入文がいくつでも(= 複雑な処理でも)書ける

このポイントは、実用的なプログラム関数型風で書こうとした時に、威力を発揮する

357 : デフォルト名無しさん : 2011/12/09(金) 12:59:21.07

余計分かりづらくなった

358 : デフォルト名無しさん : 2011/12/09(金) 13:17:26.54

リスト内包表記が暗号みたいと言ってる奴は

高卒ドカタなんだろうなぁと可哀想になる

大学数学に触れる機会があれば

集合の表記に似せてることが分かるから

386 : デフォルト名無しさん : 2011/12/10(土) 01:41:34.46

数学とかで慣れてるし区切りが関数のがわかりやすい


359 : デフォルト名無しさん : 2011/12/09(金) 13:46:31.97

355

map/filterはfor/ifと同じだと言っているだけだから、難解という印象は持たない。

関数型プログラミングに慣れた、あるいは得意な人であれば、そういった印象なんだろね

Rubyの魅力はこれから関数型プログラミングを学ぼうとする初心者、 あるいはそんな初心者へ教える立場から見た、優しさ or 分かりやすさなんだ



360 : デフォルト名無しさん : 2011/12/09(金) 13:53:28.85

Rubyだと直感的に書けるコード

[1,4,3,2].sort.reverse.map{|x| x.to_s}.join('-')

Pythonだと読みにくい。

'-'.join(map(str, reversed(sorted([1,4,3,2]))))


361 : デフォルト名無しさん : 2011/12/09(金) 14:07:17.88

360

Pythonでは思考の流れと一致しないばかりか、「カッコだらけ」のコードになると.....


364 : デフォルト名無しさん : 2011/12/09(金) 14:28:55.99

カッコだらけのコードを分かりやすくする基本的な方法静的単一代入じゃないか

Rubyのやり方は基本ではなく玄人のやり方だろ


372 : 369 : 2011/12/09(金) 16:21:03.82

Pythonでは組み込みの型でメソッドチェインはやって欲しくないな

listにmap,filterメソッドができたとしても、

似たようなコレクションtuple,deque,array,queue等にも同じメソッドが必要になってくるし。

シーケンスプロトコルの利点が活かせない。

383 : デフォルト名無しさん : 2011/12/10(土) 01:17:28.39

372

外部のライブラリでも列挙可能なものは、たいていEnumerableモジュールをimportしてます

Rubyユーザーは列挙可能なものmapselectできて当然だろって思ってる気がしま


377 : デフォルト名無しさん : 2011/12/09(金) 18:41:51.79

Pythonは「何かを便利に書くためのしわ寄せ」をはっきり寄せてくる

得意と不得意を言語レベルではっきり主張するのでメリケン好みと言えなくもない

Rubyは全方位になんとなく八方美人なので、全体的になんとなく書きやすくてなんとなくキモくて遅い

379 : デフォルト名無しさん : 2011/12/09(金) 18:48:52.27

Pythonユーザー調教っぷりは異常

「書きにくいってことはその処理に向いてないってことだから諦めろ」を地で行く


387 : デフォルト名無しさん : 2011/12/10(土) 13:40:40.74

リストの内包表記はシンプルに書けるときは使うけど

基本その場でdefするのがPython風なんだと思う。

389 : デフォルト名無しさん : 2011/12/10(土) 14:40:31.04

無名関数が文を使うほど複雑なら名前を付けるのが Python 流と想像

384 : デフォルト名無しさん : 2011/12/10(土) 01:23:49.48

outer(center(inter( arg )))

これを読みづらいと感じるのは、左から右に流れる

日本語文に慣れているからだと思うが、

もしかしてアラビア語ネイティブな人からすると逆に読みやすいのか?


385 : デフォルト名無しさん : 2011/12/10(土) 01:34:57.89

なるほど、ということは右から左、左から右どっちでも行ける言語が最高ですね

F#パイプライン演算子最高ということで

2011-12-17

CStaticコントロールにCBitmapを表示する方法

//ダイアログクラスにメンバ変数定義
std::auto_ptr<CBitmap> m_pbmp;

//bitmapを設定するメンバ関数
void C*****Dlg::Set*****Bitmap() {
	CDC* pDC = GetDC();
	CDC memdc;
	memdc.CreateCompatibleDC(pDC);
	m_pbmp.reset(new CBitmap());
	CBitmap& bmp = *m_pbmp;
	bmp.CreateCompatibleBitmap(pDC, width, height);
	
	CBitmap* old = memdc.SelectObject(&bmp);
	memdc.FillSolidRect(0,0,width,height, color);
	memdc.SelectObject(old);
	((CStatic*)GetDlgItem(IDC_STAIC_*********))->SetBitmap(bmp);
}

スクリーンと同じデバイスコンテキストビットマップ作成し単色で描画している。描画し終わった後のSelectObjectを忘れてはいけない。

CStatic::SetBitmapに渡した後も実際に描画されるまでCBitmapの寿命保証しなければならない。

そのためメンバ変数にCBitmapを持たせるがCBitmapが再利用を考慮していないという驚くべき仕様なので仕方なくauto_ptrでラップしている。

いい加減MFC滅びてくれないかな。抽象度が低すぎる。こんな記事自分ブログに書きたくないよ。

さらにVisualStudio 2005のauto_ptrのバグを見つけた operator = にポインタを渡すとおかしくなる。これは本来コンパイルエラーになるべきで代わりにresetメンバ関数を使用するべきだ。

修正するには<memory>ヘッダのauto_ptr_refのコンストラクタひとつ上の行(642行目)に private: template<class T> friend class auto_ptr; を挿入する。

これならばアクセス制御をしているだけなので他のコードへの影響は無いと思う。

2011-12-12

コンピュータプログラミング概念技法モデル」の目次

第1章 プログラミング概念入門
	1.1 計算器
	1.2 変数
	1.3 関数
	1.4 リスト
	1.5 リストについての関数
	1.6 プログラムの正しさ
	1.7 計算量
	1.8 遅延計算
	1.9 高階プログラミング
	1.10 並列性
	1.11 データフロー
	1.12 明示的状態
	1.13 オブジェクト
	1.14 クラス
	1.15 非決定性と時間
	1.16 原子性
	1.17 ここからどこへ行くのか?
	1.18 練習問題

第1部 一般的計算モデル

第2章 宣言的計算モデル
	2.1 実用プログラミング言語定義
		2.1.1 言語の構文
		2.1.2 言語意味
	2.2 単一代入格納域
		2.2.1 宣言的変数
		2.2.2 値格納域
		2.2.3 値生成
		2.2.4 変数識別子
		2.2.5 識別子を使う値生成
		2.2.6 部分値
		2.2.7 変数の,変数への束縛
		2.2.8 データフロー変数
	2.3 核言語
		2.3.1 構文
		2.3.2 値と型
		2.3.3 基本型
		2.3.4 レコード手続き
		2.3.5 基本操作
	2.4 核言語意味
		2.4.1 基本概念
		2.4.2 抽象マシン
		2.4.3 待機不能な文
		2.4.4 待機可能な文
		2.4.5 基本概念再訪
	2.5 メモリ管理
		2.5.1 末尾呼び出し最適化
		2.5.2 メモリライフサイクル
		2.5.3 ガーベッジコレクション
		2.5.4 ガーベッジコレクションは魔術ではない
		2.5.5 Mozartのガーベッジコレクタ
	2.6 核言語から実用言語へ
		2.6.1 構文上の便宜
		2.6.2 関数(fun文)
		2.6.3 対話的インターフェース(declare文)
	2.7 例外
		2.7.1 動機と基本概念
		2.7.2 例外を持つ宣言的モデル
		2.7.3 親言語の構文
		2.7.4 システム例外
	2.8 進んだ話題
		2.8.1 関数型プログラミング言語
		2.8.2 単一化と内含(entailment)
		2.8.3 動的型付けと静的型付け
	2.9 練習問題

第3章 宣言的プログラミング技法
	3.1 宣言的とはどういうことか?
		3.1.1 宣言的プログラムの分類
		3.1.2 仕様記述言語
		3.1.3 宣言的モデルにおいてコンポーネントを実装すること
	3.2 反復計算
		3.2.1 一般的図式
		3.2.2 数についての反復
		3.2.3 局所的手続きを使うこと
		3.2.4 一般的図式から制御抽象へ
	3.3 再帰計算
		3.3.1 スタックの大きさの増加
		3.3.2 代入ベース抽象マシン
		3.3.3 再帰計算を反復計算に変換すること
	3.4 再帰を用いるプログラミング
		3.4.1 型の記法
		3.4.2 リストについてのプログラミング
		3.4.3 アキュムレータ
		3.4.4 差分リスト
		3.4.5 キュー
		3.4.6 木
		3.4.7 木を描画すること
		3.4.8 構文解析
	3.5 時間効率空間効率
		3.5.1 実行時間
		3.5.2 メモリ使用量
		3.5.3 償却的計算量
		3.5.4 性能についての考察
	3.6 高階プログラミング
		3.6.1 基本操作
		3.6.2 ループ抽象
		3.6.3 ループ言語的支援
		3.6.4 データ駆動技法
		3.6.5 明示的遅延計算
		3.6.6 カリー化
	3.7 抽象データ型
		3.7.1 宣言的スタック
		3.7.2 宣言的辞書
		3.7.3 単語出現頻度アプリケーション
		3.7.4 安全抽象データ型
		3.7.5 安全な型を備えた宣言的モデル
		3.7.6 安全な宣言的辞書
		3.7.7 資格セキュリティ
	3.8 宣言的でない必要物
		3.8.1 ファイルを伴うテキスト入出力
		3.8.2 グラフィカルユーザインタフェースを伴うテキスト入出力
		3.8.3 ファイルとの状態なしデータI/O
	3.9 小規模プログラム設計
		3.9.1 設計方法
		3.9.2 プログラム設計の例
		3.9.3 ソフトウェアコンポーネント
		3.9.4 スタンドアロンプログラムの例
	3.10 練習問題

第4章 宣言的並列性
	4.1 データ駆動並列モデル
		4.1.1 基本概念
		4.1.2 スレッド意味
		4.1.3 実行列
		4.1.4 宣言的並列性とは何か?
	4.2 スレッドプログラミングの基本的技法
		4.2.1 スレッドを生成すること
		4.2.2 スレッドブラウザ
		4.2.3 スレッドを使うデータフロー計算
		4.2.4 スレッドスケジューリング
		4.2.5 協調的並列性と競合的並列性
		4.2.6 スレッド操作
	4.3 ストリーム
		4.3.1 基本的生産者消費者
		4.3.2 変換器とパイプライン
		4.3.3 資源管理し,処理能力改善すること
		4.3.4 ストリームオブジェクト
		4.3.5 ディジタル論理シミュレーション
	4.4 宣言的並列モデルを直接使うこと
		4.4.1 順序決定並列性
		4.4.2 コルーチン
		4.4.3 並列的合成
	4.5 遅延実行
		4.5.1 要求駆動並列モデル
		4.5.2 宣言的計算モデル
		4.5.3 遅延ストリーム
		4.5.4 有界バッファ
		4.5.5 ファイルを遅延的に読み込むこと
		4.5.6 ハミング問題
		4.5.7 遅延リスト操作
		4.5.8 永続的キューアルゴリズム設計
		4.5.9 リスト内包表記
	4.6 甘いリアルタイムプログラミング
		4.6.1 基本操作
		4.6.2 ティッキング(ticking)
	4.7 Haskell言語
		4.7.1 計算モデル
		4.7.2 遅延計算
		4.7.3 カリー化
		4.7.4 多態型
		4.7.5 型クラス
	4.8 宣言的プログラム限界拡張
		4.8.1 効率性
		4.8.2 モジュラ性
		4.8.3 非決定性
		4.8.4 現実世界
		4.8.5 正しいモデルを選ぶこと
		4.8.6 拡張されたモデル
		4.8.7 異なるモデルを一緒に使うこと
	4.9 進んだ話題
		4.9.1 例外を持つ宣言的並列モデル
		4.9.2 さらに遅延実行について
		4.9.3 通信チャンネルとしてのデータフロー変数
		4.9.4 さらに同期について
		4.9.5 データフロー変数有用性
	4.10 歴史に関する注記
	4.11 練習問題

第5章 メッセージ伝達並列性
	5.1 メッセージ伝達並列モデル
		5.1.1 ポート
		5.1.2 ポート意味
	5.2 ポートオブジェクト
		5.2.1 NewPortObject抽象
		5.2.2 例
		5.2.3 ポートオブジェクトに関する議論
	5.3 簡単なメッセージプロトコル
		5.3.1 RMI(遠隔メソッド起動)
		5.3.2 非同期RMI
		5.3.3 コールバックのあるRMI(スレッド使用)
		5.3.4 コールバックのあるRMI(継続のためのレコード使用)
		5.3.5 コールバックのあるRMI(継続のための手続き使用)
		5.3.6 エラー報告
		5.3.7 コールバックのある非同期RMI
		5.3.8 二重コールバック
	5.4 並列性のためのプログラム設計
		5.4.1 並列コンポーネントを使うプログラミング
		5.4.2 設計方法
		5.4.3 並列性パターンとしての機能的構成要素
	5.5 リフト制御システム
		5.5.1 状態遷移図
		5.5.2 実装
		5.5.3 リフト制御システムの改良
	5.6 メソッド伝達モデルを直接使用すること
		5.6.1 1つのスレッドを共有する複数のポートオブジェクト
		5.6.2 ポートを使う並列キュー
		5.6.3 終点検出を行うスレッド抽象
		5.6.4 直列依存関係の除去
	5.7 Erlang言語
		5.7.1 計算モデル
		5.7.2 Erlangプログラミング入門
		5.7.3 receive操作
	5.8 進んだ話題
		5.8.1 非決定性並列モデル
	5.9 練習問題

第6章 明示的状態
	6.1 状態とは何か?
		6.1.1 暗黙的(宣言的)状態
		6.1.2 明示的状態
	6.2 状態とシステム構築
		6.2.1 システムの性質
		6.2.2 コンポーネントベースプログラミング
		6.2.3 オブジェクト指向プログラミング
	6.3 明示的状態を持つ宣言的モデル
		6.3.1 セル
		6.3.2 セル意味
		6.3.3 宣言的プログラミングとの関係
		6.3.4 共有と同等
	6.4 データ抽象
		6.4.1 データ抽象組織する8つの方法
		6.4.2 スタックの変種
		6.4.3 多態性
		6.4.4 引数受け渡し
		6.4.5 取り消し可能資格
	6.5 状態ありコレクション
		6.5.1 インデックス付きコレクション
		6.5.2 インデックス付きコレクションを選ぶこと
		6.5.3 その他のコレクション
	6.6 状態に関する推論
		6.6.1 不変表明
		6.6.2 例
		6.6.3 表明
		6.6.4 証明規則
		6.6.5 正常終了
	6.7 大規模プログラム設計
		6.7.1 設計方法
		6.7.2 階層システム構造
		6.7.3 保守性
		6.7.4 将来の発展
		6.7.5 さらに深く知るために
	6.8 ケーススタディ
		6.8.1 遷移的閉包
		6.8.2 単語出現頻度(状態あり辞書を使用する)
		6.8.3 乱数を生成すること
		6.8.4 口コミシミュレーション
	6.9 進んだ話題
		6.9.1 状態ありプログラミング限界
		6.9.2 メモリ管理と外部参照
	6.10 練習問題

第7章 オブジェクト指向プログラミング
	7.1 継承
	7.2 完全なデータ抽象としてのクラス
		7.2.1 例
		7.2.2 この例の意味
		7.2.3 クラスオブジェクト定義すること
		7.2.4 クラスメンバ
		7.2.5 属性初期化すること
		7.2.6 第1級メッセージ
		7.2.7 第1級の属性
		7.2.8 プログラミング技法
	7.3 漸増的データ抽象としてのクラス
		7.3.1 継承グラフ
		7.3.2 メソッドアクセス制御(静的束縛と動的束縛)
		7.3.3 カプセル化制御
		7.3.4 転嫁委任
		7.3.5 内省
	7.4 継承を使うプログラミング
		7.4.1 継承の正しい使い方
		7.4.2 型に従って階層を構成すること
		7.4.3 汎用クラス
		7.4.4 多重継承
		7.4.5 多重継承に関するおおざっぱな指針
		7.4.6 クラス図の目的
		7.4.7 デザインパターン
	7.5 他の計算モデルとの関係
		7.5.1 オブジェクトベースプログラミングコンポーネントベースプログラミング
		7.5.2 高階プログラミング
		7.5.3 関数分解と型分解
		7.5.4 すべてをオブジェクトにすべきか?
	7.6 オブジェクトシステムを実装すること
		7.6.1 抽象図
		7.6.2 クラスを実装すること
		7.6.3 オブジェクトの実装
		7.6.4 継承の実装
	7.7 Java言語(直列部分)
		7.7.1 計算モデル
		7.7.2 Javaプログラミング入門
	7.8 能動オブジェクト
		7.8.1 例
		7.8.2 NewActive抽象
		7.8.3 フラウィウス・ヨセフスの問題
		7.8.4 その他の能動オブジェクト抽象
		7.8.5 能動オブジェクトを使うイベントマネージャ
	7.9 練習問題

第8章 状態共有並列性
	8.1 状態共有並列モデル
	8.2 並列性を持つプログラミング
		8.2.1 さまざまな手法概観
		8.2.2 状態共有並列モデルを直接使うこと
		8.2.3 原子アクションを使うプログラミング
		8.2.4 さらに読むべき本
	8.3 ロック
		8.3.1 状態あり並列データ抽象を構築すること
		8.3.2 タプル空間(Linda)
		8.3.3 ロックを実装すること
	8.4 モニタ
		8.4.1 定義
		8.4.2 有界バッファ
		8.4.3 モニタを使うプログラミング
		8.4.4 モニタを実装すること
		8.4.5 モニタの別の意味
	8.5 トランザクション
		8.5.1 並列性制御
		8.5.2 簡易トランザクションマネージャ
		8.5.3 セルについてのトランザクション
		8.5.4 セルについてのトランザクションを実装すること
		8.5.5 トランザクションについてさらに
	8.6 Java言語(並列部分)
		8.6.1 ロック
		8.6.2 モニタ
	8.7 練習問題

第9章 関係プログラミング
	9.1 関係計算モデル
		9.1.1 choice文とfail文
		9.1.2 探索木
		9.1.3 カプセル化された
		9.1.4 Solve関数
	9.2 別の例
		9.2.1 数値例
		9.2.2 パズルとnクイーン問題
	9.3 論理プログラミングとの関係
		9.3.1 論理論理プログラミング
		9.3.2 操作意味論理意味
		9.3.3 非決定性論理プログラミング
		9.3.4 純粋Prologとの関係
		9.3.5 他のモデルにおける論理プログラミング
	9.4 自然言語構文解析
		9.4.1 簡単な文法
		9.4.2 この文法に従う構文解析
		9.4.3 構文木を生成すること
		9.4.4 限定記号を生成すること
		9.4.5 パーサを走らせること
		9.4.6 パーサを「逆向きに(backward)」走らせること
		9.4.7 単一化文法
	9.5 文法インタプリタ
		9.5.1 簡単な文法
		9.5.2 文法のコード化
		9.5.3 文法インタプリタを走らせること
		9.5.4 文法インタプリタを実装すること
	9.6 データベース
		9.6.1 関係を定義すること
		9.6.2 関係を使って計算すること
		9.6.3 関係を実装すること
	9.7 Prolog言語
		9.7.1 計算モデル
		9.7.2 Prologプログラミング入門
		9.7.3 Prologプログラムを関係プログラム翻訳すること
	9.8 練習問題

第2部 特殊化された計算モデル10グラフィカルユーザインタフェースプログラミング
	10.1 宣言的/手続き的方法
	10.2 宣言的/手続き的方法を使うこと
		10.2.1 基本的ユーザインタフェースの要素
		10.2.2 GUIを構築すること
		10.2.3 宣言的座標
		10.2.4 リサイズ時の宣言的振る舞い
		10.2.5 ウィジェットの動的振る舞い
	10.3 対話的学習ツールPrototyper
	10.4 ケーススタディ
		10.4.1 簡単なプログレモニタ
		10.4.2 簡単なカレンダウィジェット
		10.4.3 ユーザインタフェースの動的生成
		10.4.4 状況順応時計
	10.5 GUIツールを実装すること
	10.6 練習問題

第11章 分散プログラミング
	11.1 分散システムの分類
	11.2 分散モデル
	11.3 宣言的データの分散
		11.3.1 オープン分散と大域的ネーミング
		11.3.2 宣言的データを共有すること
		11.3.3 チケット配布
		11.3.4 ストリーム通信
	11.4 状態の分散
		11.4.1 単純状態共有
		11.4.2 分散字句的スコープ
	11.5 ネットワークアウェアネス
	11.6 共通分散プログラミングパターン
		11.6.1 静的オブジェクトモバイルオブジェクト
		11.6.2 非同期的オブジェクトデータフロー
		11.6.3 サーバ
		11.6.4 クローズド分散
	11.7 分散プロトコル
		11.7.1 言語実体
		11.7.2 モバイル状態プロトコル
		11.7.3 分散束縛プロトコル
		11.7.4 メモリ管理
	11.8 部分的失敗
		11.8.1 失敗モデル
		11.8.2 失敗処理の簡単な場合
		11.8.3 回復可能サーバ
		11.8.4 アクティブフォールトトレランス
	11.9 セキュリティ
	11.10 アプリケーションを構築すること
		11.10.1 まずは集中,後に分散
		11.10.2 部分的失敗に対処すること
		11.10.3 分散コンポーネント
	11.11 練習問題

第12章 制約プログラミング
	12.1 伝播・探索法
		12.1.1 基本的考え方
		12.1.2 部分情報を使って計算すること
		12.1.3 例
		12.1.4 この例を実行すること
		12.1.5 まとめ
	12.2 プログラミング技法
		12.2.1 覆面算
		12.2.2 回文積再訪
	12.3 制約ベース計算モデル
		12.3.1 基本的制約と伝播子
		12.3.2 計算空間の探索をプログラムすること
	12.4 計算空間定義し,使うこと
		12.4.1 深さ優先探索エンジン
		12.4.2 検索エンジンの実行例
		12.4.3 計算空間の生成
		12.4.4 空間の実行
		12.4.5 制約の登録
		12.4.6 並列的伝播
		12.4.7 分配(探索準備)
		12.4.8 空間の状態
		12.4.9 空間クローン
		12.4.10 選択肢を先に任せること
		12.4.11 空間マージすること
		12.4.12 空間失敗
		12.4.13 空間計算を注入すること
	12.5 関係計算モデルを実装すること
		12.5.1 choice文
		12.5.2 Solve関数
	12.6 練習問題

第3部 意味

第13章 言語意味
	13.1 一般的計算モデル
		13.1.1 格納域
		13.1.2 単一代入(制約)格納域
		13.1.3 抽象構文
		13.1.4 構造的規則
		13.1.5 直列実行と並列実行
		13.1.6 抽象マシン意味との比較
		13.1.7 変数導入
		13.1.8 同等性の強制(tell)
		13.1.9 条件文(ask)
		13.1.10 名前
		13.1.11 手続抽象
		13.1.12 明示的状態
		13.1.13 by-need同期
		13.1.14 読み出し専用変数
		13.1.15 例外処理
		13.1.16 失敗値
		13.1.17 変数置き換え
	13.2 宣言的並列性
		13.2.1 部分停止と全体停止
		13.2.2 論理同値
		13.2.3 宣言的並列性の形式的定義
		13.2.4 合流性
	13.3 8つの計算モデル
	13.4 よくある抽象意味
	13.5 歴史に関する注記
	13.6 練習問題

2011-11-27

http://anond.hatelabo.jp/20111127075837

逆関数存在する場合もある。グーグル先生調べw

 

図で考えたら? 1変数 だと 関数は線になる。 逆関数も なんか、相似?というか

http://bit.ly/tDEtdi

こんな感じになる。

 

同じ要領で 2変数なら 線じゃなくて面になる。でも面になるだけで他が変わるわけじゃないか

逆関数の面も存在し得る。(もちろん全てではない) 3,4変数も同理論

 

http://www.ne.jp/asahi/search-center/internationalrelation/mathWeb/Differentiation/TheoremsDffrntl2VarFnctn/InverseFunctionThorem.htm 

文系人間が思う数学についての疑問

逆関数って、一対一の関数について定義されてて、二次関数とか無理関数定義域決めないと求められないって感じで覚えてたんですけどー、

たとえば、

y=a+b+c

みたいに変数が多くなった時って、逆関数存在するんでしょうか?

それとも、もともと変数が多くなると一対一には決まる状況はありえない(から定義しようがない)んでしょうか?

2011-11-02

出会い系攻略法

以前知り合った縁のある方から出会い系攻略について聞かれたので

自分なりに編み出した攻略方法を整理して書き出してみました。


長くなったし、メールには残したくないし、もしかすると誰か他の人の

役に立つかもしれないと思ったので、ここに書いておきます

どなたか一助になれば幸いです


【目次】

・まず決定しておくべきこと

 →目的ターゲット自己分析

・行動する上で心がけること

 →顧客志向、活動期間を区切る

・具体的に何をすべきか

 →プロフィール日記掲示板)、メール

・その他配慮すべきことはあるか。

 →サバ読み、一人か複数か、狙い目

【ア】まず決定しておくべきこと

1.目的

 無目的で海に行っても、ぼーっと海を眺めて終わるだけ。

 楽しみたいなら目的をはっきりさせる。

 釣りサーフィンナンパ日焼け目的ははっきりさせる。

 出会い系も同じ、目的メル友なのかお茶友なのかセフレなのかはっきりさせる。

 後述するように、目的が明確だと行動にブレがなく効率的攻略が可能となる。

2.ターゲット

 仮に目的を「釣り」として、ありきたりな竿、ありきたりな仕掛け、

 ありきたりの餌で堤防から糸を垂らしても、魚が釣れるわけがない。

 よしんば釣れたとして、①効率が悪い②なぜ釣れたのか分からないので

 再現性が悪い、という問題がある。

 なので、例えば「クロダイ「マグロ」等、何を釣りたいのかはっきりさせる必要がある。

 そうすれば、適切な竿、専用の仕掛け、最適な餌と釣り場を選択することが出来る。

 出会い系も同じ。「JK」「主婦」等、誰を狙うのかをはっきりさせておく。

 ターゲティングは4つの変数を使ってセグメントする。

 ■地理変数:どこに住んで(働いて)いるか

 ■人口動態変数:年齢、所得婚姻、あるいは人種

 ■心理的変数好きな音楽、本、映画、食事、ファッション

 ■行動変数倫理観、価値観性格など…

 例)『東京23区内もしくは神奈川東部在住の30代後半の独身OL、親元から離れて

 一人暮らしをしている。彼氏はいるが惰性でつきあっており、割と時間がある。

 好奇心が強く、危ないと分かっていてもつい踏み込んでしまうことが良くある。

 好きな作家酒井順子最近上野千鶴子も手に取ってみるようになった。』

 ターゲットをこう決めたら、それ以外の女性はすべてスルーするのが鉄則。

3.自己分析

 目的を「釣り」、ターゲットを「クロダイ」と決定しても必ずしも釣れるとは限らない。

 なぜなら、出会い系において針に付ける餌は「自分自身」だから

 自分の強みと弱みを明確に自覚し、ターゲットニーズを満たせるか考える。

 もし、あなたの強みがグルメなら「スイーツ()」のニーズを満たしやすい。

 もし、あなたの強みが平日昼間休みなら「主婦」のニーズを満たしやすい。

※これら3つをを決定しておくメリット

・「○○だから上手くいった(いかなかった)」等、分析が出来る→次回に活かせる

・行動がブレない→無駄が無い、上手くいけば確率が上がる

・結果が平準化される→いつでもどこでも使える。ビジネスにも、リアルナンパにも。

結局のところ出会えない人というのは、この3つの事柄に対して無自覚、なのだ。

【イ】行動する上で心がけること

1.顧客志向

 「クロダイを釣る」と決めたなら、心がけたいのは「良き釣り人」であること。

 良い釣り人とは、魚の習性を熟知し、魚の好む竿さばきが出来る人のこと。

 相手を良く知り、相手の好む行動が出来る人、ビジネスではそれを顧客志向と言う。

 相手を知るつもりがなく、自分の好みを押し付ける人、それはたんなるわがまま

 例えば、読めない名前や口にしにくい名前プロフィールに設定している人

 「GSXR1000」とか「メルルのアトリエ」とか。

 第一に、ターゲットに訴えかけないよね?

 第二に、会ったときになんて呼ばせるつもりなの?

 常にターゲットのことを意識して行動すべきである

2.活動期間を限定する

 「良き釣り人としてクロダイを狙え」ば、かならず釣果を得ることができる。

 しかし同じ場所でずっと釣りをしていると、いずれ魚はあなたに慣れ、釣果が

 あがりにくくなってくる。つまりスレる」というやつ。

 同様に、いずれアカウントは飽きられ、反応が悪くなる。

 てっとり早いのは退会して新しいアカウントを新しく取ること。

 これなら同目的、同ターゲットでも新鮮味を演出でき、釣果が戻ってくる。

 では新規登録〜退会までの期間はどの程度か?経験則では3ヶ月がメドだろう。

 3ヶ月経過したら、釣果を確認し、反省点を踏まえ新しいアカウント作成する。

 もちろん、素晴らしい相手を見つけたならば、退会してそれで終わりも良いだろう。

【ウ】具体的に何をすべきか

 使うツールは基本3つしかない。「プロフィール」「日記掲示板)」「メール

1.「プロフィール」は、転職で例えるならこれは履歴書

 見栄えが悪くなければそれで良し。名前アバターもごく普通で構わない。

 たまに派手なアバタープロフィールを見かけるが、そんな「ドヤ顔」は必要ない。

 自分ターゲットが誰なのか、自分の強みは何か、さらっと書いておくと良いだろう。

 例)『はじめまして。新しい出会いを求めて登録しました。

 仕事がら全国いろいろなところへ行きますが、そういったところで

 出会う美味しいもの美しい風景日記に書いていこうと思ってます

 一人暮らしをしているので、同じように一人暮らししてる方と仲良くなりたいです^^』

2.「日記掲示板)」は同じく転職で例えるなら職務経歴書

 最も難しく、コアな部分と言えるだろう。ターゲットの心に響かなくてはならない。

 何を書くかよりも、書く内容をブラッシュアップさせる方法を見つける必要がある。

 指針とすべきは「閲覧数」と「閲覧数に占めるコメントの率」。

 過去日記の数値を確認し、良かった日の日記のどこが良かったのか

 分析しながら次の日記に活かすべきだろう。

 なお、ハッピーメールではコメント率10%、ASOBOならコメント率4%が目安。

3.「メール」は、同じく例えるなら一次面接

 相手と仲良くなることは意識しない。自分の望む条件かどうか、相手が

 望むことは何か、またそれを自分は満たせるか、を意識する。

 駄目なら続けるのは時間無駄、すぐ次のターゲットへ移る。

 もちろん、相手を楽しませることを忘れてはいけない。

 仲良くなることを意識するのは、「直メ」「電話フェーズである

 サイト内でのメールは、1回の量にもよるが、10回前後だろう。

 直メへ移行すれば、会う確率はかなり高まる。

【エ】その他配慮すべきことはあるか。

1.サバを読むべきか

 サイトでは、年齢をサバ読む人が非常に多い。男女問わず若い子が好まれるためだ。

 半数程度の人間が、自分プロフィールをサバ読みしていると考えて差し支えない。

 自分がやるかは目的による。継続的な関係を望むならやるべきではない。

 「偽証」は女性もっとも嫌われる行為の一つだからだ。

2.一人に絞るか複数を狙うか

 これは複数が良い。一人だとつい入れこんでしまうし、リスクヘッジになる。

 お手玉ジャグリングのように、リズム良く進めると良いだろう。

3.どんな人が釣れやすいか

 はじめたばかりの人がもっとも狙い目。観察していると「初日記」「初書き込み」

 は非常に人気が集まっている。前述したように、自分アカウントは常に始めて

 3ヶ月以内なのだから、「私もはじめたばっかりなんですよ^^」と、

 相手との共通項を作れるメリットもある。

以上、私なりの攻略法でした。

2011-10-24

http://anond.hatelabo.jp/20111024130634

趣味価値観・センスあたり(の相性)は全部「性格」扱い?

社会的地位(≠収入)は? 「中流家庭育ち」を反映する変数ってどれ?

変数の重みづけがないのは今後の課題なんだろうけど、オール100点の40歳オール20点の24歳が同点ってのはありえなくね?

2011-10-17

プログラミングが難しいというかPCが難しい

最近プログラミング勉強し始めた。

しかし難しいね

何が難しいって設定やら用語やらだよ。

PC自体そこまでわからない自分からしたらフォルダの探し方からわかんない。

設定の仕方とかも全然わかんない。

それに用語がわかんない。

初心者向けの本を読んでても用語すらわかんないよ。

変数スクリプト関数マルチバイト

「この言語はこういうものでこういう理由で優れている」という説明がまずわからない。

これってみんな最初どうしたんだ?

検索してもキリがないんだけどそうするしかないんだろうなぁ。

正直言うといまいちPCについてわかってない。関係無い話だけどさ。

ほんと技術者には頭が下がるよ。

技術者が周りに多いんだけど、みんなで話してると大概技術の話になって自分が全く話しについていけなくなる。

ほんと異星人のように思えるわ。

どこでそんな知識やら技術やらをマスターしたんだ?

彼らも自分と同じような頃があったのだろうか。いやあったんだろう。

しかしそれが想像できないぐらいレベルが違うぞ。

自分技術で食ってくつもりはないけど彼らの言ってる事が理解できるようになりたいし追いつきたい。

でも追いつけんのかなぁ・・スタートも遅いし。

とかぐちぐち言わず勉強するしかねーか。

2011-09-27

モノ指向

おれCで仕事してるけど、よく、

なんかグローバル変数ローカル変数の中間ぐらいの変数みたいなのあったらいいなー、

あと、そういう変数関数ポインタみたいなのがセットになってたりしたらなー、

などと思うよ。

いやもちろんオブジェクト指向知ってて思うんだけど。

でも、構造プログラミングやってて、オブジェクト指向言語って便利そーだなー、って、自然に思うもんじゃないのか。

思わないのかみんな。

http://d.hatena.ne.jp/ryoasai/20110926/1317044975

2011-09-25

http://anond.hatelabo.jp/20110924230758

奉仕」とか「要求」とか、「エロさ」=「男の欲望をどれだけ強く反射するか」みたいな想定になってない?

この式で表現しようとしてるのは、「エロさ」というよりも「エロ要求受容度」とかそんな感じの別の何かに見える

で、それをある程度正確に表現するには、それこそ本人の「エロさ」(好色さとかエロへの関心度とか)が変数として不可欠に思える

2011-09-23

「続 新しいプログラミングパラダイム」の目次


第1章 並行プログラミングGHC (上田和紀)
	1.1 はじめに
	1.2 ターゲットを明確にしよう
	1.3 はじめが大切
	1.4 GHCが与える並行計算の枠組み
		1.4.1 GHCにおける計算とは,外界との情報のやりとり(通信)である
		1.4.2 計算を行う主体は,互いに,および外界と通信し合うプロセスの集まりである
		1.4.3 プロセスは,停止するとは限らない
		1.4.4 プロセスは,開いた系(open system)をモデル化する
		1.4.5 情報とは変数と値との結付き(結合)のことである
		1.4.6 プロセスは,結合の観測と生成を行う
		1.4.7 プロセスは,書換え規則を用いて定義する
		1.4.8 通信は,プロセス間の共有変数を用いて行う
		1.4.9 外貨も,プロセスとしてモデル化される
		1.4.10 通信は,非同期的である
		1.4.11 プロセスのふるまいは,非決定的でありうる
	1.5 もう少し具体的なパラダイム
		1.5.1 ストリームと双方向通信
		1.5.2 履歴のあるオブジェクト表現
		1.5.3 データ駆動計算と要求駆動計算
		1.5.4 モジュラリティと差分プログラミング
		1.5.5 プロセスによるデータ表現
	1.6 歴史的背景と文献案内
	1.7 並行プログラミング効率
	1.8 まとめ


第2章 様相論理テンポラル・プログラミング (桜川貴司)
	2.1 はじめに
	2.2 様相論理
	2.3 時制論理
	2.4 多世界モデル
	2.5 到達可能性と局所性
	2.6 純論理プログラミングへ向けて
	2.7 Temporal Prolog
	2.8 RACCO
	2.9 実現
	2.10 まとめと参考文献案内


第3章 レコードプログラミング (横田一正)
	3.1 はじめに
	3.2 レコードと述語の表現
	3.3 レコード構造とφ-項
		3.3.1 φ-項の定義
		3.3.2 型の半順序と束
		3.3.3 KBLLOGIN
	3.4 応用――データベース視点から
		3.4.1 演繹データベース
		3.4.2 レコードプログラミングデータベース
		3.4.3 いくつかの例
	3.5 まとめ
	3.6 文献案内


第4章 抽象データ型とOBJ2 (二木厚吉・中川 中)
	4.1 はじめに
	4.2 抽象データ型と代数言語
		4.2.1 抽象データ型
		4.2.2 代数言語
		4.2.3 始代数
		4.2.4 項代数
		4.2.5 項書換えシステム
	4.3 OBJ2
		4.3.1 OBJ2の基本構造
		4.3.2 モジュールの参照方法
		4.3.3 混置関数記号
		4.3.4 モジュールパラメータ化
		4.3.5 パラメータ機構による高階関数記述
		4.3.6 順序ソート
		4.3.7 属性つきパターンマッチング
		4.3.8 評価戦略の指定
		4.3.9 モジュール表現
	4.4 おわりに


第5章 プログラム代数FP (富樫 敦)
	5.1 はじめに
	5.2 プログラミングシステム FP
		5.2.1 オブジェクト
		5.2.2 基本関数
		5.2.3 プログラム構成子
		5.2.4 関数定義
		5.2.5 FPプログラミングスタイル
	5.3 プログラム代数
		5.3.1 プログラム代数則
		5.3.2 代数則の証明
		5.3.3 代数則とプログラム
	5.4 ラムダ計算拡張
		5.4.1 ラムダ式拡張
		5.4.2 拡張されたラムダ計算の簡約規則
		5.4.3 そのほかのリスト操作演算子
		5.4.4 相互再帰定義式
		5.4.5 ストリーム(無限リスト)処理
	5.5 FPプログラム翻訳
		5.5.1 オブジェクト翻訳
		5.5.2 基本関数翻訳
		5.5.3 プログラム構成子の翻訳
		5.5.4 簡約規則を用いた代数則の検証
	5.6 おわりに


第6章 カテゴリカル・プログラミング (横内寛文)
	6.1 はじめに
	6.2 値からルフィズムへ
	6.3 カテゴリカル・コンビネータ
		6.3.1 ラムダ計算意味論
		6.3.2 モルフィズムによる意味論
		6.3.3 カテゴリカル・コンビネータ理論CCL
	6.4 関数型プログラミングへの応用
		6.4.1 関数型プログラミング言語ML/O
		6.4.2 CCLの拡張
		6.4.3 CCLに基づいた処理系
		6.4.4 公理系に基づいた最適化
	6.5 まとめ


第7章 最大公約数――普遍代数多項式イデアル自動証明におけるユークリッドの互除法 (外山芳人)
	7.1 はじめに
	7.2 完備化アルゴリズム
		7.2.1 グラス置換えパズル
		7.2.2 リダクションシステム
		7.2.3 完備なシステム
		7.2.4 完備化
		7.2.5 パズルの答
	7.3 普遍代数における完備化アルゴリズム
		7.3.1 群論の語の問題
		7.3.2 群の公理の完備化
		7.3.3 Knuth-Bendix完備化アルゴリズム
	7.4 多項式イデアル理論における完備化アルゴリズム
		7.4.1 ユークリッドの互除法
		7.4.2 多項式イデアル
		7.4.3 Buchbergerアルゴリズム
	7.5 一階述語論理における完備化アルゴリズム
		7.5.1 レゾリューション法
		7.5.2 Hsiangのアイデア
	7.6 おわりに


第8章 構成的プログラミング (林 晋)
	8.1 構成的プログラミング?
	8.2 型付きラムダ計算
	8.3 論理としての型付きラムダ計算
	8.4 構成的プログラミングとは
	8.5 構成的プログラミングにおける再帰呼び出し
	8.6 おわりに:構成的プログラミング未来はあるか?


第9章 メタプログラミングリフレクション (田中二郎)
	9.1 はじめに
	9.2 計算システム
		9.2.1 因果結合システム
		9.2.2 メタシステム
		9.2.3 リフレクティブシステム
	9.3 3-Lisp
	9.4 リフレクティブタワー
	9.5 GHCにおけるリフレクション
		9.5.1 並列論理言語GHC
		9.5.2 GHC言語仕様
		9.5.3 GHCメタインタプリタ
		9.5.4 リフレクティブ述語のインプリメント
	9.6 まとめ

2011-09-15

コンピュータ基礎理論ハンドブック2 形式的モデル意味論」の目次

第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. 関連する重要な文献

2011-09-12

知識の問題と知性・性格の問題を混同した主張は吐き気がする

http://d.hatena.ne.jp/yuhka-uno/20110901/1314876472

この記事に関する違和感をようやく理解。

この人と私では同じ現象を見ても、根本的にみる軸も方向性も違うのだ。

自己嫌悪につぶされるくらいなら自分に優しく」というだけのことを言うために

こんだけ人をボコスカに貶めなければいけない人というのは、戦国時代ならともかく現代では生きづらそうで気の毒だ。

気の毒なだけならともかく、そのボコスカ部分をを敷衍しようとかしてるなら母親以上に有害存在になりかねない

(文章中から判断するに今のところそこまでは考えてないっぽいが、今後も周囲から理解されてないと感じ続けたなら原理主義者に化ける素質は十分ある)

いわゆるこの手のタイプ > http://homepage1.nifty.com/eggs/iryou/gihou/projectiv_id.html



私は彼女が上げている事例を見て、

自分が嫌われないために気を使う人」なんてどこにいるんだ?と思った。

彼女が敵意を持って恣意的に解釈しているだけで、彼女母親行為彼女解釈では説明できないと思った。

なぜなら、「自分が嫌われないために気を使う」ことと「身内をぞんざいに扱うこと」はイコールではないからだ。

前者にエネルギーを使いすぎて後者は手抜きしてしまうってもっともらしい説明が書かれていたが、説明として不十分。




しか彼女母親の行動はたしかに問題。なぜそうなるのか?


さて、この「なぜ?」という問は、どういう目的で問いかけるかによって全く効果が違う。

解決不可能な「性格」を持って結論とする上の記事は、相手を絶対悪に貶めるという意味で非常に気分の良いものでしょう。

そして、その影響により自分性格も歪んでしまったので、もうそのまま生きて行くしかないという開き直り自分にだけは心地良いものでしょう。

そういう目的でなされた「なぜ?」は非常にキレイな答えを出してくれます。なんせ変数が相手だけだからね。

でも、その「なぜ?」は常に後ろ向きなアイデアを生み出します。そしてクソの役にもタチません。ただの精神麻薬しかならない。

あとこの記事に幾重にも塗りこめられた無自覚な悪意が、ゲロ吐きそうなくらい気持ち悪い。

その後徐々にポロポロと自覚的に悪意を顕にしていってるけど、最初の文章だけでこの人の「普通の人」に対する悪意は駄々漏れ

どうせ母親が悪い→母親をこんなにした世の中が悪い(そしてその中に自分は含まれてない。私はただの被害者)的な妄想があるんだろう。

基本的に「暗い人間」の書く文章は、よほど洗練されない限り表に出すもんじゃねーな、と。嵐が丘を読み直したくなったわ。





社会人ならもうちょっと広い視野分析してみて欲しい。

http://d.hatena.ne.jp/tyokorata/20110906/1315341364

「教えてもらってない」人が人材教育した場合、教えてもらってない人に怒られた人が受け取ることは「自己嫌悪」と「萎縮」です

そして、そうしたことを学んだ人がそうした萎縮や自己嫌悪から来る態度を自然に外に出した時、また人材教育者が怒るという悪循環を繰り返します。

その結果、そうした教えを受けた、本来真っ白であった人はドス黒い魂を受け継いで同じことを他の誰かに受け継がせるのです

(中略)

それは「気付き」と「考える」ことの不在から来る連鎖でもあったわけです。そうした水を飲ませない体育の授業の構図は今も続いています

今の時代、せめて人材自己嫌悪で腐らせて悪循環連鎖をさせないためにも、

「怒るのではなく、叱る」と、「注意するなら具体的、かつ前向きな取り組み」が込められたコーチングが必要だと私は考えます


ぶっちゃけ上の記事を読んだ時に「どこの彼氏彼女の事情」だよと思ったし、その他10くらいのマンガラノベがすぐに頭に浮かびました。

いっちゃなんだが、どこにでもある話である

もちろん当事者にとってはありきたりのパターンでも大変なことだったことは理解できるが、

そのくせ、これみよがしになされた分析においては、自分当事者性が欠片も考慮されていない。

母親自分の関係として捉えるのではなく、母親の異常性だけにクローズアップする少女漫画的な安易な発想。

一見前向きだけれど、レミングスの行進を促しているようにしか見えない記事の結論。

(「私は私のままでいいんだ」ってのは一見救いのヒントのようだけど、そういう考えをこそ母親心配してたんじゃないの?

 それが許されるのは天才だけで、凡才がその道を進むには一度諦観を乗り越えて、報われぬ人生を覚悟の上で選びとる必要があるってわかってんのだろうか

 普通自分に誇りを持って生きるって、そう並大抵のコトじゃないぞ? だから私は「普通」の父親母親尊敬するが、あなたのことはガキだと思う。)

ガキくさい上に、これが結論と言わんばかりのがんこぶり。

いろんな意味で「若さ」がダメな方向に結晶した記事だと思った。




最後に。

何でも暴力あつかい、何でもハラスメント扱い、何でも差別扱いと、自分と違うものを悪として自分から切り離すと、生きて行けないよ。

この人の文章にはとにかく「自分」が存在しない。「私は私のままでいいんだ」はどこいった

高校卒業前に、こういう「キレイなままでいたい症候群」にかかって自殺まで発展する奴いるけど、さすがに社会人になってこの幼さはちょっと痛々しい。




この記事を読んでもやもやを晴らしておきたかったので書いただけで、もっとも、ただの好き嫌いの問題かつ、年齢の違いに拠るものだと思う。

「私はこの記事が嫌いだ。私は後者の記事を支持する」は、「この記事が絶対的に間違っている」というものではない。

私がこの記事をキライで、著者を軽蔑しているからと言って、他の人にとってこの記事の存在価値がないとは思わないし、著者の人生が間違っていることにはなるまい。

自分意見が私と違うからといっていちいち噛み付かないように。 

自分感情をすっきりさせる為ならこういうクソ長文を書いたりもするけど、自分と関係ないバカを相手にするほど暇ではない。

2011-09-07

http://anond.hatelabo.jp/20110907092532

flg = FALSE; // 変数リセット

そもそも「flg」という変数からしてありえない。

何のフラグか判るように名前を付けろ!

2011-08-25

http://anond.hatelabo.jp/20110825032002

まり、何がいいたいかっていうと、どんな言語、ツール使おうが、その上位10%にでも食い込んでりゃ食えるよ。

んー、上位10%に入りやすいのはFlashHTML5か的な話じゃないかしら?

結論としてはFlex言語仕様は糞。

ECMAScriptが糞ってこと? 俺は結構好き。

それともあの型付け風の変数宣言の書き方? これはちゃんと書くと面倒なくせにあんま意味がないとは思う。

2011-08-21

宇野常寛批評用語の名前空間リソースを浪費しすぎ

最後に、宇野は「〈いま・ここ〉だけが無限に広がるこのリトル・ピープルの時代の新しい世界においては、私たちは〈いま・ここ〉に「潜る」こと、徹底して内在的であることが逆説的に超越に接近してしまう」と語るけど、このレトリックって、大澤真幸麻原彰晃に対して指摘した、

徹底した俗物性、過剰なまでの〈内在性〉が、逆に、麻原の〈超越性〉の根拠になっているのではないか。(大澤真幸『虚構時代の果て』)

とまったく同じなのだけど、これは本人的には大丈夫なのかしら。

ttp://blog.livedoor.jp/toshihirock_n_roll/archives/51653048.html

たとえば『完全自殺マニュアル』の鶴見済氏やオウム真理教麻原彰晃は、「革命」を失った今、世界を変えるのではなく自分を変えようとしたわけですよね。ドラッグや「修行」によって。麻原は鶴見さんほど徹底できなかったヘタレから革命のでき損ないに走っちゃったわけですしかし、彼らのやったことはまさに「内在」的なアプローチだったと思う。だって世界変革を「諦めて」自分チューニングするんだから

でも、ぼくがこの本で書いた「拡張現実の時代」においては、先ほどのゲームの例が代表するようにネットワーク的なものに支援されて超越―内在といった図式自体が崩壊していて、徹底的に内在することが超越に近づくというモチーフが頻出する。「ここではない、どこか」ではなく「いま、ここ」に留まったままゲームルールを書き換えるための想像力の行使に焦点を合わせているわけ。それはそのまま「虚構の時代」(鶴見・麻原)と「拡張現実の時代」の違いでもある。ここもポイントで、「外部」を断念するというとすぐに鶴見・麻原的なものを年長世代自体は想像しちゃうけれど、それは90年代時間が止まっている思考ですね。21世紀的な現実は「徹底して内在することによる超越」が、自意識チューニングではなく現実コミュニケーションとして創作物の生成や社会変革の可能性の方向に向かっている。これがまさに「仮想現実から拡張現実へ」ということ。

ttp://synodos.livedoor.biz/archives/1813624.html

いやいやいや。。。ちょっとウノさん、何言ってるんです・・・・。「内在」っていうこれまで批評用語としては、「超越-内在」っていう二項対立の一項として使われてきた用語を、かなり強引に自分タームの「内在」(これってむしろ「組織インサイダー=内在者」っていう意味に近いと思うんだけど)に引きつけて使ってて、不要名前空間コンフリクトを起こしてる気がする。まさに、

文系評論はすぐに一般名詞専門用語化する傾向がある。しかも、その本だけでしか通用しない専門用語をすぐにつくっちゃうのだ。”壁_temp”とか、”想像力_temp”とかい名前にしてくれればわかりやすいのだが、我慢して慣れてみよう。

http://d.hatena.ne.jp/kawango/20110818

っていう奴。今まで現代思想界にはCritique.naizaiっていう広く使われてる変数なり関数なりがあったのに、そこにまた紛らわしいUno.naizaiっていう変数なり関数なりを持ってきてて、そこでCritique.naizaiをUno.naizaiと間違えてコンパイルした人に、「お前はUnoパッケージインポートしてないから俺の本が読めてない」って文句言うのはちょっと無理筋過ぎないか


まあ、用語の問題を脇に置けば宇野常寛の言いたいことも分からなくはない。現代思想社会理論がこれまで、超越(トップダウン理想主義的な社会モデル)か、内在(個々人の内面インナースペースからの改革)か、という二項対立に拘泥したきたのに対して、組織の内在者=インサイダーが、組織へのハッキング的なコミュニケーションによるアプローチをかけることによって、ゆるやかに社会を変えていきましょう、ってのが彼の言いたいことなんだろうなあ、と思う。だけどそこで、現代思想のこれまで数十年の歴史のある用語体系に土足で踏み込んで、「内在」なんていう一般名詞を無理やり自分タームで使うのは無理筋だし、これまでその用語体系を使ってきた人の名前空間を不必要に混乱させる振る舞いだと思う。せめて「内在者(インサイダー)的アプローチ」くらいの用語にしておいてくれれば分かりやすいのにねえ・・・

2011-08-15

お客様問題

「場」に参加する人間が買い手となり、売り手となる瞬間は間違い無く存在する。

しかし、それは複層的なもので、「買い手であり、売り手である」状態が継続しているといえよう。

ネット社会が発達するに連れ、「お客様」を諌める流れがより可視化されるようになった。

例えばコミケ、例えばニコ動

時に作り手、時に買い手となるマーケットにおいて、よく言われてきたことだ。

あるいは、まずコミケがあり、ネット文化が発達するに従い、オタクという媒介変数を通して文化文脈の共有が生まれた、ということもあるのかもしれない。

いずれにせよ、今は「場」において「お客様」と居直る人は、いわゆる日系企業ビジネスシーンほどには構ってもらえない、というわけだ。


少し、話を飛躍、発展させる。

誰もが作り手になれ、誰もが買い手になれる流動性の高いマーケットにおいて先述した「お客様害悪論」は有効に機能するとは思う。

しかし、相互の分断が技術的、特権的な参入障壁の高さによってかなり決定的であった場合果たしてこれは有効に機能するだろうか?

私は、そうは思えない。

たとえば、コンビニバイトいちゃもんをつける客がいたとしよう。

このときコンビニバイト経験がある人からすれば、同情、あるいは不当ないちゃもんであると喝破できるようなケースもあるだろう。

しかし、コンビニバイト経験に限らず、日本人はあまり多種多様職業に携わり難い環境にあると言える。公務員ならまだしも、一般企業社員さえ副業をしている余裕はない。つまり流動性ある複層関係が、固定化される単層関係に置き換わるわけだ。

こういう場合、互いが互いのバックボーンを知りえない事が多く、自分の立場を正当せしめようとする動きが心中生まれる。このパワーバランスのせめぎあいの結果、これまでの日本ではお客様至上主義に傾き、固定化された、という見地に私は至った。

流動性を「場」が維持するには、膨大なエナジーを「場」が御しきり、かつ「場」に参与する複数の個人が自律した行動を取ることが求められる。ゆえに、そこにあるのは非常に強力なメンタルを持った個々人の集合体であり、統一された目標に向けて、エナジーを爆散させる。かくて活況となる「場」は時に外部にまで波及するほどのバイタリティを持つのである

しかしながら、先に書いたとおり、これはかなりレベルの高い要求である。個々人のメンタリティ、バイタリティは様々であり、自律の程度においてもまた同様である

また、人の省力的行動は、流動性を失わせる方へ作用させ、自律作用を失わせることも事実である。一度お客様の旨みを味わったものがなかなかに脱し切れないのは、ここが理由である


さらに話を飛躍させれば、今の国政において我々国民殆どお客様同然である。我々も国政に積極的に参与できるのであるが、それに参与するためだけでもより高い体力が必要だろう。投票システムはこの分断を決定的にする。投票するだけで国政に参加できるなどと吹聴させられれば、より省力的手段としてそちらになびくのは仕方ないだろう。

国とて「場」である理想であるべきは、先述したとおりであるしかし、超えるべきハードルはあまりに高い。

我々もまた、「お客様」として首の挿げ替えばかりを叫ぶわけにはいかないのが真なのだ。

2011-08-11

プログラムを作ることの自分の中での移り変わり

http://anond.hatelabo.jp/20110811033545

自分ではそう思ってないけど、人から見ると負け犬の遠吠えに見えるから

冷めた目で見てもらってかまわないです

はいわゆる今まででプログラムできたことない(年齢=プログラム作れない暦)。

小中高とパソコンなかったか大学ではがんばってプログラム作ろうと思ってた

んだけど、文系大学ハッカー全然いないから、友達結構紹介してもらった。

まず、なんで俺がプログラムを作りたかたかというと。世間体を気にしていて、

早く口だけハッカーというレッテルをとりたかたから作りたかった。

まあそんな男が持てる分けないんだけど。

友達にも口だけ口だけってネタにされて(まあ冗談ってわかってるけど)、

惨めでとにかく早くレッテルをとりたかった。

まあ察してると思うけど、プログラムはできなかった・・・一応コンパイルまでこぎ着けて

全部 fatal error でさようならが8本(8連敗)、全く後に続かなかった。

1本目は、うまれて初めてパソコンの前でまともなコーディングをしたから完全に舞い上がって

ものすごい労力をつぎ込んだ。ハウツー本エクセルマクロと同じ感覚コーディングすると良い

と書いてあったから、俺が打った五行コンパイルエラーしたら五行を書き直したり、

10行がコンパイルエラーしたら10行を直したり、15g(ry というやり取りをしていた。

(まあ内容は置いといて・・・

OSの反応が途絶えてからパソコンの前で待ってて来るかな来るかな、って3時間くらい

待ってたこともあった。そして、無限ループ変数を増やしまくってたらしく

「このプログラム不正な処理を行ったので強制終了されます。[詳細] をクリックすると、次のエラー メッセージが表示されます。」

っていわれて1本目撃沈。

それから友達から指摘を受けて、言語の扱い方を学んで次のコード次のコード

どんどんアプローチをかけていった。

2~6本目位までは1本目と同じくらいか、少し少ない熱意を持って

やったがそれも全て撃沈。

7~8本目位になったあたりで精神が病んできちゃって、8本目が撃沈した

次の日位から、食事が喉を通らなくなった。食べてもほぼ100%吐いてた。

なんで自分は書けないのか?書けなさすぎて劣悪な遺伝子だな、頭も悪いし

こんな遺伝子残さない方がいいんじゃないか、という劣等感を感じるようになった。

大学はそのときまで全然さぼらなかったんだけど、あまりのだるさに1日さぼって、

次の日は学校行っただけでダウン、ついた瞬間保健室へ駆け込み、休憩して授業を

受けずにそのまま帰宅。一週間で飯は食えるようになったけどそれでも前に比べる

とかなり小食になった。

なんてことが2年の夏休み~2年の冬休み直前まで続いた。

そして、自分の気持ちの中でいくつかの結論が出た。

自分は本当に書けない、やればやるほど空回りする。そして、無理すればするほど

ぼろぼろになっていく。努力して、プログラムの為に尽くしてもプログラムが完成しないことに気づいた。

傷つくくらいなら、最初からしなけりゃいいというのが一つ。

完全に逃げてるけど、俺の中でプログラム作ることはただたんにレッテルをとりたいだけ

から、そんなアホなことに労力使うのがばからしくなった。

そう思ってて今日まで過ごしてきたら、韓国戦見てたときに母さんが「あんたプログラム作らんの?」って

言ってきて「俺はもう作るのあきらめた」と言ったら、弾小飼がいかPerl がすばらしい

か説いてきた。それと「一回もできたことない奴が分かったような口聞くな」とか

「そんなの負け犬の遠吠えだ」などと言ってきた。それでこっちの

意見を全く聞こうせず、ずっと MacBook Air のすばらしさを熱弁してくれた。

自分で逃げてるなんて百も承知、俺はもう疲れたんだよ。

日々見下されてて、俺に対する態度がひどくて劣等感を感じて、バイトは土日絶対1日入って、

そして、家では心からゆっくりできなくて疲れが全然取れない。

それでコーディングするだけでも多大な労力を使ったのに、それが就職したら

毎日設計書書き?毎月の生活苦しいのに、定期的に設計書書いて誤字とかどうでもいいダメ出しをもらう?

そもそも好きって感情わからんからプログラミング意味を見い出せない。

コード書いてるだけで幸せ?今の僕には理解でないよ。

から今はもう一生口だけブックマーカーでいいかなと思っています

だけど、やっぱり物寂しい人生に成ってしまうのだろうかと

思うと少し残念な気持ちに成る

2011-07-29

知性 VS 学習

http://d.hatena.ne.jp/nakamurabashi/20110726/1311653472

知性というのは、俺の使いかたにしたがっていえば、社会的な知識や知恵、生きるために必要な能力、対人関係に応ずる能力などとは違う。むしろ俺は、それらを問い直す能力のことを言っている。

最近学習至上主義に真っ向から喧嘩売る定義。その定義に基づく三段論法がすごく私好み。


理性的でない、というのは、

1.世界に対する自分比重が大きくなってしまった状態のことだ。年を取ると子供に戻るというのは、このためかもしれない。自他の関係を健全に把握することができない。

(中略)

2、自分自分であり、社会がこのようであることに疑いを抱いたことのない人。自分が泣き、笑い、怒ることに疑いがなく生きてきたような人。おそらく学習効率の極めていい動物

(中略)

3、悩みや苦しみには、まだ隙間がある。しかし知性を失うことを想像すると、これは真っ暗だ。死にも似ている。(そういうときはだれかがさっくりと刺してくれることを祈りますね。刺されるこっち側に傷口を察知するだけの感受性が残ってればの話ですが。自分を救うだけの知性が残ってればいいですね)

なぜこんなにライフハックを疑わずに信じちゃう人が多いのか。自己啓発自分を救えると思える人が多いのか、

なんというか自分以外の変数考慮せずに世界を把握しちゃえる人が多くなってるのかな。よくわからんけど。

あとなんか3までくると、これは曹洞宗世界ですね。



そして、締めの

特例がないってことほどクソむかつくことはない

がまた好み。 なんだか文章全然違うのに、読後感が冲方丁小説読んだあとみたいな、やり切れないさわやかさ。

2011-07-18

http://anond.hatelabo.jp/20110718224012

個々のケースの判断で例外を無視する(統計的な平均だけで判断する)のは馬鹿だと思うよ。

でも例えば企業採用活動とかでは、いちいち外れ値をチェックするのはコストがかかりすぎるから統計的判断でバッサリ切るというのは合理的だと思う。

同様に、それなりに良い家柄の人が結婚相手を探す場合統計を判断に入れるのもまぁアリだと思う。結婚する個人の責任だけじゃリスクを吸収できないからね。

逆に「最近離婚率が高いんだから結婚する奴は馬鹿だね」とかいう主張をする非モテ馬鹿過ぎると思う(実際は負け惜しみでやってるだけだろうけど)。

背景にあるその他の情報確率変数)が全て周辺化(積分して平均値で代表することと思えばよい)されてるということを理解してないなと思う。

あと企業統計で判断するのも合理的だとは思うけど大企業病のつまんねー会社なんだろうなとも思う。

http://anond.hatelabo.jp/20110718164307

2枚のコインが本当に物理的に区別できない場合は、量子力学で言うところのボーズ統計みたいな確率構造になると思うよ。

「各コインの表裏」ではなく「表の出るコインの枚数、裏の出るコインの枚数」だけが意味のある確率変数量子力学言葉で言うと量子数)になる。

今の問題は、そういう確率空間は考えてないというだけのこと。

確率空間一般論http://ja.wikipedia.org/wiki/%E7%A2%BA%E7%8E%87%E7%A9%BA%E9%96%93みたいな感じになるけど、

ここで言う標本空間にどういう集合を設定するかと、標本空間上のボレル集合(問題文の言葉で言うと「部分集合」)に対して定義した確率測度が現実物理現象にきちんと対応してるかだけが問題。

ボレル集合としてσ={φ、(表、表)、(表、裏)、(裏、裏)}だけ(φは空集合)を考えた確率空間を構成しても多分大丈夫だけど、その場合はP((表、表))=P((裏、裏))=1/4,P((表、裏))=1/2としないと

確率測度の条件を満たさないし、現実にもマッチしないということ。



どうしてそれが「現実マッチ」するのか分からなかったら、2枚コインを用意してひたすら投げまくるか、以下のRコードを実行するとわかると思うよ。Rは適当インストールしてくれ。

増田うんこ仕様のおかげで<と&を全角入力せざるを得ないので、そのままコピペはできないのに気をつけてね)

x1 <- ifelse(runif(1000)<=0.5,1,-1)
x2 <- ifelse(runif(1000)<=0.5,1,-1)
z <- mapply(function(x,y){if(x==1 && y==1){1}else if(x==-1 && y==-1){3}else{2}},x1,x2)
hist(z)
- 転職ならen
- 派遣ならen
12ページ中1ページ目を表示(合計:276件)