コンピュータサイエンス

コンピュータサイエンスの学生、研究者、実務家のためのQ&A

3
wwwの文脈依存文法を生成する方法
私はこれから出題される試験の問題を解決しようとしています。たとえば、この種の質問にどのように進むかなど、状況依存言語の文法を生成する方法がわかりません。 (長さを増やすだけでなく)状況依存の文法を {www:w∈{a,b}⋆}{www:w∈{a,b}⋆}\{www : w ∈ \{a, b\}^⋆\}。 この種の質問への対処方法に関するアイデアやアプローチは高く評価されています。

1
非相対化証明が相対化証明よりも好ましいのはなぜですか?
申し訳ありませんが、他の2つの投稿の後でも、こことここで、 Oracle TMと相対化を理解するのに苦労しています。この質問は別の角度から問題に来ています: 非相対化の証明は、相対化された結果に基づく議論よりも有効であると考えられるのはなぜですか? たとえば、IP = PSPACEの相対論的でない証明がありますが、それらを分離するオラクルが存在するという事実によって、反対の議論をすることはできません(以前の質問への回答から私は理解しています)このオラクルは2つの複雑性クラスの構造的な違いのために存在するように求められましたが、クラスが重要な点で異なり、等しくない可能性があることを示すさらなる証拠として)。 反対に、オラクルが存在するという事実からなぜ結論を下すのか AAA そして BBB そのような PA=NPAPA=NPAP^A = NP^A そして PB≠NPBPB≠NPBP^B \neq NP^B P = NPとP ≠≠\neqNP?ここでも、以前の投稿から、通常のTMでは解決できない問題を解決できるさまざまな計算モデルとしてOracle TMを見ることができることに気づきましたが、これは、Principia Mathematicaで使用されている「タクティクス理論理解すると、Godel(不完全性の定理による)は、公理系の完全性と一貫性の問題を解決するには不十分であることが判明しました。


1
Lがコンテキストフリーである場合、FH(L)はコンテキストフリーである必要がありますか?
定義し。換言すれば、偶数長さの文字列の最初の半分の集合である。これを踏まえて、がコンテキストフリーである場合、はコンテキストフリーである必要がありますか?FH(L)={x∈Σ∗:∃y∈Σ∗ with |x|=|y| such that xy∈L}FH(L)={x∈Σ∗:∃y∈Σ∗ with |x|=|y| such that xy∈L}FH(L) = \{x \in \Sigma^* : \exists y \in \Sigma^* \text{ with } |x| = |y| \text{ such that } xy \in L\}FH(L)FH(L)FH(L)LLLLLLFH(L)FH(L)FH(L) これが証明の私の試みです: 以来、 CFLで、非決定PDA認識が存在する、、入力アルファベットであり、スタックではアルファベット、はスタックの初期コンテンツを表すシンボルです。PDA構築からと、:、次のように定義されてLLLLLLM=(Q,Σ,Γ,δ,q0,Z0,F)M=(Q,Σ,Γ,δ,q0,Z0,F)M = (Q, \Sigma, \Gamma, \delta, q_0, Z_0, F)ΣΣ\SigmaΓΓ\GammaZ0Z0Z_0M′M′M'MMMM′=(Q′,Σ,Γ,δ′,q′0,Z0,F′)M′=(Q′,Σ,Γ,δ′,q0′,Z0,F′)M' = (Q', \Sigma, \Gamma, \delta', q_0', …

1
T(n)のビッグOとは何ですか?
私は式と順序を見つける必要がある宿題を持っています T(n)T(n)T(n) によって与えられた T(1)=1T(n)=T(n−1)T(n−1)+1.T(1)=1T(n)=T(n−1)T(n−1)+1.T(1) = 1 \qquad\qquad T(n) = \frac{T(n-1)}{T(n-1) + 1}\,. 私がいることを確立してきた今は少し混乱しています。ある第二の部分のための正解?T(n)=1nT(n)=1nT(n) = \frac{1}{n}T(n)∈O(1n)T(n)∈O(1n)T(n) \in O(\frac{1}{n}) big-Oの定義に基づいて、 O(g(n))={f(n)∣∃c,n0>0 s.t. 0≤f(n)≤cg(n) for all n≥n0}.O(g(n))={f(n)∣∃c,n0>0 s.t. 0≤f(n)≤cg(n) for all n≥n0}.O(g(n)) = \{f(n) \mid \exists c, n_0>0\text{ s.t. } 0\leq f(n) \leq cg(n)\text{ for all } n\geq n_0\}\,. これはも当てはまるので、定義に基づいてf(n)=g(n)=1nf(n)=g(n)=1nf(n) = g(n) = …

1
3つのクラスに分類するためのロジスティック回帰の理解(および実装)に問題があります
(参考までに、私はケビンPマーフィーの本「機械学習:確率論的展望」を使用しており、MATLANを使用して実装しています-ツールボックスなし) 私は392サンプル(行)のデータセットを持っています。各サンプルには8つの特徴(列)があり、そのうちの1つがクラスを定義します(つまり、特徴の列1は3つのクラスを定義する3つの等しいビンに分割されます-低、中、高)。 サンプルをこれら3つのクラスのいずれかに分類するためのロジスティック回帰モデルを作成する方法を理解するのに本当に苦労しています。 重みベクトルの通常の最小二乗(閉じた形)ソリューションと勾配降下(開いた形)ソリューションの両方について学習した線形回帰モデルの学習と作成を終えたところです。しかし、私のデータは重みベクトルのOLSソリューションで完全にうまくフィットしたため、勾配降下法を実装したことはありません。 ロジスティック回帰の重みベクトルの作成方法が非常に混乱しています。閉じた形のソリューションがないため、勾配降下法を使用する必要があることを理解しています。重みを計算するためのニュートン法についても読みましたが、まったく理解できません。 そして、これらのメソッドを使用して重みを計算した後、サンプルデータに重みをどのように適用しますか?線形回帰では、単純に重みに機能(および高次線形回帰の高次機能)を掛けただけでしたが、ロジスティック回帰でも同じですか? さらに、これまでの私の理解は、このモデルはバイナリ分類でのみ機能するということです。したがって、3つのクラスでどのようにそれを行うのですか? 基本的に私の質問はこれに要約されます: (勾配降下法またはニュートン法のいずれか簡単な方を使用して)ロジスティック回帰の重みベクトルをどのように正確に見つけ、サンプルに重みベクトルを適用して、3つのクラス(2つだけではない)から分類を取得する方法。

3
自然言語処理の問題の複雑さ[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前休業。 NP-CompleteとNP-Hardのどちらが自然言語処理の問題ですか? 私は検索しました 自然言語処理 そして 複雑さ理論 タグ(および関連する複雑性タグ)が含まれていますが、結果は得られていません。 推奨されるNLPの質問はどれも役に立ちません。最も近いものは次のとおりです。 /cs/25925/why-is-natural-language-processing-such-a-difficult-problem /cs/9920/how-is-natural-language-processing-related-to-artificial-intelligence 言語学のどの側面が自然言語処理に必要または良いですか? NP完全問題のWikipediaのリストは、 NLPのための任意の複雑な結果が表示されません。 私が見つけた唯一のリードは、J。Morin(1995)による論文「自然言語処理における理論的かつ効果的な複雑さ」です。 ヘルプやポインタは大歓迎です!

3
短いプログラムでは解決できない問題は何ですか?
バックグラウンド: 最近、入力として数値の配列を取得するという特定の難しい問題を解決しようとしました。以下のため、私は見つけることができる唯一の解決策は、それぞれに異なる治療持つことだった 3つの数字の順序。つまり、場合には1つのソリューションがあり、の場合には別のソリューションがあります(場合は、これら2つのソリューションのいずれかで解決できます)。nnnn=3n=3n=3n!=6n!=6n!=6A>B>CA>B>CA>B>CA>C>BA>C>BA>C>BA>C=BA>C=BA>C=B ケースについて考えると、唯一の方法は、やはり、すべての異なる順序を考慮して、ケースごとに異なるソリューションを開発することです。それぞれの場合の解決策は高速ですが、プログラム自体は非常に大きくなります。したがって、問題の実行時の複雑さは小さいですが、「開発時間」の複雑さまたは「プログラムサイズ」の複雑さは非常に大きくなります。n=4n=4n=4n!=24n!=24n!=24 これは私が私の問題が短いプログラムでは解決できないことを試み、証明するように促しました。そこで、同様の証明の参考文献を探しました。 私が見つけた最初の概念はコルモゴロフの複雑さです。ただし、このトピックについて私が見つけた情報は非常に一般的であり、主に存在の結果が含まれています。 質問: サイズ入力配列でを解くプログラムは少なくともサイズでなければならないなど、特定の実際の問題について説明できますか。ここで、は増加する関数ですの?PPPPPPnnnΩ(f(n))Ω(f(n))\Omega(f(n))f(n)f(n)f(n)nnn 答えは明らかにプログラミング言語の選択に依存するので、JavaまたはTuringマシンでプログラミングすると仮定します。 すべての決定不可能な問題は、まったく解決策がないため、この要件を簡単に満たします。だから私は決定的な言語を探しています。

1
IOはどのようにモナドですか?
私はHaskellプログラミング言語を学んでいます。私が読んでいるものから、入力/出力(IO)はHaskellの純粋さに対する課題を引き起こします。なぜなら、定義により、私たちは外の世界と相互作用しているからです。ウィキペディアから: Haskellなどの純粋に関数型の言語では、関数は、関数のセマンティクスの一部として、外部から見える副作用を持ちません。関数は直接的な副作用を引き起こすことはできませんが、呼び出し側が都合のよいときに適用する必要のある副作用を説明する値を作成できます。 Haskell表記では、タイプIO aの値は、実行時にタイプaの値を生成するアクションを表します。 すぐに、IOがHaskellモナドの例であることを知りました。モナドが何であるかについての多くの説明はありませんが。ファンクタ、Applicatives、そしてモナドでの写真 モナドについて学ぶ方法: コンピュータサイエンスの博士号を取得します。 このセクションでは必要ないので、捨ててください! これまでに、私はさまざまな定義を読みました。それらは、コンテキストを追加したり、特定の概念に基づいて大きな言語の中に小さなプログラミング言語を作成したりしています。それでも、どのモナドとそれらのアイデアがどのように適用されるかを理解しようとしています。 Haskellにmonadは、もう1つの型クラスがあり、基本的にそれを定義するルールは1つだけです。そしてIOその一例です。 class Monad m where (>>=) :: m a -> (a -> m b) -> m b /programming/44965/what-is-a-monad ここで代数学が起こっていますか?IOの代数とは何ですか? 言語固有であることをお詫び申し上げます。私の希望は、この議論のほとんどがすべての関数型プログラミング言語に当てはまることです。私の議論における誤りは、この領域についての私自身の限られた理解を表しています。 私がnLabで見つけたモナドの別の定義があり、それはプログラミング言語にさえ特定されていません。 別の質問で、Haskellの場合のモナドのカテゴリー理論の概念がCSの定義とどのように一致するかを理解したいと思います。

1
奇妙なグラフ分割問題のNP困難性の証明
次の問題がNP困難であることを示しようとしています。 入力:整数eee、および接続された無向グラフ G=(V,E)G=(V,E)G=(V,E)、頂点加重グラフ 出力: パーティションGGG、 Gp=(V,Ep)Gp=(V,Ep)G_p=(V,E_p) いずれかを削除して取得 eee からのエッジ EEE 最大化する max∑Gi∈{G1,G2,...,Gk}1|Gi|⎛⎝∑vj∈Viw(vj)⎞⎠2,max∑Gi∈{G1,G2,...,Gk}1|Gi|(∑vj∈Viw(vj))2,\max \sum\limits_{G_i \in \{G_1,G_2,...,G_k\}} \frac1{|G_i|}\left(\sum_{v_j \in V_i}w(v_j)\right)^{\!2}, ここで、と要素は互いに素です。はの頂点セットで、は頂点重みですGp=G1∪G2∪ ⋯ ∪GkGp=G1∪G2∪⋯∪GkG_p=G_1 \cup G_2 \cup \dots \cup G_kGGG V私ViV_iG私GiG_iw (vj)w(vj)w(v_j)vjvjv_j わかりやすい英語の説明:目的を最大化するために、eeeエッジを削除してグラフを分割します。目的は、結果の分離したサブグラフのそれぞれについて、サブグラフの頂点の合計を計算し、その値を二乗し、カーディナリティで除算します。最後に、これをすべてのサブグラフについて合計します。 これまで、レシオカット、パーティション(グラフ以外の問題)、最大マルチカットなどのNPハード問題からの削減を試みました。また、問題の特殊なケースがNP困難(理想的ではない)であることを示すように試みました。この問題が(ほとんどのグラフ分割問題がNPハードであることに加えて)NPハードであると疑う理由は、パーティションの重みの間にカーディナリティ項とクロス項が存在するためです。入力/問題の提案があれば役に立ちます。あらゆる種類の特定のグラフに対するNPハード証明は有用でしょう。


2
いくつかの初期条件を前提として、整数値のシーケンスの組み合わせ式を推測するためにコンピュータを使用する希望はありますか?
したがって、組み合わせ論では、自然数パラメーター依存するもののカウントを計算していることがあります。手動またはコンピューターを使用して、シーケンスいくつかの初期項を計算できますaんaんa_nんんn(aん)ん(aん)ん(a_n)_n。これで、整数シーケンスのオンライン百科事典にこれらの初期条件を入力できます。運が良ければ、式との一致を取得して、シーケンスがその式を満たすことを証明するのに役立つ情報を得ることができます。しかし、正確なシーケンスが文書化されていないが、既知のシーケンスに直接関連している場合はどうなりますか?あなたのシーケンスが他の既知のシーケンスの2倍または2乗である場合はどうでしょうか?または、シーケンスを直接または超幾何学用語を含む合計として表現できる場合はどうでしょうか?コンピュータがいくつかの初期条件を与えられたシーケンスの式を提案できる場合、最終的に正しい式を見たときに、問題の構造と問題に基づいて式が真である理由が明らかになるため、数学者にとって非常に役立ちます。式。コンピュータが「推測する」ことを可能にすることで進展があったか

4
再帰を教える
私は大学の教員補佐です。次のトピックは再帰です。学生が概念を簡単に把握して再帰的に考えることができるように、再帰を教えるのに最適な方法はどれですか。 再帰を教えるためにスタック構造を説明することを考えていましたが、プロセスを追跡する際にスタックするのではないかと心配しています。ヒントはありますか?

2
サブセット間の要素の数がサブセットの数<=になるように、サブセットの最小のコレクションを見つけるのは難しいですか?
(は固定されていません)の空でないサブセットのコレクションが与えられた場合、問題は、サブセットの最小の空でないコレクションを見つけて、サブセットの和集合は、選択されたサブセットの数以下です。これはNPの難しい問題のようですが、証明できません。何か助けは?{1,2,…,N}{1,2,…,N}\{1,2,\ldots,N\}NNN
7 np-hard 

3
バイナリツリーは、実際のアプリケーションでハッシュテーブルよりも優れているのはいつですか?
私は現在、データ構造と基本的なアルゴリズムを利用しています。その一部がバイナリツリーです。私はアルゴリズムを理解し、二分探索木などを実装する方法を理解しています。O(log n)時間でルックアップを実行できるのは非常に賢明です。 しかし、ハッシュテーブルが同じ/より良い仕事をしないバイナリツリーを使用する場合の例を見つけるのに苦労しています。私は周りを検索していて、それが3Dグラフィスに使用されていることを発見しました。表示するアイテムについての何かですが、これに関連して苦労しています。 ハッシュテーブルよりもバイナリツリーを使用した方がよい例を教えてもらえますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.