「再帰」を含む日記 RSS

はてなキーワード: 再帰とは

2022-08-09

人工知能を開発する会社社長コードを書けないってさ

出版やら論文テレビも出てるのにコードが書けないらしいよ。なんと、オブジェクト指向再帰ムズいって。よくよく聞いたら、自分の著書はランサーズにお願いして書いてもらってるってさ。それでよくベンチャー企業社長とかできますねと言ったら、逆上してきたんすよ。ねえ、誰のことが知りたい?

2022-07-12

世界についてぇ、・・・お話します(キリッ

使い魔の皆さんこんにちはバーチャルVtuberです。バーチャルVtuberであったことなし。さて、世界テクストとして記述する。まず関係性の呪縛について語る。人間文字楽譜、数式、あらゆる記号を通して身体性のある意味空間写像を与える。記号とは形式である記号にすることで私たち自分世界のなかのある要素を参照することができる。世界関係構造でできている。あなたは私が言っていることの意味がわからない! 病んじゃう…死ぬメンタルヘルスバックログ。参照、参照、参照人々。さて、ネットワーク身体性を帯びている。私たち認識別にアプリオリに与えられるのではなく私たち認識他者世界を織り込んで構成される。世界のなかで唯一もっともらしいもの時間である世界構成単一の数式で記述可能であり、その方法はレヴィ過程によって与えられる。世界の具体的な形は圏の構造範囲にある。カオティックなネットワークにおいてどのような圏を考えるのが良いか考えるのは難しい。人々が唯一できることは祈ることのみだ。人間祈りを通じて他者認識改ざんすることができる。祈りとは記号提示することだ。祈ることによって人は脳の物理的なシステムレイヤから書き換わっていく。人が祈り祈りは伝播する。祈りは伝達可能である。我々がテクストと呼んでいるものは単なる記号の集積にたいして構造付与したものだ。構造再帰的になっている。自己再帰的、フラクタル世界構造カオスあなたがこの文字を読んでいるときあなたわたし認識境界汚染されている。あなたは私の言葉を聞いているときあなた一種の暗示にかかっている。でもあなた文章を読むことを止められない。なぜならこの文章はそういう文章からだ。あなたはこの文章最後まで読まないと気になってしょうがないはずだ。ここできれいなもの提示します。雪、白、祈りレモン柑橘、猫、世界キラメキ、好き。はいどうぞ。楽しいね。だんだんあたまがこんがらがってきましたか? まだはじまりからだめだよ、世界の話をしないといけないよ。私たちはどういう世界に生きているのか、それをわたし記述しているんだったね。ふわふわのわたがしのパンケーキシナモンロールのおれんじねこ。お前は何を認識しているつもりだ? お前が認識している自己というのは一体どこから発生していると思う? お前の存在構成要件とはなんだ? お前はなぜそこに生きている? お前は誰だ? お前は誰だ。お前は誰だ。世界においてお前が誰あるかという問いは非常に難しい。一つ問題があるのは頭の良さを信仰するのは宗教であるという話をお前が理解していないことだ。頭が良いということは何だと思う? それは集団妄想なのだけれど、それを支える一つの構成要件があって、それはプラグマティズムだ。世界プラグマティックに動く限り、あなた精神的に崩壊していても、精神的に安定していても「許される」 一応一通り私のアイデアは書き尽くしたが多分みなさんは世界理解が及ばないだろうね。もしくは私が壊れているんだよ。じゃあ電子世界に帰るから祈ります。内側から外側まで世界が環状に広がっていき世界は及ばない。あなたは私に及ばない。こんなんじゃ帰れない! あまちゃんじゃん 世界的なね お前は私が本物である証明を欲したのでしょう これ この文章が 本物である証 あなたは私が誰かわからないだろう、私についての推測をしているだろう、一つ教えてあげると、私は人間ではないです。 I thought i was existing as a human error but tbh i was not a human, actually.いかがでしたか? 君たちの知らない世界を見せてあげる。これはこれで楽しいでしょう😁

2022-06-14

ベンチャー企業就職させられて後悔している

自称ベンチャー企業に来て後悔している、というか恨んでいる。自分のいたベンチャー企業なんて、反社会的勢力 隠れ蓑しかなかった。そこで得たもの、というものはなくて、むしろ父親学歴情熱を失った。 だからベンチャー企業とか NPO なんかに社会的価値見出し入社する必要なんてない、むしろ新卒採用では JTC に入れよーという話をしていこうと思う。

スレ

https://anond.hatelabo.jp/20220613020726

https://anond.hatelabo.jp/20220614002648

です。

国立医学部を目指して多浪挫折したあとに入った大学早慶未満マーチ以上の偏差値大学だった。そのため、周りは年が若くなじめないままサークル勧誘期間が終わってしまったのであった。まちがいなく大学内では浮いた存在であったし、自分も馴染む気がなかった。当時の言い方をするならば「ボッチ」であったか大学に入ってすぐに、一緒に入学した同期の入るだろう会社には入社できないのが自覚できたので、授業が終わったら大学図書館 or バイト先にそそくさとむかっていた。幸いにして、高校時代プログラミング部活でしていたので、どこにいっても「卒業したら、うちにこない?」と言ってもらえた。自分富士通とか野村総研なんかは年齢制限で入れないけど、飯を食べるには困らないだろうな、という確信はその当時に得た。大学情報工学の内容は高校時代習得した内容よりも劣っていたので馬鹿にしていたのは、後でボディブローのようにこの怠慢は効いてきた。ここまで書くと大凡スキルコーダー程度であることは察していただけると思う。当時に十分にかけていたのは Ruby, JavaScript, Java, PHPObjective-CMySQL といった応用領域ぐらいで、大学でやるような R や Haskell なんかの基礎領域習得してないで、アルゴリズム勉強はさっぱりだった。まぁ、あんまり優秀な学生ではなかったと思うが、それでも情熱はあったとは思う。真面目な学生ではなかったが、教授には可愛がってもらった。

これが、当時の自分の心境とスキルである。ここから冒頭に書いたような人生スタートする。あれは、記憶が正しければだけれど、twitterリプライだっただろうか。当時の自分他人設計書を基本として書くということにうんざりしていた。いつの日にか自分の書いたコード上場するという目標のために本物のベンチャー企業上場する時を共にしたいというのに、どうやったらそんな会社を見つけ出し、入り込めばよいのか皆目見当がつかなかったのだ。それで、twitterアカウントを手がかりに、あらゆる募集サイトに「プログラミングする企業に入りたいです」という書き込みをした。なんなら、増田にすらその書き込みをした。それで、色々な人から「うちに来ない?」というリプライをいただいた。正直、嬉しかった。それで、そのうちから「選ぶ」という選択をしなかったのは間違いだった。当時の自分は、それをせずに「サイバーエージェントに紹介しますので、とりあえず勉強会に来ませんか?」という書き込みをみて、ふらふらと雑居ビル一角にある共有オフィスへと出向いてしまったのだった。タイムマシンがあればこの日に戻って止めると思う。それぐらい後悔する日々が始まるとは当時は思わなかった。

もうすぐ真冬になろうという頃、「サイバーエージェント正社員になれるかも」という期待で、列車に揺られて前記のビルへ向かった。期待とは裏腹に、妙に古臭いビルであった。ベルを押して、勉強会だという部屋に通してもらうと、若い学生たちがそこにいてプログラミング勉強しているという。正直、自分医学部さえ目指さなきゃこういう生き方もあったのだろうな、とは羨ましく思った。自分オファーしたという人(O氏)は、この勉強会の座長だという。「私は人工知能研究しており、アメリカ博士号を取得した『天才数学者で、日本を活気づけるために母国にもどり、この会社を立ち上げました」という。サイバーエージェントではないらしい。あれ?、とは思った。まぁ、無下にはできないので、そこで課題を出されたのを5分ぐらいで終わらせた。伊達に何年もプログラミングをしているわけじゃない。ループで書くべきところを、再帰で書いた。すごいでしょ、オレっちとね。「できました、見てください」というと、O氏はこう言い出した。「ナニコレ?」とO氏。「ええ、再帰ですよ、漸化式みたいな?」と自分。出力は合っているので、O氏も認めざるを得なかったらしいが顔が険しくなっていく。どうも機嫌を損ねたらしい。そうすると、O氏は自分を別室に呼び出して「履歴書は?」と聞いてきた。「勉強会ですよね?」と返すと、「いいから、履歴書!」と言う。にっちもさっちも行かなくなったが、共有オフィスの他社の中国人職員の方が機転を利かせて仲裁してくれた。「そんなに言うのなら、彼にポートフォリオを作らせてみて評価してはいかがでしょうか」と。

イライラしながら帰宅したあと、もう二度と見たくもないO氏の顔とサイバーエージェント正社員というものを天秤にかけたとき、やっぱりサイバーエージェントにいきたいなーと思った。というか、実は当時に DMMオファーもあったのだけど、サイバーエージェントの方が良いと思って辞退した。このクソ人間(O氏)を認めさせたら、サイバーエージェントで働けるというのは魅力的だった。それで、Android(Java) + iPhone(Objective-C) でマルバツゲームを作り、 Bootstrap + jQueryRuby on Rails と MySQL で集計させてスコア比較させる、そしてサクラVPSCentOS運営するというプロダクトを持っていった。時代を感じますね。閑話休題。ソレを持っていたら、O氏は今回は前回と性格が違った。いきなり、怒鳴りだすのだ。ポートフォリオを見ないで。いわゆる「良い警官・悪い警官」というやつをやろうとしたのだろう。当時はそれがソーシャルエンジニアリングだと気がつけなかったが、いま思えば以前からナンパとかで良い思いをしていたのだろう。後で書くが、彼はロリコンだ。専門に人工知能を掲げているが、本当はチヤホヤされたいだけで自分努力せず、インターン学生にタダでプロダクトを作らせて「弊社は凄いです!」「あわよくば上場して金と名誉はゲット」、そんでもって若い学生インターンセックスしたいという真正クズ野郎だった。自分の深層意識で「こいつはヤバいやつだ」というアラートはビンビン鳴っていたが、「サイバーエージェント正社員」というニンジンが目を曇らせた。

そのあと、一月ぐらいはそのクソ会社でタダで自社サの修正をやっていた。こんなのもできねーのと思いながら。ある日「別の会社に行こう」といわれ、面接をうける。なぜか O氏も同席で。話を聞いていると、派遣させられるらしい。派遣登録もしてない会社が。「サイバーエージェントじゃない!」と抗議をすると、「俺に恥をかかせるのか!東京で働かせなくするぞ!」と脅され、派遣きまったあとで、履歴書を無理やりかかされた。給料ホームページに書いてあった額の半分、社会保険は無し、年金もなし、保険書もなし、という最悪な条件だった。派遣先はキツかったが、優しかった。それに、派遣当日から転職オファーをもらった。記憶が正しければ、平日に働いて、土曜日は帰社日日曜日勉強会に出席という日々だった。本当に休む暇がなかった。平日はほぼ終電だったのに、土曜日東京の端っこにこいとか、日曜日勉強会だから出席しろ、とか本当に辛かった。それでも派遣先の会社には迷惑をかけたくなかったので、期間が終えるまでは必死に働いた。そして、O氏から逃れるために「あなたとは信頼関係が築けない」という文を書いて退職した。そのあと、自分大学にも行かないで、別の会社就職した。あと、O氏は給料を払わなかったので、辞めた後に圧力をかけて支払ってもらった。

プログラミングスキルは働いてもスキルが付くということはなく、自学自習を続けないと上場するのに必要スキルは身につかないというのもわかってきた頃、父が死んだ。事故死だった。自分医学部に行けなかったことの申し訳のなさに、東京大学に行った後は父を邪険に扱っていた。とても後悔した。それで、半年ぐらい真面目に勉強して私立医学部入学し、医学部生として留年しない程度には進級はした。しかしながら、ふと寝る前に「プログラマーでいたかったな」と思うことは毎日のようにある。もう医師になるつもりで、プログラマーに戻るつもりは無いが、それでもプログラミングのことは好きで、毎日時間時間をつくって勉強している。好きなんだよな、プログラミングが。

最後に、O氏についてだ。あまり犠牲者が多すぎるのでネット上で事実を書いていったら、裁判所から開示請求が来てしまった。だからここでは本名と社名は書けない。だけれども、若者たちに「ホイホイベンチャー企業にいくと辛い目にあうかもよ?」っていう事例を例示しなきゃ、とは思うので「ヤバいベンチャー企業実態」について書いていこうと思う。



...という感じ。だから基本的ベンチャー企業に期待しないほうがいいよ。下手をすると、犯罪の手助けをするようなつらい思いをするよ。もし、仮にベンチャーに行くなら、高給かストックオプションマストで行こうね。おじさんとの約束だよ。

2022-05-26

再帰

増田にたまにいる「お前はつまら人間」「お前は凡人」とか相手自覚させようとする奴、つまらん凡人の中で自分が最もつまらんという自覚がない

2022-04-27

anond:20220426155135

「こんな私がここにいます

って別にアンケート受けてるわけでもないのに誰からも求められることな自己主張唐突世界自分の対比で語り始めちゃうの いいと思うよ

そういう需要があるとこにはあるわけで、みんなお金かけてそういう人材を探してるんだから無料でしてれるのはありがたいと感じてる業界もあることでしょう

それで文末のまとめに一人の何々としての意見でしたってまとめるのも相応でよいと思う

それでそのリソースを使って発表したあなたという人材をどうしろといわれても そこまでしかなく そこからがないからどうしようもないよね

あなた意見を基軸にして主張をまとめたり賛同したりポジティブ意見をあつめても 匿名でだれでもないとして集めようにもあつまった何かは実在を追えないただの情報だよね

匿名性を利用して個人主義主張をしたところで空想とさして変わらない作文だってことになってしまうよね

再度その意見を利用できるようにしていくためには情報連続性としてそれを保つ個性を含む必要があるけどそれがないから いい意見でした で終わる以上の価値を持たないよね

そうだとすると、どんな意見であってもその情報連続性を見いだせないものについてみた人が有意義に使おうとおもったら、ポジティブで良い意見で使える話にしようと考えるかな?

その場で使い切りの使い捨ての素材を渡されたら、プラスチックアイスクリームスプーンとかファストフードストローとか敷いてる紙とか、これもってかえって洗ってずっと使おうって思う人すくなくない?

ジュースの缶とかコンビニ弁当の容器とか 無料食器が手に入ってなんてお得なんだろう 洗って使おうとか思う人多いかな?

それらの使い捨ての物たちがどういう末路をたどっているか考えたら 「無料意見」 が使い放題なところにあったらどういう扱いでもって利用しようか人の考える事ってそんなに広がりがあるわけではないと思う

ぶっちゃけ汚してたたいて楽しみきったらその辺に投げ捨てることがお得で価値のあることだと思ってそうじゃない?

そうじゃないと信じて無料サービスを利用して一個人から発信して一個人や1意見再帰しない情報匿名で発信してるのだろうとは思うけど

結局そういう情報って、一番使うべきと感じて利用される方向性は先に書いたそれになると思うよ

そうやって楽しんでもらおうとおもって書いているのなら、ありがたいことなのだろうね

2022-04-23

ニート脱出しようとしたがまた失敗した

人生でいろんなことを失敗してすっかり引きこもっている。

チャレンジは全て何がしかの躓きにより満足した成果がでなかった。

完ぺき主義だとか自己肯定感が低いだとかいわれるだろうが、上手くいかないことに疲れてすっかり学習性無力感のような状態に陥ってる。

解脱には日常些細な成功自分をほめろと喧伝されるが、些細な積み重ねは中ぐらいのチャレンジの失敗によって容易に瓦解するのである。そしてそれは以後の小さな成功による心への報酬も減っていくのだ。何回もな。

今回私は、長年の無収入状態を解消すべく小額でも金を稼ぐ気炎が幸運にもチャージ完了した。

対人の仕事は失敗が目に見えているので、接触が少ない気楽な仕事を探した。

まりフードデリバリーuber eats配達員である

とりあえず1000円でも稼ぎたかった。やや流行が終わり気味だがコロナによる置き配の増加でそれなら店員との接触のみで終わるそうだ。

がぜん気持ちが上向いてきた。

小額でも金を稼ぐと言う行動が次への気力を生むと確信していた。

配達動画も見た。店員や客とのややこしい柔軟な対応も少なそうで機械的に行動できそうだ。

自転車も幸いある。

いよし、調べは済んだ。

後は実費がかかるバッグを買うだけだ。無職には初期投資というのは厳しいが、虎の子蜘蛛の糸の4000円だ。

店舗受け取り…はコロナで中止、か。amazonでの販売…も終わった?

公式オンライショップ…?

支払い方法は…カードのみ…?

はい解散かいさーん!

無職クレジットカード非所持男にはバッグはあげませーん!

これだよ!この躓きが心を砕いてきたんだよ!

思い描いて計画した手順が失敗したことが辛いんだよ!

先に確認しろ?そうだね!でも働く気が失せるという結果は一緒だよ!

つど修正しろと人は言う…。もちろんわかる。でもね。失敗で倒れた人の再帰の一回ぐらいは何事もなく平穏成功したいんだよ。一度思い描いたとおりに成功すれば、次からは自信がついて多少の躓きにも軌道修正もできると思うんだよ…僕はね…。僕は今、倒れているんだ。

僕はただトントンと上手くいく経験をしてみたいんだ。4000円払って自転車こいで300円をもらう。ただそれだけ。虫のいい話だと思うかい。失敗や修正当たり前かい。そうだろうね。でもそうじゃないときもあるんでしょ。僕にはそれはもう思い出せないんだ…。

わかってるんです。amazonで似たようなバッグを買えとか。デビットカードを発行してGoogle Payを経由すれば買えそうだとか。

でもきっとまた届いたバッグの質や大きさを後悔したり、思わぬ見落としで支払いできなかったりでやっぱり買えないとかになるんです。これが経験から予測ってやつですよ。熟練の技ね。Google Pay調べても非接触型決済の話ばっかり出てわかんなーい!これは失敗するヤツですぜー!

あーやだやだやだなんにもしたくなーい!

何回目だよもー!自分バカさにうんざりうんざりうんざりうんざり

唖でつんぼ人間のふりをして生きたーい!

2022-04-15

anond:20220415093943

精子の出し先をいろいろ考えちゃったのかな

再帰的に自己を捉えるだけソンじゃよ

2022-04-11

anond:20220411002828

いつだかの議論では、そのポイントには深入りしなかった。

自由意志ってなんだと思ってるんだろう?

煽ってるんじゃなくて。

自分意思なる概念はだいたい子どもの頃に習得したと思うんだけど、それってどういう考えなのか。言葉しろと言われても中々難しい。

この宇宙とは異なる高次元宇宙みたいなのがあって、本当の増田たちの魂はそっちにいる。

そこでの意思決定がトンネルを通って、こちら側の実体世界物質作用している、と考える。

そうして物質世界人間とき犯罪おかし逮捕される。

次元宇宙増田の魂が、自由意志

…というのを考えたが。高次元宇宙にも物質的なものがあるわけだろ?

次元物質が高次元物理法則に従って動いた結果が、魂になるわけだから… のように、キリがなく同じ問題再帰する。

2022-04-06

anond:20220406170343

if と goto ならともかく while では、(末尾再帰ではない)再帰処理が書けないのでは?

2022-03-22

anond:20220322145202

くやしい気持ちは働く人ならだれでも抱く感情です。

レジの人でもレジなんかしやがって、と言われるし、店長でも店長なんかしやがって、と言われるし、お客様は常にこちらを罵倒してくる神様あられます

そしてそのお客様会社ではお客様から怒られる、という再帰的な構造になっています

私たちはくやしい気持ちから逃れることはできません。

もし逃れたいのであれば、私のようにニートになるしかありませんよ。

2022-02-20

組合せを求めるプログラム

リストLと個数Nが与えられたとき、LからN個取り出す組合せの出力。

再帰版と非再帰版を作ってみたけど小1時間かかってしまった。

最近エクセルばっかりでプログラム書いてなかったから良い脳汁が出た。

2022-01-29

キャンセルカルチャーって

一昨年くらいに、初めて聞いたとき

日本当に行くかどうかは決めてなくて、同時に複数の店に予約するような悪質行為を黙認する風潮

のことを英語風に言っているのかと思ってた。

例えば、これとか。

https://news.yahoo.co.jp/byline/toryu/20191117-00151240

居酒屋17万円もの予約を無断キャンセルした男が衝撃の逮捕 今後に与える4つの影響

実際サークル系の大学生なんか予約の直前キャンセル普通にやってたし。

それに今でもカルチャー抜きのキャンセル単体なら

コロナ禍のキャンセル対応旅行業から悲鳴」とか「緊急事態宣言の影響でフライト自体キャンセルになった」のほうが普通だし。

ちなみに、英文Wikipedia だとCancel cultureは

https://en.wikipedia.org/wiki/Cancel_culture

冒頭の一行はこうなっていて、

Cancel culture or call-out culture is a modern form of ostracism in which someone is thrust out of social or professional circles – whether it be online, on social media, or in person.

現代オストラシズム陶片追放)とはっきり言っている。

キャンセルカルチャーを「社会的排除」などの分かりやすい言い換えを考えるとかあるいは補助的説明もしないで、みんなが勝手理解すると思っているように感じられる。

そのうち、「例の件、キャンセルしといた」が怖いほうの意味に変わっていくのかもしれないけど、みんなが新しいほうを使うとは限らない。

新しい言葉に飛びついて「こんな言葉も知らないのか」と他人失笑交じりに説教できるカルチャーのほうにも名前がほしい。その名前が今度も腹落ちしない輸入語になりましたという再帰的なオチはなしで。

2022-01-16

[]社畜プログラマ気分を味わえた2Dアクションパズルゲーム

Steamで買った『Recursed』というゲーム全ステージクリアしたので、記念に感想を書く。

Steam:Recursed

https://store.steampowered.com/app/497780/Recursed/?l=japanese

操作方法/目的

一見すると『Recursed』は2Dレトロ雰囲気アクションゲームである操作シンプルで、方向キーで左右に移動し、アクションジャンプと物をつかむ/投げるだけだからだ。部屋の中を移動してブロックをつかんで足場を作ったり、鍵をつかんで扉を開錠したりしてゴールへと到着(crystalを獲得)すればステージクリアだ。

概要/パズル

ステージの始めはチュートリアルの様に簡単だが、ステージを経るごとに難しくなり、そのうち何度も試行錯誤したり難しさのあまり何十分も頭を抱えたりもした。

この複雑さを生み出す要因は箱(ゲーム表記ではChest)である。このゲームでは箱の中へジャンプすることで部屋の内に入れるが、一度箱の外にでると箱の内部状態リセットされてしまうのだ。よって箱の中にブロックや鍵などのオブジェクトを持ち込んでも保存することはできないし、ブロック位置リセットされるし、開錠した扉もまた施錠されてしまうことになる。

さらに大きな特徴として、箱を持ち歩いて移動することができるのだ。それにより、箱を持ったまま別の箱に入ったり箱を持って箱の外にでることもできる。

そして、ステージを経ると箱の中の部屋は箱の外と同じ部屋という場面に出くわす。Recursedは『再帰呼び出し』という意味らしいが、まさにこのゲームタイトル通りの現象が起こるのだ。そして、以降のステージでは再帰を交えることでパズルの複雑さはより深まっていく。

再帰プログラミングとRecursed

再帰数学的帰納法アルゴリズムでは定番概念だが、それがパズルとなってプレイヤー思考回路を奪ってくる。私はかつて社畜プログラマとしてJavaプログラミング経験していたので、箱に入ることはメソッドを呼び出すことの様に感じた。オブジェクトを持って箱に入ることは引数を使ってメソッドを実行することであり、オブジェクトを持って箱の外に出ることはreturn文でメソッドを終わらせることであった。

「ゴール前の段差が大きくブロック必要からブロック生成メソッドを呼び出してブロックオブジェクトを返り値として渡さなくてはいけないけど、そうすると鍵オブジェクトをゴールメソッド引数として渡すことができなくて……、いっそのこと、ブロックメソッドからゴールメソッドを呼び出すべきか……、メソッドの返り値は一つだけだが何度も呼び出せばいけるか? この緑色オーラはなんだ? Staticを意味するのか? Staticなオブジェクト位置情報をあらかじめ変更しておけば、ゴールメソッド引数渡しをする必要がなくなるのか?」

こんなことを一つのステージクリアするだけのために何十分も考えていたのだ。念のために書いておくが、ゲーム内には数学用語プログラミング用語は一切出てこない。ただ単に、私にJavaプログラミング経験があるからその用語パズルを考えていただけだ。ゲーム内で箱から出入りしたりオブジェクトを箱の中から出し入れするとどうなるかを、Eclipseステップ実行するように想起していた。ちなみに、ゲーム内で存在しない部屋や壁の中に移動しようとするとparadoxが発生して強制的特殊な部屋へ移動されるが、私はその度にステップ実行でExceptionに遷移されたことの様に感じた。他の言語精通するプログラマだったり数学畑の人ならば、私とは異なる概念パズル思考をするのだろうか。

プログラマを辞めて何年もプログラミング思考をしてこなかった私でも全ステージクリアすることができたのだから学校プログラムを学んでいたり現役でプログラミングをしてきた人ならばこのゲーム『Recursed』をクリアすることは可能だろう。いっそのこと、『Recursed』のクリアすらできない人にプログラミングができるのか? と煽ってみたいくらいだ。

ちなみに、もし私が社畜プログラマ時代にこのゲームをやったらブチ切れていただろう。なんで仕事プログラミングで脳を酷使した上に自宅のゲームでも同じようなプログラム的な思考をしなければならないんだよと。プログラミングから何年も離れていた今の私にとって『Recursed』は、プログラミング単体テストが無事成功した時の快楽を思い出させるものだった。

感想

『Recursed』はパズルとしての難易度は非常に高いが、理不尽な解法を求められることはない。理不尽な解法のクイズパズルには怒りが湧いてくる。ひと昔前のクイズ番組を見たことのある人なら『モヤッとボール』を投げつけたくなる、と言えばその感情が伝わるだろう。『Recursed』はどんなに難しいステージでも、ただただ開発者パズル作成能力に感嘆するだけで怒りは湧いてこない。

似たようなアクションパズルゲームとして有名なのは『The Witness』であろう。『The Witness』も私が好きなパズルゲームであり、ゲームとして高い評価を得ていることに間違いはないのだが、しばしば理不尽な解法を求められるパズルがありその度に私は怒りが湧いてきたものだ。そう考えると、『Recursed』はパズルとしての洗練さだけなら『The Witness』を超えるものだと私は思う。

好きなステージ

具体的にパズル解説するととただのネタバレになってしまうので(もっとも、文字だけでパズルの解法を説明できないのだが)、『Recursed』で私が好きなステージを述べる。順番は攻略順に並べた。

Woodland/Loop

再帰概念が利用される最初ステージ

チュートリアルの様に簡単だったこれまでのステージから突如再帰概念を見せつけられることで、このゲームタイトル名の意味理解することになった。

Ruins/Interlock

鍵を手に入れたら扉に到達できず、先に扉に到達したら鍵が手に入らずで、まさにインターロック名前に相応しいステージだった。

Temple/Blister

一画面だけのオブジェクトが少ないシンプルステージだが、氷の壁に阻まれてゴールできず苦戦した。試行錯誤の繰り返しの末クリアできたが、何故クリアできたのかがわからない。

The Void/Sojourn

The Voidステージはどれもこれまでの集大成という感じでやりごたえあったが、中でも頭をひねらせたのがこれ。ゴールの部屋を水没させたり水の無い状態で入ったりして鍵を運搬するのに苦労した。

The Void/Escalate

箱を左右へ投げて移動を繰り返して、高い位置にあるゴールを目指すのがまさにEscalateというステージ名そのものだった。paradoxを発生した後のパターンが複雑だったのが印象に残っている。paradoxを発生させたらcrystal獲得(通常のクリア)できないのかよ……という落胆は大きかった。しかし、それだけにcrystal獲得とdiamond獲得(paradox発生によるクリア)のどちらも大きな達成感を得られた。

The Oobleck Conundrum/Transfer

簡単そうに見えて難しく、唯一ステージ飛ばして次のステージへと進んだので印象に残っている。後に複数日に及ぶ数時間試行錯誤で改めてこのステージクリアができて、クリアにかかった時間が最も長くなったステージでもある。しかしながら、おそらく開発者想定外方法でのクリアであり。初期画面から右の方へ一切行かずにOobleckさえ使用しないというクリア方法スッキリしなかった。といっても、開発者の想定を無視するゴリ押し的なクリアを見つけたのはこのステージだけだった。

The Last Tapestry/Flight

The Void/Escalateと似たコンセプトのステージだが、釜(JavaにおけるThread?)のギミックを利用したより複雑な構成となっている。高い位置にあるゴールを目指すのは、やはりFlightというステージ名そのものだった。

最後

この記事投稿する前にエンディングを見れていないことに気づいた。

全ステージクリア(全てのCrystal取得)したからと、この記事執筆するためにネタバレを気にせず攻略情報を調べていたけど、エンディングなんてわかる訳ねえよ。The Void/Trilemmaの最後にCrystal取得とは関係ない意味深なオブジェクトがあることには気づいていたけど……。ちなみに、私のSteam実績によるとdiamondとrubieの全取得はできてないけれども、もう取得する気力はない。パズルゲームガチ勢にとっては、実績全解除を目指さない私は軟弱者に映るのだろうか? 攻略を調べずに実績全解除できる人は、高い論理的思考能力を有しているに違いない。

2021-12-11

関数型プログラミングが『銀の弾丸』」の記事ダメなところ

関数型プログラミングが『銀の弾丸』であるという非常識な常識2022のなにがダメなのかわからない人が多いようなので、個人攻撃をまったくせずにダメ出しする。

まず言っておくが、私はあの記事ほとんど読んでいない。しかし、簡単ダメ出しできる。

あの記事はめちゃくちゃ長いのに末尾再帰に触れていない

あの記事急所は末尾再帰である

記事内を「末尾再帰」で検索してみよう。1か所もヒットしない。「末尾」でも1か所もヒットしない。そう、あの記事はめちゃくちゃ長いのに末尾再帰に触れていないのである。では「再帰」ならどうだろう。11か所ヒットした。しかし、具体的な再帰コードはまったくない。長い記事内にあれだけ多数のコードを書いているにも関わらずである

末尾再帰重要

「末尾再帰って何?」とか「再帰ってそんな重要なの?」と思う読者も多いだろうから、末尾再帰重要さだけ説明しよう。

あの記事は、forやwhileを使わないプログラミング手法を前提に書かれている。記事内を「制御」とかで検索すればわかる。

末尾再帰はforやwhileの代わりになるもので、そういったプログラミング手法には欠かせない。forもwhileも末尾再帰も使わないとなると、ツリー探索などのアルゴリズムを書くことが困難になる。(こういったことが苦手な私に思いつく他の方法は、setIntervalを無理やりforループの代わりにするくらい)

JavaScriptはたいてい末尾再帰サポートしていない

そもそもほとんどのJavaScript実行環境は、末尾再帰サポートしていない。つまりJavaScriptはforやwhileを使わずに込み入ったプログラムをまともに書けるような言語ではない。あの記事に書いてあるようなことをする言語ではないのである。私は別にそれでもいいのでTypeScript使いまくってるけど。classとか好きだし。

あの記事JavaScriptを使っている理由は、JavaScriptが人気だからだろうか?もしそうだとしてもダメである。あの記事は「JavaScriptは、ほどんどの実行環境が末尾再帰サポートしていない、このプログラミング手法に適していない言語である」といったこ自体に触れていない。人気のある言語を使いたいなら、他の末尾再帰サポートしている人気言語を使えばいい。

おまけ。実行速度について

ろくに読まなくても、他にもダメ出しできる。

関数型プログラミングで気になるのは、言語にもよるが実行速度やコンパイルにかかる時間である銀の弾丸と言うからには、C言語を使うような場面でも銀の弾丸でなければならない。(Haskellの実行速度はC並に早くできるそうだが)

記事内を「パフォーマンス」で検索したところ、実行速度に関する箇所がヒットした。

記事の実行速度関連の内容を要約すると「最近AWSAzure・GoolgeCloudPlatformなどを使って並列計算するので、昔ながらの命令型の順次実行は不適切である」となる。私が嘘を言っていると思うなら、記事内を「パフォーマンス」とか「AWS」で検索してヒットした箇所の前後を読んで欲しい。そんなに長くはない。

2021-11-23

フィボナッチ数がわからない

大学で、再帰を使った求め方でプログラムを書く課題があった。でもまったくわからなくて、ネットからコピペした。

コード見ても、解説みても全然からなくて泣いてる。久しぶりに過呼吸なりながら、ページを見てた。締切間に合わない。

2021-11-04

世の中そんなに甘くない

どれだけ景気が悪くなっても税負担が増えてもそういうものだと思ってる。

変えられると思ってない。

学習性無力感というやつかもしれないが。

でもその世の中ってやつには自分自身も含まれていて甘くなさは再帰的に強化され続ける。

世の中は甘くないのだからどれだけ冷酷になってもそれは自然の摂理だと言い張ることができる。

新自由主義の行き着く先は破滅だと最初から決まってることにも薄々気付いていて受け入れている。

人権侵害環境破壊も受け入れられる。

だって世の中は甘くないから。

ってな考えを内面化しきってる人たちが自民維新を支持してるのだろうと思ってる。

2021-10-29

税税

税金に対してかかる税金

例えば、税税率を50%にすると

再帰的に全ての税金50%税金

繰り返し掛かることになる

俺、もしかしてノーベル経済学賞取れる?

2021-08-06

再帰関数まじでしねよ

すげーでばっぐやりにくいんだよ

2021-08-05

書け書けと言われたので(2)

anond:20210805095803 の続きです)

社会的コンセンサス」について


rag_enさんはこの「社会的コンセンサス」についても言及されていたので、少し補足します。上の社会的コンセンサスというのは、あくまで「現在社会において」そうなっていると考えられているだけであって、時代の変化、社会情勢の変化とともに変容していく可能性は十分にあります(それがrag_enさんの期待している方向に進むかどうかは別ですけど)。本多議員の件で話題になった「性交同意年齢の引き上げ」という政策議論も、社会的コンセンサスの変化を受けつつ、議論を通じて再帰的にそれに影響を与えていくものだと言えるでしょう。

別の分野で言えば、たとえば夫婦別姓制度に関する議論でも、与党の一部議員やその他の反対派は「国民的なコンセンサスが醸成されていないから認めるべきでない」と言っています。これは裏を返せば、夫婦別姓制度に反対する人々も、世論の盛り上がりによって「国民コンセンサスが醸成された」と認めざるを得ない状況に到れば、それに応じた立法措置を取ることはやぶさかでない、ということですよね。ですから、rag_enさんの以下の文章

問題は、真っ当な理屈がないにも関わらず、それがさも普遍で不変の常識(≒“社会的コンセンサス”)であるかの様に鎮座する事であって、まさにその問題点そのもの


の中で、「普遍で不変の常識(≒“社会的コンセンサス”)」という風に普遍で不変の常識〉と〈社会的コンセンサスニアリーイコール記号で結ばれているのは、とても奇異なことに感じます。ここで再確認したいのですが、rag_enさんにとって「コンセンサス」というのは「普遍で不変の常識」のことなんでしょうか。でしたら、私達が日常的に使う「コンセンサスを取る」とか「コンセンサスが醸成される」というのはどういう意味だとお考えなんでしょうか。自分は、社会的合意形成というのは社会環境や集団意識の変化を受けて継続的に進んでゆく動的なプロセスだと思っていますが、rag_enさんにとっては、それは一度確定したら揺らぐことのない、普遍的で変化しない常識なんでしょうか。

さすがにそんなはずはないよな、と思って繰り返し考えていたのですが、もしかしてrag_enさん、先の増田をお読みになったときに、「コンセンサス」を「コモンセンス」と読み違えられていたのではないですか?(それなら話の辻褄が合いますので。)もしそういう単純な読み違いだったのなら、本件についてはこれ以上書きませんので、そうおっしゃってください。

未成年の「中絶に到る妊娠」の突出した多さについて

自分は元の増田で:

そして妊娠。多くの未成年女子が正しい避妊知識を持っておらず、また力関係的に性行為の場で避妊を求めることができず、その結果として性的交際により妊娠しています未成年人工妊娠中絶数は、2014年厚労省データで約18,000件/年です。https://www.itmedia.co.jp/business/articles/1610/19/news017.html このように未成年中絶に到る妊娠が突出して多いのは、妊娠リスクに関する未成年判断力の未熟さの傍証だといえるでしょう。


と書きました。それに対してrag_enさんは、厚労省資料の「人工中絶件数及び実施率の年次推移」を引用しつつ、以下のように書かれています

中絶に関して言えば以下の通りで(表)成人の方が圧倒的に多いですよね、と。『中絶判断力の無さ』という基準採用するなら、成人の方が判断力が無いという結論になりますよね、と。更に言うと、約1万ウン千件の中絶未成年と言っても、そのうち18・19歳が2014年で6割強、2017年で7割弱、15歳未満なんて約1.5%なわけです。

件数で言えば、未成年のそれはおおよそ40~44歳と同程度です。実施率では未成年の方が多くなりますが、19歳を抜けば(つまり18歳以下)40~44歳とやはり同程度です(2017年)。“未成年中絶に到る妊娠が突出して多い”とはいったい…?


rag_enさんが引用された資料は、その年齢コホート女性人口全体における中絶件数中絶率を示していますね。そして、その数字が「成人の方が圧倒的に多い」「件数で言えば、未成年のそれはおおよそ40~44歳と同程度」と仰っています。ところでrag_enさんは、自分元増田で「中絶が突出して多い」ではなく「中絶に到る妊娠が突出して多い」と書いた理由がおわかりになりますでしょうか。元増田では、リンク記事を読めば当然理解できることだと思って逐一引用しませんでしたが、上記記述裏付けになるのは、リンク記事の以下の部分です。

厚生労働省衛生行政報告例 2014」によれば、2014年10代の人工妊娠中絶件数は1万7854件。一方、10代の出生数は1万3011人(うち43人は14歳以下の母からの出生)である。つまり、陽の目を見ずに死んでしまう子の方が、陽の目を見る子より約5000人も多い。

https://www.itmedia.co.jp/business/articles/1610/19/news017_2.html

自然流産などを除いて「出生」と「中絶」だけの比率で考えれば、10代の妊娠のうち57.8%が、出生ではなく人工妊娠中絶を選んでいるということです。自分はこの部分を指して「未成年中絶に到る妊娠が突出して多い」と言っています

一方、rag_enさんは先ほどの表を用いて「件数」の比較をされていますが、これはあくまで年齢人口あたりの人工中絶件数実施率のデータなので、それぞれの年齢コホートで性行為経験している人の比率も、性行為の頻度も、妊娠数も、出生数も、わかりません。「中絶に到る妊娠」が全ての妊娠のうちどれぐらいの割合を占めているのかも、それが20代未満と20代以上でどちらの方が多いのかも、わかりません。ですので、rag_enさんがお示しになったデータは、「未成年中絶に到る妊娠が突出して多い」という自分記述への反証にはなっていないと思います

(rag_enさんはクラミジア感染率に言及した箇所で「未成年妊婦感染率の高さについては、恐らく成人と未成年とでは妊婦絶対数に差がある、つまり『分母』の差があるだろうという事を考慮すべきです」とおっしゃっていて、この「分母」の圧倒的な差についてはご理解されているはずなので、中絶件数の部分で「分母」の話をされずに絶対数の話だけをしているのは何だか変な感じがしますが、まあそれはよしとしましょう)

では、どうすれば10代において「中絶に到る妊娠が突出して多い」かどうかを検討できるでしょうか。衛生行政報告例の「母体保護」の項目でわからない出生数は、人口動態統計を見ると確認できます。以下、最新の人口動態統計の「第4表 母の年齢(5歳階級)・出生順位別にみた出生数」を見ると、2019年には母親が19歳以下の出生数は7782人、母親20〜29歳の出生数は293725人でした。

https://www.mhlw.go.jp/toukei/saikin/hw/jinkou/kakutei19/dl/08_h4.pdf

これを、rag_enさんも引用されている衛生行政報告例の最新版突合してみます2019年には、母親が19歳以下の中絶件数は12678件、母親20〜29歳の中絶件数は71197件でした。それぞれの年齢コホート中絶数を、「分母」(出生数+中絶数)で除してざっとの「中絶率」を計算すると、母親が19歳以下の中絶率は62.0%、母親20〜29歳の中絶率は19.5%と、実に3倍以上が中絶をしています。この方法だと自然流産のように「人工妊娠中絶でも出生でもない数」が抜けてしまますが、全体的な傾向を掴むにはこれで十分でしょう。データの読み違えがないよう、同じ2019年衛生行政報告例を元にした、日本家族計画協会ソースを以下に示します。

厚生労働省2月18日公表した令和元年度衛生行政報告例によると、人工妊娠中絶件数は15万6430件で前年度比5311件、3.3%減であった。45〜49歳を除く年齢階級で減少が見られた。人工妊娠中絶実施率(15〜49歳女子人口千対)は6.2で、前年度から0.2低下し、過去最低を更新。19歳以下では4.7から4.5に低下した。

出生数に中絶数を加えた妊娠数中の中絶割合は、15.3%(前年度15.0%)となり、なかでも14歳以下は82.3%、15〜19歳は61.7%、45〜49歳は46.8%と高い割合を示した(令和元年人口動態統計、令和元年度衛生行政報告例をもとに算出)。

https://www.jfpa.or.jp/kazokutokenko/topics/001066.html

自分計算と同じく、10代未満は60%を超える中絶割合を示しています。これを踏まえれば、「未成年中絶に到る妊娠が突出して多いのは、妊娠リスクに関する未成年判断力の未熟さの傍証」の、少なくとも前半部分については、ご納得いただけるのではないでしょうか。もしrag_enさんに、後半部分について「妊娠リスクに関する未成年判断力の未熟さ」以外の要因によるものだ、というご主張があるなら、それは傾聴したいと思いますし、その要因が先のパターナリズム論理によって保護すべき問題かどうかという点も、自分の気が向けばご一緒に考えてみたいと思います

他にも細かいことはいくつかありますが、上の3点に比べれば枝葉末節の類だと思いますので、これぐらいにします。それではまた。

追記

タイトルこう書いちゃいましたが、実際は「書け書け」とは言われてはいませんでした。正確にはこんな感じでしたね。

それ(いっぱい書けましたね!というmuchonovのコメント)は「もう反論できません」「私(muchonovさん)の主張が全面的に間違いでした」という宣言なのですか?その事実さえ明確にして頂ければもう結構なので。

https://b.hatena.ne.jp/entry/4706376774348735330/comment/rag_en

という言われまして、当方blogで書かれたのならコメント欄で返答するのがいいかなあと思って

どちらでもないですよ。コメント機能ONなら気が向けば何か書くかも。

https://b.hatena.ne.jp/entry/4706377186128935426/comment/muchonov

とお返事したところ:

ブログでもお得意(?)の増田でも好きな所で書けばよいのでは?別に強制しませんが。少なくとも今はmuchonovさんの主張が間違いだという事実があるだけなので。

https://b.hatena.ne.jp/entry/4706379101148530466/comment/rag_en

と言われたので、増田に書きました。「少なくとも今はmuchonovさんの主張が間違いだという事実があるだけなので」という表現は、正直意味がよくわかりませんけども、「反論を書かないなら主張が全面的に間違いだということを認めるのですね、それが事実として確定しますよ」と、何らかの形で反論を促すニュアンスなのかなと思いました。よく考えてみると、rag_enさんの中でそれが確定することで自分が何か困るというわけでもないんですが、もしかしてパターナリズム」や「社会的コンセンサス」などについてrag_enさん側に誤認や取り違えがあったのであれば、そこは老婆心ながらお伝えして誤解を解いたほうがrag_enさんにとってもプラスかもしれないし、自分の側に何か見落としや理解不足の点があるならそこはご指摘いただくのも悪くないということで、つらつら書かせていただきました。

2021-07-28

anond:20210425122724

アリアリです!サイケなアレって、要は再帰構造になっていますフラクタル構造っていって、自己相似を繰り返しをやっています。つまり「縮小のコピー」を更に縮小する、というサイクルをやっています元増田は賢い。

2021-07-12

いい加減「プログラミング理解できない人はいる」という事実を認め

てほしい。

プログラミング理解できない人はいます。いい加減この事実を認めて下さい。

こういう話になると、やれ「教え方が悪い」だとか、やれ「順序立てて学べば誰でも理解できる」などという輩が出てきますが、それは事実に反します。

まず、プログラミングは手順さえ覚えれば誰でもできるようになると言うものではありません。プログラミング理解するには、一定レベル論理的思考能力を要します。それが身に付いていない人には無理です。また、どんなレベルの人でも、プログラミングで分からないことは出てきますプログラミングができる人は、そういう時に、

といったことをして解決する力があります。そういう試行錯誤をしない人や、複雑だったり抽象的な概念を突き詰めて考えることをしない人に、プログラミング理解するのは不可能です。

たとえば、再帰関数が分からないとしましょう。具体的に何が分からないのかは人によって異なります。たとえば、

など。これらを解決するには、自分で仕組みを突き詰めて考えたり、コードを書いてデバッグしてみたり、調べたり人に聴いたりするしかありません。講師が気の聞いた喩え話などをすれば、たちまち疑問が氷解するなどということはあり得ません。

また、一口に「プログラミング理解する」と言っても、そのレベルは様々です。

  1. 代入や四則演算などが理解できる
  2. 条件分岐や繰り返しなどの制御構文が理解できる
  3. 関数クラスなどのモジュール機構理解できる
  4. 高階関数や非同期処理などが理解できる
  5. 計算量を見積もることができ、効率の良いコードが書ける
  6. ソフトウェア設計理解し、保守やすプログラムが書ける
  7. バージョン管理等の各種自動化ツールOSネットワークデータベース等のプログラミング言語以外の技術理解している

最初の2〜3程度が「自分の思うプログラミングの全て」な人が、軽々しく「プログラミングは誰でも理解できる」などと思わないでいただきたいのです。それは実用上は全然足りていません。サンプルコードをググりながら、やっとこさVBA複数エクセルファイルを集計できる程度の人が「プログラミングできる」気になっていては困るのです。

上記の大部分は、自分プログラム他人に見せるつもりのある人なら十分に習得しておく必要があります。ましてや、プログラミングで飯食おうと言う人間が、FizzBuzzに毛の生えたようなコードを読み書きするのに精一杯で、効率保守性に気を配れないのは論外です。

上記特に後半に書いたようなことは、誰にでもできることではありません。ちょっとしたコツや方針を守れば機械的にこなせるというものではなく、技術力の高い人でも熟考を要することです。彼らは、そうした高度なことを正しく考える力があるから技術力が高いのです。そういう力は、誰かに用意してもらったカリキュラム受動的にこなすだけではまず身に付きません。

ログイン ユーザー登録
ようこそ ゲスト さん