実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/05/08 15:43 UTC 版)
NConstruct - .NET Framework 環境での開発ツール。C# ソースコードを生成する。 MyGeneration - .NET Framework 向けソースコード生成器。ORMアーキテクチャ向けのコードを生成する。データベースのメタデータを MyMeta API を使ってテンプレート化する。
※この「実装例」の解説は、「自動プログラミング」の解説の一部です。
「実装例」を含む「自動プログラミング」の記事については、「自動プログラミング」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/03/01 15:14 UTC 版)
「リッシュのアルゴリズム」の記事における「実装例」の解説
リッシュのアルゴリズムをプログラミング言語によりコンピュータで実行できる形に書き下すことは困難であり、ヒューリスティクスの利用を含めた多数の改変を施す必要がある。実際、2008年5月現在ではこれを完全に実装したソフトウェアは未だ存在しない。ただし、いくつかの計算機代数システムはこれを部分的に実装している。 以下に、(2008年5月現在で)既存のいかなるソフトウェアも不定積分を計算できないような例を示す: f ( x ) = ( x + 1 ) 2 + ( 3 x + 1 ) x + ln x x x + ln x ( x + x + ln x ) . {\displaystyle f(x)={\frac {(x+1)^{2}+(3x+1){\sqrt {x+\ln x}}}{x\,{\sqrt {x+\ln x}}(x+{\sqrt {x+\ln x}})}}.} しかしこの式には短い不定積分が存在する: F ( x ) = 2 ( x + ln x + ln ( x + x + ln x ) ) + C . {\displaystyle F(x)=2({\sqrt {x+\ln x}}+\ln(x+{\sqrt {x+\ln x}}))+C.} なお「リッシュのアルゴリズム」は厳密な意味での「アルゴリズム」ではない。これはリッシュのアルゴリズムの中では(通常の数学の場合と同様に)与えられた数式が零であるかを必ず判定できると仮定しているが,実際には一般の数式に対してはそのような「零判定」処理を行うアルゴリズムは構成できないためである。数式の範囲を通常の「初等関数」(多項式、有理関数、代数関数、三角関数、指数関数、対数関数の組合わせ)に限定しても、数式の零判定(あるいは等式判定)を行えるアルゴリズムは知られていない(これが計算機代数システムが実装においてヒューリスティクスにも依存せざるを得ない理由である)。さらに初等関数に絶対値関数 |x| を追加すると、その範囲の数式の零判定を行うアルゴリズムは存在しないことが既に示されている(これはリッシュのアルゴリズムに限らず、初等関数を含む数式を処理するアルゴリズムの構築全般に関わる根本的な困難である)。 「リチャードソンの定理(英語版)」を参照
※この「実装例」の解説は、「リッシュのアルゴリズム」の解説の一部です。
「実装例」を含む「リッシュのアルゴリズム」の記事については、「リッシュのアルゴリズム」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/12/01 22:33 UTC 版)
MATLAB - カーネル密度推定は ksdensity 関数で実装されている。 Origin - 2Dカーネル密度プロットがユーザーインターフェースより作画できるほか、Ksdensity(1D用)とKs2density(2D用)の両関数がLabTalk言語、 Python、C言語からアクセス可能である。 PAST - Plot項目の中のHistogramで,カーネル曲線が描ける。 R言語 - density 関数で実装されている。 Stata - kdensity で実装されている。例えば、histogram x, kdensity SAS - proc kde は1変量または2変量のカーネル密度推定に使われる。
※この「実装例」の解説は、「カーネル密度推定」の解説の一部です。
「実装例」を含む「カーネル密度推定」の記事については、「カーネル密度推定」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/14 02:01 UTC 版)
memsetを自前で定義したい場合は、以下の様に実装する。 /* memsetと区別するため、大文字を使用 */void *MemSet(void *buf, int c, size_t num) { unsigned char *ptr = (unsigned char *)buf; const unsigned char ch = c; while (num--) *ptr++ = ch; return buf;}
※この「実装例」の解説は、「memset」の解説の一部です。
「実装例」を含む「memset」の記事については、「memset」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/09/07 07:00 UTC 版)
ブリッジ接続は、以下のようなシステムソフトウェアで実装されており、利用可能である。 Windows XP以降のWindows OSによってLANカードとして認識されるデバイスであれば、2個以上を選択することによって、ブリッジ接続を行うことができる。GUIで設定する。 Linux brctlコマンドによって設定することができる。CUIで設定する。 Cisco IOS インターフェイス間のブリッジ接続がサポートされており、スパニングツリープロトコルなどのインテリジェントな処理も可能である。CUIで設定する。 PacketiX VPN 仮想ハブと物理的なLANカードとの間でブリッジ接続を設定できる。OSの持つブリッジ接続機能を利用せずにブリッジ接続を実現できる。リモートアクセス型や拠点間接続型のレイヤ2のVPNを構築する際に利用する。 VMware 仮想ハブと物理的なLANカードとの間でブリッジ接続を設定できる。OSの持つブリッジ接続機能を利用せずにブリッジ接続を実現できる。VM内のゲストOSを既存の物理的なネットワークに参加させ通信可能とするために利用できる。
※この「実装例」の解説は、「ブリッジ接続」の解説の一部です。
「実装例」を含む「ブリッジ接続」の記事については、「ブリッジ接続」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/09/12 03:39 UTC 版)
「Bitapアルゴリズム」の記事における「実装例」の解説
Shift-andアルゴリズムをRubyで実装した例と実行結果を以下に示す。このコードでは state が#アルゴリズムの表でのRに相当する。また、変数 pattern が表のパターンPに、変数 text が表のTに相当する。黄色の背景色でハイライトした部分がアルゴリズムの表で示したマッチング処理である。 #すべてのマッチした位置の末尾が配列として戻るdef shift_and(text, pattern) # 必要なビットマスクの数を調べる char_table = Array.new # 検索対象文字列に含まれる文字の種類を格納 text.chars do |tc| if not char_table.include?(tc) then char_table.push(tc) end end #「適合」したとみなす状態を定義 finish = 1 << pattern.size-1 # ビットマスクmaskに必要な領域を確保 mask=Hash.new char_table.each do |ct| mask[ct] = 0 end # maskの内容を生成 pattern.chars do |pc| mask.each_key do |mk| mask[mk]>>= 1 if pc == mk mask[mk] |= finish end end end # 実際にtextと照合させる state = 0 # 状態遷移を保持 ret = Array.new # マッチした位置をまとめるための配列 text.chars.each_with_index do |tc, i| state = (state << 1 | 1) & mask[tc] if (state & finish) == finish # 最上位ビットが1である ret.push(i) # マッチした位置iを配列に追加 end end return retendp shift_and("acbacbaca", "acbaca") # => [8]p shift_and("ababaa", "aba") # => [2, 4] 実行結果(マッチした位置。0オリジンなので、アルゴリズムのセクションで言う9文字目は "8" で表される。) [8][2, 4]
※この「実装例」の解説は、「Bitapアルゴリズム」の解説の一部です。
「実装例」を含む「Bitapアルゴリズム」の記事については、「Bitapアルゴリズム」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/03/28 07:30 UTC 版)
「UDPヘルパーアドレス」の記事における「実装例」の解説
シスコ製品では、この機能はルーティングソフトウエア Version.10から実装された。 この機能を利用するためのコマンドは ip helper-address と ip forward-protocol になる。 Syntax Description: ip helper-address [vrf name | global] address [redundancy vrg-name]no ip helper-address [vrf name | global] address [redundancy vrg-name] vrf name (Optional) Enables VPN routing and forwarding (VRF) instance and VRF name. global (Optional) Configures a global routing table. address Destination broadcast or host address to be used when forwarding UDP broadcasts. There can be more than one helper address per interface. redundancy vrg-name (Optional) Defines the VRG group name.
※この「実装例」の解説は、「UDPヘルパーアドレス」の解説の一部です。
「実装例」を含む「UDPヘルパーアドレス」の記事については、「UDPヘルパーアドレス」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/02 16:40 UTC 版)
strcpyを自前で定義する場合は、以下の様にする。 char *StrCpy(char *s1, const char *s2) /* strcpyと区別するため、大文字 */{ char *p = s1; while(*s1++ = *s2++); /* 代入結果が終端文字(0x00)になるまで代入し続ける */ return p;}
※この「実装例」の解説は、「strcpy」の解説の一部です。
「実装例」を含む「strcpy」の記事については、「strcpy」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/02 16:40 UTC 版)
XorshiftアルゴリズムのCによる実装例: uint32_t xor(void) { static uint32_t y = 2463534242; y = y ^ (y << 13); y=y ^ (y>> 17); return y = y ^ (y << 5);}uint32_t xor64(void) { static uint64_t x = 88172645463325252ULL; x = x ^ (x << 13); x=x ^ (x>> 7); return x = x ^ (x << 17);}uint32_t xor96(void) { static uint32_t x = 123456789; static uint32_t y = 362436069; static uint32_t z = 521288629; uint32_t t; t = (x ^ (x << 3)) ^ (y ^ (y>> 19)) ^ (z ^ (z << 6)); x = y; y = z; return z = t;}uint32_t xor128(void) { static uint32_t x = 123456789; static uint32_t y = 362436069; static uint32_t z = 521288629; static uint32_t w = 88675123; uint32_t t; t = x ^ (x << 11); x=y; y=z; z=w; return w=(w ^ (w>> 19)) ^ (t ^ (t >> 8)); } このアルゴリズムの周期はそれぞれ 2 32 − 1 , 2 64 − 1 , 2 96 − 1 , 2 128 − 1 {\displaystyle 2^{32}-1,2^{64}-1,2^{96}-1,2^{128}-1} で、Diehardテスト(英語版)をパスしている。 64ビット整数を効率よく扱える計算機では、xor,shift操作の組を3つから2つにして計算負荷を減らしても、周期は 2 64 − 1 {\displaystyle 2^{64}-1} に保たれる。 uint64_t xor64(void) { static uint64_t x = 88172645463325252ULL; x = x ^ (x << 7); return x=x ^ (x>> 9);}
※この「実装例」の解説は、「Xorshift」の解説の一部です。
「実装例」を含む「Xorshift」の記事については、「Xorshift」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/02 16:40 UTC 版)
size_t StrLen(const char *str){ size_t i = 0; /* iはカウント用の変数 */ while (*str++) i++; /* 1文字ずつ読み出してNULLコードでないことを確認しながらカウントする。 */ return i;}
※この「実装例」の解説は、「strlen」の解説の一部です。
「実装例」を含む「strlen」の記事については、「strlen」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/03 01:17 UTC 版)
C言語による単純な実装を紹介する。単なる数列に比べ、前処理は20%ほど長くなる。しかし、この実装のように非常に大きな数列を用いる場合にはその後の操作(要素の更新と部分和の計算)が約1600倍の速度で可能となる。下の実装では他の手法との比較を含む。 /*******************************************************************//* This program demonstrates the speedup for a Fenwick tree vs a *//* flat array for performing multiple prefix sums. It generates a *//* sequence of random numbers, then performs 1000 summations, *//* each of which starts and ends at random indices. *//*******************************************************************/#include
※この「実装例」の解説は、「フェニック木」の解説の一部です。
「実装例」を含む「フェニック木」の記事については、「フェニック木」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2016/06/26 12:53 UTC 版)
C++言語による実装例を示す。 #include
※この「実装例」の解説は、「シェーカーソート」の解説の一部です。
「実装例」を含む「シェーカーソート」の記事については、「シェーカーソート」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/04 01:40 UTC 版)
68881ないし68882FPUが搭載されたコンピュータとしては、サン・マイクロシステムズのSun-3、Apple ComputerのMacintosh IIや、コモドールのAmiga 3000などがある。Amigaのサードパーティーの中には、68000にメモリマップされた周辺機器として、68881および68882を使ったものもある。 なお後続ファミリのMC68040プロセッサは、FPUを内蔵したものとして開発された。68881のほとんどの命令と数値表現モードはハードウェアでサポートされていたが、一部サポートされないものもあった。これらはソフトウェアパッケージでエミュレーションを行うことでサポートした。
※この「実装例」の解説は、「MC68881」の解説の一部です。
「実装例」を含む「MC68881」の記事については、「MC68881」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/02 00:52 UTC 版)
日本では、ソニーの非接触型ICカード通信技術・FeliCaを採用したものが多い。FeliCaを使用していることから物理的な互換性はあるが、システムの互換性は図られていない事が多い。現在では、元々ICチップを利用したカードタイプが、モバイル決済に対応し、ICチップ型などとは単純に分類できなくなっている。以下には、代表的なものを記す。 ICカード系 おサイフケータイにも対応 楽天Edy Suica(Kitaca・PASMO・TOICA・manaca・ICOCA・SUGOCA・nimoca・はやかけんと相互利用可能) WAON nanaco PASMO カード型のみ Kitaca TOICA manaca ICOCA SUGOCA nimoca (めじろんnimoca・でんでんnimoca・ICAS nimoca・nagasaki nimoca) はやかけん 「交通系ICカード全国相互利用サービス」も参照 その他 (前述の交通系ICカード全国相互利用サービス対応カード等や後述のPiTaPaとは電子マネーの互換性なし) SAPICA IruCa ICい〜カード 熊本地域振興ICカード ドトール・バリューカード CoGCa LaCuCa マチカ~machica~(愛媛県松山市中心部「マチペイ」加盟店。アプリ版も存在する。※公式サイト)
※この「実装例」の解説は、「電子マネー」の解説の一部です。
「実装例」を含む「電子マネー」の記事については、「電子マネー」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/14 22:02 UTC 版)
「Luhnアルゴリズム」の記事における「実装例」の解説
下記のPythonの関数はLuhnアルゴリズムを実装したもので、入力された数字の配列がLuhn番号として正しければ True を返し、さもなくば False を返す。入力配列の各要素は数字1桁で表せる必要があり 0 以上 9 以下の整数でなければならない。この実装では配列を逆転させ(reversed)、ブーリアン変数 alt をループするごとに反転させて奇数番目か偶数番目かを判定している。 def check_number(digits): _sum = 0 alt = False for d in reversed(digits): assert 0 <= d <= 9 if alt: d *= 2 if d> 9: d -= 9 _sum += d alt = not alt return (_sum % 10) == 0
※この「実装例」の解説は、「Luhnアルゴリズム」の解説の一部です。
「実装例」を含む「Luhnアルゴリズム」の記事については、「Luhnアルゴリズム」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/05/05 06:25 UTC 版)
以下の例は x86 アセンブリ言語によるスピンロックの実装である。Intel 80386互換プロセッサで動作する。 lock: # ロック変数。1 = ロック済み, 0 = ロックされていない dd 0spin_lock: mov eax, 1 # EAX レジスタに 1 をセットloop: xchg eax, [lock] # アトミックにEAXレジスタとロック変数の値を交換 # ロックには常に 1 が格納され、以前の値が EAX レジスタに格納される。 test eax, eax # EAX 自身をチェック。EAX がゼロならば プロセッサのゼロフラグがセットされる。 # EAX が 0 なら、ロックは解放状態から新たに確保されたとみなせる。 # そうでなければ、EAX は 1 であり、ロックを獲得できていない。 jnz loop # ゼロフラグがセットされていないときは XCHG 命令に戻る。 # これはロックが既に他に獲得されていた場合で、スピンする必要がある。 ret # ロックを獲得できたので、呼び出した関数へ戻る。spin_unlock: mov eax, 0 # EAX レジスタに 0 をセット xchg eax, [lock] # アトミックに EAX レジスタとロック変数を交換 ret # ロックを解放
※この「実装例」の解説は、「スピンロック」の解説の一部です。
「実装例」を含む「スピンロック」の記事については、「スピンロック」の概要を参照ください。
実装例(擬似コード)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/05/27 06:02 UTC 版)
「力学モデル (グラフ描画アルゴリズム)」の記事における「実装例(擬似コード)」の解説
それぞれのノードに対し、位置 (x, y) および速度(dx, dy), 質量を定義する。バネ定数を設定できる場合も多い。この例では、フックの法則とクーロンの法則を用いている。 すべてのノードの速度を(0, 0)にする。 ノードの位置を、(乱数, 乱数) にする。 // 2 つのノードがまったく同じ位置におかれないようにする。 do { 運動エネルギーの合計 := 0 // すべての粒子について、運動エネルギーの合計を計算する。 for-each すべてのノード as ノード1 { 力 := (0, 0) // この粒子について作用するすべての力の合成を計算する。 for-each すべてのノード as ノード2 { 力 := 力 + 定数 / 距離(ノード1, ノード2) ^ 2 // クーロン力 } for-each このノードにつながっているノード as ノード2 { 力 := 力 + バネ定数 * (距離 (ノード1, ノード2) - バネの自然長) // フックの法則による力 } // 内部摩擦が無ければ粒子は停止しないので、振動の減衰を計算する。 ノード1の速度 := (ノード1の速度 + 微小時間 * 力 / ノード1の質量) * 減衰定数 ノード1の位置 := ノード1の位置 + 微小時間 * ノード1の速度 運動エネルギーの合計 := 運動エネルギーの合計 + ノード1の質量 * ノード1の速度 ^ 2 } } loop until 運動エネルギーの合計が十分小さい // シミュレーションの停止。
※この「実装例(擬似コード)」の解説は、「力学モデル (グラフ描画アルゴリズム)」の解説の一部です。
「実装例(擬似コード)」を含む「力学モデル (グラフ描画アルゴリズム)」の記事については、「力学モデル (グラフ描画アルゴリズム)」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/06/06 10:07 UTC 版)
以下に、再帰呼び出しを用いたPythonを用いたバイトニックソートの実装例を示す。入力は、論理値upと2べき乗個の配列xであり、出力は、upが真であれば昇順、でなければ降順となる。 def bitonic_sort(up: bool, x: Sequence[int]) -> List[int]: """バイトニックソート 引数: up: 真であれば昇順、偽であれば降順 x: 整数列 Returns: upに従って並び替えられた整数列 """ if len(x) <= 1: return x else: first=bitonic_sort(True, x[:len(x) // 2]) second=bitonic_sort(False, x[len(x) // 2:]) return bitonic_merge(up, first + second)def bitonic_merge(up: bool, x) -> List[int]: # 入力xがバイトニック列であれば、並び替えられて出力される if len(x) == 1: return x else: bitonic_compare(up, x) first = bitonic_merge(up, x[:len(x) // 2]) second = bitonic_merge(up, x[len(x) // 2:]) return first + seconddef bitonic_compare(up: bool, x) -> None: dist = len(x) // 2 for i in range(dist): if (x[i] > x[i + dist]) == up: x[i], x[i + dist] = x[i + dist], x[i] # 交換 >>> bitonic_sort(True, [10, 30, 11, 20, 4, 330, 21, 110])[4, 10, 11, 20, 21, 30, 110, 330]>>> bitonic_sort(False, [10, 30, 11, 20, 4, 330, 21, 110])[330, 110, 30, 21, 20, 11, 10, 4] 再帰呼び出しを用いない例(Javaによる)は以下のようになる。 public class BitonicSort { static void kernel(int[] a, final int p, final int q) { final int d = 1 << (p-q); for (int i = 0; i < a.length; i++) { boolean up=((i>> p) & 2) == 0; if ((i & d) == 0 && (a[i] > a[i | d]) == up) { int t = a[i]; a[i] = a[i | d]; a[i | d] = t; } } } static void bitonicSort(final int logn, int[] a) { assert a.length == 1 << logn; for (int i = 0; i < logn; i++) { for(int j = 0; j <= i; j++) { kernel(a, i, j); } } } public static void main(String[] args) { final int logn = 5, n = 1 << logn; int[] a0 = new int[n]; for (int i = 0; i < n; i++) { a0[i] = (int)(Math.random() * 1000); } for (int k = 0; k < a0.length; k++) { System.out.print(a0[k] + " "); } System.out.println(); bitonicSort(logn, a0); for (int k = 0; k < a0.length; k++) { System.out.print(a0[k] + " "); } System.out.println(); }}
※この「実装例」の解説は、「バイトニックソート」の解説の一部です。
「実装例」を含む「バイトニックソート」の記事については、「バイトニックソート」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/07/22 05:42 UTC 版)
「cksum (UNIX)」の記事における「実装例」の解説
git.savannah.gnu.org/cgit/coreutils.git/tree/src/cksum.c%20cksum.c - GNUプロジェクトによる実装。 cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/cksum/ - OpenBSDプロジェクトによる実装。
※この「実装例」の解説は、「cksum (UNIX)」の解説の一部です。
「実装例」を含む「cksum (UNIX)」の記事については、「cksum (UNIX)」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/07/20 09:32 UTC 版)
しばしばNXビットのようなハードウェア機能を利用する。NXビットは、AMDのAMD64シリーズのCPUに装備される。インテルのCPU(Pentium 4のPrescottコア以降)のXDビット(eXecute Disable, EDB:Execute Disable Bit)も同等の機能である。SunのSPARC、Alpha、IBMのPowerPCそしてIntelのIA-64(Itanium/Merced)の一部にも同等の機能がある。 Linuxでの実装はPaXやExec Shield、OpenBSDではen:W^Xやen:Openwall等がある。 Windowsでの実装はデータ実行防止 (DEP) がある。DEPにはハードウェアDEPとソフトウェアDEPがあり、ハードウェアDEPではNXビット機能により、データバッファ内にあるコードの実行を禁止する。ソフトウェアDEPでは、名前は似ているがそのような機能(バッファオーバーランからの保護)はなく、代りに特定の攻撃(構造化例外ハンドラ上書き)から保護する。 従来のアプリケーションやオペレーティングシステムとの互換性、保護範囲(アプリケーション全般までか、オペレーティングシステムの一部機能のみか等)、種々の攻撃に対する脆弱性は、各々の実装によって異なる。
※この「実装例」の解説は、「実行保護」の解説の一部です。
「実装例」を含む「実行保護」の記事については、「実行保護」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/09/14 17:27 UTC 版)
Java版(ワイゼンバウムの本来の仕様に非常に近い): http://chayden.net/eliza/Eliza.html プログラム電卓TI-83 シリーズ上でCを使った実装: http://www.ticalc.org/archives/files/fileinfo/354/35463.html Perlモジュール Chatbot-Eliza -- 実装例 doctor.el 1985年ごろ、Emacs Lispで実装された。http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/areas/classics/eliza/emacs/0.html Pop-11 Eliza はPoplogシステムで動作する。Poplog はサセックス大学でAIを学ばせるために使われたシステムであり、現在はフリーなオープンソースシステムの一部である。 Trans-Tex Software の Mac OS および OS X 向け実装: http://www.tex-edit.com/index.html#Eliza Tcl版: http://wiki.tcl.tk/9235 BASIC版: http://www.atariarchives.org/bigcomputergames/showpage.php?page=20 GNU Guile版: https://github.com/apgwoz/chatter LISP版(Apple II 版がベース): http://jeffshrager.org/llisp/26.html
※この「実装例」の解説は、「ELIZA」の解説の一部です。
「実装例」を含む「ELIZA」の記事については、「ELIZA」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/02 05:07 UTC 版)
以下に、Mozilla Firefox のアドレスバー(スマートロケーションバー)を示す。 https版の英語版ウィキペディアを閲覧時のFirefoxのアドレスバー(2012年5月現在)。青色のところにドメイン名が表示されている Extended Validation 証明書を使っている Paypalのサイトを閲覧時の Firefoxのアドレスバー。緑色のところに組織名が表示されている。
※この「実装例」の解説は、「アドレスバー」の解説の一部です。
「実装例」を含む「アドレスバー」の記事については、「アドレスバー」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/06/13 17:44 UTC 版)
「ソフトウェアファクトリー」の記事における「実装例」の解説
Microsoft Patterns & Practices Team は以下の4つのソフトウェアファクトリを開発している: Smart Client Software Factory (以前の名称は Smart Client Baseline Architecture Toolkit)(2006年6月30日リリース) Web Service Software Factory (2006年6月リリース) Mobile Client Software Factory (2006年6月リリース) Web Client Software Factory (2007年1月リリース) Project Glidepath はマイクロISV指向のソフトウェアファクトリー。マイクロソフトからもリリースされている。 Project Glidepath Blog Project Glidepath Forums EFx Factory は Microsoft Services が他に先駆けてリリースしたアーキテクチャ的ソフトウェアファクトリーであり、モデル駆動開発と統合実行環境ツールによってサービス指向の企業アプリケーションを構築する。 EFx Architectural-Guidance Software Factory EFx Factory Blog .NET Database Application Development tangible architect - .NET Software Factory with DSL Modeller NConstruct - Intelligent Software Factory
※この「実装例」の解説は、「ソフトウェアファクトリー」の解説の一部です。
「実装例」を含む「ソフトウェアファクトリー」の記事については、「ソフトウェアファクトリー」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/21 14:25 UTC 版)
IPCとして使われているAPIはいくつかある。プラットフォームに依存しない主なAPIの例を挙げる。 無名パイプ(英語版)と名前付きパイプ Common Object Request Broker Architecture (CORBA) Freedesktop.orgのD-Bus Distributed Computing Environment (DCE) メッセージバス (Mbus) - RFC 3259 にて規定 MCAPI (Multicore Communications API) Lightweight Communications and Marshalling (LCM) ONC RPC UNIXドメインソケット XML: XML-RPC や SOAP JSON: JSON-RPC Thrift TIPC (TIPC) ZeroCの Internet Communications Engine (ICE) 以下は、プラットフォーム固有またはプログラミング言語固有のAPIの例である。 Appleの Apple event(従来は Interapplication Communications、IAC と呼ばれていた) Eneaの LINX - Linux向け(オープンソース)と Enea OSE で動作するバージョンがある。 CMUによるIPC実装 Javaの Remote Method Invocation (RMI) KDEの Desktop Communications Protocol (DCOP) Libt2n - Linux上のC++でのみ動作。複雑なオブジェクトや例外を扱える。 Machカーネルの Mach ポート マイクロソフトの ActiveX、Component Object Model (COM)、Microsoft Transaction Server (COM+)、Distributed Component Object Model (DCOM)、動的データ交換 (DDE)、Object Linking and Embedding (OLE)、匿名パイプ(英語版)、名前付きパイプ、Local Procedure Call(英語版)、MailSlot(英語版)、メッセージループ(英語版)、MSRPC(英語版)、.NET Remoting、Windows Communication Foundation (WCF) ノベルの SPX PHPのセッション POSIX: mmap、メッセージキュー、セマフォ、共有メモリ RISC OSのメッセージ Solaris Doors System V: メッセージキュー、セマフォ、共有メモリ Distributed Ruby DIPC (Distributed Inter-Process Communication) - Linux上で System V 系IPCをネットワークにまで拡張する仕組み OpenBinder - BeOSが起源で、最近ではAndroidで使われている。 Solace Systems の IPC Shared Memory Messaging QNXのPPS (Persistant Publish/Subscribe) サービス SIMPL (Synchronous Interprocess Messaging Project for Linux) - QNX風IPCをLinuxに実装するプロジェクト
※この「実装例」の解説は、「プロセス間通信」の解説の一部です。
「実装例」を含む「プロセス間通信」の記事については、「プロセス間通信」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/08/17 14:08 UTC 版)
C言語におけるabs関数の典型的な実装例は以下である。 int my_abs(int x) { if (x < 0) return -x; else return x;} もしくは、マクロを用いればC言語でも型を気にせずに用いることが可能となる。しかし副作用に注意する必要性が生じる。 #define my_abs(x) ((x)>= 0 ? (x) : -(x)) C99ではジェネリック版のfabs関数が
※この「実装例」の解説は、「abs」の解説の一部です。
「実装例」を含む「abs」の記事については、「abs」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/12/28 06:08 UTC 版)
1番目の位置を表す添字が 0 になっているのはC言語の仕様である。 double data[N] = {値1, 値2, 値3, ..., 値N} ;bool changed ;do { changed = false ; for (int i=0 ; i
※この「実装例」の解説は、「奇偶転置ソート」の解説の一部です。
「実装例」を含む「奇偶転置ソート」の記事については、「奇偶転置ソート」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/23 09:35 UTC 版)
「ニューラルネットワーク」の記事における「実装例」の解説
ここでは、3層フィードフォワードニューラルネットワークで回帰を実装する。 x = [ − 1 , 1 ] {\displaystyle x=[-1,1]} において、 y = 2 x 2 − 1 {\displaystyle y=2x^{2}-1} を学習する。活性化関数はReLUを使用。学習は、確率的勾配降下法でバックプロパゲーションを行う。 3層フィードフォワードニューラルネットワークのモデルの数式は以下の通り。X が入力、Y が出力、T が訓練データで全て数式では縦ベクトル。 ψ {\displaystyle \psi } は活性化関数。 W 1 , W 2 , B 1 , B 2 {\displaystyle W_{1},W_{2},B_{1},B_{2}} が学習対象。 B 1 , B 2 {\displaystyle B_{1},B_{2}} はバイアス項。 Y = W 2 ψ ( W 1 X + B 1 ) + B 2 {\displaystyle Y=W_{2}\psi (W_{1}X+B_{1})+B_{2}} 誤差関数は以下の通り。誤差関数は出力と訓練データの間の二乗和誤差を使用。 E = 1 2 ‖ Y − T ‖ 2 {\displaystyle E={\frac {1}{2}}\|Y-T\|^{2}} 誤差関数 E {\displaystyle E} をパラメータで偏微分した数式は以下の通り。肩についてる T は転置行列。 ∘ {\displaystyle \circ } はアダマール積。 ∂ E ∂ W 1 = ( ( ( Y − T ) T W 2 ) T ∘ ψ ′ ( W 1 X + B 1 ) ) X T ∂ E ∂ B 1 = ( ( Y − T ) T W 2 ) T ∘ ψ ′ ( W 1 X + B 1 ) ∂ E ∂ W 2 = ( Y − T ) ψ ( W 1 X + B 1 ) T ∂ E ∂ B 2 = Y − T {\displaystyle {\begin{aligned}{\frac {\partial E}{\partial W_{1}}}&=\left(\left((Y-T)^{\mathrm {T} }W_{2}\right)^{\mathrm {T} }\circ \psi '(W_{1}X+B_{1})\right)X^{\mathrm {T} }\\{\frac {\partial E}{\partial B_{1}}}&=\left((Y-T)^{\mathrm {T} }W_{2}\right)^{\mathrm {T} }\circ \psi '(W_{1}X+B_{1})\\{\frac {\partial E}{\partial W_{2}}}&=(Y-T)\psi (W_{1}X+B_{1})^{\mathrm {T} }\\{\frac {\partial E}{\partial B_{2}}}&=Y-T\end{aligned}}} Python 3.5 によるソースコード。Python において、@ は行列の乗法の演算子、** は冪乗の演算子、行列同士の * はアダマール積。 import numpy as npdim_in = 1 # 入力は1次元dim_out = 1 # 出力は1次元hidden_count = 1024 # 隠れ層のノードは1024個learn_rate = 0.005 # 学習率# 訓練データは x は -1~1、y は 2 * x ** 2 - 1train_count = 64 # 訓練データ数train_x = np.arange(-1, 1, 2 / train_count).reshape((train_count, dim_in))train_y = np.array([2 * x ** 2 - 1 for x in train_x]).reshape((train_count, dim_out))# 重みパラメータ。-0.5 〜 0.5 でランダムに初期化。この行列の値を学習する。w1 = np.random.rand(hidden_count, dim_in) - 0.5w2 = np.random.rand(dim_out, hidden_count) - 0.5b1 = np.random.rand(hidden_count) - 0.5b2 = np.random.rand(dim_out) - 0.5# 活性化関数は ReLUdef activation(x): return np.maximum(0, x)# 活性化関数の微分def activation_dash(x): return (np.sign(x) + 1) / 2# 順方向。学習結果の利用。def forward(x): return w2 @ activation(w1 @ x + b1) + b2# 逆方向。学習def backward(x, diff): global w1, w2, b1, b2 v1 = (diff @ w2) * activation_dash(w1 @ x + b1) v2 = activation(w1 @ x + b1) w1 -= learn_rate * np.outer(v1, x) # outerは直積 b1 -= learn_rate * v1 w2 -= learn_rate * np.outer(diff, v2) b2 -= learn_rate * diff# メイン処理idxes = np.arange(train_count) # idxes は 0~63for epoc in range(1000): # 1000エポック np.random.shuffle(idxes) # 確率的勾配降下法のため、エポックごとにランダムにシャッフルする error = 0 # 二乗和誤差 for idx in idxes: y = forward(train_x[idx]) # 順方向で x から y を計算する diff = y - train_y[idx] # 訓練データとの誤差 error += diff ** 2 # 二乗和誤差に蓄積 backward(train_x[idx], diff) # 誤差を学習 print(error.sum()) # エポックごとに二乗和誤差を出力。徐々に減衰して0に近づく。
※この「実装例」の解説は、「ニューラルネットワーク」の解説の一部です。
「実装例」を含む「ニューラルネットワーク」の記事については、「ニューラルネットワーク」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/04 00:46 UTC 版)
筐体に各種のタッチセンサ・液晶ディスプレイなどの薄型ディスプレイ・LED・組み込み機器用マザーボード・midi制御インターフェースなどを組み込み、演奏機能・映像機能を実現させたものが多種多様に現れた。ソフトウェアについては、オープンソースとしてソフトウェアコードの公開・共有プロジェクトも行われた。また、iPhoneアプリケーションとして「あの楽器」を実現したソフトウェア「ouiLead」「あのがっき」「イノセンサー」など、ソフトウェア単体としての製作も実現した。また、アルミ板の筐体にピアニカを貼付したものなども現れた。 ハードウェアについては、出典が確認できるものとしては、笹尾和彦は赤外線LEDとアクリル板を用いたタッチパネルを製作し、これにコンパクトデジタルカメラを改造して赤外線デジタルカメラとしたものをセンサとして用いるFTIR方式・midiインターフェースのものを製作・発表。野田陽はタクトスイッチをセンサとして用い、緑色LEDマトリクスを演出用ディスプレイとして用いるものを製作・発表している。
※この「実装例」の解説は、「あの楽器」の解説の一部です。
「実装例」を含む「あの楽器」の記事については、「あの楽器」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2015/04/20 14:44 UTC 版)
協調フィルタリングの実装方法にはいくつかあるが、「相関分析」を応用する方法が一番シンプルかつ古典的である。 例えば商品の購入や、記事の閲覧等のユーザ行動を数値化しプロファイル・蓄積する。 新規ユーザ行動と蓄積された既存の他ユーザ行動で相関分析を行い、高い相関が認められるユーザと「嗜好が近い」ものと仮定する。 「嗜好が近い」のであれば同じような「行動を好む」と予想し、蓄積された既存の他ユーザにはあるが新規ユーザにはない行動(商品の購入や、記事の閲覧)をおすすめ情報として提示する。 これらの実装方法は非常にシンプルで、例えば「Microsoft Excel」等の表計算ソフトに組み込まれている標準関数群のみで十分実装できるものである。
※この「実装例」の解説は、「協調フィルタリング」の解説の一部です。
「実装例」を含む「協調フィルタリング」の記事については、「協調フィルタリング」の概要を参照ください。
実装例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2014/09/30 04:05 UTC 版)
mazec - MetaMoJiによる手書き入力の日本語入力システム。 なお、WindowsのMS-IMEに内蔵されている手書き入力は「下こう」と入力したときに「下校」が候補に上がらない[要検証 – ノート]。これは「下」を一度その読みの「か」に変換した上でかな漢字変換システムにより再変換しているためである。
※この「実装例」の解説は、「交ぜ書き変換」の解説の一部です。
「実装例」を含む「交ぜ書き変換」の記事については、「交ぜ書き変換」の概要を参照ください。
- 実装例のページへのリンク