In "[b-free 747] Re: 仮身名" with Katsuhiro MIHARA ,
(09:13:12 PM +0900 in October 08,1997)
- mihara wrote.
|三原です。
|
|いままで黙っていましたが、
| Aki さんのおっしゃることに質問があります。
|
|#長いのはご容赦を。
ども。
先に結論を書いてしまいましょう。
えっと、道を使って実身を特定するとき(ここでは検索で実身を発見することを<特
定>といっています)道は不完全な物でよい。より詳しく云えば、自分のもっとも欲
しいと考える実身の性質を使った、道を想定し、その道を通して、特定の実身に到達
するという物です。道は全てのリンクの列挙ではなく、リンク上の好みの中継地点を
いくつかつなげて作った物です。よって、三原さんの指摘するような各種の問題は起
きないと思います。
# ちなみにこれは意見修正ではありません。
# [b-free 744] で僕は、
# ------------------------------------------------------------------------
----------
## ちなみに、Hashtable->size の間には他の中間リンクが入るかも知れない。
## 再帰で一番最初にたどり着いた物でよいと思う。
## まあ、たどり着ける全てを探せと云うのもあるかも知れないけど。
# ------------------------------------------------------------------------
----------
# と云っています。
# これは、<Hashtable→何か→何か→何か→ .... →size>でよいと云っている
のです。
#
# でなきゃあ、いかにも、「つかえない」って感じになってしまいますものね。(
^^;
ではでは、一応、レスを付けていきます。
|> Full spell には、所有関係が含まれますね。それって、リンクで素直に表現した
だ
|> けで良いんじゃないの? 別に実身名にまでリンクの状態を含ませる必要がある
?
|> あとは、検索方法を「実身名の構成要素で検索」ではなく「実身名で構成される
道で
|> 検索」にすれば同じだと思う。
|
|ということは、一旦リンクを作ると、リンクの順序を頼りにして実身を検索す
|るケースがあるので、リンクを張り替えると実身を特定できなくなるケースも
|あるということですよね?
|
|1B を使っていて便利なのは、リンクを張り替えても他のリンクに影響が出な
|いので好きにリンクを張り替えられることだと思っていたのですが。
|
|「実身名で構成される道で検索」する機能を頼りにされると、常に検索出来る
|ようにするためには、リンクを張り替えられなくなります。どの実身が「実身
|名で構成される道で検索」する機能を利用しているのかなんて覚えたくありま
|せん。忘れるためにメモをするのですから。
アバウトな道で検索すれば良いんじゃないの?
なにも、www の address を記述する訳じゃないんだから。
例えば、「日本の統計→埼玉県→蕨市(どこだよ ^^;)」で十分だと思う。「日本の
統計」と「埼玉県」とを取り持つ実身があっても、それは、検索側の仕事でしょう。
僕らの知った事じゃない。中には、いろいろな道があって、期待しない物も得られる
だろうけど、適当な中継地点を通ってゆけば、かなり、候補は絞られると思う。
# 道の途中の実身の最大数(検索レベル)を指定できるようにすれば、
# 検索時間と完全性の trade-off はとれると思うし。
# その「最大数」って、ようは、あんまり中継地点が
# 離れないようにするのにも有効でしょ?
リンクを張り替えた例を云うなら、欲しい情報が存在する限り以前検索に成功した道
は期待できると思う。別の方法で言うなら、どんな風にリンクを張り替えても、Has
htabe.size() の size()という実身は、Hashtable という実身から、何かしらの道を
通って参照されているという事ね。それが、size() の本質だから。
|#リンクが固定されているのがわかっているなら、「実身名で構成される道で
|#検索」というのは便利だと私も思います。
|
|そりゃあ、絶対に切り放したくないときはリンクを直接張ります。そのとき名
|前に使えるのは、実身名と仮身名。この二つが大きく違うのは、実身名は実身
|作成者が決められるけれども仮身名は実身作成者が決められないことです。
|「実身名だけでは実身を特定できないくらい実身名を短くする」ということは、
|「実身作成者には実身を特定できる名前をつける権利を与えない」ということ
|です。
リンクを直接貼ることは特に想定していません。ということで、
|「実身作成者には実身を特定できる名前をつける権利を与えない」ということ
にはなりません。適当な中継実身を指定して実身を特定すればよいだけです。実身制
作者にはその実身を参照する環境(文脈)を、最低一つは作る権利があるでしょうか
ら、それでその周りのネットワークから実身は自然に特定されます。
# 基本的にリンクのない実身は存在し得ない。
|実身同士で自由にリンクを張れる「実身/仮身モデル」というのは、一つの実
|身から見れば他の実身は直接リンクを張っているか張っていないかの二つしか
|ない、意外に平板な空間です。すると、実身単独で他の実身と区別できる名前
|を持たなければなりません。ある実身から他の全ての実身に対してリンクが張
|られる可能性があるからです(実装上の制限を無視した思考実験)。そして、
|実身を特定するに充分な名前をつけられるのが仮身名だけとすると、実身作成
|者は特定するに充分な名前を実身につけることが出来ません。
ひとつは、リンクを一度バラバラにとって考えている点。もう一つは、リンクを実身
を識別する情報として考えていない点が、そう言った問題を生むと思います。
|ディレクトリツリーの場合は、実は実身/仮身モデルより簡単です。ルートディ
|レクトリからディレクトリ名を列挙していけばいいのですから。フルパスがファ
|イルを一意に定める名前になります。実身/仮身モデルでは、私はネットワー
|クをしょっちゅう組み替えるので、実身名だけで実身を一意に定められるよう
|にして欲しいんです。少なくともディレクトリツリーのフルパスが全部入るく
|らいでなければ駄目です。
ひとつは、ツリー型のこだわってネットワーク型の利点を生かしていない点。ネット
ワークでは、目的地(実身)への道は一つではありません。よって、目的地にたどり
付く一意の道など期待できません。別の言葉で言うなら、実身名にリンクの情報を含
めるなら、いくらでも等価な実身名が存在すると云う事です。それは、道のたどり方
に依るのですから。そして、せっかく道の取り方が自由なのだから、検索時も、その
自由さを使おうと云うのが僕の主張です。
# そして、その advantage を最大限に生かすのは比較的短い実身名ね。
|#でも、それなら100文字は結構入るんですよね。
|#実際にはそんなに長くなくても構わないかも。
# いや、100文字はいることがあるかもよ。^^;
|> ぼくの云った「抽象度」は、たとえば、method: size() は、Vector のなかでも
Ha
|> shtable のなかでも、やっぱり size() で、それが文脈の中で意味を持つかどう
かは
|> 気にするなと。そんなことを気にする代わりに「文脈の通じるところで使え」と
。も
|> しくは、「文脈の通じるように、追加情報を含ませて使えばよい」とか。そう言
った
|> ことです。実際、どういう不都合があるでしょうか?
|
|size() という実身名をつけた人とは別の人が実身「size()」を引用する場合。
|Hashtable の size() の中にバグを見つけたことを他人に伝えたい場合。
|引用した人が充分に説明すればよいのでしょうが、実身を作った人が充分説明
|できるくらい長い名前をつければそもそも問題が起きなかったはず。
|引用する人が苦労するだけです。
良いんじゃないですか。別の人が引用しても。引用する人の責任でしょう。引用する
人が、これは、Hashtable の size() だと、意味させればよい。というか、意味でき
るようなところじゃなきゃ、普通、引用しないと思いますが。
良いんじゃないですか。「Hashtable の中の(→道)size(→実身名)」って云えば
。ただ、Hashtable がお互いに共有されている必要があるでしょうが。
# 究極的には、仮身送受信で一発でしょうが。未来の話。^^;
引用する人が苦労するというのはよく分かりませんが。
|> 検索の時は、さっきも云ったように、「Hashtable が指す size() を探してこい
」と
|> 云えばいいじゃないですか。それが幾つもあるというのなら、きっと、それらは
、そ
|> の条件の中では「どれでも良い」もののはずです。size() というのは本質であり
、
|> キーではありません。それは何処に置かれても同じです。ただ、文脈が意味を持
つか
|> どうかは、別問題だと思いませんか?
|
|ここでもう一つ異を唱えると、実身名が本質をあらわしているかどうかは保証
|できません。特定するのに充分かどうかも保証できません。
|「Hashtable の」 size() だ、と注意書きを付けないと実態を表現できない
|名前が、本質と呼べるでしょうか。
注意書きではありません。そういう、リンクの上にあること自体が本質の一部を表し
ていると云っているのです。特定するのには、「不完全な道での pattern match」で
大丈夫でしょう。
|だから、ある検索条件に適合したものが幾つもあったとしても、それは「どれ
|でも良い」とは言い切れません。
それはそうですが、少なくとも、指定された道を通ってきた実身と云う事は言えるは
ずです。だから、そんなに検索結果は期待した物と遠くないはずでは?
まあ、道の開始点に依存しますが。
道による検索の良いところは、実身の特定を好きなレベルの一般性から始められるこ
とです。小さい一つの閉じた実身仮身ネットワークのパッケージのなかで道を特定し
てやれば候補も少なく、道も短い物で十分でしょう。相手のコンピュータにもわたる
ような、大きな実身仮身ネットワークの中から検索するのなら、道はより長く、多く
の中継実身名を含まなければいけないと思います。しかし、重要なことは、どう云っ
たレベルで調べても同じ操作方法である(透明)という事です。
検索の開始点になる実身を(仮身を選択するか何かで)指定し、そこから始まる実身
仮身ネットワークについて、目的地までの道を記述してやる。しかも、大ざっぱに(
欲しい情報をそのまんまに)。で、最終目的地まで到達が出来れば、検索成功と。
# ひとつ面白いのは、通常の(たぶん長い)実身名による実身検索は
# 「道の長さ1(目的地のみ)」の検索だという事です。
# まあリンクの深さが足りない(一階層)分、実身名を長くして
# 大量の実身から欲しい物を区別しなくちゃいけなくなるのは
# 分かりますがね。
# ちなみに、一階層というのは、リンク一つ分ではないと言うことに
# 注意。念のため。最初に見つけたら「そこまで」という事ね。
# それ以上深くは行かない。> 一階層
|正しく検索できないのは、検索条件を設定した人の責任かも知れません。
|役に立たない実身名を付けた人の責任かも知れません。
|でも、短い実身名しか付けられないことが原因ならシステム設計者の責任です。
ことが、原因ならねぇ。
あと検索方法が原因でも、その検索方法を提供したシステム設計の責任ですね。
ネットワーク上の情報検索って、どんな物が思いつきます?
|> 複雑な概念の実身は、複雑な実身仮身ネットワークの中に置けば、それで、話は
済む
|> んじゃない?
|> なにも、名前まで長くする必要はない(名前でその概念全てを説明する必要はな
い)
|> 。
|> 本当に、リンクでは説明できない部分(←これが本当の本質)を実身名にすれば
いい
|> と思う。
|
|その、 Aki さんが頼りにしているリンクが、結構変わりうるものなんです。
|リンクを変えたいときもあるんです。
上述。link does not matter.
|> 実身の内容が実身名を定義するというのは、(実身)内から外へのリンクで自分を
定義
|> しているという事ですね。一方、林さんの云う「長くなる名前」の実身は、外か
ら内
|> へのリンクが複雑な場合ではないでしょうか?
|
|ここは良くわかっていないのですが、
|リンクの向きは関係ないと思っています。
検索とは直接関係ありませんが、実身内容が実身名を定義するというのは、たぶん、
多くの外へのリンクを持つ実身だろうと。なぜなら、他との多くのリンクで自分の立
場をはっきりさせるのが、複雑な概念を記述するのには良いでしょうから。一方、長
くなる名前を持つ実身は、色々なところから参照されるが故に自分の身元をハッキリ
させなくてはいけないと云う話でしたから、実身の外からその実身そのものへの多く
のリンクが貼られているのだろうと。多くから参照されているという事ね。
|> | 実身の本質に関わる情報を他の実身にばらまいてどうするの?
|>
|> 確かに、ばらまいているのは本質かも知れませんが、それは、上記なら Hashtab
le
|> から参照を受けていることで、その本質の一部分が表現されていると考えます。
|
|最後に。
|実身/仮身モデルである実身を参照する仮身を全て拾いあげるのは
|非常に困難ですが。
|#全ての参照を拾いあげないと、
|#どこに本質が隠れているかわからないじゃないですか。
だらか。
本質が隠れているんじゃなくて、全ての実身に通じる道が本質の一部であり、全ての
リンクと実身名の組み合わせこそ、その実身の本質なのですよ。僕の見方ではね。
そして、その本質について「述べている」のが実身内容と。念のため。
# するとね。実身の本質が参照を受けることで変わるって事?
# その通りだと思います。
# 本質はいつも一定な訳ではないのでは?
--------------------------------------------------------------
Hideaki Suzuki (SO in Bridgewater State College)
e-mail H1Suzuki@Bridgew.edu
Home Page http://www.yashi.com/h1suzuki (Under Constr.)
Nifty-Serve KGH06253