Como posso provar que a conversão de CNF para DNF é NP-Hard? Não estou pedindo uma resposta, apenas algumas sugestões sobre como proceder para provar
Como posso provar que a conversão de CNF para DNF é NP-Hard? Não estou pedindo uma resposta, apenas algumas sugestões sobre como proceder para provar
O refinamento de partição é uma técnica na qual você começa com um conjunto finito de objetos e divide progressivamente o conjunto. Alguns problemas, como a minimização do DFA, podem ser resolvidos usando o refinamento de partição com bastante eficiência. Não conheço outros problemas que geralmente...
No meu curso de teoria da computação, muitos dos nossos problemas envolvem o uso de indução no comprimento da string de entrada para provar declarações sobre autômatos finitos. Eu entendo a indução matemática, no entanto, quando as cordas entram em jogo, eu fico tropeçando de verdade. Eu realmente...
Considere uma representação de ponto fixo que pode ser considerada como um caso degenerado de um número flutuante. É perfeitamente possível usar o complemento de 2 para números negativos. Mas por que um bit de sinal é necessário para números de ponto flutuante, os bits de mantissa não deveriam usar...
Todos os autômatos finitos não determinísticos podem ser transformados em autômatos finitos determinísticos equivalentes. No entanto, um autômato finito determinístico permite apenas uma única seta por símbolo apontando de um estado. Portanto, seus estados devem ser membros do conjunto de estados...
Talvez isso seja bastante simples, mas tenho alguns problemas para obter essa redução. Eu quero reduzir a soma de subconjuntos à partição, mas neste momento não vejo a relação! É possível reduzir esse problema usando uma redução de Levin? Se você não entende, escreva para...
Encomendei algumas folhas de couro das quais gostaria de construir bolas de malabarismo costurando bordas. Estou usando os sólidos platônicos para o formato das bolas. Posso digitalizar as folhas de couro e gerar um polígono que se aproxime da forma da folha de couro (como você sabe, é pele de...
Eu tenho que encontrar um ciclo negativo em um gráfico ponderado direcionado. Sei como o algoritmo Bellman Ford funciona e que ele me diz se existe um ciclo negativo acessível. Mas não o nomeia explicitamente. Como posso obter o caminho real do ciclo?v 1 , v 2 , … v k , v 1v1,v2,...vk,v1v1, v2,...
Ouvi dizer que a geração aleatória de números em computadores não é realmente aleatória, mas não existe um algoritmo eficiente para detectá-lo. Como isso pode ser
Muitos algoritmos de fluxo máximo que eu normalmente vejo implementados, o algoritmo de Dinic, push relabel e outros, podem ter seu custo de tempo assintótico aprimorado através do uso de árvores dinâmicas (também conhecidas como árvores de corte de link). O reencaminhamento por push é executado...
O teorema do mestre é uma ferramenta bonita para resolver certos tipos de recorrências . No entanto, geralmente encobrimos uma parte integrante ao aplicá-la. Por exemplo, durante a análise do Mergesort, passamos felizes de T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)T(n)=T(⌊n2⌋)+T(⌈n2⌉)+f(n)\qquad T(n) =...
Muitas vezes, se as complexidades estão tendo constantes como 3n, negligenciamos essa constante e dizemos O (n) e não O (3n). Não consigo entender como podemos negligenciar essa mudança tríplice? Alguma coisa está variando 3 vezes mais rapidamente que outra! Por que negligenciamos esse fato?...
No design do compilador, por que a recursão à esquerda deve ser eliminada nas gramáticas? Estou lendo que é porque pode causar uma recursão infinita, mas também não é verdade para uma gramática recursiva
Existe um método geral para resolver a recorrência do formulário: T(n)=T(n−nc)+T(nc)+f(n)T(n)=T(n−nc)+T(nc)+f(n)T(n) = T(n-n^c) + T(n^c) + f(n) para , ou mais geralmentec<1c<1c < 1 T(n)=T(n−g(n))+T(r(n))+f(n)T(n)=T(n−g(n))+T(r(n))+f(n)T(n) = T(n-g(n)) + T(r(n)) + f(n) onde são algumas...
Isso é inspirado em uma pergunta da entrevista . Recebemos uma matriz de números inteiros a1,…,ana1,…,ana_1, \dots, a_n e precisamos determinar se existem distintos, de modo quei<j<ki<j<ki \lt j \lt k ak−aj=aj−aiak−aj=aj−aia_k - a_j = a_j - a_i k−j=j−ik−j=j−ik - j = j - i isto é,...
A Wikipedia declara o problema da soma do subconjunto como encontrar um subconjunto de um determinado conjunto múltiplo de números inteiros, cuja soma é zero. Além disso, afirma que é equivalente a encontrar um subconjunto com soma para qualquer dado .ssssss Então, acredito que, como são...
As linguagens sem contexto não são fechadas sob complemento, sabemos disso. Tanto quanto eu entendo, linguagens sem contexto que são um subconjunto de para algumas letras estão fechadas no complemento (!?)a∗b∗a∗b∗a^*b^*a,ba,ba,b Aqui está o meu argumento. Cada linguagem CF tem uma imagem Parikh...
A classificação Radix é teoricamente muito rápida quando você sabe que as teclas estão em um determinado intervalo limitado, digamos valores no intervalo por exemplo. Se você apenas converter os valores para a base de que leva tempo, fazer uma base radix sort e depois converter de volta para sua...
Costumo interagir com pessoas que desejam solicitar um algoritmo para um problema computacional (ou sua complexidade), mas não o expressam de maneira rigorosa para que nós (cientistas da computação) entendamos. Referenciá-los a livros como o CLRS não é útil porque os exemplos geralmente têm uma...
No livro de Andrew W. Appel, Modern Compiler Implementation in ML , ele diz no capítulo 17 que a teoria da Computabilidade mostra que sempre será possível inventar novas transformações de otimização e prossegue para provar que um compilador totalmente otimizado resolverá o problema de parada: Um...