静岡理工科大学情報学部コンピュータシステム学科菅沼研究室のページです.主として,プログラミング言語( HTML,C/C++, Java, JavaScript, PHP, HTML,VB,C# ),及び,システムエンジニアとしての基礎知識(数学,オペレーションズ・リサーチやシステム工学関連の手法)を扱っています.
ここでは,順列の列挙について考えます。順列はいくつかの文字を順序を考慮して並べたものです。文字がどのようなものであるかは重要でないので,ここではまず,数字1からnまでを使った順列を考えましょう。例えば,1から4の数字から,3個とる順列は (1,2,3), (1,2,4), (1,3,2), (1,3,4), (1,4,2), (1,4,3), (2,1,3), (2,1,4), (2,3,1), (2,3,4), (2,4,1), (2,4,3), (3,1,2), (3,1,4), (3,2,1), (3,2,4), (3,4,1), (3,4,2), (4,1,2), (4,1,3), (4,2,1), (4,2,3), (4,3,1), (4,3,2). の計24個あります。一般に,n個のものから,r個取ってできる順列の個数は, n・(n−1)・・・(n−r+1)
この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "組合せ最適化" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2018年12月) 組合せ最適化(くみあわせさいてきか、英: combinatorial optimization、組み合わせ最適化、または組み合せ最適化とも表記される)は、応用数学や情報工学での組合せ論の最適化問題である。オペレーションズリサーチ、アルゴリズム理論、計算複雑性理論と関連していて、人工知能、数学、およびソフトウェア工学などの交差する位置にある。組合せ最適化では、厳密解が簡単に求まる場合もあれば、そうでない場合もある。厳密解を求めるのが難しいと思われる問題を解
高速なハードウエア,至れり尽くせりのユーザー支援機能を備えた開発ツール,高機能なクラスライブラリやフレームワークなどなど,近ごろのプログラムを書くためのお膳立ては,とても充実しています。しかし,どんなに環境が整っても,ソフトウエアを作るには何らかのアルゴリズムに従って問題を解きほぐし,プログラムにするという作業が相変わらず必要です。 そこで本特集では,まずPart1で身近な例からアルゴリズムというものに迫ってみます。皆さんが普段接している便利なソフトやサービスがどのような仕組みで動いているのか,その仕組みをのぞいてみましょう。教科書で勉強するようなアルゴリズムの話とはちょっと違うものも出てきます。中には,サービスの重要な要素をプログラムで処理せず,手作業に頼って実現しているものもあります。実用ソフトの世界で本当に使いやすいものを作るには,アルゴリズムだけわかっていてもダメなことが少なくない
ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま
研究に直接関係ないタイプの労働をしていると、先端の研究を追いかけるのが困難になってきます。 なんといっても論文を読む時間がとれないので有識者の記事やらスライドやら書籍やらに頼ることになるのですが、とはいえ1次ソースであるところの論文を確認しないとどうにもならない場合もありますし、複数本の論文を見てはじめてトレンドがなんとなくわかってくるということもあるように思います。 というわけで論文を効率的に読む力を得るぞ!という試みをやっています。参考になるかわかりませんが、この試みについて共有しておきます。 続きを読む 好きなライトノベルを投票しよう!! (http://lightnovel.jp/best/)に投票しようという気持ちになったのでエントリつくりました。 数日前に書いた2015年度 有益新作ラノベまとめ(http://d.hatena.ne.jp/echizen_tm/20151228
ナップサック問題とかメジャーなアルゴリズムすら綺麗さっぱり忘れてて困ります。リハビリにwikipediaを見ながらPythonで書いてみました。 ナップサック問題はn個の商品(それぞれ重さwと価値v)がある時に、キャパシティC以内の制約条件の元で最良の組合せを見つけるというものです。 それぞれの商品を1回しか選べない場合は、0-1ナップサック問題、複数回選択可能な時は123ナップサック問題と呼ばれていてアルゴリズムも違います。それぞれ書いてみたのが以下になります。 #!/usr/bin/python # -*- coding: utf-8 -*- # reference: http://en.wikipedia.org/wiki/Knapsack_problem # 0-1 ナップサック問題 (2次元動的計画法) # items = [{'w':weight, 'v':value}, {.
https://projecteuler.net/problem=29 前回は例えば2乗までのとき何個がダブるかをナイーブに数えていましたが、2乗までなら2~N/2がダブると分かるので、数えるまでもありません。6乗までだと、N/6~N/3の間は2から5の倍数はダブりますが、重複を考えると包除原理を使わないといけません。しかし、前回よりかなり速いはずです。最後のところで多倍長整数を使うとより大きいときも計算できます。でも30秒程度でした。実際のところ、が素数でないと速いです。 from collections import Dict from math import min, max, abs import sys #################### library #################### fn gcd(n: Int, m: Int) -> Int: return n
更新履歴 DNS拡張EDNS0の解析 Linuxカーネルをハッキングしてみよう Windowsシステムプログラミング Part 3 64ビット環境でのリバースエンジニアリング Windowsシステムプログラミング Part2 Windowsシステムプログラミング Part1 Contents インフォメーション 「TCP/IPの教科書」サポートページ 「アセンブリ言語の教科書」サポートページ 「ハッカー・プログラミング大全 攻撃編」サポートページ ブログ(はてな) BBS メール このサイトについて テキスト 暗号 詳解 RSA暗号化アルゴリズム 詳解 DES暗号化アルゴリズム crypt() アルゴリズム解析 MD5 メッセージダイジェストアルゴリズム crypt() アルゴリズム解析 (MD5バージョン) TCP/IP IP TCP UDP Header Format(IPv4) Ch
本連載ではアルゴリズムとデータ構造を学ぶ、または学び直すことで、プログラミングのスキルを深めていきます。アルゴリズムは学問として取り扱われることが多いですが、この連載では開発の現場に役立つスキルを身に付けることを目的とします。 機械学習/Deep Learningが気になる人も要注目、「アルゴリズム」の基本が学べる無料の電子書籍150ページ 人気連載まとめ読み! @IT eBook(29) 人気過去連載を電子書籍化して無料ダウンロード提供する@IT eBookシリーズ。第29弾では「コーディングに役立つ!アルゴリズムの基本」10回分を1冊のPDFとしてまとめた。アルゴリズムとは何か? なぜ学ぶべきなのだろうか?
最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登
来年も作りたい!ふきのとう料理を満喫した 2024年春の記録 春は自炊が楽しい季節 1年の中で最も自炊が楽しい季節は春だと思う。スーパーの棚にやわらかな色合いの野菜が並ぶと自然とこころが弾む。 中でもときめくのは山菜だ。早いと2月下旬ごろから並び始めるそれは、タラの芽、ふきのとうと続き、桜の頃にはうるい、ウド、こ…
Peter Norvig / 青木靖 訳 先週、2人の友人(ディーンとビル)がそれぞれ別個にGoogleが極めて早く正確にスペル修正できるのには驚くばかりだと私に言った。たとえば speling のような語でGoogleを検索すると、0.1秒くらいで答えが返ってきて、もしかして: spelling じゃないかと言ってくる(YahooやMicrosoftのものにも同様の機能がある)。ディーンとビルが高い実績を持ったエンジニアであり数学者であることを思えば、スペル修正のような統計的言語処理についてもっと知っていて良さそうなものなのにと私は驚いた。しかし彼らは知らなかった。よく考えてみれば、 別に彼らが知っているべき理由はないのだった。 間違っていたのは彼らの知識ではなく、私の仮定の方だ。 このことについてちゃんとした説明を書いておけば、彼らばかりでなく多くの人に有益かもしれない。Googleの
次へ: パターン認識とは パターン認識とニューラルネットワーク 栗田多喜夫 脳神経情報研究部門 産業技術総合研究所 E-mail: takio-kurita@aist.go.jp visitors since Feb. 14, 2001. パターン認識とは ベイズ決定理論 ベイズ決定方式 正規分布の場合 確率密度分布の推定 パラメトリックモデル 最尤法 ベイズ推定 ノンパラメトリックな方法 ノンパラメトリックな確率密度関数の推定 核関数に基づく方法 K-NN法 セミパラメトリックな手法 混合分布モデル(Mixture Model) 最尤法 EM アルゴリスム 階層型ニューラルネット 多層パーセプトロン 単純パーセプトロン 単純パーセプトロンの学習 多層パーセプトロン 誤差逆伝搬学習法 最尤推定としての定式化 多層パーセプトロンと非線形回帰 汎化性 情報量基準による汎化能力の評価 VC次元
大きさ w と価値 v を持った品物が N 個あり、これらを大きさ W のナップザックに入れたいとします。このとき、大きさの合計が W を超えず、価値の合計が最大になるような品物の組み合わせを求めたい。これがナップザック問題です。各品物を「選択する」か「選択しない」かの組み合わせなので、厳密には0-1ナップザック問題ともいいます。(各品物が複数個ある場合は、0123ナップザック問題と呼ばれます) この問題を力任せで解こうとすれば、N 個の品物を「選択する」か「選択しないか」の全組み合わせを全て調べることになるので、計算効率は O(2N) となります。N が数十個でも、実用的な時間では計算できません。 品物の大きさ w、ナップザックの大きさ W がともに整数であれば、ナップザック問題は動的計画法により O (NW) の効率で厳密解を求めることができます。 C[i][w] が、大きさ w のナ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く