約 47,214 件
https://w.atwiki.jp/compilerandscriptengine/pages/14.html
SSA最適化 SSA形式 Static Single Assignment form 静的単一代入形式の略 変数をユニークにするために添え字を付けた中間表現形式 例 a = 1 a = a + 1 を a0 = 1 a1 = a0 + 1 と書き換えると、ユニークになる。 http //www.coins-project.org/COINSdoc/lirOpt/ssa.html SSA最適化で行える最適化 コピー伝播 条件分岐を考慮した定数伝播 支配関係に基づく共通部分式除去 無用命令除去 無用φ命令除去 空ブロック除去 ループ不変計算のループ外移動 ループの帰納変数に関わる演算の強さの軽減と判定の置き換え SSA変換 支配辺境を用いる方法(Cytronらによる方法) DJグラフを用いる方法による変換時間(Sreedharらによる方法) α変換ともいう? http //min-caml.sourceforge.net/tutorial-mincaml-10.htm SSA形式からの逆変換 Briggsらの方法 Sreedharらの方法 Sreedharらの方法に優位性がある。
https://w.atwiki.jp/ucengage/pages/41.html
最適セッティングとは何か? 機体は攻撃行動をとることでEXゲージがチャージされる。もし敵機から攻撃を受けない場合、自前の攻撃だけでEXゲージを貯めることになる。 攻撃(武装)ごとにEXゲージが貯まる量を調節して、より効率良く素早くEXスキルを撃つことを目指す考え方である ※敵から攻撃を受けるとEXゲージが増えるため計算どおりの回転にならない。重装機のようにより敵から多くの攻撃を受けることを目的に配置する機体の場合は、EXゲージのチャージ量が毎回異なるため統一のセッティングを出すことはできない なぜセッティングが必要なのか? EXゲージが満タンまでチャージされるとEXスキルが発動するが、チャージは繰り越さない。 つまり下図のようにEXゲージが満タンに近い状態の時に一発あたりのチャージ量が多い攻撃を繰り出すと、捨てる部分(オーバーフローという)が多く発生するのである。 通常のバトルであればEXスキルが2回転3回転することは当たり前であるため、オーバーフローが多い→無駄が多い→時間がかかるorスコアが伸びないということになる。より効率の良いバトル、より高スコアを目指すためにはセッティングが必要なのである。 EXゲージのチャージ量をどのように調節するのか? 兵装強化の武装の項目において、その武装での攻撃時のEXゲージのチャージ量を増加させることができる。 上記はEXゲージのチャージ量を一発あたり10%伸ばす強化である。 セッティングの種類 オーバーフローを解消し効率の良いEX回転を実現することを目的とした最適セッティング より高速にEXを回転させることでバフ・デバフの効果を高めることを目的とした超セッティング 超越スキル※の登場により開幕直後にEXを最短で撃つことを目的とした超越セッティング まで調査が進んでいる。 ※超越スキルにて「戦闘開始時EXゲージ○%回復」がある場合のみ セッティングの方法論 セッティングの基本を解説しているため是非一度ご視聴ください 2023年11月より登場したモジュール「EXブースター」を用いたセッティングの解説 以後、EXブースター10%モジュールを2個装着するセッティングを「ブースターセッティング」と呼称する 重装機でセッティングをする意味はあるのか?検証した動画 結論から言えば「EXを強化すればするほど発動が速くなる」ため、細かくセッティングを詰める必要はない。安心して好きなように強化すれば良い
https://w.atwiki.jp/ce00582/pages/1841.html
最適線形 (1)プログラム プロ12 プロ13 プロ32(10部) プロ33(10部) 34(5部) 35(5部) 201 (2)作業記録 4月16日 プロ32作成 4月16日 プロ33 4月16日 プロ34 4月16日 プロ35作成 4月28日 プロ201作成
https://w.atwiki.jp/stgbuilder/pages/364.html
<描画の最適化> 内容 キャラクタ編集の「描画の最適化」のフラグをオンにすることにより、描画を高速化 利点 ①画面内に大量に出る単一スプライトのキャラクタの描画を高速化 ②単一スプライトであれば、パターン番号やアニメ番号の変化は可能 ③制限をクリアしていれば、複数のキャラクタの最適化も可能 欠点 ①キャラクタの影、多関節、エフェクト、文字は描画されない ②親子階層は使用できない ③描画方式(ファンクションやフィルタ)は、最適化オプション付きスプライト全般で一種類のみ ④使用できるスプライトが最適化オプション付きスプライト全般で一種類のみ
https://w.atwiki.jp/kumikomi-yitjc/pages/136.html
最適化と聞いても何の事だかわからないかもしれないが.... 要するにプログラマの意図に反してコンパイラがプログラムを改変する事で、 実行形式を可能な限り小さくする。(プログラムサイズの最適化) 実行形式のプログラムが、可能な限り高速に動作するようにする。(実行速度の最適化) のような実行形式を作成する事を言う。(参考資料) ... で、問題となるのは、以下の様な場合。 int main() { int w; ..... while (1) { PORTD = 0x01; // PD0につながったLEDを点灯 for (w=0; w 9999999; w++); // ※1 待ち時間 PORTD = 0x00; // PD0につながったLEDを消灯 for (w=0; w 9999999; w++); // ※2 待ち時間 } } ※1と※2のforループは、LEDの点滅を分かり易くするための待ち時間だが、プログラムの動作(ロジックともいう)には、時間の消費以外には、何ら影響を与えていない。つまりコンパイラからしてみれば、余分な時間を浪費する邪魔物と映るわけだ。 従って、プログラムを高速化する(つまり最適化)を行いたいコンパイラは、このような処理を見つけると、プログラマの意図を無視して(というか、そんなもの理解できない)処理そのものを取り除いて実行形式を作成しようとする。 こういった、余計なお世話をしてほしくない場合は、以下の様にプログラミングすること。 int main() { volatile int w; // 最適化の抑止 ..... while (1) { PORTD = 0x01; // PD0につながったLEDを点灯 for (w=0; w 9999999; w++); // ※1 待ち時間 PORTD = 0x00; // PD0につながったLEDを消灯 for (w=0; w 9999999; w++); // ※2 待ち時間 } }
https://w.atwiki.jp/ce00582/pages/5285.html
最適非線形価格 (1)プログラム 非線形 線形 メイン (3)コメント クラス化は便利です。ジャンプが必要です。ジャンプの問題解決 (4)作業記録 7月23日 ページ作成
https://w.atwiki.jp/ninjatrader/pages/50.html
(Play Video) ストラテジーの最適化を通して入力パラメーターを微調整することができる。最適化は、ヒストリカル・テストの実施期間に渡る最適な入力値を決定するためのバックテストの繰り返しを通し、最も良い結果を基準にして、入力値の範囲をテストするプロセスである。 最適化を実施するために必要なものは以下の通り: ヒストリカル・データへのアクセス 独自のNinjaScriptストラテジー * ストラテジー・アナライザーのバックテスト機能の理解 * NinjaTraderと共にインストールされている、いくつかの定義済みのサンプル・ストラテジーがある。 + 最適化の実施方法 最適化の開始 最適化を実行するには: 単一の銘柄またはInstrument List(リスト中の全銘柄で最適化を行う場合)の上で左クリックした後、右クリックして右クリックメニューを表示する。その右クリックメニュー上で Optimize... 項目を選択する。この操作の代わりに、 ストラテジー・アナライザー のツールバーにある" o "アイコンをクリックしても良い。デフォルトのホット・キーである CTRL + O を使用することもできる。 滑り出してくるメニュー上の Strategy 項目で最適化対象のストラテジーを選択する。 最適化のプロパティを設定し、 OK ボタンをクリックする。(各プロパティの定義については下の "最適化のプロパティの理解" 項目を参照すること) テスト範囲の設定 次に挙げるサブ・パラメーターを表示するために、ストラテジーの入力パラメーター部を展開することができる: Min.value - テストを開始する値 Max.value - テストを終了する値 Increment - それぞれの最適化段階で開始値から増やしていくための増分値(段階値) 上の画像では、入力パラメーター"Fast"は開始値(初期値)10、終了値30、増分値1を持つ。これはまず開始値10でテストされた後、11、12というように進み、30まで続く。入力パラメーター"Slow"は開始値6、終了値16、増分値1を持つ。これらの設定に基づき、最良の結果が得られる最適な入力値の組み合わせを見つけるために、合計200回("Fast"向けの値の数20と"Slow"向けの値の数10を掛け合わせた値)のバックテストの繰り返しが処理される。 最適化基準の設定 最適化処理はあなたが選択した最適化基準に基づいて行われる。"Optimize on..."プロパティを"Max. net profit"に設定した場合、オプティマイザー(最適化器)はできるだけ利益が最大になる最適な入力値を探す。最適化基準は10を超える種類の中から選択することができる。詳細は下の "最適化のプロパティの理解" 項目を参照すること。 最良の最適化結果 一度、最適化処理が完了したら、"Instruments"タブと"Optimizer"タブを確認する。"Instruments"タブは、最適化用途に選択された個々の銘柄に対する最良の最適化結果を表示する。それぞれの結果の行を選択することで、その銘柄の成績データを表示する。 上位の最適化結果 Optimizer タブは Optimizer ダイアログ・ウインドウ中の"Keep best # results"プロパティに設定された値に基づいて、上位の結果を表示する。 Parameters 列に最適化された入力値を表示する。 この最適化で使用された入力パラメーター"Fast"の最適化値 この最適化で使用された入力パラメーター"Slow"の最適化値 + 最適化のプロパティの理解 最適化のプロパティ 下で解説する最適化に特有のプロパティは別として、最適化のためのプロパティはバックテストのプロパティ・ウインドウの中のそれと全く同じである。その詳細はストラテジーのバックテストページの "バックテストのプロパティの理解" の項を参照すること。 最適化 特有のプロパティは次の通り: Aggregated Trueに設定された場合、NinjaTraderは銘柄のバスケット全体としての最適化結果を見つけようと試みる。その集合体としての結果は、"Instruments"タブのCOMBINEDという行に表示される。(このパラメーターは最適化対象としてInstrument Listが選択された時にのみ有効になる) Keep best # results 表示する上位の結果の個数 Optimize data series Trueに設定した場合、Data Series Valueプロパティが有効になる (Period TypeのKagi、PointAndFigureおよびLine Break periodはサポートしない) Optimize on... 最適化基準 Optimizer 使用する最適化アルゴリズム。NinjaTraderには最適化アルゴリズムとして"Default"と"Genetic"が付属している。"Genetic"オプションが選択された場合、"Keep best # results"プロパティの上に遺伝的アルゴリズム最適化向けのプロパティ欄が現れる。NinjaScriptによってユーザー独自の最適化アルゴリズムをプログラムすることができる。
https://w.atwiki.jp/abwiki/pages/227.html
MessageBox(3,3,3,3) これをコパイルしてexeを出す。このexeをdumpbin.exeで逆アセンブルする。 すると… 00401000 55 push ebp 00401001 E8 04 0E 00 00 call 00401E0A 00401006 6A 00 push 0 00401008 E8 AC 14 00 00 call 004024B9 0040100D A3 4C 56 40 00 mov dword ptr ds [0040564Ch],eax 00401012 6A 00 push 0 00401014 E8 A0 14 00 00 call 004024B9 00401019 A3 50 56 40 00 mov dword ptr ds [00405650h],eax 0040101E 6A 00 push 0 00401020 E8 94 14 00 00 call 004024B9 00401025 A3 54 56 40 00 mov dword ptr ds [00405654h],eax 0040102A 6A 00 push 0 0040102C E8 88 14 00 00 call 004024B9 00401031 A3 58 56 40 00 mov dword ptr ds [00405658h],eax 00401036 6A 00 push 0 00401038 E8 7C 14 00 00 call 004024B9 0040103D A3 5C 56 40 00 mov dword ptr ds [0040565Ch],eax 00401042 6A 00 push 0 00401044 E8 70 14 00 00 call 004024B9 00401049 A3 60 56 40 00 mov dword ptr ds [00405660h],eax 0040104E 6A 00 push 0 00401050 E8 64 14 00 00 call 004024B9 00401055 A3 64 56 40 00 mov dword ptr ds [00405664h],eax 0040105A 6A 00 push 0 0040105C E8 58 14 00 00 call 004024B9 00401061 A3 68 56 40 00 mov dword ptr ds [00405668h],eax 00401066 6A 00 push 0 00401068 E8 4C 14 00 00 call 004024B9 0040106D A3 6C 56 40 00 mov dword ptr ds [0040566Ch],eax 00401072 6A 00 push 0 00401074 E8 40 14 00 00 call 004024B9 00401079 A3 70 56 40 00 mov dword ptr ds [00405670h],eax 0040107E 6A 00 push 0 00401080 E8 34 14 00 00 call 004024B9 00401085 A3 74 56 40 00 mov dword ptr ds [00405674h],eax 0040108A 6A 00 push 0 0040108C E8 28 14 00 00 call 004024B9 00401091 A3 78 56 40 00 mov dword ptr ds [00405678h],eax 00401096 6A 00 push 0 00401098 E8 1C 14 00 00 call 004024B9 0040109D A3 7C 56 40 00 mov dword ptr ds [0040567Ch],eax 004010A2 6A 00 push 0 004010A4 E8 10 14 00 00 call 004024B9 004010A9 A3 80 56 40 00 mov dword ptr ds [00405680h],eax 004010AE 6A 00 push 0 004010B0 E8 04 14 00 00 call 004024B9 004010B5 A3 84 56 40 00 mov dword ptr ds [00405684h],eax 004010BA 6A 00 push 0 004010BC E8 F8 13 00 00 call 004024B9 004010C1 A3 88 56 40 00 mov dword ptr ds [00405688h],eax 004010C6 6A 00 push 0 004010C8 E8 EC 13 00 00 call 004024B9 004010CD A3 8C 56 40 00 mov dword ptr ds [0040568Ch],eax 004010D2 6A 00 push 0 004010D4 E8 E0 13 00 00 call 004024B9 004010D9 A3 90 56 40 00 mov dword ptr ds [00405690h],eax 004010DE 6A 00 push 0 004010E0 E8 D4 13 00 00 call 004024B9 004010E5 A3 94 56 40 00 mov dword ptr ds [00405694h],eax 004010EA 6A 00 push 0 004010EC E8 C8 13 00 00 call 004024B9 004010F1 A3 98 56 40 00 mov dword ptr ds [00405698h],eax 004010F6 6A 00 push 0 004010F8 E8 BC 13 00 00 call 004024B9 004010FD A3 9C 56 40 00 mov dword ptr ds [0040569Ch],eax 00401102 6A 00 push 0 00401104 E8 B0 13 00 00 call 004024B9 00401109 A3 A0 56 40 00 mov dword ptr ds [004056A0h],eax 0040110E 6A 00 push 0 00401110 E8 A4 13 00 00 call 004024B9 00401115 A3 A4 56 40 00 mov dword ptr ds [004056A4h],eax 0040111A 6A 00 push 0 0040111C E8 98 13 00 00 call 004024B9 00401121 A3 A8 56 40 00 mov dword ptr ds [004056A8h],eax 00401126 6A 00 push 0 00401128 E8 8C 13 00 00 call 004024B9 0040112D A3 AC 56 40 00 mov dword ptr ds [004056ACh],eax 00401132 6A 00 push 0 00401134 E8 80 13 00 00 call 004024B9 00401139 A3 B0 56 40 00 mov dword ptr ds [004056B0h],eax 0040113E 6A 00 push 0 00401140 E8 74 13 00 00 call 004024B9 00401145 A3 B4 56 40 00 mov dword ptr ds [004056B4h],eax 0040114A 6A 00 push 0 0040114C E8 68 13 00 00 call 004024B9 00401151 A3 B8 56 40 00 mov dword ptr ds [004056B8h],eax 00401156 6A 00 push 0 00401158 E8 5C 13 00 00 call 004024B9 0040115D A3 BC 56 40 00 mov dword ptr ds [004056BCh],eax 00401162 6A 00 push 0 00401164 E8 50 13 00 00 call 004024B9 00401169 A3 C0 56 40 00 mov dword ptr ds [004056C0h],eax 0040116E 6A 00 push 0 00401170 E8 44 13 00 00 call 004024B9 00401175 A3 C4 56 40 00 mov dword ptr ds [004056C4h],eax 0040117A 6A 00 push 0 0040117C E8 38 13 00 00 call 004024B9 00401181 A3 C8 56 40 00 mov dword ptr ds [004056C8h],eax 00401186 6A 03 push 3 00401188 6A 03 push 3 0040118A 6A 03 push 3 0040118C 6A 03 push 3 0040118E FF 15 9E 31 40 00 call dword ptr ds [0040319Eh] 00401194 E8 EE 10 00 00 call 00402287 00401199 33 C0 xor eax,eax 0040119B 5D pop ebp 0040119C C3 ret 0040119D 81 EC 00 00 00 00 sub esp,0 004011A3 55 push ebp 004011A4 8B EC mov ebp,esp 004011A6 53 push ebx 004011A7 56 push esi 004011A8 57 push edi 004011A9 FF B5 08 00 00 00 push dword ptr [ebp+00000008h] 004011AF 6A 00 push 0 004011B1 FF 35 30 50 40 00 push dword ptr ds [00405030h] 004011B7 FF 15 6E 31 40 00 call dword ptr ds [0040316Eh] 004011BD 5F pop edi 004011BE 5E pop esi 004011BF 5B pop ebx 004011C0 8B E5 mov esp,ebp 004011C2 5D pop ebp 004011C3 83 C4 00 add esp,0 004011C6 C2 04 00 ret 4 004011C9 81 EC 04 00 00 00 sub esp,4 004011CF 55 push ebp 004011D0 8B EC mov ebp,esp 004011D2 53 push ebx 004011D3 56 push esi 004011D4 57 push edi 004011D5 6A 00 push 0 004011D7 6A 04 push 4 004011D9 8B C5 mov eax,ebp 004011DB 05 04 00 00 00 add eax,4 004011E0 50 push eax 004011E1 FF 15 86 31 40 00 call dword ptr ds [00403186h] 004011E7 FF B5 0C 00 00 00 _push dword ptr [ebp+0000000Ch](以下略) こんな事になる。 自分のつくた部分はどこだろう? 正解は00401186hから5行である。 先頭からアセンブラが記述されていないのは、COFF形式のEXEファイルに従っている為セクションが異なる。 ab4は直接EXE形式を出力するコンパイラで、実行形式はMicrosoftのCOFF形式のEXEファイルである。 ここに示されているアドレス0x4011E0等は、VirtualAddressで物理アドレスではない。 Windowsは仮想記憶をサポートしているので、出力される実行形式のアドレスは仮想記憶を介している点に注意。 ab4の出力を良く観察すると、変数や関数の引数はすべてスタック操作が関与している事が伺える。 従ってBASICの式や構文上に現れる変数の取り扱いは、実際のCPUレベルでは主記憶メモリに置かれたスタック に記録されているという事。 これはBASICのコードがコンパイルされる際に、一旦中間言語にコンパイルされ、コードジェネレータが x86のアセンブラを生成する事と関係しているかもしれない。 なお、変数をスタックに配置する方法は一般的に行われる。 変数に代入/参照する際にはやや煩雑なスタック操作が生成されるため、命令が重複したアセンブラコードが出力されている。 最適化は行われていない様子。 山本大輔著 x86系CPUのネイティブコードを解析する 最適化手法 ループ内で計算結果が変わらないものは外に出す ループ回数を減らす 分岐を減らす 並列化 SIMD Cでコードを書いてDLにする。 #include emmintrin.h enum {ADD=0,SUB,MUL };void _stdcall simd(int *r0, int *r1, int mode){__m128i m[2];m[0] = _mm_loadu_si128((__m128i*)r0);m[1] = _mm_loadu_si128((__m128i*)r1);switch (mode) {default break;case ADD m[0] = _mm_add_epi32(m[0], m[1]);break;case SUB m[0] = _mm_sub_epi32(m[0], m[1]);break;case MUL m[0] = _mm_mul_epu32(m[0], m[1]);break;}_mm_storeu_si128((__m128i*)r0, m[0]);return; } これをABで呼び出す。 #N88BASICDeclare Sub simd Lib"s2.dll"(r0 As *Long, r1 As *Long,mode As Long)EnumADDi = 0SUBiMULiEnd EnumDim r0[3] As Long,r1[3] As LongDim n As LongFor n=0 To 3r0[n] = n+1r1[n]=r0[n]*10Nextsimd(r0,r1,ADDi)For n=0 To 3Print r0[n];" ";NextPrintsimd(r0,r1,SUBi)For n=0 To 3Print r0[n];" ";NextPrintsimd(r0,r1,MULi)For n=0 To 3Print r0[n];" ";NextPrint またはメモリ上の機械語プログラムの応用でABに組み入れてもいいかも
https://w.atwiki.jp/hanetsuki/pages/14.html
最適プラン検討 説明 特定の使い方をした場合にどのキャリアのどのプランがもっとも安くなるか判断する上で役立つかも知れないエクセルシートです。 ダウンロード 多分下にリンクがあります。 既知の制限 ファミ割ワイド/ワイドサポート/キッズ・シニア非対応 au/オレンジの家族割/自宅割非対応 Voda統一の副回線非対応 ハーティ/プライオリティサポート/ハートフレンド割引非対応 パケットが無料通話分適用外になる バージョン 200612c (2006/12/20) 一通り完成。 200612d (2006/12/31) 追加および修正。 200612f (2006/12/31) ガク/学割追加。 200701a (2007/01/04) ガク/学割色変更。 200701b (2007/01/05) ホワイトプラン対応。 200701c (2007/01/26) ダブルホワイト対応。
https://w.atwiki.jp/kameyama2011/pages/184.html
【環境教育のパラダイムとして】 20世紀の科学技術は、一元的な価値基準の下で対象を簡単なパーツに分解し、個々のパーツの最適解を繋ぎ合わせれば全体の問題が解決できる、という要素還元主義的世界観に立っていた。しかし、「合成の誤謬」や「生命の全一性の分断化」として説明されるように、このような楽観的な要素還元主義の成功の陰には多くの解決不能な問題群が積み残された。これが新しい教育パラダイムを求める時代的背景となっている。新しい環境人材教育においては、個と全体との相互依存関係を重視し、ホリスティック(全連関的)な視点から世界と自己を理解する人材の育成が志向されるべきだと考えている。つまり、自己と世界との多重的な相互依存関係および変容過程を重視した教育が目指されている。 【ダーウィニズム】 従来の通説的な理解では、ダーウィンの自然淘汰説はマルサスの影響を受けたものと見なし、自然淘汰を、外部からの圧力によって弱者を排除し最適者を残すスクリーニングのように解する。このスクリーニングを推進するのが生存闘争である、ということになる。ダーウィンの独創的な説であり、ダーウィニズムといえばこれを指す。しかし、この捉え方では、淘汰はたんに外部つまり環境からの圧力でしかなく、生物体の内部からの淘汰はまったく考えられない。 ちなみにダーウィンの自然淘汰説を「最適者生存survival for the fittest)」という表現を用いて普及させたのは、社会ダーウィニズムの提唱者であるスペンサー。 かりに適応度が現実の生存と繁殖によって定義されるとすれば、「最適者生存の説はトートロジーではないか」という疑問が生まれる。すなわち最適者とは生存した者であるが、生存した者とは最適者(であるがゆえに生存した者)である。こうして、最適者は最適者である(生存者は生存者である)というトートロジーが生じる。しかしこの場合、「自然淘汰」(以下「淘汰」と略記する場合がある)と「適応度」が互換性のある概念としてl理解(「誤解」)」されていることが、混乱のもとである.ソーバーは両者を明確に区別し、「淘汰」は進化の原因であるのに対して「適応度」は因果的効力をもたない概念であることを指摘している。 ネスは、ダーウィン以後周知の「生存競争」「適者生存」の概念についてこういう。「いわゆる生存競争と最適者生存[の概念]は、殺し、搾取し、抑圧する能力という意味よりも、むしろ複雑な諸関係の中で共存し協力する能力の意味において解釈されるべきである」 【社会ダーウィニズム】 一般にはダーウィンの生物進化論、とくに生存闘争と自然淘汰の理論を人間社会に適用する理論やイデオロギーをさす。この思想によると、市場における競争原理によって不適格者が淘汰され、最適者が生存するという点に社会の進化も進歩もあるとして、完全な自由放任の経済社会が正当化される。この意味で社会ダーウィニズムは、社会進化論の一部であるともいえる。 ドイツにいち早くダーウィンの進化論を導入し、普及させた動物学者ヘッケル。彼はまた、進化論の立場から、精神を非物質的存在とみなす観念論や,精神を物質から独立した実体と唱える二元論を批判し、一元論の哲学あるいは唯物論的な世界観を提唱した。さらに,間の心的能力の系統発生(進化)を認め、人間の認知能力を自然淘汰説によって解釈した。それゆえヘッケルは、進化論的認識論の先駆者と評価される。その一方で、ヘッケルは同時にそうした生物学理論を社会に適用し、ドイツにおける社会ダーウイニズムの先駆けともなった。とくに彼は、ドイツ国民を支配者民族として認め、最適者のみが生存するのは正当であり、自然であるとまで述べたため、のちのナチズムの優生思想との関連も指摘されている。 太田は社会ダーウィニズムにおける「最適」の文脈に批判的。→理由 【アニマルウェルフェア】 飼育動物の多くは野生由来、あるいは世代を遡れば野生由来という動物であり、本来は野生下において多様な刺激に絶えずさらされながら、環境との関わりの中で生存のために最適な行動を主体的に選択している、と見なされる。事実、野生下の動物の行動には、自発的に出現する時間配分があり、それらは、その動物種が生存を最大化するよう適応を遂げてきた進化的適応環境(EEA)と共に、当該の環境における他個体の存在や、食物や水の資源の量や密度といった要素を反映して決定される。一方で、人工的な飼育環境ではこれら生存に適切な行動パターンを表出するために必要な空間や刺激は希薄であり、その結果。本来の行動の表出は抑制されがちとなる。その様な環境下で飼育される実験動物,家畜動物,展示動物には,交尾や子育てができないといった繁殖障害,脳が正常に発達しないなどの発育障害, 前後の文脈に直接的に関連のない行動が表出するといった異常行動(Abnormal behavior)等の問題性が数多く報告されている。 もちろん、ヒトの場合は数世代を遡れば野生由来になるわけではない。 【状況倫理】 「状況倫理」を「実践用の倫理学」として強調する小原信はこういっている。「状況倫理とは、原理や規約を機械的に適用することによってではなく、いまここで現に起こりつつあることとの関連で、何がふさわしい生き方かを考えようとする生き方である」。ある判断の善いか悪いかの決め手はふさわしさfittingnessである。状況倫理は、状況のなかの〈現在(いま)〉をもっとも大切にし、「現実の状況のなかでの事柄全体の生きた用法を重んじる」。たとえ原理や形式の観点からは矛盾し一貫していなくとも「それが現実の状況にかなっているならそれを新しく積極的に善だと見る」、それはたいていセカンドベストをベストとする生き方である。 状況倫理論は根本的弱点をもつ。まず第一に、「状況」とは何かがあいまいである。たとえば職場の状況というと一見自明のようだ。しかしそれは会社の好不調のことか、職場での役割関係なのか、職場の人間関係なのかなどと多様だ。日常的にはそれらの全体の雰囲気といったことですんでいる。だが、いったん問題が生じて判断に迷う事態が生じたとき、この状況とは何かが問題になる。もし嘘の善悪が状況のなかで問題になるとすればそういうときである。そこでは、状況が大切なのはいいとして、それが一体何なのかが問われるのだ。これに状況倫理は応えられない。 第二に、「ふさわしさ」もあいまいだ。職場関係の要素であれ全体的雰囲気であれ、なんらかの「状況」における「ふさわしさ」とは、それに自分をあわせることなのか、それとも自分にフィットする「状況」を選ぶことなのか。会社の状況を考えれば同僚関係がぎくしゃくしてもよい、とか、逆に会社の業績より職場の状況(人間関係)が大切だとか。「効果」「意味」といわれても、何にとっての効果・意味なのかが示されねば同じことだ。だがそういう意識的あるいは無意識的選択の基準は何か。結局、自分の気分あるいは居心地のよさ、なのだろうか。このような問題は、個人の人生全体にかかわる「状況」の「ふさわしさ」となるともっと拡大する。自分の「状況」において会社の「状況」と家庭の「状況」が対立する場合は、どうなるのだろうか。 小原信「状況倫理ノート」(講談社現代新書) 【ホッブズ】 ホッブスのいう自然権(Right of Nature)とは、次のとおりである。「各人が、彼自身の自然すなわち彼自身の生命を維持するために、彼自身の意志するとおりに、彼自身の力を使用することについて、各人がもっている自由であり、したがって、かれ自身の判断力と理性において、彼がそれにたいする最適の手段と考えるであろうような、どんなことでもおこなう自由である」(『リヴァイアサン(一)』216)。 【ペントンの「エコ規制的労働過程」】 ベントンは、マルクスの労働過程概念に対して批判を展開している。ベントンによれば、マルクスの労働過程概念は、原材料に対して意図的な操作を加えて製品を作り出す「製造業的、変形的な労働過程productive,transformative labor processes」に偏っていて、それとは異なる多様な労働過程が考慮に入れられていないという。そこで、そうしたものの一つとして、ベントンは農業労働を含む「エコ規制的労働過程ecoregulatory labor processes」を特に取り上げ、その特徴を以下の四点に求めていく(Benton,1996 161)。すなわち、1)この労働の対象は、素材それ自体ではなく、素材が生育していく環境であり、労働は「変形のための条件"condition" for for transformation(強調はベントン。以下同じ)の最適化」に向けられている。2)この労働は、有機的成長のための条件を最適化した後は、変形するというよりもむしろ、維持し、規制し、再生産する労働になる。3)この労働の時空的な配置は、当該労働が置かれた環境条件や有機体の成長過程のリズムに主として規定される。4)自然によって与えられた条件(水の供給、気象条件など)は、労働の対象であると同時に労働過程の条件でもある。したがって、この自然の条件は、マルクスが言う労働過程の三要素(労働、労働手段、原材料)とは必ずしも簡単に同一視できるものではない。 これらの「エコ規制的労働過程」論は、農業の特殊性からマルクスの労働過程論を再構成しようとするもので、明らかに新たな理論的貢献とみてよいであろう。特にここでの労働が、対象自体ではなく、その環境条件を最適化しようとする「配慮」に向けられた労働だとするところは重要である。次の「サブシステンス・パースペクティブ」とも関連するが、この労働過程論は、農業労働が、本来的に「ケアリング」労働であり、対象自体の健全な育成に成果を求めようとすることを指摘しているのである。