
はてなキーワード:木構造とは
僕が三週間かけて導出したp進弦理論の局所ゼータ関数上の正則化項を書き直せると思ったら大間違いだ。
あの計算は、ウィッテンでも手を出さない領域、すなわち、p進版のAdS/CFT対応をde Sitter境界条件下で非可換ゲージ群に拡張する試みだ。
通常の複素解析上では発散する項を、p進体のウルトラメトリック構造を利用して有限化することで、非摂動的な重力の相関関数を再構成できる。
だが、問題はそこにある。p進距離は三角不等式が逆転するので、局所場の概念が定義できない。
これはまるで、隣人がパンケーキを焼くときに「ちょっと目分量で」と言うのと同じくらい非論理的だ。
朝食はいつものように、オートミール42グラム、蜂蜜5グラム、カフェイン摂取量は80mgに厳密に制御した。
ルームメイトはまたしても僕のシリアルを間違って開けたが、僕はすでにこのような異常事態に備えて、バックアップとして同一銘柄を3箱ストックしてある。
僕が秩序を愛するのは強迫ではなく、宇宙の熱的死に抗うための小さな局所秩序の創出だ。
今日の研究は、T^4コンパクト化されたIIb型超弦理論のD3ブレーン上における非可換ゲージ理論の自己双対性。
通常、B場を導入することで非可換パラメータθ^{μν}が生成されるが、僕の考察では、θ^{μν}をp進値に拡張することで、通常のMoyal積が局所的整数体上で閉じない代数構造を持つ。
これが意味するのは、物理的空間が離散的p進層として現れるということ。言い換えれば、空間そのものが「整数の木構造」になっている。
ルームメイトが「木構造の空間って何?」と聞いたが、僕は優しく、「君の社交スキルのネットワークよりは連結性が高い」とだけ答えておいた。
午後は友人たちとゲームをした。タイトルはエルデンリング。だが彼らのプレイスタイルには忍耐が欠けている。
僕がビルドを純粋知力型にしてカーリア王笏を強化している間に、彼らは無計画に突っ込んではボスに殺されていた。
統計的に見ても、平均的なプレイヤーの死亡原因の82%は戦略ミスに起因する。
僕は「量子重力のパス積分と違って、こっちはセーブポイントがあるんだ」と指摘したが、誰も笑わなかった。理解力が足りないのは罪だ。
夜、コミックを再読した。ウォッチメンのドクター・マンハッタンの描写は、量子決定論の詩的表現として未だに比類ない。
あの青い身体は単なる放射線の象徴ではなく、観測者のない宇宙の比喩だ。
僕が大学時代に初めて読んだとき、「ああ、これは弦の振動が意識を持った姿だ」と直感した。
今日もそれを確かめるため、ドクター・マンハッタンが時間を非線形に認識するシーンを分析し、p進時空における時間関数t→|t|_pの不連続性との対応を試みた。
結果、彼の非時間的意識は、実はp進的時間座標における不連続点の集積と一致する。つまり、マンハッタンはp進宇宙に生きているのだ。
寝る前に歯を磨く時間は、時計が23:00を指してから90秒以内に開始しなければならない。これは単なる習慣ではなく、睡眠周期を最大化するための生理学的最適化だ。
音楽は再生しない。音波は心拍数を乱すからだ。ただし、ゼルダの伝説 時のオカリナのエンディングテーマだけは例外だ。あれは時間対称性を感じさせる旋律だから。
僕の一日は、非可換幾何と行動最適化の連続体でできている。宇宙のエントロピーが増大しても、僕の部屋の秩序は一定だ。つまり、少なくともこの半径3メートルの範囲では、熱的死はまだ先の話だ。
散歩をしていたら、なぜか法的訴訟に関して会見中の人たちに絡まれた
その人たちが「お前が犯人か?」と私に聞いてきた
「違います」というと、「じゃあなんでお前のような奴がこんなところをこんな時間に歩いているんだ」と言ってきた
私は「私は統合失調症なので、病状のリハビリのために散歩しているだけなのです」と答える
そして時効の時刻になると、なぜか私はその人たちと一緒に並んで泣くように言われた
さて、帰るか、と歩こうとすると、来た道に外国人たちがいた
なぜか道がぐわぁっと盛り上がり、人が笑いながら飲み込まれていった
「さて、僕たちの意義はなんでしょう?」と道の波にさらわれた人たちが言った
その途端、木構造の洞窟のような視覚イメージが出てきて、木の下終端は次の人生を意味していた
いまさらすぎるけどいまさらいまさらなスープストックの雑記事が上がってきたのでなんか考えたこととか書き残そうかと思う。
絵描きの世間ではパトロンサイトからAI作品が排除されて大勝利を唱和しているかと思う。
増田は、うーむ、(デジタル)手書き絵描きの溜飲は下がったけど勝てていない、遅滞成功ぐらいかなと予想する。
今回、(デジタル)手書き絵描き側に阿ったような内容になったのは、ひとえに(デジタル)手書き絵描きがお気持ち駆動する厄介な人間であることと、既存顧客であったから。
絵描きがお気持ち駆動することは今更言うまでもないが、トレパクや、絵はグレーセーフでグッズはぶったたくとかガイドラインや二次創作のありかた、検索避け、学級会などなど、感情と(日本の法律で有罪無罪問わず)私刑が先行する人類全体が持つ宿痾をとくに煮詰めたような人種が横行する界隈だ。
そんな(デジタル)手書き絵描きが自分の感情を害するAIを敵視するのは当然で、もちろんお気持ちクレームを多発する。した。
ハッキリ言って商売相手的にはクズの部類に入るが、それでも掴んだ、囲んだ顧客というのは大事だ。未だにみんなTwitterをしていることからもそれはわかるだろう。
だからギャーギャーうるさいものの大事な金ヅルな猿たち側に寄り添ったものの、本音はAI作品を取り扱いたかったと思う。
プラットフォーマーから見て(デジタル)手書き絵描きの反応はある意味予想通りだったが、それでも絵描きたちが容認する可能性もあっただろう。なぜならいわゆるAI絵師は絵描きの進化ツリー(木構造でもないし相互移行できるけど)に(今しばらくは)連なるものだからだ。AIは部分的にも全体的にも絵描きのツールになりえる可能性があるのは明白だろうし、AI絵の今後の発展は確実で不可逆であることもただの一般人でも感じるところだ。絵描きはいつかは向き合わなければならない問題。だからプラットフォーマーは即座に禁止せずしばらく様子見した。しかし結果、総体としての絵描きの感情、お気持ちだけの反対に落胆し、禁止に舵を切った形だ。もちろん審査の負荷や創作性などの表向き(かつ多少なりの事実)の理由もお出ししながら。
プラットフォームを分散させるのは管理が面倒だし人の分散もよくない。が、こうなったからにはpixivやエイシスは今後、AI作品を扱える別のサービスを開始するだろう。AIによる創作は確実に伸びていく分野だからだ。できれば既存サービスに組み込みたかったが、それこそ先行者の悲しみ・デメリット。顧客の属性が厄介に固まったばかりにそれはあきらめるしかなかった。
そして、そんなやっかいな既存顧客が居ない今後のfanboxやskebのような後発の類似サービスはほとんどがAI作品を許容する形でスタートするだろうし、AI禁止を謳う類似の後発サービスが現れたとしてもfanboxやskebなみには成長できないだろう。
AI禁止+AI専門 VSAI許可 のどちらが中期的に勝つかまではわからないが…。
あくまで今回の足並みをそろえたような方針は旧世代の、乗り換えや手札にできず取り残された、しかし金ヅルの老人たち。そんな(デジタル)手書き絵描きの無聊を晴らすためのものだった。日本で老人のための政策を打った場合の若年層の反応を想像してもらいたい。…その政策は勝利なのだろうか。勝利なのだろう。老人には。
改めて書くが、今回の(デジタル)手書き絵描きの大勝利は彼らに理があったからではなく、ただただあらゆるサービスは顧客を定着させることが大儀であり、かつデジタル空間では物理空間よりは比較的サービスの分割がしやすいからだった。
理ではなく金銭的な損得をもって鳴き声がうるさいが金を生むガチョウと今後プラチナを生む可能性があるアヒルの子を同じ柵に入れることをやめただけ。
経営者や業態、進化ツリーの進み具合・将来性などを勘案すれば、うるさい声を無視して進むべきと予測した道に突き進む場合もある。スープストックの場合はその例だったのだろう。お気持ちでギャオンと騒ぐ先細っていく独身女性の声に揺るがず、データと検証から出た客のライフスタイルの変化や世代をまたいだブランドイメージ、立地・戦略的に別サービスに分離できない(切り捨てるなら独身女性側だろうが)飲食という理由などなどをもって離乳食無料を決定したのだろうし、その反応にたいしての声明リリースをおこなったのだろう。
そして結局(デジタル)手書き絵描きも独身女性も哀れな人間であることは変わらない。
(デジタル)手書き絵描きが今、良い気分ならばそれでもいいだろう。将来結構な数の(デジタル)手書き絵描きがAIに流れるのも笑わない。(デジタル)手書き絵描きでなくてもAI絵師でも気質は別に変わらないしね。AI絵師が優れてるとも思わず絵描き全体がやっかいな人種だと思っているので。次の技術で同じお気持ちの絶叫が響くのも確実さね。
そう、増田は今回の騒動で絵描きがどういう人種であるかということを再確認させてもらった。程度しか得るものがなかった。
あるいは広がりゆくAIという腐海にあらがい風の谷という猫の額で生きる旧人類(新人類)の悲劇を観賞している気分にもなれるかもしれない。どっちかっつーと手作り宗教の土鬼か。
MLMユーザー諭そうとしたら何かよく分かんない単語並べられて逆に論破されたそこのアナタ!今から言う報酬プランを覚えるだけでギッタギタのボッコボコに出来るので覚えましょう!
まずその前に基本情報。日本の人口は1.2億人。15歳以上は1億人。
要は差益が報酬になるプランです。MLMは大体ランクが定められておりランク毎に商品価格が違ったりします。低ランクほど高価格で高ランクほど低価格。で自分の下に居る会員が商品を買ったときに自分のランクの価格と買った会員の価格の差額がそのまま報酬になるパターンです。計算しやすい反面自分が絶えず売り込まない限りは報酬が途絶える歩合制の営業みたいなもんなのでガツガツ売り込みにくるMLMの人はこの報酬プランかもしれません。店舗で買ってアマゾンのマケプレに高額で出品している転売屋みたいなものだと思ってください。
いつまでも営業なんてしてられない!って人にはこのプラン。このプランでやるべきはたった二人を自分の下に付けるだけ!あとはその二人の尻を叩くだけ。このプランは下二人の売上の内、低い方の売上を基に報酬を計算されるぞ。ちなみに二人の売上にはその下の会員の分も含まれる。バイナリーって単語でプログラマとかはピンとくるかもしれないが二分木構造のツリーが出来上がるのだ。片方だけ深くなっても報酬は増えないので上の会員は下の2名両方に頑張れ言う必要があるぞ。でもある程度育ったら何もしなくても金入ってくる夢のプランだ(実際は受取り条件とかあるが)
営業したくない。下の二人に絶えず叱咤激励もしたくない!って人にはユニレベル。これは何かと言うと毎月自分の下の会員が買った売上の数%が報酬になるプラン。ランクが低いと自分の下の会員しか対象にならないけど、ランクが上がれば自分の下の会員が紹介した会員も対象になり、もっとランクがあがれば更に下の会員も対象になる。バイナリープランみたいに全体の成長を考える必要ないのでとにかく自分の下に人を勧誘してしまえば良い。あとはその人達が頑張れば勝手にお金が入ってきます。極端なツリー構造になっても余り影響がなく会員が抜けても大して問題は無いですが継続的な購入は不可欠なので買え買えうるさい人が多いです(他のプランでもうるさいけど)
以上3つのプランを覚えておけばMLM通ぶれるぞ。なんだって?バイナリープランだと27段で日本人口超える?ユニレベルだともっと早くに限界くる?そんなのMLMがマルチまがいとかねずみ講って言われてた頃から知っとるわ。だからMLM企業は複数の報酬プランを用意してその辺のツッコミを躱すし禁止言うても実際は大多数の会員はMLMの複数掛け持ちをしているよ。だから日本人口とか意味ない。1人がMLM10個に属すれば人口10倍!死んだ爺ちゃんも飼ってるペットも今日から会員。在庫は全部家の納屋。MLMは先行逃げ切りが鉄則。今更老舗に参加したってなんも残ってないし出来るのは上の会員に媚び使って引退時に引き継がせてもらうとかだけよ。あと海外でも出来るとか移民が増えて1億じゃなく80億もありますとか言うMLM企業もあるけど言葉通じない相手に上記プランの営業活動出来る?別に世界のどこでも盛んでも無いからなMLM。
取り上げた技術は、本格的な開発でも役に立つもので、最も学習コストが低いものを選んだ。
重要度が低いものは載せていない。たとえばHTMLとCSSなんてググりながら書けば全く問題ない。Bootstrapなどのフレームワークも全くやる必要はなく、仮に就職先で使っていたら覚えればいい。
逆に言えば以下に挙げる技術は、そもそも概念自体がプログラミングにとって普遍的なものであり、(基礎的な部分を)調べながら使うようではエンジニア失格ということ。
基本的に現在では、バックエンド・フロントエンド・運用保守全てができないエンジニアに価値は無い。
以下に挙げた技術(①⑤⑥は他の言語やフレームワークで代替可能)が身に付いていなければまともな企業に就職することは難しい(もちろん、下らない業務システムを下請けで作ってる底辺企業には入れるだろうが)。
経験者でも、これらができない/わからないのは、相当恥ずかしいことだと思った方がいい。
特定の言語やフレームワークの書き方を知っていること自体に意味は無い。
重要なのは、他の言語やフレームワークにも共通する基礎を理解すること・保守性やセキュリティなどの品質を高める使い方ができること。
この2つは習得が容易だし、今覚えておけば向こう10年腐ることはないだろう。
基本的な構文や、よく使う標準ライブラリは勿論、高階関数・クラス・非同期処理等の発展的な機能も知り尽くしていなければならない。
言語のみではなく、パッケージ管理、単体テスト、タスクランナー等の周辺ツールの使い方も熟知している必要がある。
また、「リーダブルコード」や「コードコンプリート」に書いてあるような良い作法も身に付ける必要がある。
Gitを使えないのはプログラマーとして論外。細かい機能は調べればよいが、
多くの場合、本番環境やテスト環境はLinuxサーバーであるから、以下のような基本的な概念と使い方を知っておく必要がある。
環境構築、CI、デプロイなどは、現在コンテナを使って行うことが当たり前になっている。
これも細かいことをすべて覚える必要はないが、Dockerfileの書き方や、docker-composeの使い方などは知っておかなければいけない。
Flaskは、数あるWebフレームワークの中で最も簡単。本当に呆れるほど簡単で、Pythonさえ書ければすぐにアプリを作れる。
フレームワークを覚えること自体が重要なのではなく、Web開発の基本を習得することが重要。HTTP、ルーティング、データベース、SQL、認証、セッション管理などは当然すべて覚える。
データベースは、就職したらMySQLやPostgreSQLなどを使うことが多いかも知れないが、今はPythonの標準ライブラリにあるSQLite3を使えば十分。
作ったアプリを公開したければ、「Heroku」などにデプロイするのが良いだろう。
ブコメで指摘をいただきました。HerokuではSQLite3は使用できないようです。公式のドキュメントに従ってPostgreSQLを使用して下さい。
SQLite3はファイルにデータを持てる簡易DBなんだけど、Herokuにデプロイしてもストレージ的な使い方はできないから、結局PostgreSQLを使う必要あるから注意してね。(DAOを丸ごと書き換える羽目になる)
参考:https://devcenter.heroku.com/ja/articles/sqlite3
今の時代、フロントエンドをフレームワークなしで作るのはただのバカ。
2021年現在、実用的なフロントエンドのフレームワークはReactとVueしかない。Vueの方が少し簡単なのでこちらを選んだが、JavaScriptをしっかり理解しているなら大差は無い。
フロントエンドには膨大なパッケージ群があって全部覚えるのは大変だが、とりあえずまずはVueを完璧に使えればいい。Webpackの設定などは既存のものを流用すればいい。
アルゴリズムは全てのコンピュータ技術の基礎であり、絶対に知っていなければならない。
高速フーリエ変換のような高度な数学は必要ないが、クイックソートや木構造のような基本的なアルゴリズムは当然、その性質を知っていなければならない。
それらは言語の組み込み関数や標準ライブラリでも使われており、理解していなければ、それらの機能を正しく使うことができない。
また、プログラムを読み書きする際には、そのコードの計算量を見積もれなければならない。
セキュリティは言うまでもなく学ばなければならない。
有名な脆弱性や攻撃手法(XSS・SQLインジェクション・CSRFなど)が何だか理解していて、その対策を実装できなければならない。
各種暗号化技術や署名などについても、実装の詳細は知らなくていいが、共通鍵暗号や公開鍵暗号などの特性は理解する必要がある。
認証やパスワード管理などを実装する際は、当然ベストプラクティスに従わなければならない。
Permalink |記事への反応(37) | 07:52
プログラミングで食っていくためには、他の職業と同様に様々なスキルが必要になる。単に技術的な面だけに絞っても、以下のようなことが出来なければ話にならない。
プログラミングスクールなどを卒業したゴミには、(1)〜(2)もしくは(1)だけを以て「自分はプログラミングが出来る」と勘違いしている奴が多い印象がある。
本当に嫌になる。
見よう見まねでコード書いてるだけのゴミはプログラマ名乗らないでくれ。
他にもいろいろ書きたいこと(ネットワーク、データベース、セキュリティ、OS、ハードウェア等)はあるが、ソースコードが書けるという点だけにフォーカスすれば、この程度は最低限できないと困る。
上に書いたようなことが完璧にできると断言できない奴が、プログラマを名乗るのがいかに非常識で恥ずかしいことなのか、よく理解して欲しい。
第一章『関係を記述する方法としての「基準」とその基準からの「指定」』
このベーシックイングリッシュの分析においては、「基準」とその基準からの「指定」という概念が、フローチャートの他に重要なものとして出てくる。なぜか。
それは自然言語においては下の図のような統語法則が使われるからで、そのままでは単語AとBの関係を記述する際に、図の通りで、集合論的にどちらかがどちらかを直接的あるいは間接的に含むという風にしか記述できない。(木構造は、ただ何が何を含んでいるかを表しているという意味で、集合論を線で表したものでしか無い)
https://ja.wikipedia.org/wiki/%E4%B8%BB%E8%A6%81%E9%83%A8#/media/File:Kafka_English_tree.jpg
※この英語の図では動詞が主語を含んでいて、また「monstrous verminousbug」が「a」を含んでいると解釈されているが、事実として『主語が動詞を含んでいて、またaがbugを含んでいる』と解釈するのも意味的には可能な文で、私は後者を採用している。「monstrous verminousbug」は一語として認識されていると考えている。
https://ja.wikipedia.org/wiki/%E4%B8%BB%E8%A6%81%E9%83%A8#/media/File:Kafkaj.jpg
※wikipedia「主要部」から引用。https://ja.wikipedia.org/wiki/%E4%B8%BB%E8%A6%81%E9%83%A8#%E4%B8%BB%E8%A6%81%E9%83%A8%E5%85%88%E5%B0%8E%E5%9E%8B%E8%A8%80%E8%AA%9E%E3%81%A8%E4%B8%BB%E8%A6%81%E9%83%A8%E7%B5%82%E7%AB%AF%E5%9E%8B%E8%A8%80%E8%AA%9E
そこで必要になるのが「基準」とその基準からの「指定」で、ある単語を基準に他の単語を指定するということによって、二つの単語の関係が様々に記述できるようになる。
例えばAとBが隣り合っていることを記述したいとする。記述する方法を自由に設定できるならば、「A B」と記述すれば良い。これなら「右」という単語も「左」という単語も必要無い。
ただ自然言語においては、これではAがBを含んでいるということになってしまう(あるいはBがAを含んでいるということになってしまう)。そこで、Aを基準にすればBが右にあり、Bを基準にすればAが左にある、というような記述方法が必要になる。
(ちなみに「right」や「left」には、前後の他に上下も必要になる。前後と上下が定まって、右や左が生まれる。上下は重力によって生まれていて、重力は自然現象なので、この分析では「right」と「left」は考察の対象外とし、付録の『本文に掲載されていない単語一覧』に掲載している。)
朝日新聞の記事を鵜呑みにして検証が表立ってほとんどなされず、毎日新聞他の記事は黙殺されたままに見える。挙げ句は大元が「改ざん認める」と言う。決済された文書を、何をどう書き換えたのかを明示して欲しい。
というか、枝葉のところばかり見ていないで、全体の整合性を意識して欲しい。万が一、決裁者全員が結託して書き換えたのだとしても、大きな組織の中の末端が起こしたトラブルなぞ最上位の人が知るわけないじゃない。毎回末端まで把握する必要があるのなら、アホほどコストを払う必要があるし、木構造の組織にする意味もない、実に非現実的な世界が待っている。
全体の舵取りが実におかしい。
ともかく、国運営が自国のみならず周辺国交えて微妙な立場(北朝鮮だけでなく、中国の圧力や、暴れ米国の手綱、国際的イベントである自国オリンピック開催を控えて(韓●は自分のところのが概ね終わったら反日をモリモリ出してきているし)、また国内の生活水準の底上げが始まったばかり)なのに、足を引っ張っている人たちは何をしたいのか。
軍という単語にアレルギーを持つのは仕方ないにしても、平時の備えがいざというときに役に立つのは天災に対してだけでは無いことを認識して欲しい。
国際的イベントで恥をさらすということは、それだけ国力の低下を海外にさらすことにもなる。
景気(「気」だけあって心持ち次第)回復についても、稼いだ人たちを引きずり落とすつもり満々な発言をしている人たちがいる。どう考えてもアベノミクスを打ち出した当時は、金を持っている人たちを太らせて引っ張ってもらうトリクルダウン方式が効果的だっただろうに。行き渡りにくいという問題については改善の余地が大ありだろうけど、皆で貧乏になる案よりははるかにマシだったろう。
「国民は納得していない」という無敵ワード(前に進まないし、そもそもここでの「国民」って具体的にだれ?)だけで足を引っ張り続ける野党さん左翼さんはどう責任を取ってくれるのだろう。こちらこそ納得してないわい。
一行目と国運営についてだけをどこかで言いたくて勢いのまま書いてしまった。反省はしていないけど、自分の生きる世の中の動きが本当に心配だ。
2014/1/1 全文が正しく表示されていないことに気づいたため修正した。遅ればせながら指摘に感謝したい。
才能のあるワナビは己の思うがまま書き連ねればそれで問題ない。一次落ちなど経験することも無く、一発で新人賞を取ったり、取れなくても編集者が連絡してきたりして遅かれ早かれデビューに至り、そしてワナビに向けたラノベ創作論を書いたりする。私はこうやってプロとして本を書いてます、どうぞ参考にしてください。
これが意味するところは、才能のあるワナビは他人の書いた創作技術本を読んで必死にトレースしたりなどしなかった、という非情な現実である。ノウハウ本を欲するのはいつだって才能のないワナビで、そして才能の無いワナビは今日も選考落ちの通知を見て顔を覆うのである。○○先生の本に書いてある通りにやったのにどうしてダメなんだろうか。何がダメなんだろうか。
スティーブン・キングがプロットなど不要だと言う一方でディーン・クーンツはプロットの無い作品など糞だと断じる。大塚がまずキャラから作れと言う一方で冲方は世界から作らないようでは話にならないと言う。
ラノベに限らず小説創作技術本はそれぞれの主張がまるでバラバラであり、まとまりがない。もっともこの手の本は意識の高いサラリーマンがこよなく愛する成功体験本と同じカテゴリである。ゆえに真面目に考える必要は無いとするのも一理あるだろう。
実のところ彼らは単に表現が違うだけで、最終的に同じことを述べてるのではないだろうか。
手順が違うだけで、結局同じことをしているのではないだろうか。
もしそうだとすれば重要なのは手順ではなく最終的にどういう状態であるかにあり、その状態がいずれの作家も共通しているのであれば、それこそが欠かすべきではない要素ではないのか。
大沢は「技術は教えられるが、才能は教えられない」という。だがヒックスは「モノを書くことでの才能の問題は、相当に過大評価されて」いるとして、「それはやっていくことで獲得」できるものだと言う。
Hard workbeats talent when talent doesn't work hard.
Tim Notke
本稿は個別の手順というより、最終的にどういった状態を目指しているのか、という観点でラノベ創作技術本の各説を整理し、俯瞰する。筆者はワナビではなく、単なる興味本位でこの整理を行ったに過ぎない。しかし才能が無いことを自覚し、それでもなお努力によってこれを覆そうというワナビにとって、本稿がより効率的な努力を実現する上での一助となれば幸いである。
本稿ではラノベを「ラノベの主要レーベルの新人賞に向けてワナビが執筆する、新人賞を取りうる内容の小説」と定義し、本質的なラノベの定義へは踏み込まない。このことからカテゴリエラーをめぐる問題はこのラノベの本質的定義の限界を探ることと同義であり、本稿では割愛する。
本稿執筆にあたり参考とした文献を下記に記載する。
まだ参照すべき文献は多くあるが、ひとまず本稿執筆にあたっては上記で一区切りとした。
ラノベ作家は商業主義であらねばならない、と五代/榊は明言し、飯田はキャッシュフローを生む作品こそが素晴らしい作品なのだという。実際、ラノベ新人賞は商業的に売れるラノベの発掘を目的としているのであって、ワナビの承認欲求を満たすためにあるわけではない。
新城はラノベの読者の多くは男子中高生であり、すなわち「毎月のお小遣いが限られている学生」であるとする。飯田はさらにラノベの読者はアニメや漫画、ニコニコ動画を好むオタクであるとする。そしてラノベは彼らの限られた小遣いの使い道として選択される商品でなければならない。榎本も西谷も水島も、いずれも同様に読者が誰かを意識しろと主張する。
ところでワナビが書いた新人賞用のラノベの読者は、中高生ではない。
新人賞の下読みの多くは大学生のバイトであり(あるいは主婦や新人編集者)、選考するのはプロの作家であり、プロの編集者である。いずれにせよ選考過程に中高生は存在しない。
読者が誰かを考えるべき、という指摘はもっともだが、プロの作家とワナビでは立場が違う。ワナビはラノベレーベルで勤めるサラリーマン編集者が想像する『中高生』にウケるラノベを書かなければならない。榎本は現実の中高生とふれあい彼らの考え方を理解しろと言うが、本当にそんなことをすれば事案待ったなしのワナビは少なからずいるだろうし、現実の中高生には圧倒的にウケるが20代30代の編集者には全く理解できないものがあったとすれば、それは間違いなく一次落ちである。
行頭は一段空けましょう、といった小説執筆上のお作法ができていなかったからといって間違いなく多くの中高生は気にしない。しかしプロは気にする。そうした基礎的作法の欠如は中高生云々の前にまず彼らに不快感を生じさせる、という点を理解しておく必要があるだろう(応募に際してはあらすじを付すようにという指示に対して小説の煽り文や序文を付けるといった無理解なども根は同じだろう)。
最終的なラノベに至るまでの執筆上の段階や要素は論者の数だけ存在する。例えばキングによるアイディア、原稿の2段階、クーンツを始めとするアイディア、プロット、原稿の3段階、冲方による能書き、種書き、骨書き、筋書き、肉書き、皮書きの6段階などがある。
本稿では「アイディア」「プロット」「原稿」の3段階を用いて各説を俯瞰する。この各段階は「アイディア」が最初であるという点を除けば、随時行き来することがいずれの説においても許容される。一度「プロット」に移行したら「アイディア」へ戻ってはならないなどと主張されることはないし、「原稿」の完成に至ってから再度「アイディア」の段階に戻る作家も存在する。
一方で、これらの「段階」はそれぞれ独立しているわけではないことに注意する必要がある。いずれもその前段階の上に構築されている。つまり、あるワナビが「プロット」に問題があると認識したとしても、その前段階に問題がある可能性は否定できない。これは感想や選評においても言えることであり、問題点の指摘がまったく的外れでなかったとしても、その問題を引き起こしているそもそもの原因は何なのか、という点を突き詰めなければ、根本的な問題はいつまでたっても解消されないままだと言えよう。
以下、それぞれの段階についての各論に入る。
「アイディア」とは筒井がいうところの「妄想」であり、単語、キーワード、フレーズ、断片的な会話や場面など様々なものであり、その創作で用いるかもしれないし、用いないかもしれないネタである。
冲方は「アイディア」を3段階に分けており、まず主題を考え(これを能書きと称する)、次にそこから様々な雑多なアイディアを連想し(種書き)、今回はこのあたりのアイディアを使おう、と決めて整理する(骨書き)という。
しかし実際には冲方自身、これらを行きつ戻りつして執筆を進めていくとしており、「骨書き」の段階からは後戻りしないと固定しているわけでもないことから、本稿では参考として紹介するに留める。
この「アイディア」の種類についてもいくつかの主張があり、例えば冲方は主題、世界、人物、物語、文体の5種であるとするし、榎本はキャラクター、世界設定、ストーリーの3種としている。分類それ自体が意味を持つものではないが、それぞれが独自の用語を用いて自説を主張している状態では整理のしようもないため、本稿では「主題」「世界」「登場人物」の3種に分けて整理する。
本稿では主題とテーマは同一の概念とみなすが、主題とは、そのラノベ創作において根幹となるアイディアのことである。冲方や大塚はこの主題を根として木構造状に各アイディアが繋がっていることを主張する。
主題を確定するタイミングについて冲方は真っ先に考えるとするし、大塚は作成した主人公像の要素を深化させそこから主題を抽出するとしている。榎本はプロット作成の段階で必須としていることからそれ以前に考えておかねばならない。西谷は執筆段階で突如として「物語の核」を意識する、と述べるが、この「物語の核」が主題とみなせるのであれば、プロット後に主題を決めてもいいということになるだろう。
このように主題をいつ考えるかは説によって大きな差があるが、結果としてラノベ創作において「主題」が必要不可欠だと多くの作家が述べていることに変わりはない。
繰り返しになるが、全てのアイディアの共通の祖先として「主題」は位置付けられる。従って本稿の分類で言うならば「世界」や「登場人物」は必ずこの主題と関係する要素を持たねばならない。言い方を変えれば、「主題」はアイディアとアイディアの共通要素として機能するため、ワナビ本人は主題として位置づけたが、それが「世界」や「登場人物」に関係していないのであればそれは「主題」ではない。
この「主題」があることの意義について、「読者は「設定資料集」を読みたいのではなく、「物語」を求めている」という榎本の指摘、また「「細部」には主題が宿る「細部」とそうでない「細部」があります。そしてあなた方の小説がしばしば欠いているのは「主題の宿る細部」なのです」という大塚の指摘を踏まえるなら、読者が「物語」と捉えるか「設定資料集」と捉えるかは「主題」の有無次第だ、ということになるだろう。
設定資料集が好きな人が存在することは事実であるが、彼らは設定資料集ならなんでも好きなわけではなく、特定の物語を好んだことで、その物語のより詳細な背景情報を知ることを好んでいるに過ぎない。興味のない物語の設定資料集など誰も目を通してくれはしない。
このように「主題」は重要な要素であると考えるが、その表現方法に関して榎本は主題を台詞や地の文で語ると胡散臭く、説得力が無くなるとしているし、クーンツは主題で読者を説教してはならないと注意を促している。台詞や地の文での表現を避けるとなれば、多くの場合登場人物の行動、またそれによって引き起こされた出来事によって表現されることになると考えられる。
本稿では会話文の主体になりうるものを形作る上で用いられる情報(名前、性格や容姿、口調など)の総体を「登場人物」と定義する。「キャラ」「キャラクター」とこれを区別するものもあるが、特筆の無い限り本稿ではまとめて「登場人物」とみなす。
一方で、登場人物以外の全ての設定を本稿では「世界」と定義する。具体的には魔法の有無などの自然法則、身分制のような社会構造、もしくは携帯電話の無い世界といった現代社会との差分もまた「世界」である。
いずれを先に考えるかについては諸説ある。例えば冲方や水島は世界が先だとするし、大塚や西谷は登場人物からだとする。榎本のように特に順序には言及しないものもある。
しかしながら冲方と大塚の「世界」と「登場人物」が揃った状態についての言及は非常に似通っている。
冲方は「人物たちの性格や言動や行動の全般は、結局のところ、大半が、世界と時代に左右されたもの」と言い、このような世界だからこそ、そこに登場するこの人物はこのような設定になるのだ、という必然性を要求する。
大塚もまた登場人物の個性については「キャラクターが所属する「世界」の物の見方の価値観に由来するもの」があるとしており、その人物の設定は彼の存在する世界の設定から必然的に生じたこのような価値観に由来するのだ、という必然性を要求する。どちらの側から見るかの違いだけで、冲方も大塚も目指している状態は同じだと言っていいだろう。
ワナビの「世界」について「リアリティが自分の身の回り3mくらいしかない」「おまえの世界には学校とコンビニと自宅しか存在していないのか」と五代/榊は批判し、リアリティには細部の設定が必要不可欠だ、という立場をとっている。一方で「登場人物」の細部情報への批判としては「異能力の内容だけやたら細かい」にもかかわらず「話に全然関係ない」としており、両者をまとめると「主題」の宿る細部こそが必要不可欠であり、それ以外の細部の設定は不要だとする大塚説とほぼ同一と言っていいだろう。
冲方は「そのテーマが内在する世界を、しっかり構築することができるようにならなきゃ話にならない」と世界における主題を重く位置づけた上で「実際にその世界について書かなくても、少なくとも自分は知っていたいし知らないと駄目」と細部の設定の充実に言及する。
その一方で登場人物については、冲方はそれが主題に関係しないのであれば「性別や年齢をあとから決める」とする。水島も登場人物はプロット上の必要性が出てから作れと述べ、最初に長大なキャラ表を作るというワナビにありがちな行為を繰り返し否定する。ヒックスは事前定義表に基づいて穴埋めで作られた登場人物を「組み立てられた登場人物」と表し、そして「最良の脚本には、組み立てられた登場人物は存在していない」と断じる。
だがこれらは登場人物に細部の設定が必要ない、という意味にはなりえない。例えばクーンツはプロットをまず作ることを前提とした上で、リアリティを持った人物描写のためには、登場人物に関しても細部設定が必要だとして、身長、体重、体型、年齢といった肉体的特徴、声や話し方、動作や仕草など多岐に渡る項目の設定を列挙している。
「登場人物」であれ「世界」であれ、リアリティは細かな設定によって得られるものだ、という点はいずれの主張とも矛盾しない。その細部の設定が「主題」と関係する場合は最初に考えるべきとする見解はあるが、関係しない場合、それがとりわけ「登場人物」の細部設定の場合、これを最初に考えることは多くの見解で明示的に否定されている、ということになる。
これとは相反する主張として、西谷はまず人物設定から始めるべきだとする。「積極性」「肉体的な強さ(美しさ)」「いざというときのリーダーシップ」「やさしさ」「辛抱強さ」「頭の良さ」で点数をつけてチャートを作成するのが良いとして、さらには性格、趣味、髪の色からメイクの仕方、ブラジャーの形状までを設定例として挙げており、そこには「主題」との関係性への言及はない。
ところが西谷は実際の作例において仮置きの主人公を用意するに留めており、チャートについては一切触れず、細かな設定も一切用意しない。まず最初に「世界」と「主題」に取り掛かり、「企画を練り上げる段階で、主人公を変えてしまう」「主人公を引き立てる脇役は、書いている途中で思いつく」とすら述べる。
最終的なこの作例が実際の西谷の手順なのだとすればその手法はむしろ冲方寄りである。Permalink |記事への反応(5) | 20:41
いやいや、XP以前の木構造のほうが圧倒的に見づらい&操作しづらいだろ…
UI変更は単なる見た目の変化だけなら問題はないんだが、アーキテクチャ自体が改悪されている場合もある。
例えばWindowsのスタートメニュー周りのUIなら、かつては用途によって分類された木構造を辿るだけのシンプルなものだった。
これがWindows7あたりから履歴に基づく表示になって、毎回見る度に位置が変わるようになった。「すべてのプログラム」を表示させてもずらずらプログラムの名前が出るだけで、インストールしているプログラムが増えてくると目当てのものを探すのに時間がかかる。それでもまだフォルダを展開するという形で木構造を表すことはできた。
Windows8になってくるとメニューを見せずにタイル状のランチャになった。これは見栄えはするだろうがフラットな構造しかないのでプログラムが増えてくると探すのが大変になる。
ファイルシステムのディレクトリのような木構造にデータを格納するのは、RDBに比べたらデータ構造が人間には超分かりやすいし、検索にかかる時間も簡単に見積もれるし、そもそも高速で動くし、CPUもメモリも少なく済む。
確かにRDBのWHERE句に相当する部分はいちいちプログラムで実装しないといけないけど、必要な処理はどれもこれも定型的で、一度覚えてしまえば非常に楽できそう(テンプレのコード用意しといて、システムに応じて微修正してコピペすればいい)。
即ち、誰でも素人からプロになれるというか、プロになるまでのコストが低いので、人材育成の面でも有利。
と、これほどまでに良いことづくめなのに、なんで廃れたのか意味が分からない。
逆にRDBはデータ構造は合理的なんだろうけど、人間にはとても分かりにくいし、パフォーマンスも加味した適切なテーブル設計が出来て効率いいSQLを組めるレベルの人となると、もはや適性の問題になってくる。
要するに向いてない奴にはいくら教育しても全く身につかない。一人前になれる人間が限られると言い換えてもいい。なかなかデキる人が出てこない。
そもそも、よくよくLinkedListクラスのインターフェースを眺めてみると、これは連結リストのノードを表現するクラスではなく、連結リストそのものを表現するクラスのようですね。こんなものをいくらネストしたところで多次元配列の構造しか作ることができないのは自明でした。現段階では、元記事の文章は不適切であると言わざるを得ません。
ところで、Lispの真似事をC/C++でさせたいのであれば、タプルを定義するのが先だと思いますが、いずれにしても教育カリキュラムや人材の選別過程でこのようなコードを組ませる方針は私はあまり感心しません。あれは一種のハックであって、木構造のアルゴリズムをコードで表現する際に必須の、本質的な概念ではないからです。仮に知らなくとも、それは「その人が育ってきた文化が違う」だけの話です。例えばB木を実装するにもRadixTreeの実装にしても知らないままで全く困らないでしょう。
ほかにも、計算量の評価に触れていないなど、気がかりな点はありますが、元増田氏からのコメントもないようですので、ひとまずこのへんで。
あいにくLispはよく知りませんが、Lispの場合はタプルに実データだろうが他のタプルへのポインタだろうが何でも入れられるので、連結リストの自然な拡張で二分木などの木構造も表現できる、という話であれば理解できます。
一方、Cのような変数の方に型のある言語の場合、連結リストの自然な実装では
struct Node {int data;struct Node *next;};
という感じになると思います。上記のdataにはポインタは入らない(キャストすりゃ別ですが)ので、どうしても型を修正しなければ木構造は表現できないですよね。
元の記事では「LinkedListの入れ子でTree構造をつくり」とあるので、もしかして私の知らないテクニックがあるのか、何か別の前提条件があるのか(テンプレート使えとかね)、あるいはどこかに見落としがあるならご教授を頂きたいと思った次第です。
不勉強なもので教えて頂きたいのですが、「LinkedListの入れ子でTree構造をつくり」というのは、どういう意味でしょう?
普通、木構造といえば、ノードは子ノードを2つ以上持てるようなものだから、連結リストをそのまま「入れ子」にしても木構造にはなりませんよね。どのようにして木を構成するのか、ちょっと私には思いつきませんでした。
もしかすると、連結リストの各ノードに保存するcharなどのデータのかわりにポインタを入れればいいだろう、という話なのかもしれませんが、それだと「入れ子」とは言わないでしょうし。