生命情報アート論

出典: MediaArtWiki

目次

概要

uploader

予定

2008年スケジュール

担当
久原,小川
  1. 9/22(月)生物と情報とアート,セルオートマトン
  2. 9/29(月) セルオートマトンを使った音楽生成
    • Minutes Paper 「セルオートマトンを使ったアートの例をしらべ、リンクをはり、簡単な説明をしてください。」
  3. 10/6(月) アロマアート,ヒーリングアート
    • Minutes Paper 「好きな香りは何ですか?」
    • 10/13(月) 体育の日
  4. 10/16(木) 月曜授業振替日アロマアート、共感覚、1/f揺らぎ
    • Minutes Paper 「自分にとって癒される音は?」
  5. 10/20(月) C#によるオブジェクト指向プログラミング(C#実習)
    • Minutes Paper 「オブジェクト指向とは?」
    • 10/27(月) 工芸祭片付け日
    • 11/3(月) 文化の日
  6. 11/5(水) 月曜授業振替日 幾何学図形の描画(C#実習)
    • Minutes Paper 「プログラミング言語につきもののif文とは?」
  7. 11/10(月) 幾何学図形の描画(C#実習)
    • Minutes Paper 「プログラミング言語につきもののforループとは?」
  8. 11/17(月) 三角関数を使った描画、1次元セルオートマトンによる描画(C#実習)
    • Minutes Paper 「三角関数はアーティストにとって使える道具であるといえるのはなぜか?」
    • 11/24(月) 振替休日
  9. 12/1(月) 課題提出(C#実習)
  10. 12/8(月) フラクタル、再起呼出しによる自己相似形(C#実習)
    • Minutes Paper 「身近な所に見られる再帰呼出しの例」
  11. 12/15(月) 複素平面フラクタル,ニューラルネットワーク,遺伝的アルゴリズム
    • Minutes Paper 「自分の好きな生物とその品種は?」
  12. 12/22(月) 小テスト

2007年スケジュール

担当
久原,町田
  1. --- 9/17(月) 敬老の日
  2. --- 9/24(月) 秋分の日
  3. 10/1(月) 生物と情報とアート,セルオートマトン
  4. --- 10/8(月) 体育の日
  5. 10/15(月) アロマアート
  6. 10/22(月) ヒーリングアート
  7. --- 10/29(月) 工芸祭片付け日
  8. 11/5(月) フラクタル
  9. 11/12(月) C#プログラミングの基礎(PC実習)
  10. 11/19(月) 幾何学図形の描画(C#実習)
  11. 11/26(月) 幾何学図形の描画(C#実習)
  12. 12/3(月) 再起呼出しによる自己相似形の描画(C#実習)
  13. 12/10(月) 共感覚実験調査,複素平面フラクタル
  14. 12/17(月) Neural Networks, Genetic Algorithm
  15. 12/19(水) 月曜授業振替日 課題提出日
  16. 12/20(木) 月曜授業振替日 小テスト

課題

2008年度

締切は、いずれの課題も12/22(月)18:10です。
  1. 幾何学模様画像
    • C#を使用して,幾何学模様画像を描くプログラムを作成しなさい。
    • 提出方法:プロジェクトフォルダーを以下の通り,提出用フォルダーに提出してください。
      • プロジェクトフォルダー名:学籍番号 例 0824000
      • 提出用フォルダー:Weekly内の以下のフォルダーに提出してください。
        • MA表現学科の学生:「W:\art\media\kuhara\」
        • 写真学科の学生:「W:\art\pht\kuhara\」
        • 映像学科の学生:「W:\art\manga\kuhara\」
  1. 複素平面フラクタル画像
    • 提出先 サイボウズ提出スレッド
    • 他学科の学生は、kuha@media.t-kougei.ac.jpへ添付して送ってください。必ず学科、学籍番号、氏名を明記すること。

2007年度

締切は、いずれの課題も12/19(水)です。
  1. 自己相似系画像
    • C#の再帰的呼び出しを使用して,自己相似系画像を描くプログラムを作成しなさい。
    • 提出方法:プロジェクトフォルダーを以下の通り,提出用フォルダーに提出してください。
      • プロジェクトフォルダー名:rc学籍番号 例 rc0724000
      • 提出用フォルダー:Weekly内の以下のフォルダーに提出してください。
        • MA表現学科の学生:「W:\art\media\kuhara\再帰的呼出プログラム課題」
        • 写真学科の学生:「W:\art\pht\kuhara\再帰的呼出プログラム課題」
        • 映像学科の学生:「W:\art\img\kuhara\再帰的呼出プログラム課題」
        • デザイン学科の学生:「W:\art\dsn\kuhara\再帰的呼出プログラム課題」
  2. 複素平面フラクタル画像
    • 複複素平面フラクタル図形描画ソフトウェア for Windowsを使用して,フラクタル画像を作成しなさい。
    • 画像は、ペイントなどのソフトでJPG形式に変換してください。
    • 提出先:フラクタル画像BBS:書込み内容は以下の通り
      • お名前:学籍番号と氏名
      • タイトル:複素平面フラクタル
      • メッセージ:
        • テーマ:作成した画像のテーマを書いてください。
        • 数値:Real Scale, Image Scale, A real, A image, Resolutionの値を例にならって書いてください。
        • コメント:自己評価などを書いてください。
    • 投稿記事を修正したり,削除したりするには,末尾にあるフォームに記事番号(NO)とパスワード(PASS)を入れて「送信」ボタンを押してください。PASSは記事投稿時に指定したパスワードです。投稿時にパスワードを省略した場合はPASSなしで修正・削除ができます。

メッセージ記入例

テーマ:マゼンタな太陽
数値:
Real Scale:-0.3 to 0.3
Image Scale:-0.3 to 0.3
A real -1.24
A image 0.075
Resolution 250
コメント:自己評価などを書いてください。

生物と情報とアート

PPT

複雑系

セルオートマトン

配布資料PDF

ライフゲーム

ライフゲームの例 / ライフゲーム入門 / セルオートマトン・ギャラリー /

セルオートマトン音楽

WolframTones/ CAMUS/ Glitch DS/

ギャラリー

Modern Cellular Automata/ CArt gallery/ Cellular Automata Art/ ASCII Art Cell Automaton/

参考

ワイヤワールド / 元祖オートマトンオートマタ美術館 /

人工生命

ラングトンのアリ / ラングトンのループ / 自己増殖ループ

人間の感覚

アロマアート

嗅覚を利用したアート

かんたん掲示板に「香りの特徴」を書いてみよう。

共感覚

ヒーリングアート

リラックスとリフレッシュ
リラックス時には副交感神経が優勢に,興奮状態にある場合は、交感神経が優勢になる。
リラックス時にはアルファ波が出る?
1/f揺らぎ
  • ホワイトノイズ、サイン波、ピンクノイズ(1/f揺らぎ)
  • 自然界の音を使用した楽曲 URL
  • スペクトル
    • EQ(イコライザ)によって,音のスペクトルを加工する。
    • スペクトルとは周波数構成のこと。ピッチ感のある音は,ピークとなる基本周波数を中心として複数の倍音成分から構成される。
      • SoundEngineAudacityでsin波などを生成し,周波数構成を観察。sin波は基本周波数1つのみ。ノコギリ波はsin波の倍数の無限級数。ホワイトノイズはランダムな周波数構成。
      • 人のボーカル,楽器の音,車のエンジン音のスペクトルを比較してみる。
子守唄
  • 子守唄の特徴、西洋の子守唄、日本の子守唄
  • 子守唄自動作曲プログラム(Max/MSP)PDF
  • 生理食塩水内レコーディング竹田の子守唄
生物的なシステム,生物の癒し効果

flash effects / Levitated the Exploration of Computation / sodaplay/ Vector Park / リヴリー・アイランド / エレクトロプランクトン / たまごっちプラス / メンタルコミットロボアザラシ型「パロ」 / 猫型コミュニケーションロボット「ネコロ」 / nintendogs / What is TRUTH? /


C#プログラミング

Visual Studio C#を使用した描画プログラムの作成

プロパティの変更

ラベルの変更
label1.Text = "おはよう";
label1.BackColor = Color.FromArgb(100,0,255,0);

乱数の使用

サイコロ
Random saikoro = new Random();
label2.Text = saikoro.Next(1, 7).ToString();

Timerの使用

ルーレット
  • Timerのスタートとストップのトグルボタン
if (timer1.Enabled == true)
{
  timer1.Stop();
}
else
{
  timer1.Start();
}
  • timer1_Tick()メソッドの処理。Interval時間間隔ごとにテキストボックスから得た数字を最大値として乱数を発生させる。
Random roulette = new Random();
int kazu_max = int.Parse(textBox1.Text);
label2.Text = roulette.Next(1, kazu_max).ToString();


幾何学模様描画例

描画例のソース

exeプログラム例 直線,矩形,円弧,多角形,曲線など

線の描画

  • pictureboxを作成
  • Graphic gの作成
  • Penの作成
  • g.Draw系のメソッドで線を描画
Graphics g = pictureBox1.CreateGraphics();//pictureBox1に描画するオブジェクトを作成

g.DrawLine(Pens.Black, 0, 0, pictureBox1.Width, 0);  // 普通の直線
Pen boldPen = new Pen(Color.Black, 5);  // 太い線
g.DrawLine(boldPen, 0, 30, pictureBox1.Width, 30);

g.DrawRectangle(Pens.Black, 0, 0, 100, 100);   // 四角形を描画する
g.FillRectangle(Brushes.Red, 50, 50, 100, 100);   // 塗り潰しの四角形を描画する

g.DrawEllipse(Pens.Black, 0, 0, 100, 100);   // 円を描画する
g.DrawEllipse(Pens.Black, 0, 0, 200, 100);    // 楕円を描画する
g.DrawArc(Pens.Black, 200, 0, 100, 100, 10, 275);  // 円弧を描画する
g.DrawPie(Pens.Black, 300, 0, 100, 100, 10, 275);  // 扇形を描画する
g.FillEllipse(Brushes.Red, 50, 50, 100, 100);  // 塗り潰した円を描画する

Point[] points = new Point[4]; // 開いた多角形を描画する
points[0] = new Point(50, 0);
points[1] = new Point(100, 50);
points[2] = new Point(50, 100);
points[3] = new Point(0, 50);
g.DrawLines(Pens.Black, points);

points[0] = new Point(100, 0);  // 閉じた多角形を描画する
points[1] = new Point(150, 50);
points[2] = new Point(100, 100);
points[3] = new Point(50, 50);
g.DrawPolygon(Pens.Red, points);

points[0] = new Point(0, 0);
points[1] = new Point(100, 200);
points[2] = new Point(200, 0);
points[3] = new Point(300, 200);
g.DrawLines(Pens.Black, points);

// 曲線を描画する
g.DrawBeziers(Pens.Black, points);  //ヴェジェ

g.DrawCurve(Pens.Red, points);  //スプライン
g.DrawCurve(Pens.Red, points, 0F);
g.DrawCurve(Pens.Red, points, 0.5F);
g.DrawCurve(Pens.Red, points, 1F);
g.DrawCurve(Pens.Red, points, 1.5F);
g.DrawCurve(Pens.Red, points, 2F);

描画領域のクリア

g.Clear(Color.White); //描画領域をクリア

グラデーション

Graphics g = pictureBox1.CreateGraphics();
// グラデーションのペンを作成
Brush br = new LinearGradientBrush(new Point(0, 0), new Point(0, pictureBox1.Height), Color.Green, Color.White);
// グラデーションで塗り潰し
g.FillRectangle(br, 0, 0, pictureBox1.Width, pictureBox1.Height);

マウスムーブを使った描画

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
  Graphics g = pictureBox1.CreateGraphics();
  Pen pen = new Pen(Color.Black);
  Random rndcolor = new Random();
  //描画色の決定
  int aa = rndcolor.Next(0, 256);
  int rr = rndcolor.Next(0, 256);
  int gg = 255 - e.X * 255 / pictureBox1.Width;
  int bb = e.Y * 255 / pictureBox1.Height;
  pen.Color = Color.FromArgb(aa, rr, gg, bb);
  // マウス位置へ直線を描画する
  g.DrawLine(pen, 0, 0, e.X, e.Y);
  g.DrawLine(pen, 0, pictureBox1.Height, e.X, e.Y);
  g.DrawLine(pen, pictureBox1.Width, 0, e.X, e.Y);
  g.DrawLine(pen, pictureBox1.Width, pictureBox1.Height, e.X, e.Y);
  label3.Text = e.X.ToString();
  label4.Text = e.Y.ToString();
}

forループを使った描画

  Graphics g = pictureBox1.CreateGraphics();

// 直線をループで描画する
  Pen pen = new Pen(Color.Black);
  Random rnd = new Random();
  for (int i = 0; i < pictureBox1.Width; i++)
  {
    int aa = rnd.Next(0, 256);
    int rr = rnd.Next(0, 256);
    int gg = rnd.Next(0, 256);
    int bb = rnd.Next(0, 256);
    pen.Color = Color.FromArgb(aa, rr, gg, bb);
    g.DrawLine(pen, pictureBox1.Width / 2, 0, i, pictureBox1.Height);
  }

// 点をループで描画する
  SolidBrush brush = new SolidBrush(Color.Black);
  Random rnd = new Random();
  int imax = 10000;
  for (int i = 0; i < imax; i++)
  {
    int aa = rnd.Next(0, 256);
    int rr = rnd.Next(0, 256);
    int gg = rnd.Next(0, 256);
    int bb = rnd.Next(0, 256);
    int xx = rnd.Next(0, pictureBox1.Width);
    int yy = rnd.Next(0, pictureBox1.Height);
    pen.Color = Color.FromArgb(aa, rr, gg, bb);
    brush.Color = Color.FromArgb(aa, rr, gg, bb);
    g.DrawRectangle(pen, xx, yy, 5, 5);
    g.FillRectangle(brush, xx, yy, 5, 5);
  }

// 円をループで描画する
    double pi = 3.14159;
   int x3 = pictureBox1.Width / 2;
   int y3 = pictureBox1.Height / 2;
   int r1 = 100, r2 = 50;
   int kkizami = 100;
   int shukai = 1;
   int n = 5;
   for (int i = 0; i < kkizami * shukai; i++)
   {
     double k = 2 * pi / kkizami * i;
     double x = x3 + r1 * Math.Cos(k);
     double y = y3 - r1 * Math.Sin(k);
     g.DrawEllipse(pen, (int)x - r2, (int)y - r2, 2 * r2, 2 * r2);
   }

アルキメデスの渦巻き

Graphics g = pictureBox1.CreateGraphics();
Pen pen = new Pen(Color.Black);
double pi = 3.14159;
int x3 = pictureBox1.Width / 2;
int y3 = pictureBox1.Height / 2;
double r1;
int kkizami = 1000;
int shukai = 100;
double n = 2;
double k,x=0,y=0,nx=0,ny=0;
nx = x3; ny = y3;
for (int i = 0; i < kkizami * shukai; i++)
{
  k = 2 * pi / kkizami * i;
  r1 = n * k;
  x = nx;
  y = ny;
  nx = x3 + r1 * Math.Cos(k);
  ny = y3 - r1 * Math.Sin(k);
  g.DrawLine(pen, (int)x, (int)y, (int)nx, (int)ny);
}

フェルマーの渦巻き

Graphics g = pictureBox1.CreateGraphics();
Pen pen = new Pen(Color.Black);
double pi = 3.14159;
int x3 = pictureBox1.Width / 2;
int y3 = pictureBox1.Height / 2;
double r1;
int kkizami = 100;
int shukai = 100;
double n = 10;
double k, x = 0, y = 0, nx = 0, ny = 0;
nx = x3; ny = y3;
for (int i = 0; i < kkizami * shukai; i++)
{
  k = 2 * pi / kkizami * i;
  r1 = n * Math.Sqrt(k);
  x = nx;
  y = ny;
  nx = x3 + r1 * Math.Cos(k);
  ny = y3 - r1 * Math.Sin(k);
  g.DrawLine(pen, (int)x, (int)y, (int)nx, (int)ny);
}

正葉曲線:単

Graphics g = pictureBox1.CreateGraphics();
Pen pen = new Pen(Color.Black);
double pi = 3.14159;
int x3 = pictureBox1.Width / 2;
int y3 = pictureBox1.Height / 2;
double r1;
int kkizami = 1000;
int shukai = 1;
double n = 5,m=100;
double k, x = 0, y = 0, nx = 0, ny = 0;
nx = x3; ny = y3;
for (int i = 0; i < kkizami * shukai; i++)
{
  k = 2 * pi / kkizami * i;
  r1 = m * Math.Abs(Math.Sin(n * k));
  x = nx;
  y = ny;
  nx = x3 + r1 * Math.Cos(k);
  ny = y3 - r1 * Math.Sin(k);
  g.DrawLine(pen, (int)x, (int)y, (int)nx, (int)ny);
}

正葉曲線:複

Graphics g = pictureBox1.CreateGraphics();
Pen pen = new Pen(Color.Black);
double pi = 3.14159;
int x3 = pictureBox1.Width / 2;
int y3 = pictureBox1.Height / 2;
double r1;
int kkizami = 1000;
int shukai = 1;
double n = 5, m = 20;
double k, x = 0, y = 0, nx = 0, ny = 0;
nx = x3; ny = y3;
for (int i = 0; i < kkizami * shukai; i++)
{
  k = 2 * pi / kkizami * i;
  r1 = m * Math.Abs( 7* Math.Sin(n * k) + 1 * Math.Sin(3 * n * k) + 1 * Math.Sin(5 * n * k ));
  x = nx;
  y = ny;
  nx = x3 + r1 * Math.Cos(k);
  ny = y3 - r1 * Math.Sin(k);
  g.DrawLine(pen, (int)x, (int)y, (int)nx, (int)ny);
}

外サイクロイド

Graphics g = pictureBox1.CreateGraphics();
Pen pen = new Pen(Color.Black);
double pi = 3.14159;
int x3 = pictureBox1.Width / 2;
int y3 = pictureBox1.Height / 2;
double r1;
int kkizami = 100;
int shukai = 50;
double a = 100, b = 65;
double k, x = 0, y = 0, nx = 0, ny = 0;
nx = x3 + a; ny = y3;
for (int i = 0; i < kkizami * shukai; i++)
{
  k = 2 * pi / kkizami * i;
  x = nx; y = ny;
  nx = x3 + ((a + b) * Math.Cos(k) - b * Math.Cos((a + b) / b * k));
  ny = y3 - ((a + b) * Math.Sin(k) - b * Math.Sin((a + b) / b * k));
  g.DrawLine(pen, (int)x, (int)y, (int)nx, (int)ny);
}

内サイクロイド

Graphics g = pictureBox1.CreateGraphics();
Pen pen = new Pen(Color.Black);
double pi = 3.14159;
int x3 = pictureBox1.Width / 2;
int y3 = pictureBox1.Height / 2;
double r1;
int kkizami = 100;
int shukai = 50;
double a = 100, b = 23;
double k, x = 0, y = 0, nx = 0, ny = 0;
for (int i = 0; i < kkizami * shukai; i++)
{
  k = 2 * pi / kkizami * i;
  if (i == 0)
  {
     x = x3 + ((a - b) * Math.Cos(k) + b * Math.Cos((a - b) / b * k));
     y = y3 - ((a - b) * Math.Sin(k) - b * Math.Sin((a - b) / b * k));
  }
  else
  {
     x = nx;
     y = ny;
  }
     nx = x3 + ((a - b) * Math.Cos(k) + b * Math.Cos((a - b) * k / b));
     ny = y3 - ((a - b) * Math.Sin(k) - b * Math.Sin((a - b) * k / b));
     g.DrawLine(pen, (int)x, (int)y, (int)nx, (int)ny);
  }
}


セルオートマトン例

1次元セルオートマトン

実行例

// グラフィック,描画ブラシ,乱数の準備
Graphics g = pictureBox1.CreateGraphics();
SolidBrush brush = new SolidBrush(Color.Black);
Random rnd = new Random();

// セルの状態格納用の2次元整数型配列を用意
int ookisa = 100;// 配列の大きさ
int[ , ] cell = new int[ookisa, ookisa];

//セルの初期状態
for (int j = 0; j < ookisa; j++)
{
  cell[0, j] = rnd.Next(0, 0);
}
cell[0, ookisa / 2] = 128;

//セルの状態遷移則
for (int i = 1; i < ookisa; i++)
{
  for (int j = 1; j < ookisa - 1; j++)
  {
     cell[i, j] = (cell[i - 1, j - 1] + cell[i - 1, j + 1]) % 256;
  }
}

//セルの描画
int pixsz = 5;
for (int i=0; i < ookisa; i++){
  for (int j=0; j < ookisa; j++)
  {
    brush.Color = Color.FromArgb(255, cell[i, j], 0, 0);
    g.FillRectangle(brush, j * pixsz, i * pixsz, pixsz, pixsz);
  }
}

フラクタル

古代ギリシャからあるユークリッド幾何学と20世紀のフラクタル幾何学の比較

考察
古代エジプト人は4:5:6の辺を持つ三角形で直角が得られることを知っていた.ピラミッドなどの巨大建造物.
三平方の定理を発見したピタゴラスはどこがすごいか?
フラクタル図形

配布資料PDF / フラクタル図形の例

自己相似系

  • 再帰的呼出しによる樹木の描画(PC実習)配布資料
  • 再帰的呼出し的なCollaborate Flash Animation:zoomquilt (swf)
  • 例:実行ファイル,ソース,Taneクラス

新しいクラスの定義

  • 「プロジェクト」メニューから「クラスの追加」で新しいクラス名を入力する。クラスの定義の中にメソッドを記述する。
  • 注意
using System.Drawing;

をTane.csの冒頭に追加

Taneクラスは以下の通り

    class Tane
    {
        public void Eda(int n, int x, int y, double length, double l_rate, double angle, double a_rate, Graphics g, Pen pen)
        {
            if (n > 0)
            {
                int nx = (int)(x + length * Math.Cos(angle * Math.PI / 180.0) + 0.5);
                int ny = (int)(y - length * Math.Sin(angle * Math.PI / 180.0) + 0.5);
                // 枝を描画する
                g.DrawLine(pen, x, y, nx, ny);
                //新しい枝の描画
                double nl = length * l_rate;
                double nax = angle + a_rate;
                double nay = angle - a_rate;
                Eda(n - 1, nx, ny, nl, l_rate, nax, a_rate, g, pen);
                Eda(n - 1, nx, ny, nl, l_rate, nay, a_rate, g, pen);
            }
        }
    }

樹木のアニメーション表示

        private void button1_Click(object sender, EventArgs e)
        {
            Graphics g = pictureBox1.CreateGraphics();
            Pen pen = new Pen(Color.Green, 2);
            Tane tane = new Tane();

            // マウス位置へ直線を描画する
            int n = 10;  //枝の世代数
            int x0 = pictureBox1.Width / 2; //開始位置 x座標
            int y0 = pictureBox1.Height; //開始位置 y座標
            double l0 = 100.0; //最初の枝の長さ
            double l_rate = 0.7; //子供の枝の長さの比率
            double a0 = 90.0; //最初の枝の角度
            double a_rate = 30.0; //子供の枝の角度の差分
            tane.Eda(n, x0, y0, l0, l_rate, a0, a_rate, g, pen);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Graphics g = pictureBox1.CreateGraphics();
            g.Clear(Color.Black); //描画領域をクリア
        }

        private void button3_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            timer1.Start();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            timer1.Stop();
            timer1.Enabled = false;
        }


        public int cnt; //タイマー用カウンタ
        private void timer1_Tick(object sender, EventArgs e)
        {
            Graphics g = pictureBox1.CreateGraphics();
            Pen pen = new Pen(Color.Green, 1);
            Tane tane = new Tane();

            g.Clear(Color.Black);

            cnt++;  //タイマー用カウンタのカウントアップ
            int n = 10;  //枝の世代数
            int x0 = pictureBox1.Width / 2; //開始位置 x座標
            int y0 = pictureBox1.Height; //開始位置 y座標
            double l0 = 10.0; //最初の枝の長さ
            double l_rate = 0.7; //子供の枝の長さの変化の比率
            double a0 = 90.0; //最初の枝の角度
            double a_rate = 30.0; //子供の枝の角度の変化の差分

            double l1 = l0 + cnt * 2;
            double a1_rate = a_rate + cnt * 2;
            tane.Eda(n, x0, y0, l1, l_rate, a0, a1_rate, g, pen);
        }

複素平面フラクタル

Powers of Ten

脳波,脳電図(electroencephalogram EEG)
大脳皮質のニューロンの膨大な数のシナプス結合における電位(シナプス後電位)の集合と考えられている。
通常は,空間的および時間的分散性のために一定の形状の波形にはならない。しかし,大脳皮質の活性度が低下した時にはある程度の同期性がみられ,その代表的な状態が睡眠時の脳波である。
開眼時,脳の神経細胞があちこちで活発に作動していると,シナプス電位は同期が取れずに,脳波はランダムなになり,特定の周波数は測定されない。
  • デルタ波(δ波):1~3Hz ぐっすり睡眠.昏睡.
  • シータ波(θ波):4~7Hz うたたうね.ぼんやり.
  • アルファ波(α波):8~13Hz 覚醒,安静,閉眼時。リラックス。
  • ベータ波(β波):14~30Hz 開眼時,五感が働いている状態。活発な思考。
  • ガンマ波(γ波):30~64Hz 高次精神活動に関連(?)
  • オメガ波(ω波):64~128Hz(?)
  • ロー波(ρ波):128-512Hz (?)
  • シグマ波(σ波):512-1024Hz (?)
  • アーティファクト:ノイズ(雑音)。まばたき,眼球運動,電極の接着不良など脳と無関係のものが要因。

バイノーラルビート

周波数追従反応

脳磁図,生物フォトン,心電図,筋電図,眼電図。

Neural Networks

  • 神経回路モデル(PPT)
  • 神経細胞の写真,構成図[ 1 | 2 | 3 ]
    • シナプスの構成図,接合部の詳細
  • ニューラルネットワーク入門
  • Perceptron,
  • Back Propagation
  • Hopfield Network
  • 自己組織化ネットワーク
  • 脳の潜在能力
    • 天文学者カール・セーガン「人間の脳はおよそ2,000万冊,すなわち世界最大の図書館に収められているのと同じ数の本を満たすほどの情報を収納することができる」
    • 神経科学者「人は平均寿命の間に脳の潜在能力の0.01%(0.0001)しか使っていない」

Genetic Algorithm

配布資料PDF

小テスト

  • 日時 2009/12/29(月)5限
  • 試験時間 45分
  • 場所 いつものPC演習室
  • 出題 配布資料などから出題されます。ノート,配布資料などを復習しておいてください。問題の形式は,選択式です。
  • 注意事項
    • 座席は自由ですが,隣の座席を1つ空けて座ってください。
    • 持ち込みは不可です。机の上には一切,何も置かないで下さい。
    • PC上のソフトはブラウザだけ起動してください。他のアプリケーションはすべて終了させてください。
    • ブラウザで,インターネットから情報を検索してもかまいません。