Beruflich Dokumente
Kultur Dokumente
1.1
Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2
1.2.1
Problema computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2
Problemas de decisin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3
Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.4
1.3
Clases de complejidad
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2
1.3.3
1.3.4
1.4
La pregunta P=NP
1.5
NP-Completitud
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1
Reduccin polinomial
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2
Problemas NP-completos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.3
Importancia de la NP-Completitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6
1.7
Vase tambin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8.1
Artculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8.2
Libros de texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NP-completo
2.1
Denicin de NP-completo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
Ejemplos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4
Soluciones aproximadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5
2.6
Vase tambin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Problema de decisin
10
i
ii
NDICE GENERAL
3.1
Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
3.2
Vase tambin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
3.3
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
Optimizacin (cmputo)
11
Problema de la mochila
12
5.1
Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
5.2
Denicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
5.3
Simplicaciones y generalizaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
5.3.1
13
5.3.2
13
5.3.3
13
5.4
5.5
6
Mtodos de resolucin
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
5.4.1
Algoritmos voraces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
5.4.2
Algoritmos genticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
Referencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
15
6.1
Denicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
6.2
Resolucin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
6.3
Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
6.3.1
Clave simtrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
6.3.2
Clave asimtrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
6.4
Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
6.5
17
6.5.1
Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
6.5.2
Imgenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
6.5.3
Licencia de contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
Captulo 1
mas combinatorios y de teora de grafos, caracterizados por ser computacionalmente intratables, eran NPcompletos.[2] Tambin en los 70s, se produjo un crecimiento de las clases de complejidad a medida que los investigadores trataban de comprender los distintos modelos de cmputo existentes.
plejidad
1.3.1
1.3.2
Mquinas de Turing deterministas y paradas. Dada una instancia del problema I, la primera
etapa simplemente adivina un candidato a solucin S.
la clase P
1.5 NP-Completitud
1.5.1
Reduccin polinomial
Existen muchos tipos de reducciones: basadas en el mtodo de reduccin, como las reducciones de Cook, las reducciones de Karp y las reducciones de Levin, y las basadas en la cota de la complejidad, como la reduccin en 1.6 Haciendo frente a problemas
tiempo polinomial o la reduccin de espacio logartmiNP
ca. Una de las reducciones ms utilizadas es la reduccin
en tiempo polinomial, lo cual signica que el proceso de
reduccin toma un tiempo polinomial.
Teniendo en cuenta la denicin de problema intratable,
si no se cumple que P=NP, entonces los problemas NPcompletos son intratables.
1.5.2
Problemas NP-completos
Las reducciones en tiempo polinomial nos dotan de elementos para probar, de una manera formal, que un problema es al menos tan difcil que otro, con una diferencia
de un factor polinomial. Estas son esenciales para denir a los problemas NP-completos, adems de ayudar a
comprender los mismos.
La clase de los problemas NP-completos contiene a los
problemas ms difciles en NP, en el sentido de que son
los que estn ms lejos de estar en P. Debido a que el problema P=NP no ha sido resuelto, el hecho de reducir un
problema B, a otro problema A, indicara que no se conoce solucin en tiempo polinomial para A. Esto es debido
a que una solucin en tiempo polinomial para A, tendra
como consecuencia la existencia de una solucin polinomial para B. De manera similar, debido a que todos los
problemas NP pueden ser reducidos a este conjunto, encontrar un problema NP-completo que pueda ser resuelto
en un tiempo polinomial signicara que P=NP.
1.8. REFERENCIAS
1.8 Referencias
[1] Richard M. Karp, Combinatorics, Complexity, and Randomness, 1985 Turing Award Lecture.
[2] Richard M. Karp (1972), Reducibility Among Combinatorial Problems, en R. E. Miller and J. W. Thatcher (editors), Complexity of Computer Computations, New York:
Plenum, pp. 85103.
[3] Garey, Michael R., Johnson David S., (1979), Computers
and Intractability: A Guide to the Theory of NPCompleteness, W. H. Freeman, (page 4).
[4] Garey, Michael R., Johnson David S., (1979), Computers
and Intractability: A Guide to the Theory of NPCompleteness, W. H. Freeman, (page 8).
[5] Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. & Stein, Cliord, (2010), Introduction to Algorithms, 3. edicin, MIT Press and McGraw-Hill, (page
1049).
[6] Garey, Michael R., Johnson David S., (1979), Computers
and Intractability: A Guide to the Theory of NPCompleteness, W. H. Freeman, (page 28).
[7] Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. & Stein, Cliord, (2010), Introduction to Algorithms, 3. edicin, MIT Press and McGraw-Hill, (page
1067).
1.8.1
Artculos
Captulo 2
NP-completo
En teora de la complejidad computacional, la clase
de complejidad NP-completo es el subconjunto de los
problemas de decisin en NP tal que todo problema en
NP se puede reducir en cada uno de los problemas de
NP-completo. Se puede decir que los problemas de NPcompleto son los problemas ms difciles de NP y muy
probablemente no formen parte de la clase de complejidad P. La razn es que de tenerse una solucin polinmica para un problema NP-completo, todos los problemas
de NP tendran tambin una solucin en tiempo polinmico. Si se demostrase que un problema NP-completo,
llammoslo A, no se pudiese resolver en tiempo polinmico, el resto de los problemas NP-completos tampoco
se podran resolver en tiempo polinmico. Esto se debe
a que si uno de los problemas NP-completos distintos de
A, digamos X, se pudiese resolver en tiempo polinmico,
entonces A se podra resolver en tiempo polinmico, por
denicin de NP-completo. Ahora, pueden existir problemas en NP y que no sean NP-completos para los cuales exista solucin polinmica, aun no existiendo solucin
para A.
Un problema que satisface la segunda condicin pertenece a la clase NP-hard independientemente de que satisfaga
la primera.
Como ejemplo de un problema NP-completo encontramos el problema de la suma de subconjuntos que se puede enunciar como sigue: dado un conjunto S de enteros,
existe un subconjunto no vaco de S cuyos elementos 2.2 Historia
sumen cero? Es fcil vericar si una respuesta es correcta, pero no se conoce mejor solucin que explorar todos El concepto de NP-completo fue introducido por
los 2n 1 subconjuntos posibles hasta encontrar uno que Stephen Cook en un artculo titulado 'The complexity
cumpla con la condicin.
of theorem-proving procedures en las pginas 151-158
de Proceedings of the 3rd Annual ACM Symposium on
Theory of Computing en 1971, aunque el trmino NPcompleto como tal no aparece en el documento. En la
2.1 Denicin de NP-completo
conferencia de ciencias de la computacin hubo un intenso debate entre los cientcos de la computacin soUn problema de decisin C es NP-completo si:
bre si los problemas NP-completos podan ser resueltos
en tiempo polinmico o en una mquina de Turing deter1. C es un problema NP, y
minista. John Hopcroft llev a todos los asistentes de la
conferencia a consenso concluyendo que el estudio sobre
2. Todo problema de NP se puede transformar polin- si los problemas NP-completos son resolubles en tiempo
micamente en C.
polinmico debiera ser pospuesto ya que nadie haba conseguido probar formalmente sus hiptesis ni en un sentiSe puede demostrar que C es NP demostrando que un do ni en otro. Esto se conoce como el problema P=NP?.
candidato a solucin de C puede ser vericado en tiempo Nadie ha sido capaz an de dar una respuesta nal a este
polinmico.
problema, hacindolo uno de los grandes problemas no
6
2.3 Ejemplos
Circuit - SAT
SAT
3-CNF SAT
Clique Problem
Subset Problem
Travelling Salesman
Un problema interesante en teora de grafos es el de Algunos problemas NP-completos, indicando las reducciones
isomorsmo de grafos: Dos grafos son isomorfos si se usadas tpicamente de completitud NP
puede transformar uno en el otro simplemente renombrando los vrtices. De los dos problemas siguientes:
completitud NP. En este diagrama, una echa de un problema a otro indica la direccin de la reduccin. Ntese
Isomorsmo de grafos: Es el grafo G1 isomorque este diagrama puede resultar engaoso al llevarnos a
fo al grafo G2 ?
pensar que muestra una descripcin de la relacin mateIsomorsmo de subgrafos: Es el grafo G1 isomtica entre esos problemas, ya que existe una relacin
morfo a un subgrafo del grafo G2 ?
de reduccin de tiempo polinmico entre dos problemas
NP-completos cualesquiera; pero esto indica que demosSe sospecha que el problema de isomorsmo de grafos trar estas reducciones de tiempo polinmicas ha sido ms
no est ni en P ni en NP-completo, aunque est en NP. fcil.
Se trata de un problema difcil, pero no tanto como para
A menudo hay solo una pequea diferencia entre un proestar en NP-completo.
blema P y uno NP-completo. Por ejemplo, el probleLa forma ms sencilla de demostrar que un nuevo pro- ma 3SAT, una restriccin del problema de satisfacibiliblema es NP-completo es primero demostrar que est en dad, sigue siendo NP-completo, mientras que el probleNP y luego transformar en tiempo polinmico un proble- ma 2SAT -ligeramente ms estricto- est en P (especma que ya est en NP-completo a ste. Para ello resulta camente, NL-completo), y el problema MAX 2SAT til conocer algunos de los problemas para los que exis- ligeramente ms general- es, de nuevo, NP-completo. Dete prueba de pertenencia a NP-completo. Algunos de los terminar si un grafo puede ser coloreado con 2 colores,
ms famosos son:
est en P, pero con tres colores es NP-completo, incluso cuando se restringe a los grafos planos. Determinar
Problema de satisfacibilidad booleana (SAT)
si un grafo es ciclo o es bipartito es muy fcil (en L,
pero encontrar un subgrafo mximo bipartito o ciclo es
Problema de la mochila (knapsack)
NP-completo. Una solucin del problema de la mochila
(knapsack)dentro de de cualquier porcentaje jo de la so Problema del ciclo hamiltoniano
lucin ptima puede ser computado en tiempo polinmi Problema del vendedor viajero
co, pero encontrar la solucin ptima es NP-completo.
Problema de la clique
Vase tambin:
Categora:Problemas NP-completos
Actualmente, todos los algoritmos conocidos para problemas NP-completos utilizan tiempo exponencial con resA la derecha, un diagrama de algunos de los problemas pecto al tamao de la entrada. Se desconoce si hay algority sus reducciones tpicamente usadas para demostrar su mos ms rpidos, por lo cual, para resolver un problema
CAPTULO 2. NP-COMPLETO
NP-completo de tamao arbitrario, se utiliza uno de los que este tiene la restriccin de que el programa solamente
siguientes enfoques:
puede llamar una vez al subalgoritmo y el valor retornado
por este debe ser el valor de retorno del programa.
Aproximacin: Un algoritmo que rpidamente encuentra una solucin no necesariamente ptima, pero dentro de un cierto rango de error. En algunos casos, encontrar una buena aproximacin es suciente
para resolver el problema, pero no todos los problemas NP-completos tienen algoritmos de aproximacin.
Probabilstico: Un algoritmo probabilstico utiliza
aleatoriedad para obtener en promedio una buena
solucin al problema planteado con una pequea
probabilidad de fallar, para una distribucin de los
datos de entrada dada.
Restricciones: Restringiendo la estructura de las
entradas se pueden encontrar algoritmos ms rpidos.
Casos particulares: Puede ocurrir que se reconozcan casos particulares del problema para los cuales
existen soluciones rpidas.
Algoritmo gentico: Algoritmos que mejoran las
posibles soluciones hasta encontrar una que posiblemente est cerca del ptimo. Tampoco existe forma
de garantizar la calidad de la respuesta.
Heursticas: Un algoritmo que trabaja razonablemente bien en muchos casos. En general son rpidos, pero no existe medida de la calidad de la respuesta. Las aproximaciones metaheursticas suelen
ser empleadas.
Un ejemplo de algoritmo heurstico de complejidad O(n
log n) es el algoritmo voraz utilizado para la coloracin de
vrtices en algunos compiladores. Gracias a que la mayora de mquinas RISC tienen un gran nmero de registros
de propsito general, incluso una aproximacin heurstica es efectiva para esta aplicacin.
2.7 Referencias
Garey, M. and D. Johnson, Computers and Intractability; A Guide to the Theory of NP-Completeness,
1979. ISBN 0-7167-1045-5 (Este es un libro clsico que desarrolla la teora y clasica muchos de los
problemas NP-completos)
S. A. Cook, The complexity of theorem proving
procedures, Proceedings, Third Annual ACM Sym-
2.7. REFERENCIAS
posium on the Theory of Computing, ACM, New
York, 1971, 151-158
Complejidad computacional de juegos y rompecabezas
Tetris es difcil, aun para aproximarlo
Buscaminas es NP-completo!
Lista de problemas NP-completo
Captulo 3
Problema de decisin
En teora de la computacin, un problema es un conjun Las frases que describen una mquina de Turing y
to de frases de longitud nita que tienen asociadas frases
una cinta de entrada para esta mquina tal que la
resultantes tambin de longitud nita. Un problema de
mquina se para en un tiempo nito al procesar esa
decisin es un problema en donde las respuestas posibles
entrada.
son s o no. Un ejemplo tpico de problema de decisin es la pregunta: Es un nmero entero dado primo? Los problemas de decisin son interesantes dado que toUna instancia de este problema sera: Es 17 primo?
dos los problemas formales (que incluye tanto lgicos coUn problema de decisin tambin se puede formalizar co- mo matemticos) pueden ser redactados para que tomen
mo el problema de decidir si una cierta frase pertenece a la forma de un problema de decisin. Las soluciones al
un conjunto dado de frases, tambin llamado lenguaje for- problema de decisin y al problema original se diferenmal. El conjunto contiene exactamente las frases para las cian a lo sumo por un factor lineal.
cuales la respuesta a la pregunta es positiva. La pregunta
anterior sobre los nmeros primos se puede ver tambin
como el lenguaje de todas las frases en el alfabeto {0, 3.2 Vase tambin
1,..., 9} tales que el entero correspondiente es primo.
Si existe un algoritmo que pueda decidir para cada posible frase de entrada si esa frase pertenece al lenguaje, entonces se dice que el problema es decidible, de otra forma
se dice que es un problema indecidible. Cuando existe un
algoritmo que puede responder positivamente cuando la
frase est en el lenguaje, pero que corre indenidamente cuando la frase no pertenece al lenguaje se dice que
el problema es parcialmente decidible. En Teora de la
computabilidad, se estudia qu lenguajes son decidibles
con diferentes tipos de mquinas. En teora de la complejidad computacional se estudia cuntos recursos necesita
un algoritmo decidible para ejecutar (recursos de tiempo,
espacio, nmero de procesadores, tipo de mquina, etc.).
Entscheidungsproblem
3.3 Referencias
3.1 Ejemplos
Esos son algunos ejemplos de problemas de decisin expresados como lenguajes:
Las frases sobre el alfabeto {a, b} que contienen alternadas las letras a y b.
Las frases sobre el alfabeto {a, b, c} que contienen
igual nmero de letras a y b.
Las frases que describen un grafo con aristas etiquetadas con nmeros naturales que indican su longitud,
dos vrtices del grafo y un camino en el grafo que es
el camino ms corto entre esos dos vrtices.
10
Captulo 4
Optimizacin (cmputo)
En cmputo, la optimizacin es el proceso de modicar un sistema para mejorar su eciencia y el uso de los
recursos disponibles (rendimiento).
La optimizacin se puede llevar a cabo bsicamente en
tres niveles diferentes:
optimizacin de hardware
optimizacin de redes
optimizacin de software
11
Captulo 5
Problema de la mochila
$4
12
kg
15 kg
$2
g
2k
5.2 Denicin
g
1k
$1
$10
g
1k
A continuacin se dene formalmente el problema.[3] Supongamos que tenemos n distintos tipos de tems, que
van del 1 al n. De cada tipo de tem se tienen qi tems
disponibles, donde qi es un entero positivo que cumple
1 qi .
g
4k
En algoritmia, el problema de la mochila, comnmente abreviado por KP (del ingls Knapsack problem) es
un problema de optimizacin combinatoria, es decir, que
busca la mejor solucin entre un conjunto de posibles soluciones a un problema. Modela una situacin anloga al
llenar una mochila, incapaz de soportar ms de un peso
determinado, con todo o parte de un conjunto de objetos,
cada uno con un peso y valor especcos. Los objetos colocados en la mochila deben maximizar el valor total sin
exceder el peso mximo.
Por otro lado se tiene una mochila, donde se pueden introducir los tems, que soporta un peso mximo (o volumen
mximo) W.
El problema consiste en meter en la mochila tems de tal
forma que se maximice el valor de los tems que contiene y siempre que no se supere el peso mximo que
puede soportar la misma. La solucin al problema vendr dado por la secuencia de variables x1 , x2 , ..., xn donde
el valor de xi indica cuantas copias se metern en la mochila del tipo de tem i.
El problema se puede expresar matemticamente por medio del siguiente programa lineal:
5.1 Historia
n
maximizar i=1 vi xi
n
que tal
i=1 wi xi W
y 1 qi .
El problema de la mochila es uno de los21 problemas NP-completos de Richard Karp, establecidos por el
informtico terico en un famoso artculo de 1972.[1] Ha
sido intensamente estudiado desde mediados del siglo XX Si q = 1 para i=1,2,...,n se dice que se trata del proi
y se hace referencia a l en el ao 1897, en un artculo de blema de la mochilla 0-1. Si uno o ms q es innito
i
George Mathews Ballard.[2]
entonces se dice que se trata del problema de la moSi bien la formulacin del problema es sencilla, su reso- chila no acotado tambin llamado a veces problema de
lucin es ms compleja. Algunos algoritmos existentes la mochila entera. En otro caso se dice que se trata del
pueden resolverlo en la prctica para casos de un gran ta- problema de la mochila acotado
12
13
El hecho de que se trate de programacin lineal hace reObservar que en un problema de la mochilla 0-1, si para ferencia a que la funcin a optimizar y las inecuaciones
cada tipo de tem el benecio y los pesos son idnticos que constituyen las restricciones han de ser lineales, es de(v=w), entonces el problema quedara formulado de la cir, han de ser funciones cuyas incgnitas estn elevadas
exclusivamente a la unidad.
siguiente forma
Existe otra forma de resolver este tipo de problema, a travs de los denominados algoritmos voraces. Una aproxin
maximizar i=1 wi xi
macin voraz consiste en que cada elemento a considerar
n
que tal
se evala una nica vez, siendo descartado o seleccionai=1 wi xi W
y xi {0, 1}.
do, de tal forma que si es seleccionado forma parte de
n
la solucin, y si es descartado, no forma parte de la soPor tanto si existe un vector x tal que i=1 wi xi = W
lucin ni volver a ser considerado para la misma. Con
, entonces esa ser una solucin al problema. Si existe
este mtodo no siempre es posible dar una solucin a un
una solucin x de este tipo, resolver el problema de la
problema.
mochila realmente es resolver el problema de la suma de
subconjuntos. Adems si el conjunto de los pesos de los Otro sistema para resolver el problema de la mochila es
elementos es una secuencia supercreciente, es decir, se mediante algoritmos genticos que son mtodos de optimizacin que tratan de hallar (xi,...,xn) tales que sea mverica que:
ximo.
wi >
i1
wj
j=1
La utilizacin de un algoritmo voraz consiste en introducir en la mochila segn orden decreciente de utilidad
(benecio) los diversos objetos. En una primera etapa,
se adicionarn unidades enteras hasta que, por motivo de
capacidad, no sea posible seguir introduciendo enteros y
haya que aadir la porcin que quepa del siguiente objeto.
k
maximizar
vij xij
b) Concepto de solucin ptima:
ki=1 jNi
que tal
wij xij W,
i=1
jN
i
5.3.3
Algoritmos genticos
14
5.5 Referencias
[1] Richard M. Karp (1972). Reducibility Among Combinatorial Problems. En R. E. Miller y J. W. Thatcher (editores). Complexity of Computer Computations. Nueva York:
Plenum. pp. 85103.
[2] G.B. Mathews, On the partition of numbers, Proceedings
of the London Mathematical Society, 28:486-490, 1897.
[3] Eric Gossett,"Discrete Mathematics with Proof. Segunda
edicin. John Willey 2009.
Captulo 6
6.3 Aplicaciones
6.1 Denicin
wi >
i1
wj
j=1
Se debe encontrar S'={S, S , ..., S }, siendo S' el subcon- Haciendo las sumas de cada quinteto obtengo
junto de S cuya suma sea igual al valor T.
C = (4), (10+40), (19), (10), (2+19),
(2+19+40), (2+4+19), (2+19+40)= 4, 50, 19,
10, 21, 61, 25, 61
6.2 Resolucin
La solucin a este tipo de mochila es muy fcil debido a Que ser el mensaje cifrado.
que la secuencia S es una secuencia supercreciente:
Para descifrar es receptor, que conoce S, recibe el mensaje C y opera de forma contraria resolviendo el problema
de la mochila simple para cada uno de los valores de C.
Se recorren los elementos de la mochila de mayor a menor comprobando si dicho valor es menor que T. Si es mayor, ese valor no estar en la
16
50 -> 00101
19 -> 00010
10 -> 00100
21 -> 10010
61 -> 10011
25 -> 11010
61 -> 10011
Si uno todos los bits y agrupo en grupos de 8 bits (ANSI/ASCII) obtengo el mensaje original.
Esta forma de cifrar no es segura ya que es evidente
que teniendo un sucientes pares, de mensaje originale y
mensaje cifrado asociado, ser muy fcil obtener la clave S con la que se est cifrando. Sin embargo esta forma
de cifrar es muy rpida y puede ser aprovechada en las
aplicaciones de cifrado con clave asimtrica.
6.3.2
Clave asimtrica
tramposa as obtenida no sea una mochila fcil de resolver (no siempre es as).
Para descifrar el criptograma hay que aplicar
w1 C (mod u) para cada una de las sumas C obtenidas al cifrar. A continuacin cada valor suma
transformado hay que descifrarlo de la forma habitual
con la mochila simple original, lo cual es trivial.
6.4 Bibliografa
Jorge Rami Aguirre,"Aplicaciones criptogrcas:
libro gua de la asignatura seguridad informtica.
Universidad Politcnica, Escuela Universitaria de
Informtica. Enero 1998.
17
Texto
6.5.2
Imgenes
Archivo:Commons-emblem-disambig-notice.svg
Fuente:
Commons-emblem-disambig-notice.svg Licencia: GPL Colaboradores:
https://upload.wikimedia.org/wikipedia/commons/5/58/
6.5.3
Licencia de contenido