「XOR」を含む日記 RSS

はてなキーワード: XORとは

2025-11-06

勉強になった

Q.

生成AIソフトウェア開発を支援してもらう場合ソースコード作成を依頼する形式が多いと思いますが、実行ファイルを直接出力してもらうことも技術的には可能なのでしょうか?

A.

生成AIによる実行ファイルの直接出力は、技術的には極めて困難です。現在のLLM(大規模言語モデルベースの生成AIは、ソースコードの生成には向いていますが、実行可能バイナリファイルを直接出力することには根本的な制約があります。​

技術的な制約

LLMはテキストベーストークン処理を基本とする設計であり、バイナリデータを直接扱うことができません。実行ファイルは0と1の連続したバイナリコードですが、LLMはこの形式データを生成するようには訓練されていないため、バイナリファイルを直接出力することは現在アーキテクチャでは実現が困難です。​

従来のソフトウェア開発では、ソースコードコンパイルアセンブルリンクという複数段階のプロセスを経て実行ファイルが生成されます。各段階で最適化機械語への変換が行われるため、この過程を完全に省略してAIが直接バイナリを生成することは技術的に非常に複雑です。​

理論的な可能

研究レベルでは、バイナリデータを扱う試みも存在します。例えば、LLM4Decompileのような研究プロジェクトでは、バイナリコードを逆コンパイルする際にバイナリを一度アセンブリ言語に変換してからLLMで処理しています。逆に言えば、生成時も同様の変換プロセス必要になると考えられます。​

現実的アプローチ

実務では、生成AIソースコード作成してもらい、それを従来のコンパイラビルドツールで実行ファイルに変換する方式標準的です。この方法であれば、デバッグテストも容易で、生成されたコード品質確認しながら開発を進められます。​

なお、フォントファイルのようなバイナリ形式でもオープンソースとして扱われる例はありますが、これはフォントという特定用途場合であり、汎用的な実行ファイル生成とは異なります

Q.

画像生成もバイナリを生成しているわけで、同じようなことができるのではと思ったのですが、そこはぜんぜん違うのですね

A.

おっしゃる通り、画像生成AIバイナリを出力しているという点では共通していますが、実は根本的に異なる仕組みで動作しています。​

アーキテクチャの違い

画像生成AI拡散モデル(Diffusion Model)やGANなど、視覚データ最適化された専用のアーキテクチャ使用しています。一方、LLMはTransformerベーステキスト処理に特化した構造を持っています画像生成では、ノイズから段階的に画像を生成するプロセスを経て、最終的にピクセル値という数値データバイナリ)を出力します。​

データ表現性質

画像ファイルバイナリ連続的な数値(ピクセル値)の集合であり、各ピクセル色情報を持つという規則的な構造です。最近研究では、画像ビットプレーンbit-plane)として扱い、XOR演算ノイズを加えるBinary Diffusion Probabilistic Model(BDPM)のような手法も開発されています。​

対して、実行ファイルバイナリ機械語命令の複雑な配列であり、CPUが直接実行できる命令コードデータセクション、リンク情報などが厳密な形式で配置されていますわずかなビット誤りでもプログラム動作しなくなるため、画像のような連続値とは性質が大きく異なります。​

学習データの違い

画像生成AIは、ImageNetやLAIONなどの大量の画像データセットで訓練されており、ピクセルパターン学習します。一方、実行ファイルを生成するには、コンパイルプロセス全体(構文解析最適化機械語変換、リンク)を学習する必要がありますが、これは単純なパターン学習では実現できません。​

したがって、画像生成AI成功しているのは、画像という特定ドメインに特化した設計と、規則的なデータ構造があるためであり、同じ手法を実行ファイル生成に適用することは技術的に非常に困難です。

2025-11-01

国産LLMの人」が成功できますように

一般的国産LLM開発という主語ではございません.

私としては国産なり日本発のLLM開発を諦めてはならないし, その可能性は十分にあると信じています. 既に出ているものも多数ございますし.

エントリはそれとは全く別の,

国産LLMの人」という方についてです.

---------

色々思うところがありまして.

例えば,

微分は使いたくない」「XOR出来たから何とかなるやろ」

と繰り返し主張しておられる.

そのような単純な活性化関数では過学習か誤差が噴出するかの二択でしょう. 実際, 氏のツイートは正にその状態示唆しているように見受けられます.

```x

▶︎ 誤差が0.12あるだけでとんでもないエラー率になる。誤差関数が雑だから本当はもっとあるのかもしれないが、改善余地がある。

▶︎ 問題は、どのような状態の時に学習成功し、失敗するのかがまだ分かっていない。表現力は十分に持っているはずなのに、なぜか学習しない。

```

過学習に至ったときにうまくいってるように見えるだけでしょう.

と思うのですが, 反論過去にされていた.

```x

▶︎過学習ではないですね。データセットが小さいかつ、それ以外の範囲が出ないことが分かっているので。XORは2^2パターン全て学習できれば精度が100%になりますが、それは過学習とは呼ばないのと同じで、今回の初期のRNNに関しても文字数が圧倒的に少なく、パターンも決まっているので。

```

……と主張されておられる.

私が思うにそれは単純な写像を, ニューロンを使って回り道して作っている状態. LLMは局所的にはたしか線形写像ですが,全体で見ても線型写像だとしたらそれは複雑な文章生成には到底耐えられないかと. (十分に大きいモデルマクロに見ると非線形性があるので)

大規模言語モデル=LLMを目指すとして,

そもそもエンベディングテーブルとは数百億から下手すれば1兆語彙を, たった数千〜1万次元程度のベクトル表現する, 凄まじく繊細なテーブルです.

それをGELUやSwiGLUのような綺麗な活性化関数を使わずに, しか爆速でやると仰っている. さすがにそのレベル革新性を主張するには根拠がない限り, 飛躍が過ぎると判断されるかと.

そのやり方で, 例えば1億語彙までスケールするとして2乗の1京回×数千次元バックプロパゲーションなしで学習するというのは……さすがにきついかと.

バックプロパゲーションが要らないという主張については活性化関数がきわめて単純だから. それなら全層に渡しても「修正」できるでしょう.つまり自明に近いですね.

勾配消失なんて関係ない, という主張については, xorというゼロイチでしか見ないのであれば勾配消失も何もありません. 永遠に層を貫通するわけですから, 何層増やそうがほとんど意味が出てこない. つまりそれは実際には極めて浅い層だけで動いてると思われる.

「こんに」から「ち」「は」が次文予測できたとの報告ですが, まぁ……それが「大規模言語モデル=LLM」にそのままスケールできると言い切れるのはなぜでしょうか?

MNISTだけでなくGLUEあたりをパスしてからにした方がいいと考える次第です.

```x

▶︎ 私が批判されながら、誤差逆伝播に変わるアルゴリズムや精度を30%→100%まで持っていく頭のおかしい行動が取れる理由は、以下の思想があるから

▶︎ 1. 私のNNは高次元の万能近似回路

▶︎ 2. RNNだろうがCNNだろうが展開すれば可能

▶︎ 3. 何十回と失敗した経験則から、原因と対策殆どわかっている

```

殆どわかってる, との事ですが, なんで上手くいってるのか分かってないとも自分で明言なさっている. ↓↓↓

```x

▶︎ 学習が進まないの、謎。単体だと上手く動いてるはず?何が原因だろうか。

▶︎ 学習アルゴリズム開発者本人ですが、なぜ学習が進むのかは謎です。

```

既存手法があまたの失敗の上で最適だと言われてきてる経緯もよく知った方がよい.

それはごく初期にそういった様々な試行錯誤のうえで「やはりGELUやBP現実的にいい性能が出せるし, コストも抑えてこれである」と様々な研究者合意しているような状況.

そして, そもそもアカデミアは自分アイディアも含めて新規手法を常に疑ってかかるのが基本姿勢.

ジャーナルに「不確実さ」を載せないためで, それが積み重なると自他問わず全ての研究が信用出来なくなってしまうため. だから懐疑的になる. 個人攻撃ではないのです.

そして「危険すぎるから論文にできない」について.

さないのも自由ですが, 前述の理由で信頼を得られない. これは言動に一切関わらず, その厳密性をフラット評価してそう判断しているから. 感情ではなく, 論理として.

……と, ここまで色々と蛇足アドバイスをさせていただいたものの, この投稿に対しても

```x

▶︎ 何もわかってない人が国産LLMのやつ批判してて吹いたww

```

といったツイートをなさるのでしょう. (過去に氏がそう仰っていたので)

先に答えておきますね.

自分のやってることがご自分でお分かりにならないようなら, 私にわかるわけがないですし仰る通りです. ただ, 詳しい者として一般論は申し上げられます.」

まだ間に合いますので, 大学院あたりまで修了なさるのがおすすめです.

Twitterに何を投稿しようと自由です. でも自分違和感を見て見ないふりするのだけはやめたほうがよろしい. 既存手法と同等に自分手法を疑うこと, これは研究者としての基本姿勢です.

何故ここまでつらつら申し上げたかと言いますと,

研究テーマ設定を見かけるとついつい, より良い筋でやっていけるようアドバイスしたくなってしまう性が染み付いてしまっているためでして.

もちろん, 関わりのない方ですので蛇足しかないのですが, 多くの方に影響力をお持ちでありつつ研究の進め方については独自姿勢を持つように見受けられまして.

それはもちろん根本的には自由でありつつ, 相談相手需要がもしあればひとつの(一般的)意見をお渡しできるかなと思いキーボードを叩いた次第です.

どうか匿名でご勘弁を.

ぜひ成功できますよう. 圧倒的な成果をお祈りしております.

--------

追記

おそらく氏のやられていることは順伝播 (forward propagation) のみでの学習かと思いますが, この手法の先行研究は山のように存在します.

(Hebbian theory, Perceptron, Adaptive Linear Neuron:ADALIN, Widrow-Hoff learning rule...)

見つけられないとすれば, 古典的 (1960~1980年頃) ゆえに電子化されていないためです. 現行の商用LLMがそれらの情報簡単連想して引用できず, DR等で検索しても出てこないのはその為でしょう.

これらに簡単アクセスするためにはやはり学術機関所属して図書館を利用するのが圧倒的に楽です. マイクロフィルムや紙媒体しか残っていないものもありますから.

また, 有料データベースであるJSTOR, IEEE Xplore, Springer Linkなどにもアクセスが出来ます.

この観点から大学に足を運ばれることをお勧めします.

なお, arXivあくまプレプリントですので, 論文として引用するには査読を通過したものをつよく推奨します. ジャーナルもものによっては不十分な査読掲載されてしまますので, トップカンファレンスのものを信頼できる足がかりの論理として扱うのが基本的な考え方となります.

また, 「分からなければ (大量に貼った) 論文を読んでください」という姿勢は, それぞれをどう引用し, どのように自分の主張と論理的に接続するかの説明がなされなければ根拠として見なされないのが一般的な考え方です.

ブログとしての掲載はもちろん自由ですが, それらを十分な説明として取り扱ってもらうには至らないでしょう.

あくま一般論ですが,

論文引用するからにはそういった丁寧な取り扱いをすることを期待されるものです. 「敬意がない」と他の方から指摘されるのはおそらくそれが理由でしょう.

これは, 過去論文引用しながら新たな主張を論文として営々と積み上げ続けてきたアカデミアの「過去への感謝」という慣習です.

人の行動は自由ですから「こうしろ」とは申し上げませんが, この暗黙の了解を保持する (≈研究機関所属したことのある) 方から理解を得るのはこのままですときわめて難しいであろう, とアドバイスさせてください.

こういった主張のやり方を自分なりに一から身につけるのはたいへん難しいので, どなたかそういった手法を学べる信頼できる方に師事することをおすすめしている次第です.

2025-02-16

anond:20250216114241

プログラム動作する仕組み

プログラム動作は、NANDゲートという基本的な要素から複雑なデジタル回路へと段階的に構築されることで実現されますNANDゲートは、入力が両方とも真(1)の場合にのみ偽(0)を出力し、それ以外の場合は真(1)を出力する論理ゲートです このNANDゲートが、デジタル回路の基本的構成要素として機能します.

1. 基本的論理ゲートの構成

NANDゲートは、それ自体が万能ゲート(universal gate)であり、これだけで他のすべての基本的論理ゲート(NOT、AND、OR)を構成できます.

2. より複雑な組み合わせ論理回路

基本的論理ゲートを組み合わせることで、加算器やマルチプレクサなどのより複雑な組み合わせ論理回路を構築できます

  • 加算器: AND、OR、XORゲートなどを組み合わせて、2進数の加算を行う回路を構成します。半加算器(half adder)や全加算器(full adder)がその例です。
  • マルチプレクサ: 複数入力信号から1つを選択して出力する回路です。ANDゲートとORゲートを組み合わせて実現できます
3. 順序回路とメモリ

組み合わせ論理回路にフィードバックループを導入することで、順序回路が実現されます。順序回路は、現在入力だけでなく、過去状態にも依存した出力を生成できます

4. プロセッサ構成

上記の要素を組み合わせることで、プロセッサCPU)を構成できます

5. プログラムの実行

プログラムは、一連の命令としてメモリに格納されますプロセッサは、プログラムカウンタが指すアドレスから命令を読み出し、命令デコーダ解釈し、制御ユニット制御下でALUなどの各ユニット動作することで、プログラムが実行されます。このプロセスを繰り返すことで、プログラム順次実行されていきます

このように、NANDゲートという単純な要素から出発して、段階的に複雑な回路を構成することで、プログラムの実行に必要なすべての要素が実現されます

2024-08-10

日本社会絶望的に科学研究に向いていない

注目の科学論文数、日本は過去最低の13位 1位中国、2位米国

増田某国立大学の工学部で教鞭をとる40代准教授である。その視点からの話であることはご承知おきたい。

こういう記事ブクマには政策が悪いとか選択と集中が悪いとか色々つくが、社会構造的に「向いていない」という話を書きたくてここに書く。

お金が無い

 みんな気になるだろうから、これを先に書く。

 最近になってにわか科学研究大事ということになって色々な研究予算が付くようになった。工学部だと企業との共同研究お話なんかももらえるので、えり好みしなければ研究費を取りやす環境にある。

 だが、大学にはお金が無い

 どういうことかというと、この手のお金は期限がついていたり使途が決まっていたり、いろいろと紐がついている。そして、必要なところには回せないことが大半なのだ

 例えば人件費民間企業ではありえないことだが、国立大が人ひとりを無期雇用で雇うためには、退職までの予算を確保することが必須なのだ。国から運営費交付金寄付金のような、必ず退職まで支払われることが確実な予算裏付けないと無期雇用の人を雇えない。民間企業なら、人を雇うときに予め退職までの給料を積み立てておくというようなことはせず、営業を頑張って給料を払うだけの売り上げを確保するものだと思うが、国立大ではそういうわけにはいかない。色々な企業との共同研究を締結し、外部資金を獲得して、その人の給料を確保する、仮にできなかったら身銭を切ると教授宣言しても、そういう期限付きの契約では無期雇用の人を雇えないのだ。

 秘書事務職員ならまだしも実験機材を維持管理する技術職員とか、研究員とかもこの縛りを受けるので、必要な人を必要なだけ確保することができない。運営費交付金人件費だけでなく建物設備の営繕にも使われるのだから、やれ70年代80年代に建てられた校舎の改築だとか、光熱水費だとか、とにかく運営費交付金の増額が望めず物価が上昇し続ける昨今、大学にはお金が無いのだ。

 ちなみに、外部資金をたくさん取ってきたからと言って自由に使えるわけでもない。大概の研究費は他の外部資金と混ぜて使ってはいけない縛りがあるので、例えば研究費A で岡山学会へ行き、次の日から研究費Bで広島の共同研究先で実験をする、みたいな場合でも、いったん大阪の自宅へ帰って一晩滞在することで研究費を分けないといけない。実験機材も合わせて購入するということはできない。100万円の研究費をふたつつかって150万円の機材を買うことはできないのだ。これが研究費は増えてもお金が無い、という事情の内幕である

学生がいない

 昔からアルバイトに熱心な学生サークル活動に精を出しすぎな学生は確かにいた。最近就職活動時間をかけすぎな学生が多い。夏休みはおろか授業期間中インターンにかかりきりだし、ウェブテストの後で何度も面接をさせられ、いきおい、学生疲弊している。日中の貴重な時間研究室ではなく就活に費やし、奨学金や親から仕送りでは足りない学生アルバイトまでしているのだから卒論修論の質は落ちる。企業ガクチカとか聞く前に、理系学生研究室で研究させてあげてほしい。学部生の卒論半年から1年しか期間が無いのに最後の数か月を除いて就活とまるかぶりだし、2年間しかない修士課程の1年は就職活動で消えている現状で、大学から研究成果が出ないと言われても、どうしようもない。

 研究というのは、専門書を読み、先行研究を調べ、仮説を立て、手を動かして仮説を検証し、その結果を文書にまとめるサイクルである。これがきちんとできる学生であれば、どんな仕事に就いても立派に働ける。たぶん。

 というか、企業採用も、もっと必要資格能力を具体的に書いてほしい。今どきの学生は真面目なので、特定資格を持っていると就職に有利だとわかればそれを取るようになる。大学だって国の資格などであれば学科免除などを取りに行って「就職に有利」みたいな売り文句学生を集めやすい。どんな企業だって欲しい資格能力採用時点で分かっているはずなのだから、それくらい明かしてくれてもよかろう。

博士課程に魅力がない

博士課程の大学院生、というのは研究を進めるうえで大変貴重な戦力である。なにしろある程度は自力研究を進めてくれるし、そのレベル論文として世に問えるものである

ところが、であるちょっと考えてほしいのが博士課程の魅力だ。日本博士課程は、基本的には学費を納入して「学ばせてもらう」スタイルである。その分研究テーマ自由度は高いし専門性を高めやすい。一方で、ある程度経済的に恵まれていないと、3年間の生活をどう工面するかという問題が常に付きまとってしまう。最近は、学振特別研究員のような昔からある登竜門的に限らず、各大学の工夫や国の政策博士課程進学者経済的に援助する仕組みが整い始めている。とはいえ、それらに通らなければ学費生活費を調達せねばならないし、採否の通知は年度末か入学後なので、まったく安心できない。どれほど優秀であろうと研究に向いていようと、金がない学生就活するしかないのだ。

 さらに、就活に際しても博士課程は買ってもらえない。就活サイトを見ればわかるが、技術採用でも研究採用でも、博士号持ちの人の初任給は明示されない。修士課程初任給しか書かれていない。これを見た学生は、修士号持ちと博士号持ちの初任給は同額だと理解する。聞くところによると、博士号持ちの初任給修士号入社三年目くらいかそれ以上らしいのだが、書かれていない情報などあてにできないので、就活する側からみると前述の理解となる。これでは、博士号を取っても何も良いことはなさそうである

 欧米ではではの出羽守だが、海の向こうでは、博士課程というのはプロジェクトから人件費支給される研究である仕事の扱いだから労基法にも守られる。しかも、博士号を取れば仕事の口も増えるし給料も上がる。

 ドイツなんかに行くと、博士号持ちは英語さえ話せれば仕事に就けるが、修士号まではドイツ語を話せないと仕事がない。Dr. と表札に書けるオマケはさておくにしても、それくらい社会的な扱いに差があるのだ。もちろん、給与の出どころである研究プロジェクトが終わると別のプロジェクトで雇われるまで博士課程を続けられないとか、プロジェクトの元締めである指導教員と相性が悪いと人生大惨事になるとか、いろいろなデメリットもあるが「博士課程の研究員」という仕事に就いている扱いなので、無理だと思うとみんな中途採用企業転職したりする。それくらい、普通仕事の扱いであれば進学者も増えるだろうし、博士号を取っておけば食うに困らないくらいの扱いになってくれれば、みんな喜んで進学してくれるんじゃないかと思うがいかがだろうか。

大学教職員は忙しすぎる

 大学安定的予算が十分ないために人を雇えないという話を最初に書いたが、そのツケをどう払っているかというと、パーマネントの教職員が頑張って回している。いや、有期雇用教職員やらせることもあるけど。来年度には任期切れで退職するような教員入試問題を作らせたりされてよいものか?高校への出前講座とかアウトリーチ活動必要だと言われたとき来年退職する先生を送り込んで誰が進学してくれるのか?定年退職した技術職員の後任は予算不足で雇えませんでした、となったときに機材の修繕を誰がやるのか?それでなくても、学生就職研究指導の面倒は必須である

 というわけで、大学先生講義以外にもやることがだくさんあるのだ。とても研究をしている場合ではない。雑務と呼ぶ人もいるが、講義研究以外にも誰かがやらねばいけない仕事なのだから「雑」はないだろう。とはいえ、昔は若手の教員がやっていたような事柄も、若手ほど任期付きになってしまったのでシニア教員がやらねばならなかったり、幸運にも無期雇用を勝ち取った若手に集中してきたりするので、DXで仕事効率が2倍になっても仕事は3倍に増えるのだ。偉い先生方は偉い先生方で、改革と称して新しい企画を立てないと予算をくれなくなったので、朝令暮改もいいところのマイナーチェンジお茶を濁したような企画書をいか気宇壮大に書き直して追加予算をゲットするかに時間を使っている。夏休みも暇かといえばさにあらず、老いも若きも科研費などの外部資金申請書と格闘している。倍率が10倍近くても、何とかして手に入れないと満足に研究ができないのだから仕方がない。

 ちなみに、大学によって、また学部学科によって異なるが、国立大教員競争資金なしに受け取れる、平たく言うと自由裁量経費みたいなものは、年10万~30万円くらいである。国際学会の参加費が10万円を超え、海外論文誌の投稿料も10万円くらい取られるこのご時世に、である。どれほど世紀の大発見をしようとも、世に問うためには論文化して論文誌に掲載されねばならず、掲載されるためには投稿料を払わねばならないのだ。そして、その投稿料ともらえる経費がほぼ同額ということは、外部資金が無ければ研究 XOR 投稿という選択肢になってしまう。日本論文誌であればもう少し安く、数万円で済む。ただ、そういうところに掲載されても「注目の科学論文数」にカウントされることはない。これが現状である

 それにしても、研究をして論文を書いて世に問うためには先立つもの必要で、それが外部資金が無ければ全く足りていない、という状況であるにもかかわらず、外部資金を取るためには論文を世に出さねばならないというのは何とも困ったものである。このあたりの必要経費と割り当て予算アンバランスはどうにかならないものだろうか。



 というわけで、大学先生というのは、外部資金が無ければ研究ができないために年中予算の確保に腐心しており講義学生指導は当然やるのだから研究をしている暇はない。その先生を雇うお金はもちろんそれを支えるスタッフを雇う予算すら、外部資金のようなひも付き予算から支出できないために全学的に人手不足の状況で、この傾向は悪化こそすれ当面改善する気配はない。代わって研究の主力となりえるのは博士課程の大学院生くらいだが、日本人の学生ほどこっち方面キャリアに魅力を感じずに就職してしまう。それどころか就職活動過去にもまして無暗と時間を食うような仕組みになってきており、研究活動スキルアップさせようもない。これが日本社会の現状である

2022-11-05

anond:20221104111648

結局そのへんなんだろうな。  

それで思い出すのは、「または」を論理ORとして使った場合に誤解されることが多いという話。「または」はXOR解釈されがちなんだよなぁ…

2022-02-01

anond:20220201214513

(a or b) - (a and b)はゼロに近そう❌

a xor bはゼロに近そう⭕️

anond:20220201214331

ここで排他的論理和だしてくるなんて、本当にand覚えたてかよw

じゃあxorで表してみろよw

2021-08-18

anond:20210818211414

ANDの場合は左辺の式がfalseの時点で、右辺を評価するまでもなく演算結果はfalseとなり、

ORの場合は左辺の式がtrueの時点で、右辺を評価するまでもなく演算結果はtrueとなる。

これ自体プログラミング言語機能だと思ってるんじゃないか

からXORについても、なにかプログラミング言語の力で「左辺だけで演算結果を得られる方法があるのでは」という発想が出るんじゃないか

anond:20210818195639

あんまり他の言語のことはよくしらんのやけど

少なくともPerlxor演算子(^とは別に存在する)は数じゃなくて「式」に対して適用するxorやで

C#とかPythonは^演算子しかないけど、boolに適用した場合動作整数場合とは別に定義されている

anond:20210818193247

XORには

左辺の式がxxの時点で、右辺を評価するまでもなく演算結果はyyとなる。

ってパターンが無くて、必ず両辺を調べないと演算結果がわからいか

手短に済まないのか

プログラミング基本的手法の1つに、論理演算というものがある。

これは真偽値(真=true、偽=false)同士の組み合わせを評価し、結果をtrue/falseで返すというものだ。

この演算のための演算子の代表的ものがANDとORで、それぞれ論理積論理和という。

式aとbにtrue/falseのいずれかが定義されているとして、

a AND bだったらaとb両方がtrueときのみ、演算結果がtrueになり、

a OR bだったらaとbいずれかがtrueであれば、演算結果がtrueになる。


ということは、

ANDの場合は左辺の式がfalseの時点で、右辺を評価するまでもなく演算結果はfalseとなり、

ORの場合は左辺の式がtrueの時点で、右辺を評価するまでもなく演算結果はtrueとなる。

これを短絡評価といい、今どきのプログラミング言語では必ずこの仕掛けが実装されていると。


この他に、XORという演算子がある。

これは排他的論理和といい、演算子の右辺と左辺の結果が違う組み合わせの場合のみtrueとなる。

まりa=trueかつb=false場合か、a=falseかつb=true場合のみ、演算結果(a XOR b)がtrueとなる。


問題は、どういうわけかこのXORには短絡評価存在しないのだ。

どのプログラミング言語を調べても短絡評価がないので、かなり驚いている。

一体どういうこと?


(追記)

トラバがやかましいから言っとくけど、bool型XOR比較できる仕組みのある言語限定の話な。

2021-01-02

からBOOLの場合flagが偽の場合flag++をすると真になるが

真を++しても偽にはならない事が多い

他方boolの場合

int i;

bool f = i &1;

にかなり近いか

f = f&1;

場合 f++をすると偽にはなるが遅い そのためFlagを似せにするときXORを使う

というのはプログラマーがやることであって 無理やりコンパイラーでやろうとするから 遅くなる

コンパイラーは神か?問題

人間ツールから人間が協力することもある

プログラマーなどいらない、おれたちはミスなど許さない俺たちは全知全能の完璧だとでもおもっていないと、そんな事は起きない

 

これはしょうがいかプログラマーさんにお願いしようとおもっていると そうはならない

から相手が人だった場合 侮辱している おまえらはどうせサルなみの頭が悪いから こんなことお願いできないと相手侮辱していないとそんなことにはならない

 

人間を見下すなとおもうから

肺炎であるコロナに、なぜか手を洗えというような食堂関係の指示が出ても

なぜかなぞのつながりでそうなるんだろうと信じるしか無い

から肺炎からマスクのほうがいいなぁとおもっても、手を洗う

飛沫が肺に入ったら大変だから

2020-01-12

anond:20200112211011

話は違うけど

乃木坂ってAKBにつくんですか?欅坂につくんですか?どっち?パイソン使いだけにな!

 ↓

話は違うけど

乃木坂ってAKBにつくんですか?欅坂につくんですか?どっち?パイソン使いだけにな!

XOR 乃木坂,欅坂

※例:

2019-11-09

anond:20191109110921

検索したら「ブール代数では1+1=1」って記事がいくつも出てくるんだが。もしかして計算機科学世界ではブール束における「∨」を「+」で書く流儀があるのか?

ブール代数=ブール束=ブール環だから、+って書いたら普通はブール環における演算のことだと(俺は)思ったのだが。その場合xor解釈されるのが自然

"+"をxor意味で扱ってるブール代数テキストがあったら是非読んでみたいもの

2019-10-23

日常生活で【A or B】と言う時はほとんどの場合「A xor B」(AとBのどちらか一方)なんだから数学的な意味での「A or B」(AとBのどちらかまたは両方)は日常的な意味での「A or B」に【or】の表記を譲って新しい全く別の表記を使うべきだろ

なんで日常的な意味での「A or B」の方が新しい表記xor】を使わされてるんだよ

2018-10-31

TRICKxor” TREAT が正しい!」って言う人って

ビーフ or チキン」に「両方ください」って返すの?

2017-08-03

https://anond.hatelabo.jp/20170803114141

XORをゾアと読むと笑われるのに

NORをエヌオアと読むと笑われる

ふしぎ

プログラマーだけどXORのことゾアって読んで恥かい

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