2009年1月26日月曜日

Mac: MacPortsのインストール

MacPortsのインストール

■ 参考サイト
はこべにっき#

(1) Xcode Toolsをインストール
OS Xのインストールディスクに入っているXcode Toolsをインストール

(2) 環境変数の設定
(bashの場合)
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH

(3) MacPortsのアップデート
$ sudo port -d selfupdate
$ sudo port -d sync

(4) ソフトウェア一覧の更新
$ sudo port sync

(5) ソフトウェアの検索
$ port search zsh
zsh shells/zsh 4.2.6 Zsh is a UNIX command interpreter (shell)
zsh-devel shells/zsh-devel 4.3.2 Zsh is a UNIX command interpre
※zshに開発版(devel)が存在することがわかる.

(6) ソフトウェアのインストール
$ sudo port install zsh

(7) variantsの表示
$ port variants zsh-devel
zsh-devel has the variants:
darwin_8
dp_completion
utf8
※variantsを用いると追加オプションが表示される

$ sudo port install zsh-devel +dp_completion +utf8
※追加機能を有効にした状態でビルドすることができる

(8) ソフトウェアのアップグレード
$ sudo port upgrade zsh-devel

(9) ソフトウェアのアンインストール
$ sudo port uninstall zsh-devel

(10) ソフトウェアのdeactivateとactivate
MacPortsには,deactivateといってソフトウェアを完全に削除せずに一時的に無効にする機能がある.異なるvariantsを指定したあるソフトの複数のバイナリを切り替えてためしたいときなどに便利.
$ sudo port deactivate zsh-devel
$ sudo port activate zsh-devel

(11) インストール済みソフトウェアの表示
$ port installed

(12) インストール済みソフトウェアの一括アップグレード
$ sudo port upgrade installed

(13) アップグレード可能なソフトウェアの表示
$ port outdated

2009年1月25日日曜日

Mac: liboctave C++の使い方

C++において,Octaveのliboctaveを使用する方法

■ 参考サイト
京都大学の川嶋さんのホームページ
プログラミング liboctave (C++)
コンパイルするファイル間の依存性はできるだけ減らそう 〜liboctaveへん〜

■ HelloOctaveWorld.c
#include <iostream>
#include
<octave/config.h>
#include <octave/Matrix.h>

using namespace std;
int main()
{
 Matrix m(2, 2, 1.0);
 cout
<< "Hello octave! " << endl << m;
 return 0;
}


■ makefile
#%%%%%%%%%%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%%%
# makefile
#%%%%%%%%%%%%%%%%%%%%*%%%%%%%%%%%%%%%%%%%%

OCTAVE_ROOT = /Applications/Octave.app/Contents/Resources
OCTAVE_INCS = -I$(OCTAVE_ROOT)/include/octave-3.0.3
OCTAVE_LIBS = -L$(OCTAVE_ROOT)/lib

PROG = a

CFLAGS = $(OCTAVE_INCS)
LDFLAGS = $(OCTAVE_LIBS)/octave-3.0.3 -loctave -lcruft $(OCTAVE_LIBS) -lreadline -ldl -lfftw3

C_SOURCE = HelloOctaveWorld

OBJ = $(C_SOURCE).o

all: $(OBJ)
g++ -o $(PROG) $(OBJ) $(LDFLAGS)

$(OBJ): $(C_SOURCE).c
g++ -c $(C_SOURCE).c $(CFLAGS)

(メモ)
・lfftw3は,フーリエ変換を使うためのライブラリらしい.
・LinuxとMacでは,includeやlibまでのパスが異なるので注意


■ ライブラリパス
DYLD_LIBRARY_PATH=/Applications/Octave.app/Contents/Resources/lib/octave-3.0.3
DYLD_LIBRARY_PATH=/Applications/Octave.app/Contents/Resources/lib:$DYLD_LIBRARY_PATH
export DYLD_LIBRARY_PATH

(メモ)
・bashにDYLD_LIBRARY_PATHを通しておく.
・Linuxでは,LD_LIBRARY_PATHとする.


■ その他の参考サイト
Octave-2.1.64 + ATLAS & FFTW の効果検証

GNU Octave 2.1.x 日本語マニュアル

Mac: Octaveのインストール

Octave

Matlabの様に行列計算などをおこなうソフトウェア.
以下のサイトからパッケージをダウンロードすれば簡単にインストールできる.

Octave for Mac

2009年1月15日木曜日

アリの観察、飼育、羽アリ(女王アリ)の捕獲 - アリンク

http://www.e-kyorochan.com/

女王と働き蟻の分化は,幼虫期の食物の質と量に影響されていたとは知らなかった!

アリは違反者をかぎ分け攻撃する


ナショナルジオグラフィック 公式日本語サイト1月13日(火) 20時36分配信 / 海外 - 海外総合

 2009年1月に発表された研究によると、コロニーの女王が存在しているにも関わらず働きアリが身のほど知らずに繁殖活動を行おうとした場合、仲間の働きアリたちがその企てをかぎ取って攻撃を仕掛けるという。
(Photograph courtesy Jurgen Liebig)  新しい研究によると、女王が存在しているにも関わらず働きアリが身のほど知らずに繁殖活動を行おうとした場合、仲間の働きアリたちがその企てをかぎ取って攻撃を仕掛けるという。

 通常、アリのコロニーでは女王アリだけが子を産み、オスは交尾の後にその生命を終える。新たに生まれたオスや女王格のメスはほかの場所で繁殖を行うために去っていくが、働きアリとして生まれたメスはコロニーを築くためにそのまま残り、次世代の世話をする。

 働きアリは、生物学上は単為生殖が可能である。つまり、オスと交尾しなくても子を産むことができる。ところが実際に働きアリが単為生殖を行おうとすると、フェロモンという化学物質が生じ、ほかの働きアリたちが触角で感知することになる。

「基本的には“におい”で感知するのだが、私たちの知っている臭覚とはまた違う」と、アメリカのアリゾナ州立大学に在籍する研究論文の共著者ユルゲン・リービッヒ氏は言う。

 同氏の説明によると、コロニーが女王を失った場合には働きアリたちは子を産むことが許されるようになる。しかし、女王がいる間は女王だけが受精可能状態のシグナルとなるフェロモンを出すことが許されており、働きアリがルールを破ろうとすると、その繁殖行動が成功しないようほかの働きアリたちが物理的な阻止行動を始めるという。

 この研究は、アメリカ科学専門誌「Current Biology」のオンライン版に1月8日付で掲載された。

 アリが行う繁殖監視行動とフェロモンの間には相関関係があることが過去の研究で証明されており、したがって、フェロモンが密告情報となっていると考えるだけの強い理由があった。「問題はこれまで誰もそれを証明できなかったことだ」とリービッヒ氏は話す。

 同氏の研究チームが研究対象としたのはアシナガアリ属の一種(学名:Aphaenogaster cockerelli)だが、その理由は、科学者が手に入れやすい化合物をこのアリがフェロモンとして発するからである。

 今回の研究の中心となった大学院生のエイドリアン・スミス氏がこの化合物を自然な量で働きアリに塗りつけると、そのアリはほかの働きアリたちから攻撃を受けることになった。「別の化学物質を使用した場合は何も影響がなかった。したがって、繁殖ルールの違反者の識別は、この特定の化合物によって行われていたことになる」とリービッヒ氏は説明する。

 カリフォルニア大学リバーサイド校のレス・グリーンバーグ氏によれば、アリの化学信号を人為的に操作できるのであれば、それを応用してほかの昆虫のコミュニケーションも解明できるはずだという。

 同氏は、「今回の研究は、社会性昆虫が社会秩序をどのようにして維持するのか、それを示す興味深い例を提供してくれた。今回の研究技術で、優勢順位や巣仲間の識別といったほかの行動の分析もできるはずだ」と指摘する。

 アリのコロニーの行動と人間の社会的相互作用の間には、ある程度の類似があると前出のリービッヒ氏は考えている。「“ズル”をしたいという衝動は、あらゆる社会で見られる特徴だと思う。アリの社会でも、コロニー全体と個体の利益が一致しない局面では同じ問題が発生する。もしすべてのアリが自己利益だけを追求すれば、協力のメリットは失われてしまうだろう」と同氏は続けた。

 しかしフロリダ州にあるアーチボルド生物研究所の主任研究員である生物学者のマーク・デイラップ氏は、今回の研究成果をそれほどうまく人間の社会的行動に当てはめることができるかどうかについては疑問を抱いている。

「人間社会では、実質的な権限が無い象徴的な地位でも、選ばれれば社会の安定を促進する役割を果たすこともある」とデイラップ氏は言う。それでもデイラップ氏は、「印象的で興味深く、原因と結果の道筋が綿密に突き詰められているという点で特に賞賛に値する」と、この新しい研究を評している。

 デイラップ氏、グリーンバーグ氏、そしてリービッヒ氏とも、ミツバチやスズメバチなどほかの社会性昆虫でもおそらく、受精可能状態を示すフェロモンが同様の役割を果たすことができると考えている。

Rebecca Carroll for National Geographic News