問題タブ [theory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
data-structures - Zipper データ構造とは何ですか?それを使用する必要がありますか?
質問は簡単です。Zipperのデータ構造を理解できません。
私の質問は、ツリーでの使用に関連しています。
ジッパーを使用してツリー ノードを変更する方法を知りたいです。そして、ツリー全体 (またはその大部分) をコピーしない方法。
ジッパーが間違っているかどうかを明確にしてください。多分それはツリーの更新に役立たないでしょうか?
または、ツリーを更新することは可能ですが、方法がわかりませんか?
theory - コンウェイのライフ ゲームが万能マシンに分類されるのはなぜですか?
私は最近、人工生命について読んでいて、 「コンウェイのライフ ゲームは、普遍的な機械として分類されるのに十分な複雑さを示している」という記述に出くわしました。私はユニバーサル マシンとは何かについて大まかにしか理解していませんでした。ウィキペディアは、ウィキペディアがかつてないほど理解に近づいただけでした。誰かがこの非常にセクシーな声明に光を当てることができるのだろうか?
コンウェイのライフ ゲームは、私には、いくつかの途方もない含意を伴う素敵な気晴らしのように思えます。それは私がすべき飛躍ですか?
c# - カスタムHTMLヘルパークラスはASP.NETMVCモデルに違反していますか?
関連する投稿で、開発時にカスタムHTMLヘルパーがまさにそれで役立つことがわかったと述べました。たとえば、「グリッド」のページングが必要な場合、呼び出すことができるカスタムヘルパーがありますHtml.Pager()
。
HTMLヘルパーはMVCモデルに違反していると指摘する人もいます。Html.Textbox()
個人的には、やなどの既存のヘルパーと何ら変わりはないと思いますHtml.ActionLink()
。
私はまだMVCについてもっと学ぼうとしているので、すべての視点が高く評価されています。
artificial-intelligence - ファジー論理とは
私は学校でいくつかの AI アルゴリズムを扱っていますが、いくつかのケースで解決できる状況を説明するために人々がファジー ロジックという言葉を使用していることに気づきました。本に戻ると、状態がオンからオフになるのではなく、対角線であり、何かが両方の状態にあるが異なる「レベル」にある可能性があることについて読んだばかりです。
ウィキペディアのエントリといくつかのチュートリアルを読み、さらに「ファジー ロジックを使用する」プログラム (エッジ検出器と 1 輪自動制御ロボット) を読みましたが、それでも理論からコードに移行するのは非常に混乱していると思います.. . あなたにとって、より単純な定義では、ファジー ロジックとは何ですか?
merge - ブランチのマージは実際にどのように機能しますか?
これは素朴な質問かもしれませんが、オブジェクトで尋ねられたように、バージョニング ソフトウェアが壊れたコードを生成せずにブランチをメイン トランクにマージするために使用する実際の方法は何ですか?
簡単な例を次に示します。「Hello World Power edition」プログラムのメイン トランクからブランチを作成します。クリンゴンのサポートを追加します。これは、関数 printHelloWorld() の動作方法を変更する根本的な変更です。
一方、「Hello World」が「Helo World」と表記されるバグ #749 のため、メイン トランクの関数 printHelloWorld() が変更されました。
さて、ここで私が目にする問題は次のとおりです。ブランチでマージしてメイン トランクに戻ると、ファイル sayHello.py 内の関数 printHelloWorld() で衝突を実験します。
VCS プログラムはどのようにして私のブランチから Klingon サポートを追加し、バグ修正をメイントランクに保持する方法を知っていますか? これを回避するための人間主導またはソフトウェア主導の戦略は何ですか?
前もって感謝します。
theory - フラクタルをプログラムする方法は?
フラクタルのプログラミングの経験はありません。もちろん、有名なマンデルブロ集合の画像などを見たことがあります。
フラクタルの簡単なアルゴリズムを教えてください。
プログラミング言語はそれほど重要ではありませんが、私はactionscript、C#、Javaに最も精通しています。
フラクタルをグーグルで検索すると、(複雑な)情報がたくさん得られることは知っていますが、簡単なアルゴリズムから始めて、それを試してみたいと思います。
これらの素敵な色でそれらを作る方法など、基本的なアルゴリズムを改善するための提案も歓迎します。
algorithm - 「待機リストの問題」
多くの学生がクラスのセクションに入りたいと思っています。一部の学生はすでに1つのセクションにサインアップしていますが、セクションを変更したいので、全員が順番待ちリストに載っています。学生は、誰かがそのセクションからドロップした場合にのみ、新しいセクションに入ることができます。それが彼らが待っているセクションに確実に入ることができない限り、学生は彼らがすでに入っているセクションを落とすことをいとわない。各セクションの順番待ちリストは先着順です。
できるだけ多くの生徒を希望のセクションに入れます。
述べられた問題は、すぐに交通渋滞のシナリオに発展する可能性があります。私の質問は; この問題に対する既知の解決策はありますか?
簡単な解決策の1つは、各セクションを順番に取得し、待機リストの最初の生徒をセクションに強制的に入れ、問題が解決したときに誰かが中退するかどうかを確認することです(セクション数でO(n)以上)。これは場合によっては機能しますが、複数の学生をセクションに強制する(学生数でO(n)以上)、および/または一度に複数のセクションで操作する(O (悪い) :-)
image-processing - 画像処理と物体認識についてどこから学び始めますか?
私はいくつかの基本的なコンピューター化されたオブジェクト認識アプリケーションを書くことに興味があるので、意思決定機能のためのいくつかのAIとともに、画像処理アルゴリズムの理論的背景が必要だと思います。
私はコンピュータサイエンスの卒業生です。いつの日か、これらの分野の1つで修士号を取得する予定です。それまでの間、私は有利なスタートを切り、いくつかの自己学習をしたいと思います。
だから私の質問は、どこから始めればいいのかということです。正しい方向への矢印、可能であればいくつかのリンクをいただければ幸いです。
theory - データベース クエリの標準形式はありますか?
「最適化されたクエリジェネレーター」を作りたいとしましょう。基本的に、時間/スペースの制限に基づいて SQL サーバーに配置できるものよりもはるかに優れた SQL クエリ オプティマイザーです。クエリと DB 統計を入力として取り、ターゲット システムに合わせて調整された SQL クエリを生成し、ほぼ理想的な計画にすばやく最適化します。
どの程度の SQL をサポートする必要がありますか? ほとんどの有用なクエリを簡単に記述できるほど柔軟でありながら、完全な SQL よりも十分に小さく、切り詰める価値のある SQL のサブセットはありますか? また、「マシンの近く」に固執する必要がない場合、クエリを説明するより良い方法はありますか?
既存の SQL を処理するプログラムではなく、新しい SQL を作成するためのツールを考えています。入力言語がクエリの要件を記述できる限り、実際に SQL を入力として受け取る必要はありません。
質問の別の形式は次のようになると思います:パフォーマンスのためだけに存在し、読みやすさ/理解度を向上させることのないSQLの部分はありますか?
誰かが指摘したように、これを行うには「大量の製品固有の知識」が必要であり、それ(たとえば、ネストされたサブクエリと何でも、どの種類のインデックスを使用する必要があるか、そのようなこと) は、まさにツールがカプセル化することを意図したものです。ユーザーがその知識を学ぶ必要がないようにします。
注:実際のクエリ プランの生成には興味がありません。これは DBMS の仕事であり、とにかく SQL からは実行できないからです。特定の DBMS 用に調整する必要のない入力から、その DBMS 用の適切な SQL を作成する作業を自動化できるシステムに興味があります。
parsing - チョムスキー階層と LL(*) パーサー
プログラミング言語を解析したい。形式言語、チョムスキー階層、ANTLR についてよく読んでいます。しかし、言語 ANTLR v3 を LL(*) 再帰降下パーサーが受け入れるようにチョムスキー階層に関連付ける方法に関する情報を見つけることができませんでした。
チョムスキー型はどのように LL(*) と混ざりますか? あらゆる情報 (オンライン、本、論文) は大歓迎です。
編集:構文/意味述語とANTLRのバックトラッキングはこれにどのようにマップされますか?