RNetLogoからnlrxに乗り換えるために

f:id:kapibarasenn10:20210220173459j:plain

Pairwise-invasibility plots*1で直接的な結果を示すための手はずを整えて,進化計算を走らせるためには,これまでを上回る量の世界を造る必要がある.RNetLogoでは変数を含めたスクリプトを実行することができない*2ので,1000回以上の繰り返しを直に書いたスクリプトを作るしかない.そんな実験を間違わずに行う自信はないので,nlrxに *3 *4 *5乗り換えることにした.

nlrxでは,RからNetLogoにXMLファイルを送って,遠隔操作する.その際にRとNetLogo (>= 5.3.1)の他に,
Java (JDK 1.8), pandoc, OpenSSL, udunits-2, PROJ.4, GEOS, GDAL, libxml2
が準備されていなければならないので探した.

1)Java (JDK 1.8)
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

2 ) pandoc
https://qiita.com/sky_y/items/3c5c46ebd319490907e8
https://github.com/jgm/pandoc/releases/tag/2.11.4

3) OpenSSL
https://www.atmarkit.co.jp/ait/articles/1601/29/news043.html
https://slproweb.com/products/Win32OpenSSL.html

4) PROJ.4, GEOS, GDAL, libxml2
GDAL(Geospatial Data Abstraction Library), GEOS (Geometry Engine, Open Source) ,PROJ4 (Cartographic Projections Library) ライブラリをOSGeo4Wインストーラでインストールした.
https://trac.osgeo.org/osgeo4w/wiki/OSGeo4W_jp
https://homata.gitbook.io/geodjango/geodjango/install
https://proj.org/install.html

 

5) udunits-2をインストールするために、5-1) 〜5-5)を準備する. 

https://www.unidata.ucar.edu/downloads/udunits/
Source Code Distributionsからudunits-2.2.28.tar.gzをダウンロード
解凍したフォルダに含まれるudunits2.pdfにインストールの手順が書いてある.

5-1) expat "libexpat"
https://sourceforge.net/projects/expat/
インストールが終わったら、C:\Program Files (x86)\Expat 2.1.0\Bin 配下にlibexpat.dll がある.

5-2) expat.h
expat "libexpat"(- > 5-1))で作られたファイルがC:¥Program Files (x86)に存在するのを確認した. 

システム環境変数 のPATH に EXPAT_INCLUDE_DIR (expat.hを含むフォルダ)を追加

 

5-3)CUnit libraryのインストール

https://netbeans.org/kb/docs/cnd/c-unit-test_ja.html
"WindowsおよびMinGWでのCUnitのインストール手順"

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12121640692
#MinGW Shellを探す
MinGW¥msys¥1.0¥msys.bat


> downloads
#Lhaplusで解凍
#MinGW Shellでは¥が機能しないので/を使う
https://qiita.com/from_chc/items/db771bef1e83fc00783a
最新版は2.1.3だがconfigureが存在しないため,2.1.2を使用する
http://jaist.dl.sourceforge.net/project/cunit/CUnit/2.1-2/CUnit-2.1-2-src.tar.bz2

MinGW Shellで解凍フォルダに移動
cd C:\Users\ichij\Downloads\CUnit-2.1-2

 

mount
>C:\mingw on /mingw type user (binmode)

#makefileを作成
./configure
#または ./configure --prefix=/mingw
make
make install

 

5-4) CMake
https://ja.wikipedia.org/wiki/CMake
https://www.kkaneko.jp/tools/win/cmake.html
https://cmake.org/download/

#cmakeにはautoconfiguration機能がないのでconfig.h.cmakeを自分で書く必要がある
#http://cmake.3232098.n2.nabble.com/cmake-config-h-td5778896.html
#the Fresh Open Source Software Archiveにconfig.h.cmakeがアップロードされている.
#https://fossies.org/linux/poppler/config.h.cmake
#ダウンロードしてudunits2フォルダに置く.

5-5) MinGW
https://ja.wikipedia.org/wiki/MinGW
https://qiita.com/ryo-sato/items/00c17469978e47d91a09
https://osdn.net/projects/mingw/releases/
https://www.javadrive.jp/cstart/install/index6.html#section3

 

追加したPATHは,

c:\Program Files\CommonFiles\Oracle\Java\javapath;

c:\Windows\System32\OpenSSH\;

c:\Program Files\Pandoc\

c:\Program Files\CMake\bin

c:\Program Files (x86)\Expat 2.2.10\Bin

c:\mingw\bin

c:\Program Files (x86)\Expat2.2.10\Source\lib

c:\MinGW\msys\1.0\bin

c:\mingw\mingw32\bin

c:\mingw\share\libtool\libltdl

C:\MinGW\msys\1.0\local\lib

c:\MinGW\msys\1.0\local\doc\CUnit\headers

 

5-6) udunits-2.2.28のインストール.win10のコマンドプロンプトで,

cd C:\Users\current_user\Downloads\udunits-2.2.28
mkdir build
cd build

cmake -G "MinGW Makefiles" .. -DCMAKE_C_COMPILER="C:/MinGW/bin/gcc.exe" -DCMAKE_CXX_COMPILER="C:/MinGW/bin/g++.exe" [-DCMAKE_INSTALL_PREFIX=install_prefix] ..

make all install

 

症状の移動;臓性の痛みと体性の痛み

自律神経性の脳神経に含まれる臓性求心性の線維は臓器の感覚(一般内臓性感覚)を伝える.例えば,迷走神経には一般内臓性感覚を伝える一次求心性線維があり,孤束核に終始する.このような線維が刺激されたときには限局性に乏しい不快感が引き起こされる.たとえば,前腸(食道から十二指腸の中程まで)の一般内臓性感覚は食道辺りの異変として,中腸(十二指腸後半から横行結腸中程まで)からは臍部の異変として,後腸(横行結腸中程から肛門管中程まで)からは骨盤上部辺りの異変として,およそ正中部に感覚され,左右どちらかに偏って感じられることは無い.膵の一般内臓性感覚は背部の異変として感覚される事が多い.

 一方で,腹膜には体性感覚求心性の線維が分布するので,機械的な刺激や温痛覚の侵害刺激に応じて,刺激部位に局在性の高い感覚が引き起こされる.壁側腹膜に体性感覚線維を送る脊髄神経は同じセグメントの皮膚と筋にも線維を送っており,それらは脊髄反射を形作っている.そのため壁側腹膜が刺激されたときには同じセグメントの筋が収縮し,限局した腹壁の筋の収縮と緊張が引き起こされる.

 例えば,急性虫垂炎では当初,心窩部や臍の辺りの鈍い痛みが現れ,時間の経過につれて右下腹部の限局した痛みへと変わることが多い.これは,虫垂の内腔で始まった炎症が一般内臓性求心性線維を刺激し,炎症が広がって腹膜に波及するにつれて,侵害刺激が体性求心性線維に作用して,限局性の高い感覚として脊髄神経を経由して中枢へ伝えられた様子を表している.更に炎症が波及し,壁側腹膜に及ぶと,同じセグメントにある腹部の筋が緊張して固くなる.これを筋性防御と言う.

 

 *1 *2 *3

*1:Henry Vandyke Carter (1831–1897) in Henry Gray. Anatomy of the Human Body. 1918. FIG. 1045

*2:イラストレイテッドカラーテキスト 神経解剖学 原著第5版 水野昇・野村嶬(監訳)三輪書店 エルゼビアジャパン 2017年

*3:Gray's Anatomy 41th edition editied by Standring et al., 2016 Elsevier

ルートを決める

f:id:kapibarasenn10:20210131211142j:plain

目の前に広がる地形を進むルートを決めたので,準備をしている.まず 258 × n 個の世界を作成すると,その後に計算三昧がやってきて,次の沼に入る.その沼の向こうには何があるやら*1

 

*1:イデアはある.

沼の向こうの景色

f:id:kapibarasenn10:20210123224153j:plain

怒濤の計算も,データ整理の沼も,注意深くなければならないが,愚かさに陥らないように行う技術的な問題だ.上手くいったところで,無事なだけで,スマートさが示されるわけではないし,概念が抽出されるものでもない.
 沼を抜けたその先にある地形を詳しく観るために,それぞれが数千行から成る54個のcsvファイルを一つにまとめて,多くの変数の組み合わせを選んでグラフを作り,壊し,作り直した.何も生み出さない恐怖に震えるが.表面的には無言でじっとしているだけの時間だ.
 一週間かけて条件をかえたグラフを作り,単純なことにたどり着き,沼の先に見えてきた景色の中を進むルートを考えている.
 

繰り返し

f:id:kapibarasenn10:20210117182017j:plain

これまで出来なかったことを行う事ができるようになったので,技術が上がり困難を克服できると思った.満を持して,取り組めなかった課題に挑んだが,あっさりと跳ね返された.技術が上がったという自分の感触は錯覚?と思って,元の課題に戻ったが,それは容易に出来る.
 見込みよりも課題が難しかったので,さらに高い技術が無ければ歯が立たない.問題はどこにあるのだろう,何を改善すべきだろう,と考えて過ごした.そんな事を繰り返している.

金曜の夜

f:id:kapibarasenn10:20210110112950j:plain

金曜日の午後に「COVID19感染者増加のため.来週は非対面で授業を行うように」と連絡があったので,仕事の後にオンデマンド用の講義動画を作り,moodleを直していたら,研究棟のヒトが誰もいなくなっていた.

 「?」と思って窓の外をみると大吹雪.この後,4時間かかって帰宅した .車中泊を余儀なくされたヒトもいたらしい*1 *2

 

 

*1:雪のために道幅が狭くなり,スタックした車で車線がふさがれた.

*2:高速道が通行止めになり,一般道に流れ込んだために市内を横断する交通量が増大して,車は立ち往生.