数学の世界では、この「一つのものを作り上げている部分部分」をなるべく抽象化してそれらの関係を求めるということが基本のアプローチとなる。数学とは数の学と書くが、古代からそれがすべてかというとそうではなく、例えば幾何学の世界は空間や図形の学問であって必ずしも数の学ではない。遠山はこれらを受けて、数学の起源として人類のもののパターンを認織する能力をあげている。本書によると、このパターンを認織する能力により複雑なこの世界を理解可能な形に切り出して、学問として昇華し数学として成り立たせていると述べられている。これは例えると、1,2,3,...というシンプルな数の概念も、単純に数だけではなく2個のりんご、2個のみかん、2人の人間、2匹の犬等の異なるものの間にある共通の形態、もしくはパターンの抽象化により導き出されたものが2という抽象的な概念であるとしている。以前述べたプログラミング言語は、形式言語と呼ばれる言語の一種となる。形式言語とは、もとになる記号の集合(アルファベット等)と,生成規則(文法)から,生成することの出来る文字列(言葉)の集合をいい、数理論理学と呼ばれる数学が理論的基盤となる。数理論理学は数学の基礎となるもので、集合論や証明論等を用いて数学のありとあらゆるものを定義したり証明したりする学問である。有名なものではZFC公理系を用いた古典数学体系の証明などがある。ここで行われていることは大雑把に言うと、基本パーツを定義して、それらを組み合わせて、大きな世界を構築していくことになる。その数式プログラミングできますか?この本のテーマはプログラミングだが、ほとんどのプログラミング本と異なり、アルゴリズムやコードに加えて、数学証明や、古代から現代までの数学上の発見に関する歴史的経緯が含まれている。programming)となる。Library)が開発された。ここで、ジェネリックプログラミングとは、アルゴリズムとデータ構造を設計することに焦点を合わせ、効率を低下させることなく、それらを最も一般的な環境で動作させるためのプログラミング手法となる。読書メモ現代数学でどんな役割を果たしているのか?「集合」抜きに現代数学は展開できない。集合とはなにかという問題は、新しい集合の公理の探究という問題をはらんで、現代数学の最も深い問題といってよい。Thinking)は、問題解決やタスクの実行において、論理的な手順やアプローチを考える能力やプロセスを指す。アルゴリズム思考を持つことは、さまざまな複雑な課題に対処する際に役立つ重要なスキルとなっている。アルゴリズム思考における「問題の分割」は、大きな問題を複数の小さな部分問題に分けるプロセスであり、このアプローチにより、複雑な問題を扱いやすい単位に分割して、大きな課題がより理解しやすく、それぞれの部分問題を個別に効率的に解決できるようになるものとなる。「問題の分割」は、一般的な問題解決のステップにおける”最初の一歩”とも言える。マコーミックによる「世界で最も強力な9のアルゴリズム」は現在のコンピューター技術のベースとなる概念をシンプルな表現で説明している中初心者向けの読み物だ。ここで述べられている「アルゴリズム」はソートとかデータ構造とかの一般的意味ではなく、検索エンジンの原理とか、機械学習の原理とソフトウェアがどう動いているかに対して、コンピューターサイエンスの理論に基づいて説明したものとなっている。それらの中からいくつかを紹介したい。検索エンジンのページランクアルゴリズム検索技術については以前にも概要を述べた。今回はその中でもグーグルを現在の位置に押し上げた検索の革新的なアルゴリズムであるページランク技術について述べる。これは、前回述べた検索エンジンの2つの要素のうちの後半部分の検索結果のランク付け技術になる。このページランク技術の前提技術としてハイパーリンク技術を用いる。これはクリックすると別のWebページにジャンプできるような機能で、このブログの中にもあるアンダーラインがついた部分となる。Think」の中でも「文書を保存して自動的に索引を作ったり」、「連想的なインデクシング、つまり、任意の項目が、ただちに、そして自動的にほかの項目を意のままに選択する機構」等を持つmemexというマシンとしてすでに記述されている。以前データベースについて利用する視点でまとめたが、今回はもう少しメカニズム寄りの視点で述べてみたい。wikiでのデータベースの定義では「検索や蓄積が容易にできるよう整理された情報の集まり。通常はコンピュータによって実現されたものを指す。本書ではこの蓄積すると言う概念をもう少し深掘りし、データベースが他の情報保存方法と違う最大のポイントとして、データベース内の情報が予め定義された構造を持っている事としている。一つの特徴として「一貫性」をあげている。リレーショナルデータベース今回は最後に残った重要なアルゴリズムであるリレーショナルデータベース」について。データベースは構造を持ったデータであり、最もシンプルなものは表の構造を持ったものになる。表の構造はは一つではなく複数に分割した方が効率的な場合がある。圧縮技術には大きく分けて「ロスなし圧縮」と「ロスあり圧縮」の二つの技術がある。「ロスなし圧縮」は圧縮されても元のデータを完全に再現できるため本来であればこれ一つあればよいが、圧縮率がそれほどよくできないと言う課題を持つ為、「ロスあり圧縮」が利用されている。「ロスなし圧縮」の基本原理は、データが反復している部分を見つけてそれを省略することにある。画像情報(JPEG)等に用いられるデータ圧縮のアルゴリズムについての紹介。計算できない問題についてここではコンピューター(のアルゴリズム)でできないものは何かについて述べられている。ここで言われているアルゴリズムは自動車を完璧に運転したり、学生の成績を見事に評価したりする難しい問題のことではなく、本質的に「計算できない問題」についてとなる。説明の題材として、ソフトウェアのバグ、クラッシュを検出するチェックツールについて上げている。結論から言うと、どのプログラムツールでもすべてのクラッシュを起こしそうな場所を見つける事が不可能な事は証明できるというものになる。誤り訂正符号アルゴリズムコンピューターの行う3つの仕事について定義されている。一つが計算を実行すること、二つ目がデータを保存する事で、三つ目がデータを伝送することだ。ソフトウェア的な観点からはデータを保存する機能はデータベース技術に代表され、データを伝送する機能はインターネットを始めとするウェブ技術に代表される。データの伝送と保存を考えた時に、最も重要なことはそのデータを「完全に正確に」保存/あるいは伝送することにある。それに対してメモリや通信等のハードウェアには必ずノイズや誤動作が付きまとい100%の動作は保証してくれない。その為ソフトウェア的な工夫で「完全に正確に」を担保してやる必要があり、それらを実現する技術の一つが「誤り訂正技術」になる。「完全に正確に」なデータの保存/伝送手法は、データの冗長度をあげることになる。three」という形で伝送すると、前者の場合は1文字エラーが生じても元のデータが完全失われてしまうが、後者の場合は例えば「five」の一文字が代わり「fave」となったとしても、前後の情報で「five」に修正できる可能性が高い。デジタル署名アルゴリズムデジタル署名の「署名」は読めるけれど誰にもコピーできないものと定義される。これは誰でもコピーできる「デジタル」とは全く逆の概念となる。このパラドックスに解を提供するものがデジタル署名となる。デジタル署名はそもそも何のために使われるかと言うと、通常の手紙のように自分が誰かに送るものに署名するのではなく、誰れかから署名されたものが送られてきた時に、コンピューターがチェックするために存在している。ここで署名に必要な要件として、(1)署名の原本を保管している所は信頼のおける場所であること、(2)署名は第三者には簡単に偽造されないことの2つが挙げられる。公開鍵暗号法アルゴリズム一番シンプルな暗号の手法は「共有する秘密を持つ」ことから始まる。あるデータを特定の人にだけ送る時、その人とだけ共有している秘密の数字があるとする。(例:322)その時データとして8を送る時、それを加えたものを相手に送り(322+8=400)相手が、送られた数字から共有する番号を引き算すれば良い。これを更に実用的にするには、共有する数字が簡単に分からないもの、たとえばもっと長い数字を送れば良い。(例3桁の数字を秘密の数字にすると999通りあるが、この程度だとコンピューターは簡単にすべての組み合わせを試すことができる)一般的な暗号アルゴリズムでは送られたデータの30%を計算した桁数が鍵となるので、128ビットの暗号だと38桁で1兆の一兆倍の1兆倍より大きな数字となる。これを現在のコンピューターで計算すると10億年単位の時間がかかるので、安全な方式だと判断できる。バブルソート、クイックソート、マージソート、選択ソート、ヒープソートデータのソート(並べ替え)はアルゴリズムの基本となる。ソートのアルゴリズムとしては以下に示すようなものがある。隣接する値同士を比較し入れ替える作業を繰り返す「バブルソート」、ピポットと呼ばれる基準値を定めて、データ群を基準値以上と基準値未満の2つのグループに分ける作業を繰り返すことで要素の入れ替えを行う「クイックソート」、データを最小の単位(単一要素)まで分解し、最小の単位からソート、マージ(併合)を繰り返して要素を並び替える「マージソート」。DeepMindによって開発されたコンピュータ囲碁プログラムで、2015年10月に、人間のプロ囲碁棋士を互先(ハンディキャップなし)で破った初のコンピュータ囲碁プログラムとなる。コンピュータが人間に打ち勝つことが最も難しいと考えられてきた分野である囲碁において、人工知能が勝利を収めたことは世界に衝撃をもたらし、AlphaGoの登場は単なる一競技の勝敗を越え、人工知能の有用性を広く知らしめるものとなり、世界的AIブームを呼び起こすきっかけともなっていった。深層学習、モンテカルロ木、強化学習から見たその仕組み」の読書メモも併記する。オセロゲームの解法アルゴリズムとGNNオセロゲーム(Othello)は、2人で対戦するボードゲームで、白と黒のディスクを使ってプレイし、プレイヤーは自分の色のディスクを配置し、相手のディスクを挟んで裏返すことで自分の色に変えるのが基本ルールである競技となる。出来あいの論理学を天下り式に解説するのでなく、論理学の目的をはっきりさせた上で、それを作り上げていくプロセスを読者と共有することによって、考え方の「なぜ」が納得できるようにした傑作テキスト。初歩の論理学が一人でマスターできる。読書メモめくるめく非古典論理の世界にようこそ(古典論理は神の論理である。与えられた命題論理式が真となる変数の割り当てが存在するかどうかを判定する問題となる。割り当てが存在するかどうか」という問題があった場合、これを命題論理式に変換し、その式が充足可能かどうかを判定するものとなる。問題、暗号理論など、多くの応用分野で重要な役割を果たしている。理論的な側面で見ると、SAT問題が解けるアルゴリズムは、「NP完全問題」であることが知られており、現在のコンピュータでは大規模な問題に対しては効率的な解法が見つかっていない。そのため、高速化や、ヒューリスティック探索アルゴリズムの開発などアルゴリズム効率化の為の研究が現在も行われている分野の技術となる。Problem)の解法として使用することもできる手法となる。このアプローチは、欠損データや非完全データのような不完全な情報がある場合に特に有用となる。ここではこのEMアルゴリズムを用いた制約充足問題に関して、様々な適用事例とpythonによる実装について述べている。機械学習とルールの融合としての制約充足による線画のラベル付け画像情報のラベル付けは、後述する様に様々な機械学習のアプローチで実現できる。今回は、それら機械学習のアプローチとルールベースのアプローチである制約充足によるアプローチの融合について考えてみたいと思う。これらのアプローチは自然言語処理等を用いたテキストデータのラベル付け等にも拡張できるものとなる。人工知能技術の中で複雑な知識情報を構築するための論理プログラミングの参考論文である人工知能学会誌(2010.5)論理に基づく推論研究の動向の中から「解集合プログラミング」より。データベースなどに幅広く有用されている。Prologはチューリング完全で高い計算能力を持つ一方で、そのベースとなるホーン節論理プログラムは構文上の制約や推論能力の不足により、現実の知識表現や問題解決への適用は限定的であることも明らかになっている。確率と論理の融合(1)ベイジアンネットとKBMCとPRMとSRL以前述べたベイズ推定の応用としてベイジアンネットがある。マーケティング、レコメンドシステムなど様々な分野で利用や研究が行われている。以下のようなグラフ構造で表す。統計的関係学習)について述べた。learning;確率論理学習)について述べる。network;マルコフ論理ネットワーク)等のSRLは関係式や論理式を使い確率モデルを豊かにしようという発想に基づいており、関係式や論理式を使うものの、術後論理を確率によって豊かにすることは直接の目的ではない。人工知能の分野では術後論理による知識表現が古くから研究されており、そこに確率を取り入れて、常に成り立つ論理的知識だけでなく確率的な知識も表現しようとする試みが統計的機械学習がブームになる以前からあった。Worlds)の考え方は、哲学や論理学の分野で主に使用される概念であり、現実世界とは異なる可能性のある世界のことを指している。これは、物理的な制約や法則によって制約されず、さまざまな要素や出来事が異なる方法で展開する可能性がある世界であるということを言っている。Theory)は、不確実性やランダム性を扱う数学の分野であり、事象が起こる確率や結果の予測を行うための枠組みを提供するものとなる。このような観点で考えると、確率論は、現実世界での事象の確率を評価するだけでなく、可能世界での事象の確率を考慮するということもできる。コンピュータビジョンなどのサブ領域に分けられるものとなる。AIは確率論や統計学の手法を活用し、現実世界での事象やデータを解析し、予測や意思決定を行うことが主な目的となる。Recommendation近年、キーワード検索によって関連する実体をランク付けし、推薦する技術の開発が進められている。情報検索(IR)の分野では、クエリの時間的な特徴を考慮して文書の関連性を評価することがトレンドとなっている。これは文書検索エンジンでは確立された機能となっているが、実体の推薦においては時間の重要性がまだ認識されていない。本論文では、時間を考慮した実体推薦のタスクを導入することで、このギャップを解決する。本論文では、Web上で公開されている様々なデータソースから抽出された実体の異種知識を利用し、実体の推薦に時間を考慮した初の確率的モデルを提案する。提案手法を広範囲に評価した結果、時間を考慮しない推薦手法と比較して、大幅な改善が見られた。読書メモ“矢印”が描きだす、豊穣なる現代数学の最前線。現代数学における最重要分野の一つともいえる圏論。あらゆる領域で豊かな威力を発揮しつつある。本特集では圏論の基本からさまざまな応用の実際、さらには哲学的な射程についても紹介・検討することで、今ひときわ注目をあつめる数学的思考法の真髄に迫りたい。組合せ最適化理論は、輸送計画、スケジューリング、配置、組合せ問題、そして最適化問題など実世界の多くの問題に応用されている理論となる。この問題は、ある個数の要素から構成される集合の中から、制約条件を満たす部分集合を見つけ、その中で最も優れた解を求めることを目的としたもので、ある制約条件の下で最適な解を求める離散的な最適化問題を扱う数学的な手法の一つとなる。prior)」がある。ゲーム理論の概要とAI技術との融合と実装例ゲーム理論とは、競争や協力など、相互に影響を与えあう複数の意思決定者(プレーヤー)が存在する場合に、彼らの戦略とその結果を数学的にモデル化することで、最適な戦略を決定するための理論となる。これは主に経済学や社会科学、政治学などの分野で用いられている。手法が用いられている。ここでは、R、Python、Clojureでの実装例について述べる。Optimization)は、組合せ最適化の一種であり、特定の性質を持つ関数である劣モジュラ関数を最大化または最小化する問題を解決する手法となる。ここでは、この劣モジュラ最適化に関して、様々なアルゴリズム、適用事例、及びそれらの実装例について述べている。Programming)は、最適化問題を解くための数学的手法の一つであり、特に重複する部分問題を持つような問題に適用される手法を指す。動的計画法は、一度計算した結果を保存して再利用することで、指数的な計算量を劇的に減らすことができるため、効率的な解法を提供する。ここでは、この動的計画法に対して、様々なアルゴリズムとpythonによる具体的な実装方法について述べている。数理最適化の一種であり、連続変数と整数変数を同時に扱う問題のことを指す。この分野は、さまざまな産業やビジネス領域で現実的な問題を解決する際によく用いられ、混合整数最適化の目標は、目的関数を最大化または最小化する際に、制約条件の下で最適な変数の値を見つけることとなる。ここでは、この混合整数最適化に関して、様々なアルゴリズムと実装について述べている。グラフデータアルゴリズムと人工知能への活用グラフはものや状態といった対象同士の結びつきを表すための表現方法となる。多くの問題をグラフの問題に帰着することができるため、グラフに関するアルゴリズムが多く提案されている。Programming)は、最適化問題を解くための数学的手法の一つであり、特に重複する部分問題を持つような問題に適用される手法を指す。動的計画法は、一度計算した結果を保存して再利用することで、指数的な計算量を劇的に減らすことができるため、効率的な解法を提供する。ここでは、この動的計画法に対して、様々なアルゴリズムとpythonによる具体的な実装方法について述べている。音声認識には用途に応じて幾つかの種類があり、それに応じて方式が異なる。発生できる内容の違いでの分類は以下となる。使用者の観点からの分類として、特定話者認識と不特定話者認識がある。離散単語認識について。recognition)と呼ぶ。語彙はあらかじめ定められており、使用者があらかじめ発生可能な語彙が何かを把握している必要がある。単語間の関係を考慮する必要がないのでアルゴリズムは簡易になる。動的計画法のアルゴリズムとデータ構造ある計算式に対して、一度計算した結果をメモに記録しておき、同じ計算を繰り返し行うという無駄を避けつつ、それを再利用することにより効率化を測ることは、プログラミングやアルゴリズムの設計を行う絵腕有効なアプローチとなる。その手法の一つが動的計画法となる。こここで数列からいくつかの数を選んで、それらの和でmが作れるかを全検索的に求める問題について考える。この問題は再帰・分割統治法で解くことが可能であるが、効率は良くない。これに対して動的計画法を適用することで高速化することができる。このアルゴリズムは以下のようになる。プランニング問題(1)-動的計画法を用いたアプローチと理論的裏付けある環境内におけるエージェントが、現在の状態を観測し、取るべき行動を決定する問題を扱う機械学習である強化学習の参考図書である機械学習プロフェッショナルシリーズ「強化学習」より。あるプランニング問題について述べる。プランニング問題(2)動的計画法の実装(価値反復法と方策反復法)ある環境内におけるエージェントが、現在の状態を観測し、取るべき行動を決定する問題を扱う機械学習である強化学習の参考図書である機械学習プロフェッショナルシリーズ「強化学習」より。あるプランニング問題の理論的概要について述べた。今回はプランニング問題の実際のアルゴリズムについて述べる。読書メモメタヒューリスティクスとは、難度の高い最適化問題を解くための経験的手法(ヒューリスティクス)を有機的に結合させたものであり、最近では、実務的な問題を楽に解くためのフレームワークとして、実務家の間でよく用いられる最適化アルゴリズムとなっている。実際問題を解くとき、ある程度のプログラミングの腕と、メタヒューリスティクスの選択眼と、設計のコツさえつかんでいれば、比較的短時間でロバスト(頑強)な解法を設計できる。Optimization、PSO)は、鳥や魚の群れの行動をモデル化し、自然界の群れの動きに着想を得たもので、進化計算アルゴリズムの一種であり、複数の個体が群れを形成し、最適解を探索する手法となる。PSOは、局所解に陥りやすい遺伝的アルゴリズムよりも、より広範な探索空間を探索できることが特徴となる。他の進化計算アルゴリズムよりも計算時間が短く、高速に最適解を見つけることができることがある。PSOは、機械学習や最適化問題の解決に広く用いられており、多数の研究や実用例が報告されている。オントロジーとPSO前回は類似性を表す方程式のセットを用いた反復的な類似性計算アプローチについて述べた。今回はそれらを更に拡張した最適化アプローチについて述べる。今回はそれらの中からまず、期待値最大化と粒子群最適化の2つの手法について述べる。オントロジーと遺伝的アルゴリズム前回はアライメントのソートのための機械学習について述べた。今回はマッチングのチューニングアプローチについて述べる。新しいコンテンツを生成する人工知能技術を指し、代表的な生成系AIの例として、以下のものがある。禅(ぜん)は、仏教の一派である禅宗(ぜんしゅう)に由来する、主に中国・日本を中心に発展した仏教の一形態であり、また独自の修行法や哲学を持つ思想・実践の体系を指す。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。作成者hummingbirdAI/IT技術全般およびそれらを使ったビジネス立案に関してアドバイスいたします。作成者hummingbirdAI/IT技術全般およびそれらを使ったビジネス立案に関してアドバイスいたします。お困りごとがあればご連絡くださいhummingbirdをフォローするモバイルバージョンに移動タイトルとURLをコピーしました。