Índice de complexidade

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

Além da complexidade como uma dificuldade para calcular uma função (consulte complexidade computacional), na ciência da computação moderna e em estatística outro índice de complexidade de uma função serve para denotar o seu conteúdo de informação, por sua vez afetando a dificuldade de aprender funções a partir de exemplos. índices de complexidade, neste sentido, caracterizam toda a classe de funções à qual as funções nas quais estamos interessados pertencem. Focando em funções Booleanas, o detalhe de uma classe 𝖢 de funções Booleanas c , essencialmente, denota o quão profundamente a classe é articulada.

Para identificar este índice devemos primeiro definir um função sentinela de 𝖢. Vamos nos concentrar por um momento em uma única função, c, chame-o de um conceito definido sobre um conjunto 𝒳 de elementos que podemos imaginar como pontos em um espaço Euclideano. Neste quadro, a função acima associa a c um conjunto de pontos que, uma vez que são definidos para serem externos ao conceito, previnem que ele se expanda para outra função de 𝖢. Podemos duplamente definir estes pontos em termos de proteger um determinado conceito c de ser totalmente fechado (invadido) por outro conceito dentro da classe. Portanto, chamamos a estes pontos sentinelas ou pontos sentinela; eles são atribuídos pela função de sentinela 𝑺 para cada conceito de 𝖢 de tal forma que:

  1. o ponto sentinela  é externo ao conceito c para ser vigiado e interno para pelo menos um outro, incluindo,
  2. cada conceito c incluindo c tem pelo menos um ponto sentinela de c, que é ou a distância entre c e c ou fora de c e distinto dos pontos sentinelas de c e
  3. eles constituem um conjunto mínimo com essas propriedades.

A definição técnica proveniente de Predefinição:Harv está enraizada na inclusão de um conceito aumentado c+ composto de c e seus pontos sentinela por outro (c)+ na mesma classe.

Definição de função de sentinela

Para um conceito de classe 𝖢 em um espaço 𝔛 uma função sentinela é uma função total 𝑺:𝖢{,𝔛}2𝔛 satisfazendo as seguintes condições:

  1. Sentinelas estão fora  do conceito sentinela (c𝑺(c)= para todo c𝖢).
  2. Sentinelas estão dentro do conceito invasor (Tendo introduzido os conjuntos c+=c𝑺(c), um conceito invasor c𝖢 é tal que c⊈c e c+(c)+. Denotando up(c) como o conjunto de conceitos invadindo c, temos que ter, se c2up(c1), então c2𝑺(c1)).
  3. 𝑺(c) é o conjunto mínimo com as propriedades acima (No 𝑺'𝑺 existe satisfazendo (1) e (2) e tendo a seguinte propriedade 𝑺(c)𝑺(c) c𝖢).
  4. Sentinelas são guardiões honestos. Pode parecer que c(c)+ mas 𝑺(c)c= para que c∉up(c). isto, porém deve ser uma consequência do fato de que todos os pontos de 𝑺(c) estão envolvidos em realmente proteger c contra outros conceitos em up(c) e não somente em evitar inclusões de c+ por (c)+. Assim, se removermos c,𝑺(c) permanece a mesma (Sempre que c1 e c2 são tais que c1c2𝑺(c2) e c2𝑺(c1)=, então a restrição de 𝑺 para {c1}up(c1){c2} é uma função sentinela nesse conjunto).

𝑺(c) é a fronteira de c sobre 𝑺.

Um diagrama esquemático da perspectiva da funcionalidade sentinela exterior.

Fazendo referência a imagem na direita, {x1,x2,x3} é uma fronteira candidata de c0 contra c1,c2,c3,c4. todos os pontos estão na lacuna entre um ci e c0. Eles evitam a inclusão de c0{x1,x2,x3} em c3, desde que esses pontos não são usados pelo último para se proteger contra outros conceitos. Vice versa esperamos que c1 use x1 e x3 como suas próprias sentinelas, c2 use x2 e x3 e c4 use x1 e x2 analogamente. O ponto x4 não é permitido como um ponto sentinela de c0 pois, como qualquer assento diplomático, deveria ser alocado fora de todos os outros conceitos apenas para confiar que não está ocupado em caso de ser invadido por c0.

Definição de detalhes

Predefinição:ÂncoraO tamanho da fronteira do conceito mais caro a ser protegido com a função sentinela menos eficiente, i.e. a quantidade

D𝖢=sup𝑺,c#𝑺(c),

é chamada de detalhe de 𝖢. 𝑺 abrange também as funções sentinelas em subconjuntos de 𝔛 vigiando neste caso, as interseções dos conceitos com esses subconjuntos. Na verdade, subconjuntos próprios de 𝔛 podem hospedar tarefas sentinelas que provam ser mais difíceis do que as emergindo com 𝔛.

O detalhe D𝖢 é uma medida de complexidade do conceito de classes dupla para a dimensão VC D𝖵C. O antigo usa pontos para separar os conjuntos de conceitos, estes últimos conceitos de particionamento de conjuntos de pontos. Em particular, a seguinte desigualdade vale Predefinição:Harv

D𝖢D𝖵C+1

Veja também complexidade de Rademacher para tomar conhecimento de uma recém-introduzida classe de índice de complexidade.

Exemplo: espaços contínuos

A classe C de círculos em 2 tem detalhe D𝖢=2, como mostrado na imagem à esquerda. Similarmente, para a classe de segmentos em , como mostrado na imagem à direita.

Dois pontos x1,x2 fora de c (círculo grosso) são suficientes para prevenir um círculo maior que não os contém de incluir-los
A classe de segmentos em e dois pontos necessários para vigiar seus conceitos

Exemplo: espaços discretos

A classe 𝖢={c1,c2,c3,c4} sobre 𝔛={x1,x2,x3} cujos conceitos são ilustrados no esquema seguinte, onde "+" denota um elemento xj pertencente a ci, "" um elemento fora de ci e um ponto sentinela:

x1 x2 x3
c1=
c2= + +
c3= + +
c4= + + +

Esta classe tem D𝖢=2. Como de costume, podemos ter diferentes funções sentinelas. O pior caso 𝐒, como ilustrado, é: 𝐒(c1)={x1,x2},𝐒(c2)={x1},𝐒(c3)={x2},𝐒(c4)=. No entanto, um mais barato é 𝐒(c1)={x3},𝐒(c2)={x1},𝐒(c3)={x2},𝐒(c4)=:

x1 x2 x3
c1=
c2= + +
c3= + +
c4= + + +

Referências

  • Apolloni, B; Malchiodi, D.; Gaito, S. (2006). Algorithmic Inference in Machine Learning. International Series on Advanced Intelligence 5 (2nd ed.). Adelaide: Magill. Advanced Knowledge International 
  • Apolloni, B.; Chiaravalli, S. (1997). "PAC learning of concept classes through the boundaries of their items". Theoretical Computer Science 172 (1–2): 91–120. doi:10.1016/S0304-3975(95)00240-5.