タグ

言語と数学に関するnanakosoのブックマーク (8)

  • 【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - Qiita

    プログラミング言語が2-圏として考えられるということについてソースから訳出した。(2023.2.22) 動機 最近、chatGPTにいろいろ尋ねるのが流行っているらしい。Haskellで有名なモナドの概念がなぜ導入されたか尋ねている人を見かけて、そういやそういう記事見たことないなと思ったので適当に調べた。 一次ソース 元ネタは以下のマイナーだと思われる文献 An abstract view of programming languages Eugenio Moggi教授のあんま読まれてない方の論文 Denotational Semantics Peter D. Mosses教授のこの論文(2部あって後半の方) 邦訳があり邦訳で読んだ。 プログラミングのモナド発見の経緯 プログラミングのモナドはなんか包んだり抜き出したり見たいな感じの概念で知られてますが、プログラミングの概念をモジュール化す

    【追記あり】ChatGPTじゃなくて人力でモナドが発明された経緯を適当に調べた(ソース付き)。 - Qiita
  • 直和型の代わりにユニオン型を持つ静的型付け関数型言語 Cotton

    // 割る2をする関数の引数が偶数であることを型によって強制する例(実用性はない) data O // 数字の0を表すデータ型 data S(A) forall { A } // +1を表すデータ型 // 型エイリアス type Nat = O | S[Nat] // 非効率すぎる他倍長整数 type Even = O | S[Odd] type Odd = S[Even] // 偶数を引数にとって2で割った結果を言語組込みの整数として返す関数 div2 : Even -> I64 = // 網羅性チェックつきのパターンマッチ | O => 0 | S(S(n)) => 1 + n.div2 TL;DR ユニオン型は直和型の上位互換である(追記あり)。関数型言語を作るときは直和型の代わりにユニオン型を採用するのもあり。 はじめに Cottonというプログラミング言語を2021年の夏頃から作

    直和型の代わりにユニオン型を持つ静的型付け関数型言語 Cotton
  • 論理プログラミング言語Logicaでデータサイエンス100本ノック

    Googleが発表したOSSプロジェクトである論理プログラミング言語Logicaを使って、データサイエンス100ノック(構造化データ加工編)の設問を解きながらどのような言語かを確認していく。 (BigQueryのクエリとして実行していく) 最初に、プログラミング言語Logicaの特徴を纏めておく。 論理型プログラミング言語: このカテゴリではPrologが有名 SQLにコンパイルされる: 現状BigQueryとPostgreSQLに対応 モジュール機構がある: SQLと比較した強み コンパイラはPythonで書かれている: Jupyter NotebookやGoogle Colabですぐ始められる Colabでチュートリアルが用意されているので、まずこちらからやると良いと思う。 コードの見た目は関係論理の記述に似ている。 事前に、データサイエンス100ノックのテーブルデータをBigQu

  • 型付けは難しい

    ベン・フィードラーのブログより。 型検査と型推論 型検査とは、あるプログラミング言語で与えられたプログラムを実行し、すべての変数や式が正しい型を持っているかどうかを調べるプロセスです。例えば、文字列は文字列に代入され、算術式は数値のみを使用するなどです。一部の言語では型推論を提供しており、コンパイラに自分で正しい型を見つけるタスクも提供します。言語の特徴に応じて、型検査と型推論の問題は、些細なものから決定不能なものまで様々です。 一般的な用語 完全性 正しく入力されたプログラムを全てチェックできれば、タイプチェッカーは完了です。 健全性 正しく型付けされたプログラムのみを受け付けるものであれば、型検査は健全です。 決定可能性 任意の入力に対して、その入力が問題を満足するかどうかを有限時間で計算できる場合、決定問題は決定可能です。決定可能な問題の例としては、素数判定や充足可能性などがあります

  • Word2Vec:発明した本人も驚く単語ベクトルの驚異的な力

    Word2Vecとは Word2Vecで演算処理する Word2Vecとニューラルネットワーク Word2Vecの仕組み CBoW Skip-gram Word2Vecを応用することができる分野 レコメンド 機械翻訳 Q&A・チャットボット 感情分析 Word2Vecの弱点 Word2Vecの派生系や類似ツール GloVe WordNet Doc2Vec fastText まとめ 参考 世界中のWebサイトの数は2014年に10億件を超えたようだ。そして、Facebookのユーザー数だけでも16億人を超えている。 そして、そのいずれもコンテンツの中身の大部分はテキストから成り立っていることだろう。 ということは、莫大に増大し続けるネット上のデータのほとんどはどこかの国の言葉だってことだ。世界中の人が毎日テキストデータを生成し続けたことはこれまでの歴史上無かったんじゃないだろうか。 もしそん

    Word2Vec:発明した本人も驚く単語ベクトルの驚異的な力
  • 数学とは言語である『脳はいかにして数学を生みだすのか』

    数学とは何か? もとは数の学問として始まったが、数論や幾何学を超えて、構造(群論)や空間(フラクタル幾何)、変化(カオス理論)まで広がっており、答えるのは容易ではない。 キース・デブリンの言葉を借りると、「数学はパターンの科学」あるいは「秩序、パターン、構造、論理的関係性の科学」になる。抽象化された対象のパターンに対し、定義と公理と論理を用いることにより、真理を確立する営みになる。この考えだと、流体力学や数理経済学ゲーム理論といった応用数学まで拡張できる。数学は科学の女王という理由はここにある。 そして、数学がどこから来たのか? 数学を生み出しているものは何か? と考えると、もっと面白くなる。書は、fMRIやPETによる脳研究から得られた知見を元に、脳の各部位における数理機能を還元的なアプローチで説明する。著者は理論物理学者の武田暁氏で、『脳はいかにして○○を生み出すのか』という問いか

    数学とは言語である『脳はいかにして数学を生みだすのか』
  • 自然言語処理に新風を巻き起こしたWord2Vecとは何か - 日経BigData

    言語データの分析と応用のために自然言語処理と呼ばれる分野で長年研究が行われて来た。同分野が昨年から大きく沸き立っている。米グーグルの研究者であるトマス・ミコロフ氏らが提案した手法「Word2Vec」が、いくつかの問題について従来のアルゴリズムよりも飛躍的な精度向上を可能にしたのだ。 この手法によって得られるベクトル空間には、今まで定量的に捉えることの難しかった言葉の「意味」を極めて直接的に表現しているかのような性質が認められている。今年9月、当社がスポンサー参加した自然言語処理系の研究発表会「NLP若手の会 第9回シンポジウム」でも、多くの研究がWord2Vecに関連したテーマについて取り上げていた。今後、意味解析、文書分類、機械翻訳など様々な分野でWord2Vecの応用が期待されている。 「意味ベクトル」の驚異的な性質 Word2Vecは、その名前の表す通り、単語をベクトル化して表現する

    自然言語処理に新風を巻き起こしたWord2Vecとは何か - 日経BigData
  • ロジバン - Wikipedia

    ロジバン ( lojban [ˈloʒban] ( 音声ファイル) ) は、ログランを元に、さらなる機能性を追求して LLG が開発を引率してきた人工言語である。1987年に公表され、1997年に文法が暫定的に完成、2002年から実用段階に入った。主にインターネットを中心とする国際的な研鑽が進んでいる。 ログランから継承したものも含め、ロジバンは以下の性格を有する。 言語表現の論理的な構造を正確に(そしてしばしば簡潔に)記述するために開発されてきた述語論理を文法の基盤としている。そのため、自然言語では表現が困難であるような複雑な構造をごく明晰に記述できる一方で、文芸的理由から敢えて多義的な表現を織ることもでき、自然言語と同様、話者の自在に任せた表現が可能である。『In the Land of Invented Languages』の著者でありエスペラントやクリンゴン語に精通している Ari

    ロジバン - Wikipedia
  • 1