説経節の世界:信田妻(葛の葉)

村上天皇の時代、河内国のひと石川悪右衛門は妻の病気をなおすため、兄の蘆屋道満の占いによって、和泉国和泉郡信太の森(現在の大阪府和泉市)に行き、野狐の生き肝を得ようとする。摂津国東生郡安倍野(現在の大阪府大阪市阿倍野区)に住んでいた安倍保名(伝説上の人物とされる)が信太の森を訪れた際、狩人に追われていた白狐を助けてやるが、その際にけがをしてしまう。そこに葛の葉という女性がやってきて、保名を介抱して家まで送りとどける。葛の葉が保名を見舞っているうち、いつしか二人は恋仲となり、結婚して童子丸という子供をもうける(保名の父郡司は悪右衛門と争って討たれたが、保名は悪右衛門を討った)。童子丸が5歳のとき、葛の葉の正体が保名に助けられた白狐であることが知れてしまう。全ては稲荷大明神(宇迦之御魂神)の仰せである事を告白し、さらに次の一首を残して、葛の葉は信太の森へと帰ってゆく。

恋しくば尋ね来て見よ 和泉なる信太の森のうらみ葛の葉

この童子丸が、陰陽師として知られるのちの安倍晴明である。保名は書き置きから、恩返しのために葛の葉が人間世界に来たことを知り、童子丸とともに信太の森に行き、姿をあらわした葛の葉から水晶の玉と黄金の箱を受け取り別れる。なおこの水晶の玉と黄金の箱は、稲荷大明神(宇迦之御魂神)から葛の葉が童子丸に授ける様に仰せを受けて預かっていた。数年後、童子丸は晴明と改名し、天文道を修め、母親の遺宝の力で天皇の病気を治し、陰陽頭に任ぜられる。しかし、蘆屋道満に讒奏され、占いの力くらべをすることになり、結局これを負かして、道満に殺された父の保名を生き返らせ、朝廷に訴えたので、道満は首をはねられ、晴明は天文博士となった。

このブログでも晴明に関連する星祭りを紹介したことがある。

説経節の世界:小栗判官(おぐりはんがん)

あらすじはこうだ:

鞍馬の毘沙門天の申し子として生を受けた二条大納言兼家の嫡子小栗判官が、ある日鞍馬から家に戻る帰路、菩薩池の美女に化けた大蛇の美しさに抗し切れず交わり、妻としてしまう。大蛇は懐妊するが、子の生まれることを恐れて隠れようとした神泉苑に棲む龍女と格闘になる。このために7日間も暴風雨が続き、小栗は罪を着せられ常陸の国に流された。

この場所にて小栗は武蔵・相模の郡代横山のもとにいる美貌の娘である照手姫のことを行商人から聞かされ、彼に頼んで照手に文を渡す。照手姫から返事を受け取るや、小栗は10人の家来とともに、照手姫のもとに強引に婿入りする。これに怒った横山によって、小栗と家来達は毒殺され、小栗は上野原で土葬に、家来は火葬にされる。照手姫は相模川に流され、村君太夫に救われるが、姥の虐待を受け、千手観音の加護により難を逃れたものの人買いに売り飛ばされ、もらわれた美濃国青墓宿の万屋でこき使われる。

一方、死んだ小栗と家来は閻魔大王の裁きにより「熊野の湯に入れば元の姿に戻ることができる」との藤沢の遊行上人宛の手紙とともに現世に送り返される。餓鬼阿弥が小栗のから現われたのを見た上人は手紙を読み、餓鬼阿弥と化した小栗を車に乗せると胸の木札に「この車を引くものは供養になるべし」と書きしたためた。多くの人に引かれた車は美濃の青墓に到着する。常陸小萩の名で働いていた照手姫は餓鬼阿弥が小栗であると知らずに5日間に渡って大津まで車を引き、ついに熊野に到着する。

熊野・湯の峰温泉の薬効にて49日の湯治の末、小栗の業病は完治し元の体に戻ることができる。その後、小栗はに戻り天皇により死からの帰還は珍事であると称えられ、常陸・駿河・美濃の国を賜ることになる。また、車を引いてくれた小萩を訪ね彼女が照手姫であることを知り、姫とともに都に上った。やがて小栗は横山を滅ぼし、死後は一度死んで蘇生する英雄として美濃墨俣の正八幡(八幡神社)に祀られ、照手姫も結びの神として祀られた。

歌舞伎では小栗判官は馬術に長けている。そしてかれを落馬させ殺そうして差し向けられた荒馬(鬼鹿毛)を碁盤の上で乗りこなす。

説経節「小栗判官」の読み下しの全文はここで。

説経節(せっきょうぶし)の世界

海と列島の中世」(網野善彦著)のなかで日本の中性ぼ社会を知る上でj興味があるとして説経節(せっきょうぶし)が紹介されていた。これは中世の口承文学で、主な五つの題目が有名で、それらは「苅萱(かるかや)」「俊徳丸(しんとく丸)」「小栗判官」「山椒大夫」「梵天国」がある。時代によっては「苅萱」「山椒大夫」「愛護若」「信田妻(葛の葉)」「梅若」となる。これらの多くは歌舞伎の中に使われている。

小栗判官(おぐりはんがん)->「小栗判官」

芦屋道満大内鏡(あしやどうがんおおうちかがみ)->「信田妻(葛の葉)」

摂州合邦辻(せっしゅうがっぽうがつじ)->「俊徳丸(しんとく丸)」

森鴎外の「山椒大夫」もこの説経節の「山椒大夫」に題材を得ている。能の「弱法師(よろぼうし)」は「俊徳丸(しんとく丸)」による。また「梅若」は能の「隅田川」となった。

コンピュータサイエンティストのように考えよう(3)

さて、前問を拡張して以下のように問題を考える。

整数値が三つあり、先の二つの整数の和と第三の整数との加法、減法、乗法、除法を表現することを考える

表現1


a<-3     整数値を入れる箱を用意しaというラベルを貼る。そして3を入れる
b<-2    整数値を入れる箱を用意しbというラベルを貼る。そして2を入れる
c<-5
(a+b)+c?    
(a+b)-c?
(a+b)Xc?
cが0ならば
    cが0です!
そうでなければ
    (a+b)÷c?

括弧は演算の優先順序が高いことを示す。
表現2


a<-3     整数値を入れる箱を用意しaというラベルを貼る。そして3を入れる
b<-2    整数値を入れる箱を用意しbというラベルを貼る。そして2を入れる
c<-5
t<-a+b   整数を入れる箱を用意しtというラベルを貼る。a+bの結果をしまう。
t+c?    
t-c?
tXc?
cが0ならば
    cが0です!
そうでなければ
    t÷c?

このようにすると無駄な計算をしないで表現できる。
 

コンピュータサイエンティストのように考えよう(2)

前の問題をより汎用性を高めるために、例外があるかどうか考える。

整数3と整数2の加法、減法、乗法、除法を表現することを考える:

表現1


a<-3     整数値を入れる箱を用意しaというラベルを貼る。そして3を入れる
b<-2    整数値を入れる箱を用意しbというラベルを貼る。そして2を入れる
a+b?    ラベルaの箱にある整数とラベルbの箱にある整数の和は?
a-b?
aXb?
a÷b?

bの値が0であるときである。このときa÷bは問題となる。それを指摘し計算はしないとしよう。
表現2


a<-3     整数値を入れる箱を用意しaというラベルを貼る。そして3を入れる
b<-2    整数値を入れる箱を用意しbというラベルを貼る。そして2を入れる
a+b?    ラベルaの箱にある整数とラベルbの箱にある整数の和は?
a-b?
aXb?
bが0ならば
    bが0です!
そうでなければ
    a÷b?

表現2では例外の扱いもしてありより汎用性が高いものとなっている。

コンピュータサイエンティストのように考えよう(1)

プログラミング教育で最初に考えなければならないことは何か?

「それは順序立てて物事を表現する」ことであると思われるが、この表現に汎用性があることが大事である。この汎用性のある表現をアルゴリズムという。

例えば整数3と整数2の加法、減法、乗法、除法を表現することを考える:

表現1


3+2?
3-2?
3X2?
3÷2?

そして3が5に、2が4になったときには


5+4?
5-4?
5X4?
5÷4?

と表現できる。

この表現では最初の数値を変えたときは全てを書き直す必要がある。

表現2


a<-3     整数値を入れる箱を用意しaというラベルを貼る。そして3を入れる
b<-2    整数値を入れる箱を用意しbというラベルを貼る。そして2を入れる
a+b?    ラベルaの箱にある整数とラベルbの箱にある整数の和は?
a-b?
aXb?
a÷b?

この表現では最初の数値を変えたときは、その部分の変更だけで済む。

汎用性が増したことになる。

 

 

MicroBitを使ってみる(3)

今回は音を出してみた。スピーカーが必要だが今回は梅沢無線で購入した圧電スピーカー(二個で170円)を使った。MicroBitはアナログ・デジタル変換によってデジタル信号をアナログに変換して出力するポートを3つ持っている。今回はp0ポートを使った。

MicroBitにつないだ圧電スピーカー

使ったプログラム:


import music

while True:
    music.play(music.PYTHON)
    #music.play(music.BADDY)

music.PYTHONはMicroBitに登録されている音サンプルで、モンティ・パイソン(Monty Python)のテーマ曲でそれを繰り返す。圧電スピーカーは低音はブザーのようにしか聞こえないが高音はそれなりに聞ける。

 

南北朝時代と日本の宗教

海と列島の中世」(網野善彦著)によれば、日本の歴史において南北朝の動乱は非常に大きな契機でこれを境に日本の社会のあり方が大きく変わったという。その一つが宗教の役割である。この動乱を通して「聖なるもの」の価値が失墜する。その「聖なるもの」の一つが仏教であった。律令制を背景にした奈良仏教は天皇の権威の失墜と共に失墜し、新しくおきた「鎌倉仏教」は時代とともに世俗の権力によって押さえ込まれてしまう。

こうして日本は宗教が殆んどない時代になる。

MicroBitを使ってみる(2)

今回はボードに搭載されている磁気センサーを使って方位の検出をしてみた。ボードのmicroUSBの端子がある方向を北に向けるとセンサーからの値は0になり、反対側を向けると180になる。つまり反時計回りに0から360までの値をセンサーは取る。

プログラムはボードの向く方向に拘わらず表示板(5X5のled)に北の方向を示す矢印を表示するといったプログラムである。


from microbit import *

#compass.calibrate()

dd = [Image.ARROW_N, Image.ARROW_NW, Image.ARROW_W,
        Image.ARROW_SW, Image.ARROW_S, Image.ARROW_SE, 
        Image.ARROW_E, Image.ARROW_NE]
a0 = 45 // 2
a1 = 360 - a0
while True:
    n_index = 0
    head = compass.heading()
    print((head,))
    if (head > a0) and (head < a1):
        n_index = ((head - a0)) // 45 + 1
    display.show(dd[n_index])
    sleep(100)
    

実行例を画像で示す。ボードは南東を向いて配置されているが、矢印は北を向いている。

「北」の方向を指す矢印

このpyhtonプログラミングでは初期に実行時のエラーがあったがこれを見つけるのに苦労した。実行時のエラーがあるとMicroBitは停止するがそれ以外の情報はない。随所にprint文を入れて変数の値を調べることが唯一の対処法である。

MicroBitを使ってみる

写真のようにMicroBitをmicroUSBを使ってPC(windows7)に接続してPCからPythonプログラムを転送しそれをMicroBitで実行するという手順である。PC側ではMuと呼ばれるエディター(むしろ統合環境)を使った。Muという統合環境ではPythonプログラムの編集、シンタックスチェック、プログラムのMicroBitへの転送ができる。

プログラム実行中のMicroBit。ボードが右に傾いているので”R”を表示。

さらにインタープリタモードでPythonのコマンドを実行することもできる。このモード(REPLと名前がついている)に入ると転送したプログラムは一時停止した状態になる。このモード画面をprint文の出力画面にも利用できる。そのばあいにはMicroBitの裏面にあるリセットボタンを押し、一時停止していたプログラムを実行させる(リセットの操作が面倒)。

例として使ったプログラム:


from microbit import *

while True:
    reading = accelerometer.get_x()
    sleep(20)
    print((reading,))
    if reading > 120:
        display.show("R")
    elif reading < -120:
        display.show("L")
    else:
        display.show("-")

加速度センサーでボードの傾きを検出し、左右(”L”、”R”)を表示する簡単なプログラムである。プログラム中のプリント文print((reading,))はインタープリタモード画面やMuが持つプロッタ機能のためである。プロッタ機能は繰り返しの出力(出力形式はタプルである。一つのみの値をタプルにするには(x,)とすればよい)をグラフ化する。このプロッタ機能は便利である。

実行中の画面

Muのプロッタ機能(縦軸はセンサーからの値、横軸は回数)