タグ

ブックマーク / ja.wikipedia.org (35)

  • モナド - Wikipedia

    モナド (英:monad) モナド (哲学) - ライプニッツが著書『モナドロジー』(『単子論』とも)において提唱した哲学上の概念。 モナド (超準解析) - 数学の超準解析において、ある与えられた超実数に対して無限に近い全ての超実数の集合。 モナド (圏論) - 圏論における特定の性質を満たす圏代数<T ; μ , η>のこと。 モナド (プログラミング) - プログラミング言語の意味付けにおける完備な意味領域をモジュール性を持たせた形で分割するための枠組み。 モナド (レコードレーベル) - テイチクのかつてのレコードレーベル。 任天堂より発売されたWii用ゲームソフト『ゼノブレイド』(開発:モノリスソフト)の仮称時のタイトル(Monado: Beginning of the World)、および同ゲームに登場する重要アイテム(武器)。 このページは曖昧さ回避のためのページです。一つの

    kabakiyo
    kabakiyo 2009/07/27
  • アムダールの法則 - Wikipedia

    複数のプロセッサを使って並列計算してプログラムの高速化を図る場合、そのプログラムの逐次的部分は、制限を受ける。例えば、仮にプログラムの95%を並列化できたとしても、残りの部分である5%は並列処理ができないため、どれだけプロセッサ数を増やしたとしても、図で示したように20倍以上には高速化しない。 アムダールの法則(アムダールのほうそく、英語: Amdahl's law)は、ある計算機システムとその対象とする計算についてのモデルにおいて、その計算機の並列度を上げた場合に、並列化できない部分の存在、特にその割合が「ボトルネック」となることを示した法則である。コンピュータ・アーキテクトのジーン・アムダールが主張したものであり、アムダールの主張(アムダールのしゅちょう、英語: Amdahl's argument)という呼称もある[1]。 複数のプロセッサを使い並列計算によってプログラムの高速化を図る

    アムダールの法則 - Wikipedia
  • プロセス間通信 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "プロセス間通信" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2021年7月) プロセス間通信(プロセスかんつうしん、IPC、英: interprocess communication)はコンピュータの動作において、複数プロセス(の複数スレッド)間でデータをやりとりする仕組み。通信プロセスは、同一コンピュータ内で帰結するローカル、ネットワーク接続された別のコンピュータと相互にリモート、などのほかに多様な観点で分類され、スレッド間の通信帯域幅とレイテンシや扱うデータの種類も多種多様である。メッセージパッシング、同期、共有メモリ、RPC

  • 形態素解析 - Wikipedia

    形態素解析(けいたいそかいせき、Morphological Analysis)とは、文法的な情報の注記の無い自然言語のテキストデータ(文)から、対象言語の文法や、辞書と呼ばれる単語の品詞等の情報にもとづき、形態素(Morpheme, おおまかにいえば、言語で意味を持つ最小単位)の列に分割し、それぞれの形態素の品詞等を判別する作業である。 自然言語処理の分野における主要なテーマのひとつであり、機械翻訳やかな漢字変換など応用も多い(もちろん、かな漢字変換の場合は入力が通常の文と異なり全てひらがなであり、その先に続く文章もその時点では存在しないなどの理由で、内容は機械翻訳の場合とは異なったものになる)。 もっぱら言語学的な観点を主として言語学で研究されている文法にもとづく解析もあれば、コンピュータ上の自然言語処理としてコンピュータでの扱いやすさに主眼を置いた解析もある。以下は後者のためのツールを

    形態素解析 - Wikipedia
  • 仮想関数テーブル - Wikipedia

    仮想関数テーブル(かそうかんすうテーブル、英: virtual method table)あるいはvtableは、プログラミング言語の実装において動的なポリモーフィズム、すなわち実行時のメソッドの束縛を実現するために用いられる機構である。 あるプログラムが、継承関係にある複数のクラス(データ型)を持っているとする。たとえばスーパークラス Cat と二つのサブクラス HouseCat と Lion において、クラス Cat が speak という仮想関数(仮想メソッド)を定義しており、サブクラスは適切な実装(鳴く、吠えるといった)を行うものとする。 プログラムがspeakメソッドをCatへのポインタp(Cat クラスおよび Cat の任意のサブクラスを指すことができる)に対して呼び出すと、実行環境は、pが指す実際のオブジェクトの種類(型)に応じてどの実装を呼び出すかを決定しなければならない。

  • コルーチン - Wikipedia

    コルーチン(英: co-routine)とはプログラミングの構造の一種。サブルーチンがエントリーからリターンまでを一つの処理単位とするのに対し、コルーチンはいったん処理を中断した後、続きから処理を再開できる。接頭辞 co は協調を意味するが、複数のコルーチンが中断・継続により協調動作を行うことによる。 サブルーチンと異なり、状態管理を意識せずに行えるため、協調的処理、イテレータ、無限リスト、パイプなど、継続状況を持つプログラムが容易に記述できる。 コルーチンはサブルーチンを一般化したものと考えられる。コルーチンをサポートする言語には Modula-2、Simula、Icon、Lua、C#、Limbo、Swift などがある。マルチスレッドで理論的には同じことができるため、現在はそちらが使われるケースが多い。これはマルチスレッドであれば直接OSやCPUスレッドの支援を受けられることや、エント

  • 継続 - Wikipedia

    のようになる[3]。この式はすなわち、値 v を引数に取り、それに4を足した値を返す関数である。実際、この後 (+ 1 2) の計算結果が v に代入されて、4を足した値が最終的に計算結果が求められるため、この関数は確かに (+ 1 2) を評価する段階での「残りの計算」の表現である。 call/cc[編集] Schemeの call-with-current-continuation (call/cc と省略される) は、その時点での継続を引数として関数を呼び出す手続きである。Schemeの言語仕様書(R7RS[4])には「もっとも単純な例」として次のコードが載っている: このコードは、真正な(終端が空リストである)リストが渡された際にはそのリストの要素数を数えて返し、そうでない場合はfalse値を返す。 goto文を持つ言語の意味論[編集] 継続の概念はgoto文を持つ言語に意味論を与

  • クロージャ - Wikipedia

    クロージャ(クロージャー、英語: closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数にて利用可能な機能・概念である。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。この概念は少なくとも1960年代のSECDマシンまで遡ることができる。まれに、関数ではなくとも、環境に紐付けられたデータ構造のことをクロージャと呼ぶ場合もある。クロージャをサポートする言語によるプログラミングでは、単に関数の中に関数を定義することができるだけでなく、その際に、外側の関数(エンクロージャ)で宣言された変数を暗黙的に内側の関数に取り込んで操作することができる。主な利点としてはグローバル変数の削減やコールバック関数記述の簡素化が挙げられる。 典型的に

  • カリー化 - Wikipedia

    カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこと)である。クリストファー・ストレイチーにより論理学者ハスケル・カリーにちなんで名付けられたが、実際に考案したのはMoses Schönfinkelとゴットロープ・フレーゲである。 ごく簡単な例として、f(a, b) = c という関数 f があるときに、F(a) = g(ここで、g は g(b) = c となる関数である)という関数 F が、f のカリー化である。 関数 f が の形のとき、 をカリー化したものを とすると、 の形を取る。uncurryingは、これの逆の変換である。 理論計算機科学の分野では、カリー化を利用すると、複数の引数をとる関数を、一つ

  • ラビン-カープ文字列検索アルゴリズム - Wikipedia

    ラビン-カープ文字列検索アルゴリズム(英: Rabin-Karp string search algorithm)は、マイケル・ラビンとリチャード・カープが開発した、ハッシュ関数を利用してテキストからパターン(サブ文字列)を探す文字列検索アルゴリズムの一種[1][2]。1つのパターンの検索にはあまり用いられないが、理論的には重要であり、複数パターンの検索には効果的である。テキストの文字数が n、パターンの文字数が m とした場合、平均および最良の実行時間はO(n)だが、ごくまれに最悪性能として O(nm)となる(広く用いられないのはそのため)。しかし、k個の文字列のいずれかにマッチする部分を検索するのに要する時間は k によらず平均で O(n) となるという独特の利点を持つ。以下、単にラビン-カープまたはラビン-カープ法と略記することがある。 ラビン-カープの単純な応用例として、盗作の検出

  • R言語 - Wikipedia

    R言語(アールげんご)はオープンソース・フリーソフトウェアの統計解析向けのプログラミング言語及びその開発実行環境である。ファイル名拡張子は.r, .R, .RData, .rds, .rda。 R言語はニュージーランドのオークランド大学のRoss IhakaとRobert Clifford Gentlemanにより作られた。現在ではR Development Core Team[注 1] によりメンテナンスと拡張がなされている。 R言語のソースコードは主にC言語、FORTRAN、そしてRによって開発された。 なお、R言語の仕様を実装した処理系の呼称名はプロジェクトを支援するフリーソフトウェア財団によれば『GNU R』であるが[3] 、他の実装形態が存在しないために日語での慣用的呼称に倣って、当記事では、仕様・実装を纏めて適宜にR言語や単にR等と呼ぶ。 R言語は、「ベクトル処理」と呼ばれる

    R言語 - Wikipedia
  • 第一級オブジェクト - Wikipedia

    第一級オブジェクト(ファーストクラスオブジェクト、first-class object)は、あるプログラミング言語において、たとえば生成、代入、演算、(引数・戻り値としての)受け渡しといったその言語における基的な操作を制限なしに使用できる対象のことである。ここで「オブジェクト」とは広く対象物・客体を意味し、必ずしもオブジェクト指向プログラミングにおけるオブジェクトを意味しない。第一級オブジェクトは「第一級データ型に属す」という。 この言葉は1960年代にクリストファー・ストレイチーによって「functions as first-class citizens」という文脈で初めて使われた。 言語によって異なるが、第一級オブジェクトは概ね次のような性質をもつ。 無名のリテラルとして表現可能である。 変数に格納可能である。 データ構造に格納可能である。 それ自体が独自に存在できる(名前とは独立し

  • デヴィッド・リンチ - Wikipedia

  • 暗黙知 - Wikipedia

    暗黙知(あんもくち、英: Tacit knowledge)とは、経験的に使っている知識だが簡単に言葉で説明できない知識のことで、経験知と身体知の中に含まれている概念[1]。例えば微細な音の聞き分け方[2]、覚えた顔を見分ける時に何をしているかなど[3]。マイケル・ポランニーが命名[2][1]。経験知ともいう[2]。 暗黙知に対するのは、言葉で説明できる形式知[2]。暗黙知としての身体動作は説明しにくいが、経験知では認識の過程を言葉で表すことができる。 概要[編集] 暗黙知と形式知の関係を氷山に喩えた図 簡単に説明できないが、理解して使っている知識が存在する[2]。誰かの顔を見分けるということは、その人の写真を見せてもらえば覚えることができるが、諸々の特徴をいかにして結び付けているのかについては説明しにくく、これが暗黙知である[3]。 たとえば、自転車に乗る場合、人は一度乗り方を覚えると年月

    kabakiyo
    kabakiyo 2009/03/03
    間違って使ってた(汗
  • Reteアルゴリズム - Wikipedia

    Reteアルゴリズムとは、プロダクションシステム実装のための効率的なパターンマッチングアルゴリズムである。カーネギーメロン大学のチャールズ・フォーギーが設計したもので、1974年の論文で最初に公表し、1979年の学位論文や1982年の論文でさらに洗練された(参考文献参照)。数々のエキスパートシステムの基盤として使われており、JRules、OPS5、CLIPS、Jess、Drools、Soar、LISA、Microsoft BizTalk Server におけるビジネスルールエンジン、TIBCO BusinessEvents などがある。Rete とは、ラテン語の 'rete'(網、ネットワーク)が語源である。 素朴なエキスパートシステムの実装では、知識ベース内の既知の事実と規則(ルール)群を順次照合し、適合するルールを実行していく。ルール群や知識ベースがそれほど大きくなくても、この素朴な方