Está en la página 1de 46

Pgina 1

UNIVERSIDAD NACIONAL DE TRUJILLO

PROBLEMAS DE DECISION EN GRAFOS

TEORIA DE LA COMPUTACION

NOMBRES DEL AUTOR


Bravo Caderas, Estefano
Cruz Ibez, Ingrid
Nez Morocho, Jos
Pajares Glvez, Elayne Graciela

Julio,2017

Pgina 1
RESUMEN
En el presente trabajo se quiere dar a conocer sobre los diferentes problemas que se
pueden realizar con grafos, en donde se ver su resolucin, pero para ello se ver la
anteriormente la teora ,descripcin de grafos

Pgina 1
INDICE

INTRODUCCION

Captulo I

1. Teora de grafos ... 1

1.1. Concepto . 1

1.2. Vrtice .. 1

1.2.1. Adyacente ..... 1

1.2.2. Aislado ... 1

1.2.3. Terminal ..... 1

1.3. Grafo ..... 1

1.4. Aristas ...... 1

1.4.1. Aristas Adyacentes .... 1

1.4.2. Aristas Mltiples ..... 1

1.4.3. Lazo .... 1

1.5. Tipos de grafos ...... 1

1.5.1. Grafo simple ..... 1

1.5.2. Multgrafos .... 1

1.5.3. Pseudografos ... 1

1.5.4. Grafo dirigido ... 1

1.5.5. Multgrafo dirigido ...... 1

1.5.6. Grafo completo ... 1

1.5.7. Grafo nulo ..... 1

1.6. Representaciones de grafos ...... 1

1.6.1. Grafos Isomorfos ........ 1

Pgina 1
1.6.2. Subgrafos ............................... 1

1.6.3. Grafo bipartito ..... 1

1.6.4. Grafos conexos ....... 1

1.7. Recorrido de un grafo ...... 1

1.7.1. Grafos planares ....... 1

1.7.1.1. Subdivisin ....... 1

1.7.1.2. Homeomorfismo ......... 1

1.7.1.3. Teorema de Kuratowski ........ 1

1.7.1.3.1. Propiedad .......... 1

1.7.1.3.2. Corolario ........ 1

1.7.1.3.3. Teorema Kuratowski ...... 1

1.7.1.3.4. Prueba ........ 1

1.7.1.4. Teorema de Whitney ....... 1

1.7.1.4.1. Definiciones ...... 1

1.7.1.4.2. Teorema ......... 1

1.7.1.5. Teorema de Euler Teorema ....... 1

1.7.1.5.1. Corolario ........ 1

Capitulo II

1. Optimizacin ...... 1

1.1. Teora de Complejidad ...... 1

1.2. Distintas versiones de un Problema de Optimizacin IT . 1

1.2.1. Ejemplo: Problema del Viajante de Comercio .. 1

1.2.2. Problemas Intratables ........ 1

1.2.2.1. Distintas Versiones de un Problema de Optimizacin ... 1

Pgina 1
1.3. Problemas de Optimizacin ........ 1

1.4. Problemas de Optimizacin Combinatoria ...... 1

1.5. Complejidad de Problemas ........ 1

1.6. Problemas en Funcin de sus Clases de Complejidad ...... 1

1.6.1. Clase P ....... 1

1.6.1.1. El principio de Turing ...... 1

1.6.2. Clase NP ........ 1

1.6.2.1. Formas de establecer si un problema pertenece a la clase

NP ... 1

1.6.2.1.1. Primer caso ....... 1

1.6.2.1.2. Segundo Caso ...... 1

1.6.2.2. La importancia de la clase de problemas NP ...... 1

1.6.2.3. Cases de NP ...... 1

1.6.2.3.1. Clase NP- Completo ..... 1

1.6.2.3.2. Case NP- Difcil ......... 1

1.6.2.3.3. Clase Co-NP ...... 1

1.6.2.4. Tipos de Problemas ........ 1

1.6.2.4.1. NP- Completo ........ 1

1.6.2.5. Problemas Abiertos de Teora de Complejidad ....... 1

1.6.2.6. Extensin del Problema ......... 1

1.6.2.6.1. Ejemplos ........ 1

Pgina 1
INDICE DE FIGURAS

Figura 1: Gafo 1 .... 1

Figura 2: Grafo 2 ... 1

Figura 3: Aristas Adyacentes .... 1

Figura 4: Aristas Mltiples ..... 1

Figura 5: Pseudografo ... 1

Figura 6: Grafo Dirigido .. 1

Figura 7: Grafos Completos .. 1

Figura 8: Grafos Nulos ....... 1

Figura 9: Grafos Isomorfos ... 1

Figura 10: Subgrafos ... 1

Figura 11: Grafos Bipartidos ..... 1

Figura 12: Gafos Conexos ..... 1

Figura 13: Gafos Planares ..... 1

Figura 14: Gafos Conexos ..... 1

Figura 15: Gafos Planares ..... 1

Figura 16: Gafos Conexos ..... 1

Figura 13: Gafos Planares ..... 1

Pgina 1
CAPITULO I
1. TEORA DE GRAFOS
1.1. CONCEPTO

En matemticas y en ciencias de la computacin, la teora de

grafos (tambin llamada teora de las grficas) estudia las propiedades de

los grafos (tambin llamadas grficas). Un grafo es un conjunto, no vaco,

de objetos llamados vrtices (o nodos) y una seleccin de pares de vrtices,

llamados aristas (edges en ingls) que pueden ser orientados o no.

Tpicamente, un grafo se representa mediante una serie de puntos (los

vrtices) conectados por lneas (las aristas).

Pgina 1
Estructuras de datos en la representacin de grafos. Existen diferentes

formas de almacenar grafos en una computadora. La estructura de

datos usada depende de las caractersticas del grafo y el algoritmo usado

para manipularlo. Entre las estructuras ms sencillas y usadas se encuentran

las listas y las matrices, aunque frecuentemente se usa una combinacin de

ambas. Las listas son preferidas en grafos dispersos porque tienen un

eficiente uso de la memoria. Por otro lado, las matrices proveen acceso

rpido, pero pueden consumir grandes cantidades de memoria.

https://sites.google.com/site/cienciasdelacompucion/algoritmos-y-

estructuras-de-datos/con/historia/campos-de-la-ciencia-de-la-

computacion/fuandamentos-de-la-matematica/teoria-de-grafos

1.2. VRTICE

Los vrtices constituyen uno de los dos elementos que forman un grafo.

Como ocurre con el resto de las ramas de las matemticas, a la Teora de

Grafos no le interesa saber qu son los vrtices.

Diferentes situaciones en las que pueden identificarse objetos y relaciones

que satisfagan la definicin de grafo pueden verse como grafos y as aplicar

la Teora de Grafos en ellos.

Pgina 1
https://sites.google.com/site/cienciasdelacompucion/algoritmos-y-estructuras-de-

datos/con/historia/campos-de-la-ciencia-de-la-computacion/fuandamentos-de-la-

matematica/teoria-de-grafos

Se dice que un vrtice es:

1.2.1. ADYACENTE

Si tenemos un par de vrtices de un grafo(U,V),y si tenemos un

arista que los une, entonces U y V son vrtices adyacentes y se dice

que U es el vrtice inicial y V el vrtice adyacente.

1.2.2. AISLADO

Es el vrtice de grado Cero.

1.2.3. TERMINAL

Vrtice de grado 1.

https://es.slideshare.net/isaiastoledo7/teora-de-grafos-14694334

1.3. GRAFO

Para las matemticas y las ciencias de la computacin, un grafo es el

principal objeto de estudio de la teora de grafos.

De esta forma, un grafo se representa grficamente como un conjunto de

puntos (llamados de vrtices o nodos), unidos por lneas(aristas). Los grafos

permiten estudiar las relaciones entre unidades que se encuentran en

interaccin.

Pgina 1
Son diagramas que si se interpretan en forma adecuada proporcionan

informacin, como por ejemplo los mapas, diagramas de circuitos o de flujos

de otros.

Un grafo est compuesto por dos conjuntos finitos:

Un conjunto de |A| aristas.

Un conjunto de |V| vrtices.

J es una relacin de incidencia, que asociada a cada elemento de |A| un

par

de elementos de |V|.Se denota G={A,V,j}

Figura 1 Grafo 1
Figura 2 grafo 2

Chirinos, N. (s.f.). Conceptos de Teoria de Grafos.

https://es.slideshare.net/naborchirinos/conceptos-teoria-de-grafos-5778778

1.4. ARISTAS

La arista es la relacin que tienen dos vrtices de un grafo.

Las aristas se representan como una lnea que une dos vrtices (esto es

para grafos no dirigidos); si el grafo es dirigido, entonces la arista se

representa como una flecha

1.4.1. ARISTAS ADYACENTES

Pgina 1
Dos aristas son adyacentes si convergen sobre el mismo vrtice.

Figura 3: Aristas
Adyacentes

https://es.slideshare.net/naborchirinos/conceptos-teoria-de-grafos-

5778778

1.4.2. ARISTAS MLTIPLES

Dos aristas son mltiples o paralelas si tienen los mismos vrtices

en comn o incidente sobre los mismos vrtices.

Figura 4: Aristas Mltiples

1.4.3. LAZO

Es una arista cuyos extremos incide sobre el mismo vrtice.

https://es.slideshare.net/naborchirinos/conceptos-teoria-de-grafos-

5778778

1.5. TIPOS DE GRAFOS

1.5.1. GRAFO SIMPLE

Un grafo simple G = (V, A) costa de un conjunto no vaco de vrtices

V y de un conjunto A de pares no ordenados de elementos distintos

de V, a estos pares se les llama aristas. En otras palabras, un grafo

Pgina 1
simple es un grafo en los que existe a lo ms una arista que une dos

vrtices distintos.

1.5.2. MULTGRAFOS

Un multgrafo G = (V, A) consta de un conjunto V de vrtices, un

conjunto A de aristas y una funcin f de A hacia {{u, v} | u, v V, u v}.

Se dice que las aristas a1 y a2 son aristas mltiples o paralelas si f

(a1) = f (a2).

1.5.3. PSEUDOGRAFOS

Un pseudografo G = (V, A) consta de un conjunto V de vrtices, un

conjunto A de aristas y una funcin f de A hacia {{u, v} | u, v V}. Una

arista a es un bucle o lazo, si f(a) = {u; u} = {u} para algn u V.

Figura 5: Pseudografos

http://grafos-structura-de-datos.blogspot.pe/

1.5.4. GRAFO DIRIGIDO

Un grafo dirigido G, tambin llamado dgrafo, es lo mismo que un

multgrafo, solo que cada arista e de G tiene una direccin asignada

o, en otras palabras, cada arista e est identificada por un par

ordenado (u, v) de nodos G en vez del par desordenado [u. v]. Un

Pgina 1
grafo dirigido (V, A) consta de un conjunto V de vrtices y de un

conjunto A de aristas, que son pares ordenados de elementos de V.

Utilizamos el par ordenado para indicar que es una arista dirigida

del vrtice u al vrtice v.

Figura 6: Grafo Dirigido

http://discretasequipo7.blogspot.pe/2014/11/teoria-de-grafos.html

1.5.5. MULTGRAFO DIRIGIDO

Un multgrafo dirigido G = (V, A) consta de un conjunto V de

vrtices, un conjunto A de aristas y una funcin f de A hacia { | u, v

V}. Se dice que las aristas a1 y a2 son aristas mltiples o paralelas si:

f (a1) = f (a2)

1.5.6. GRAFO COMPLETO

Un grafo completo es un grafo simple que tiene una arista entre

cada par de vrtices distintos. Es decir, es aquel en el que cada par

Figura 7: Grafos Completos

Pgina 1
de sus vrtices est interconectado entre s.

https://upload.wikimedia.org/wikipedia/commons/5/5f/Introducci%C3

%B3n_a_la_Teor%C3%ADa_de_Grafos.pdf

1.5.7. GRAFO NULO

Dcese del grafo que no posee nodos. Evidentemente tampoco

posee arcos o aristas.

En notacin relacional/conjuntar el grafo nulo se representa

por G=<{},{}> y a menudo se identifica con las expresiones G* G0.

Figura 8: Grafos Nulos

https://www.ecured.cu/Grafo_nulo

1.6. REPRESENTACIONES DE GRAFOS

1.6.1. GRAFOS ISOMORFOS

Pgina 1
Dos grafos son isomorfos cuando existe una correspondencia

biunvoca(uno a uno), entre sus vrtices de tal forma que dos de

estos quedan unidos por una arista en comn.

Figura 9: Grafos isomorfos

http://mdunidad6.blogspot.pe/2011/12/teoria-de-grafos.html

1.6.2. SUBGRAFOS

Un grafo H es un subgrafo de un grafo G si V(H) V(G) y E(H)

E(G). Si V(H) = V(G), decimos que H es un subgrafo generador de G.

Dado un conjunto de vrtices X V(G), el subgrafo de G inducido por

X es el subgrafo H de G tal que V(H) = X y E(H) es el conjunto de

aristas de G que tiene ambos extremos en X. Notacin: Si v V(G),

G v denota el subgrafo de G inducido por V(G) {v}.

Figura 10: Subgrafos

https://compdiscretas.files.wordpress.com/2012/11/subgrafo1.png

1.6.3. GRAFO BIPARTITO

Pgina 1
Es aquel con cuyos vrtices pueden formarse dos conjuntos

disjuntos de modo que no haya adyacencias entre vrtices

pertenecientes al mismo conjunto.

Un grafo cuyos vrtices se pueden separar en dos conjuntos

disjuntos V1 y V2 y las aristas siempre se unen vrtices de un conjunto

con vrtices de otro.

Los grafos bipartidos suelen representarse grficamente con dos

columnas (o filas) de vrtices y las aristas uniendo vrtices de

columnas (o filas) diferentes.

Los dos conjuntos U y V pueden sr pensados como un cloreo del

grafo con dos colores: si pintamos los vrtices en U de azul y los

vrtices de V de verde obtenemos un grafo de dos colores donde cada

arista tiene el un vrtice azul y el otro verde. Por otro lado, si un grfico

no tiene la propiedad de que se puede colorear con dos colores no es

bipartido.

Un grafo bipartido suele con la particin de los vrtices en U y V

suele denotarse G=(U,V,E). Si |U|=|V|, esto es, si los dos

subconjuntos tienen la misma cantidad de elementos, decimos que el

grafo bipartido G es balanceado.

Pgina 1
Figura 11: Grafos Bipartidos

https://sites.google.com/site/cursomatematicasdiscretas/5-2-

clasificacion-de-los-grafos

https://es.slideshare .net/isaiastoledo7/teora-de-grafos-14694334

1.6.4. GRAFOS CONEXOS

Un grafo se puede definir como conexo si cualquier vrtice V

pertenece al conjunto de vrtices y es alcanzable por algn otro. Otra

definicin que dejara esto ms claro sera: un grafo conexo es un

grafo no dirigido de modo que para cualquier par de nodos existe al

menos un camino que los une (un grafo completo es conexo).

Figura 12: Grafos Conexos

https://sites.google.com/site/cursomatematicasdiscretas/5-2-

clasificacion-de-los-grafos

1.7. RECORRIDO DE UN GRAFO

1.7.1 GRAFOS PLANARES

Pgina 1
Una representacin planar de un grafo G es un conjunto de puntos

en el plano que se corresponden con los vrtices de G unidos por

curvas que se corresponden con las aristas de G, sin que estas se

crucen entre s. Un grafo es planar si admite una representacin

planar. Dada una representacin planar de un grafo G, una regin

esel conjunto de todos los puntos alcanzables desde un punto (que

no sea un vrtice ni parte de una arista) sin atravesar vrtices ni

aristas.

Figura 13: Grafos


Planares

http://www.prof2000.pt/users/mimorais/imtrab05.htm

1.7.1.1. SUBDIVISIN

Subdividir una arista e = (v,w) de un grafo G, consiste en

agregar u / V un vrtice a G y reemplazar la arista e por dos

aristas e = (v, u) y e = (u,w).

Un grafo G es una subdivisin de otro grafo G si G se puede

obtener de G por sucesivas operaciones de subdivisin.

1.7.1.2. HOMEOMORFISMO

Pgina 1
Dos grafos G y G se dicen homeomorfismo si hay un

isomorfismo entre una subdivisin de G y una de G.

1.7.1.3. TEOREMA DE KURATOWSKI

1.7.1.3.1. PROPIEDAD

Si G es una subdivisin G, entonces G es planar si y slo

si G es planar.

La planaridad es invariante bajo homeomorfismo.

1.7.1.3.2. COROLARIO

Si un grafo G tiene un subgrafo que es homeomorfo a un

grafo no planar entonces G es no-planar.

1.7.1.3.3. TEOREMA (KURATOWSKI, 1930)

Un grafo es planar si y slo si no contiene ningn subgrafo

homeomorfo a K33 o K5.

https://www.dc.uba.ar/materias/aed3/2013/1c/teorica/algo3_te

o_planar.pdf

1.7.1.3.4. PRUEBA

Todo subgrafo de un grafo planar, es planar. Ya se prob

que K5 y K3,3 son no planares, y claramente cualquier

subdivisin de los mismos es un grafo no planar (subdividir

aristas no cambia la condicin de ser planar). Luego, G es no

planar. Un subgrafo Kuratowski de G es un subgrafo que es

subdivisin de K3,3 o de K5.

Pgina 1
http://www.fceia.unr.edu.ar/~ptorres/Grafos2016/Planaridad.pdf

1.7.1.4. TEOREMA DE WHITNEY

1.7.1.4.1. DEFINICIONES

La operacin de contraccin de una arista e = (v,w) consiste

en eliminar la arista del grafo y considerar sus extremos

como un solo vrtice u / V, quedando como aristas

incidentes a u todos las aristas que eran incidentes a v o a

w.

Grafo G es una contraccin de otro grafo G si se puede

obtener a partir de G por sucesivas operaciones de

contraccin. En este caso se dice que G es contrable a G.

1.7.1.4.2. TEOREMA

G es planar si y slo si no contiene ningn subgrafo contrable

a K33 o K5.

1.7.1.5. TEOREMA DE EULER TEOREMA (EULER, 1752)

Si G es un grafo conexo planar entonces cualquier representacion

planar de G determina r = m n + 2 regiones en el plano (ecuacion

poliedral de Euler).

1.7.1.5.1. COROLARIO

Si G es simple, sin loops, conexo y planar con n 3,

entonces m 3n 6.

K5 es no planar.

Pgina 1
Si G es simple, conexo, bipartito y planar con n 3,

entonces m 2n 4.

K33 es no planar.

https://www.dc.uba.ar/materias/aed3/2013/1c/teorica/algo3_teo_planar.pdf

CAPITULO II

1. OPTIMIZACION

1.1. TEORA DE COMPLEJIDAD

Un algoritmo eficiente es un algoritmo de complejidad polinomial.

Pgina 1
Un problema est bien resuelto si se conocen algoritmos eficientes

para resolverlo.

El objetivo es clasificar los problemas segn su complejidad.

Un problema de decisin es un problema cuya respuesta es s o no.

La clasificacin y el estudio de teora de complejidad se hace para

problemas de decisin.

1.2. DISTINTAS VERSIONES DE UN PROBLEMA DE OPTIMIZACIN

Dada una instancia I del problema :

Versin de evaluacin: Determinar el valor de una solucin ptima

de para I.

Versin de optimizacin: Encontrar una solucin optima del

problema para I (de valor mnimo o mximo).

Versin de decisin: Dado un nmero k, existe una solucin

factible S de para I tal que c(S) k si el problema es de

minimizacin (o c(S) k si el problema es de maximizacin)?

Versin de localizacin: Dado un nmero k, determinar una solucin

factible S de para I tal que c(S) k.

1.2.1. EJEMPLO: PROBLEMA DEL VIAJANTE DE COMERCIO

Dado un grafo G con longitudes asignadas a sus aristas:

Versin de evaluacin: Determinar el valor de una solucin

ptima, o sea la longitud de un circuito hamiltoniano de G de

longitud mnima.

Pgina 1
Versin de optimizacin: Determinar un circuito hamiltoniano de

G de longitud mnima.

Versin de decisin: Dado un nmero k, existe un circuito

hamiltoniano de G de longitud menor o igual a k?

Versin de localizacin: Dado un nmero k, determinar un

circuito hamiltoniano de G de longitud menor o igual a k.

Qu relacin hay en la dificultad de resolver las distintas versiones

de un mismo problema?

Si resolvemos el problema de decisin, podemos en general:

Resolver el problema de evaluacin usando bsqueda binaria sobre

el parmetro k.

Resolver el problema de localizacin resolviendo el problema de

decisin para el parmetro k para una versin reducida de la

instancia.

Resolver el problema de optimizacin resolviendo el problema de

decisin para el valor ptimo para una versin reducida de la

instancia.

1.2.2.1. PROBLEMAS INTRATABLES

Un problema es intratable si no puede ser resuelto por algn

algoritmo eficiente.

Un problema puede ser intratable por distintos motivos:

Pgina 1
El problema requiere una repuesta de longitud exponencial

(ejemplo: pedir todos los circuitos hamiltonianos de

longitud a lo sumo k).

El problema es indecidible (ejemplo: problema de la

parada). I El problema es decidible pero no se conocen

algoritmos polinomiales que lo resuelvan.

1.3. PEOBLEMAS DE OPTIMIZACION

Un problema de optimizacin es aquel cuya solucin implica encontrar en

un conjunto de soluciones candidatas alternativas, aquella que satisface

mejor unos objetivos. De forma ms precisa, se trata de encontrar el valor

de unas variables de decisin que maximicen o minimicen una o varias

funciones objetivo. El valor de las variables en ocasiones est sujeto a

algunas restricciones.

Los problemas de optimizacin surgen en muchos campos y su solucin

racional es de crucial importancia para el xito de multitud de tareas.

Formalmente, el problema se compone del espacio de soluciones S, que

puede ser continuo o discreto y la funcin objetivo f, expresada en trminos

de minimizar o maximizar. Resolver el problema de optimizacin (S;f)

consiste en determinar una solucin ptima, es decir, una solucin factible

x*S tal que, para cualquier xS f(x*) f(x), si el objetivo es de minimizacin

o f(x*) f(x), si el objetivo es de maximizacin.

Existe una diversidad de mtodos analticos para resolver problemas de

optimizacin, como por ejemplo el mtodo simplex, el cual encuentra bajo

Pgina 1
ciertas condiciones, la solucin ptima a un problema de optimizacin donde

tanto las restricciones como la funcin objetivo son lineales.

Sin embargo cuando el espacio de soluciones S es discreto no se cumplen

algunos presupuestos de los mtodos analticos y se tiene que recurrir a

formas alternativas de solucin.

[9] Melin, Beln. Perez, Jose A. et al.Metaheursticas: una visin global.

Inteligencia Artificial, Revista Iberoamericana de Inteligencia Artificial. N.19

pp. 7-28 ISSN: 1137-3601. AEPIA(2003). http://www.aepia.org/revista. 7

1.4. PROBLEMAS DE OPTIMIZACIN COMBINATORIA

Un problema de optimizacin combinatoria es aquel que tiene la forma

siguiente:

(P): Minimizar c(x) tal que x S en Rn

La funcin objetivo c(x) puede ser lineal o no lineal, y la condicin x S es

una restriccin que especifica que x toma valores discretos. S es el espacio

de soluciones posibles que satisfacen ciertas restricciones. (P) puede

representar una modificacin de un problema original (continuo).

Muchas tcnicas de optimizacin, ya sean exactas o heursticas para

resolver el problema P, son iterativas: comienzan con una solucin inicial

(factible o infactible) y construyen una nueva solucin (solucin actual). El

proceso contina hasta encontrar la solucin ptima o hasta que se satisfaga

cierto criterio de parada.

Pgina 1
Desde una perspectiva de grafos un proceso iterativo de solucin puede

ser visto como un camino en un grafo G=(V;A), donde el conjunto de nodos

V es el conjunto de soluciones posibles en S y donde un arco (x,x) A existe

si y slo si x pertenece al vecindario de la solucin x.

El objeto de estudio del presente documento, son los problemas de

optimizacin combinatoria que pueden ser modelados, es decir hay un

acuerdo en su formulacin, pero que no se ajustan a los requerimientos de

los mtodos de solucin analticos; por lo que se necesitan formas

alternativas de solucin basadas en heursticas.

El esfuerzo necesario para resolver un problema puede variar

enormemente de un algoritmo a otro, por lo que es importante medir la

eficiencia de los algoritmos.

1.5. COMPLEJIDAD DE PROBLEMAS

La complejidad computacional estudia la dificultad inherente de

problemas de importancia terica y/o prctica.

Tradicionalmente, el primer mrito a la hora de evaluar la eficiencia de un

algoritmo es su tiempo de ejecucin; sin embargo, recientemente se est

empezando a considerar el tiempo en paralelo y el tamao del hardware

como importantes medidas de complejidad

El objetivo fundamental de la Complejidad Computacional es clasificar los

problemas de acuerdo a su tratabilidad, tomando el o los algoritmos ms

eficientes para resolverlos, es decir, se quiere determinar las respuestas a

las siguientes preguntas:

Pgina 1
Cun tratable es el problema?

Si el problema es tratable, es el algoritmo eficiente?

En general, los distintos grados de tratabilidad son muy subjetivos (varan

mucho de acuerdo al modelo computacional, a los recursos disponibles, a

las variantes de las estructuras de datos, etc.).

Por lo tanto, un objetivo primario del estudio de la complejidad es definir

cules problemas son tratables, y cules no. Recin despus de esto se

pueden considerar distintos grados de tratabilidad o intratabilidad.

Por ejemplo, se puede afirmar que los problemas de programacin lineal

son tratables: o sea tienen solucin ptima an para instancias grandes. En

cambio, hay problemas que no son tratables como por ejemplo el problema

de las torres de Hanoi o el problema del agente viajero, que en la prctica

slo se resuelven analticamente para instancias pequeas.

[12] http://cs.uns.edu.ar/~prf/DocAyC/apayc9.pdf 9

1.6. PROBLEMAS EN FUNCIN DE SUS CLASES DE COMPLEJIDAD.

Los problemas se clasifican en: clase P, clase NP, clase NP-completo y clase

NP-Hard.

1.6.1. CLASE P

La clase de complejidad de los problemas que pueden ser resueltos

en tiempo polinmico calculado a partir de la entrada por una mquina

de Turing determinista es llamada P. Una mquina de Turing no es

una mquina fsica sino un mecanismo lgico por medio del cual el

Pgina 1
clculo puede descomponerse en iteraciones de operaciones

concretas extremadamente simples (controladas por un "programa".

1.6.1.1. EL PRINCIPIO DE TURING

Cualquier procedimiento que puede ser descrito con precisin

puede ser programado para que lo realice una computadora

Entonces los problemas pertenecen a la clase P si su

solucin puede ser descrita con precisin y ser programada

para que la realice una computadora en tiempo que vare

polinomicamente (no exponencialmente, por ejemplo) en

relacin al tamao de sus variables y/o parmetros de entrada.

Estos problemas se denominan tratables.

1.6.2. CLASE NP

Cuando los problemas slo se pueden resolver usando una

mquina de Turing no-determinista, se dice que pertenecen a la clase

NP. NP es el acrnimo en ingls de Polinmico No determinista (Non-

Deterministic Polynomial-time).

[13] http://claudiogutierrez.com/bid-fod-uned/bibliografia.html#Gandy 88 10

Segn Cook es trivial mostrar que P NP.

1.6.2.1. FORMAS DE ESTABLECER SI UN PROBLEMA

PERTENECE A LA CLASE NP

1) Si su solucin implica el uso de una mquina de Turing No

determinstica en tiempo Polinomial o

Pgina 1
2) Si su solucin se puede verificar en una mquina de Turing

determinstica en tiempo polinomial

Se muestra que cualquiera sea la forma en que se defina la

clase NP si el problema pertenece a P tambin pertenece a NP

1.6.2.1.1. PRIMER CASO

Como originalmente se usaba la definicin- se

hablaba de mquinas no deterministicas (esto es

mquinas que tienen ms de un posible movimiento

dada una configuracin). Es decir:

En la clase P, si en la iteracin i (o tiempo) el estado

es x, entonces en la iteracin i+1 el estado ser z*,

donde z* es nico.

En la clase NP, si en la iteracin i el estado es x,

entonces en la iteracin i+1 el estado ser z donde z

Z y tiene una probabilidad p de ser seleccionada,

es claro que z* tambin pertenece a Z (Z es el

conjunto de los posibles estados).

Entonces, si se considera una distribucin de

probabilidad tal que p(z*) = 1 y 0 para cualquier otro

posible estado, el problema en la clase P tambin est

en la clase NP.

1.6.2.1.2. SEGUNDO CASO

Pgina 1
Que es el uso actual. Se usa una definicin

equivalente en trminos de verificacin (checking) en el

sentido de que su solucin se puede verificar

deterministicamente: El problema pertenece a NP si su

solucin se puede verificar deterministicamente

Entonces, si el problema pertenece a P su solucin se

puede encontrar determinsticamente por lo tanto

tambin se puede verificar deterministicamente. Se tiene

entonces que P NP

[The P versus NP Problem - Stephen Cook

http://www.claymath.org/millennium/P_vs_NP/Official_Problem_Description.pdf

Es posible demostrar que un problema pertenece a la

clase P mediante dos formas:

Mostrando un algoritmo polinomial que lo resuelve

Usando una transformacin polinomial a otro

problema que ya se sabe que est en la clase P. Una

transformacin polinomial de B en C es un algoritmo

determinista que transforma instancias de b B en

instancias de c C, tales que la respuesta a c es

positiva si y solo si la respuesta a b lo es.

Se ha demostrado que tres problemas importantes

estn en la clase P9:

Pgina 1
El primero es la programacin lineal, demostrado por

Khachian en 1979.

El segundo es determinar si dos grafos de grado a lo

mas d son isomorfos, demostrado por Luks en 1980

(el algoritmo es polinomial sobre el nmero de

vrtices para un d fijo, pero exponencial si d es

variable).

El tercero es la factorizacin de polinomios con

coeficientes racionales, fue demostrado por Lenstra

y Lovaz en 1982 para polinomios de una variable. La

generalizacin para polinomios en cualquier nmero

fijo de variables fue demostrada por Kaltofen en

1982.

1.6.2.2. LA IMPORTANCIA DE LA CLASE DE PROBLEMAS

NP

Contiene muchos problemas de bsqueda y de optimizacin

para los que se desea saber si existe una cierta solucin o si

existe una mejor solucin que las conocidas. En esta clase

estn el problema del agente viajero donde se quiere saber si

existe una ruta ptima que pasa por todos los nodos en un

cierto grafo sin repetir nodos y el problema de satisfacibilidad

booleana (boolean satisfiabilty) en donde se desea saber si una

cierta frmula de lgica proposicional puede ser verdadera para

algn conjunto de valores booleanos para las variables.

Pgina 1
http://mailweb.udlap.mx/~ccastane/Tesiswww/PropuestaDefinitiva/Introduccion.ht

ml

1.6.2.3. CLASE NP- COMPLETO

Hay otra clase de problemas que perteneciendo a la clase

NP tienen ciertas caractersticas que ameritan una clasificacin

aparte; son los NPcompletos.

Un problema de decisin C es NP-completo si:

1. Es un problema NP

2. Todo problema de NP se puede transformar

polinomialmente en l.

Como consecuencia de esta definicin, de tenerse un

algoritmo polinomial para el problema C, se tendra una

solucin en la clase P para todos los problemas de NP. Esta

definicin fue propuesta por Stephen Cook en 1971. Cook

demostr (teorema de Cook) que el problema de

satisfacibilidad booleana es NP-completo. Desde entonces se

ha demostrado que miles de otros problemas pertenecen a esta

clase, casi siempre por reduccin a partir de otros problemas

para los que ya se haba demostrado su pertenencia a

NPcompleto;

La demostracin formal de que el problema del agente

viajero (ciclo Hamiltoniano) entre otros.

1.6.2.3.2. LA CLASE NP-DIFCIL

Pgina 1
Un problema de decisin es NP-difcil si todo otro

problema de NP se puede transformar polinomialmente

a .

(En la prctica esta definicin a veces se usa por un

abuso de lenguaje tambin para problemas que no son

de decisin y cuya versin de decisin es NP-

completa.)

1.6.2.3.3. La clase Co-NP

Un problema de decisin pertenece a la clase Co-

NP si dada una instancia de NO y evidencia de la

misma, puede ser verificada en tiempo polinomial.

El problema complemento de un problema de

decisin , c, es el problema de decisin que

responde al complemento de la decisin de .

Ejemplo:

Problema de primalidad y problema de nmero

compuesto.

El problema complemento tiene respuesta NO si y

slo si tiene respuesta SI.

Pgina 1
La clase Co-NP es la clase de los problemas

complemento de los problemas de la clase NP.

La clase de los problemas polinomiales (P), est

contenida tambin en Co-NP.

1.4.2.4. Tipos de problemas

1.4.2.4.1. NP-completo

Satisfiability SAT (Satisfacibilidad)

Vertex Cover (Cobertura de Vrtices)

Clique (Clique Mximo/Mnimo)

Circuito Hamiltoniano

Problema del agente viajero

Problema de la Mochila (Knapsack Problem)

Problema de Particionamento

Para ninguno de ellos se ha encontrado un algoritmo

tal que, para cualquier tamao de las entradas, resuelva

el problema en un tiempo polinomial, pero tampoco se

ha demostrado que este algoritmo no existe.

1.6.2.5. PROBLEMAS ABIERTOS DE TEORA DE

COMPLEJIDAD

Con estas nuevas definiciones tenemos los siguientes

problemas abiertos:

Pgina 1
Es P=NP?

Es Co-NP=NP?

Es P=Co-NP NP?

Las incgnitas...

Figura 14: Tres Mapas Posibles para las Clases de complejidad

Las incgnitas...

Figura 15: Clasificacin de problema de discusin

Situacin si se probara que P 6= NP, NP 6= Co NP,

P 6= Co

Pgina 1
1.6.2.7. EXTENSIN DE UN PROBLEMA

El problema es una restriccin de un problema si el dominio de

est incluido en el de .

Se dice que es una extensin de .

Si NP-Completo, entonces NP-Difcil.

Ejemplos:

Isomorfismo de subgrafos es una extensin de CLIQUE.

Viajante de comercio es una extensin de Circuito

Hamiltoniano.

3-SAT es una restriccin de SAT. Sabiendo que SAT es NP-

completo, podemos sacar de esto una conclusin sobre la

complejidad de 3-SAT?

Pgina 1
CAPITULO III

EL PROBLEMA DE LA MOCHILA

INTRODUCCION

El problema de la mochila es un problema simple de entender, hay una persona

que tiene una mochila con una cierta capacidad y tiene que elegir que elementos

pondr en ella. Cada uno de los elementos tiene su peso y aporta un beneficio. El

Objetivo de la persona es elegir elementos que le permitan maximizar el beneficio

sin excederse de la capacidad permitida.

A la vez es un problema complejo, si por complejidad nos referimos a la

computacional. Un problema se cataloga como inherente difcil si su solucin

requiere de una cantidad significativa de recursos computacionales, sin importar el

Pgina 1
algoritmo utilizado. El problema de la mochila forma parte de una lista histrica de

problemas NP- Completos elaborada por Richard Karp en 1972.

1. Formulacin Lineal

Una de las tcnicas matemticas que se puede utilizar para la resolucin de

este problema es la programacin lineal. Definiendo a:

C como la capacidad de la mochila.

pi como el beneficio unitario obtenido por ingresar al producto i en la

mochila.

wi como el peso del producto i.

n como la cantidad de productos.

c, pi y wi como los valores enteros y positivos.

Se puede plantear el modelo como:

Figura 16: Formula Lineal

No obstante, el problema que tiene esta tcnica es que no siempre se puede

resolver debido a su complejidad matemtica. En esas ocasiones, es

necesario recurrir a heursticas. Una heurstica es un procedimiento que en

la mayora de las ocasiones nos permite obtener una buena solucin pero

que no necesariamente es la ptima.

4. 2. Aproximaciones

Pgina 1
2.1. Aproximaciones a travs de coeficiente de rendimiento

Una solucin intuitiva pero que puede no ser optima podra elaborarse ordenando

los productos en forma descendente segn la proporcin. Y metiendo elementos

de esta lista ordenada hasta que no se pueda ingresar el siguiente elemento a la

mochila. Desde este punto en adelante, siempre se asumir que los elementos del

conjunto se encuentran ordenados segn esta proporcin.

Ejemplo 1: considerando la siguiente instancia del problema de la mochila con

capacidad c=65. Aplicando la heurstica mencionada, elegiramos los productos A

y B ya que al tratar de ingresar el producto C estaramos excediendo la capacidad

permitida. El resultado obtenido entonces seria: Es importante notar que los

elementos en la tabla estn ordenados segn la proporcin ri. si no estuvieran

ordenados, el primer paso consistira en ordenarlos.

5. 2.2. Evaluacin de la heurstica

Pese a que la heurstica propuesta en el punto anterior tiende a funcionar

adecuadamente en la mayora de los casos, existen casos patolgicos que pueden

tener como consecuencia un rendimiento desastroso. Definiendo a:

Z como el valor de la solucin ptima.

Z como el valor de la solucin obtenido aplicando la heurstica definida en

la seccin 2.1

como ndice de performance de la heurstica. Se puede observar que si la

heurstica obtuviera la solucin ptima, el rendimiento para esa instancia

seria 1. Se puede observar que pueden existir casos en el cual el ndice de

performance de la heurstica sea tan cercano a 0 como se quiera.

Pgina 1
Demostracin: Considerando la siguiente instancia del problema de la

mochila con capacidad c=k (con k>1) Aplicando el algoritmo de la seccin

2.1, elegiramos al producto A y en consecuencia nuestro funcional sera

igual a 1. En cambio, el valor de la solucin ptima seria k. En este caso el

ndice de performance de la heurstica en consecuencia seria:

6. Ejemplo 2: considerando la siguiente instancia del problema de la mochila c =

100 Se puede observar que la solucin ptima estara dad por la seleccin del

elemento B; en consecuencia z = 100. En cambio, utilizando la heurstica descripta,

el valor obtenido es z = 2. En ndice de performance de la heurstica en este caso

particular resulta:

2.3. Mejoramiento a travs de la comparacin con el elemento critico

Se puede realizar una pequea modificacin al algoritmo para asegurar que el

ndice de calidad de la heurstica en ningn caso sea tan pequeo. En primer lugar

es necesario definir al elemento crtico s. El elemento crtico es el primer elemento

que, en caso de incluirlo, se excede la capacidad permitida. La heurstica se puede

mejorar agregando un paso posterior que consiste en comparar al resultado

obtenido con el beneficio del elemento crtico ps. Es decir, en definitiva, el resultado

obtenido seria: Esto permitira que por ejemplo en el caso descripto en el ejemplo

2, el valor obtenido aplicando esta heurstica mejorada sea de k y en consecuencia,

iguale la solucin ptima.

7. Peor ndice de performance de la heurstica mejorada: Considerando la siguiente

instancia del problema de la mochila con capacidad c = 2k (con k>1) Aplicando el

algoritmo mejorado, elegiramos a los productos A y B obteniendo un valor de

Pgina 1
funcional z = 1 + + k en comparacin a z=2k. En consecuencia el peor ndice de

performance sera igual a:

Ejemplo 3: Considerando la siguiente instancia del problema de la mochila con

capacidad c=200. Se puede observar que la solucin ptima estara dada por la

seleccin de los elementos B y C, en consecuencia z=200. En cambio, utilizando la

heurstica descripta, el valor obtenido es z =102. El ndice de performance de la

heurstica en este caso particular resulta:

8. 3. Anlisis de cotas

En la seccin 1 se estableci que no siempre es posible calcular la solucin ptima

de una instancia del problema de la mochila debido a la complejidad computacional.

En consecuencia, en la seccin 2 se busc una alternativa a travs del planteo de

heursticas. No obstante, todava no se estableci como determinar si una

heurstica es buena o no. Par determinar el desempeo de una heurstica en una

instancia en particular, resulta til poder acotar el problema. Si se supiera cual es

el mximo valor que podra valer la solucin ptima, se contara con ms

informacin para saber si es buena la solucin que se obtuvo con la heurstica. A

continuacin se analizara una serie de cotas superiores desarrolladas para el

problema de la mochila. Se debe tener en cuenta que siempre la solucin ptima,

z, es menor o igual que una cota superior, U. Una cota es superior a otra si se

encuentra ms cerca de la solucin ptima.

3.1. Relajacin lineal

Una primera cota que se puede obtener es realizando una corrida definiendo como

variables continuas a las variables de decisin, xi. Definiendo a como la

Pgina 1
capacidad restante luego de ingresar los elementos que se encuentran en el

intervalos [0; s-1] a la mochila. Es decir: El resultado que se obtendra en la corrida

utilizando variables continuas seria: El primer trmino corresponde a la seleccin

de todos los trminos con mejor rendimiento que el elemento crtico s. El segundo

trmino representa la aplicacin del rendimiento del elemento crtico a la capacidad

restante. Es decir, como no se puede ingresar todo el elemento crtico plantea la

idea de fraccionarlo e ingresar todo lo que pueda del producto.

9. 3.2. Dantzig

A la solucin optima considerando a las variables de decisin como continuas,

Dantzig aplico una condicin de integralidad. Denominado al operador [a] como el

operador piso, es decir, que devuelve el mayor entero no es superior que a,

obenemos: Consderando la integralidad de pi y de xi, se obtiene la cota de Dntzig:

3.3. Martello & Toth Martello & toth superaron la cota de Danzig estableciendo la

integridad del elemento crtico. Es decir, pidiendo que el elemento crtico sea

ingresado o no, pero dejando de aplicar la capacidad remanente al rendimiento

asociado al elemento crtico. La primera parte del anlisis consiste en ver cul es

el mayor resultado posible considerando que no se ingresa el elemento crtico en

la mochila. Al no ingresarlo, existe la posibilidad de que se pueda ingresar un

elemento posterior; uno con peor rendimiento pero que permita no exceder la

capacidad disponible.

En consecuencia:

Notar que ahora el rendimiento al que se aplica la capacidad restante no es el

rendimiento del elemento crtico sino el del elemento siguiente.

Pgina 1
10. La segunda parte del anlisis consiste en ver cul es el mayor resultado posible

considerando que ahora si se ingresa el elemento crtico en la mochila. Como

justamente por definicin del elemento crtico, no se lo poda ingresar a la mochila

si se haban metido los elementos en el intervalo [0; s-1], la nica posibilidad de

ingresar al elemento crtico es sacando a n de los elementos en este intervalo. La

cota final se desprende de considerar ambos casos y ver cual tiene el mayor valor.

Se puede demostrar que la cota de Martello & Toth es mejor a la planteada por

Dantzig. En consecuencia: Ejemplo: Calculo de cotas para el ejemplo 1. Capacidad

c=65

11. Relajacion lineal Dantzig Martello & toth Sin ingresar al elemento crtico:

12. Ingresando al elemento crtico: En consecuencia:

4. Variantes

Existen distintas variaciones que se han realizado al problema de la mochila

estndar. A continuacin se presenta una breve introduccin a algunas de ellas.

Acotado: en esta variante, en vez de contar con solamente un elemento de cada

tipo, se tiene una cantidad limitada y conocida de cada uno de los elementos (que

no necesariamente es la misma). Es decir, el modelo pasa a ser: No acotado: el

problema de la mochila no acotado es una instancia particular del problema de la

mochila acotado en el cual cada bi = .

13. Suma de subconjuntos: existe una variante en la cual el beneficio es igual al

peso para cada uno de los elementos. Esto no implica que el beneficio (o peso) sea

el mismo para cada uno de los elementos. Problema del cambio: hay un caso

particular que aparece cuando se exige exactamente con la restriccin de

Pgina 1
capacidad. En este caso adems se plantea que pi = 1 ya que se intenta reconstruir

la situacin de un cajero que debe maximizar o minimizar la cantidad de monedas

que entrega de cambio. Mltiples mochilas: otra de las variantes conocidas surge

de la generalizacin del problema estndar, cuando en vez de tener un solo

contenedor (mochila), se tienen varios.

14. 5. Otros algoritmos existentes Algoritmo Greddy o voraz: La idea es aadir un

objeto prioritario mas efectivo hasta la saturacin de la mochila. La complejidad de

estos algoritmos se basa en la inversa de la calidad esperada. Podemos ver las dos

fases del algoritmo voraz.

A) El ordenamiento de las cajas segn un inters (en este caso en peso en $/kg)

B) si es posible la entrar a la mochila.

Algoritmo gentico:

se utiliza a menudo en problemas de optimizacin difciles, como este, fcil de

implementar y obtener rpidamente una solucin. Los objetos son utilizados para

el algoritmo voraz, por ejemplo el genoma (0,1,0,0,0) corresponde a un cuadro de

seleccin de 12 kg de peso 7.

15. Programacin dinmica: El problema de la mochila tiene la propiedad que le

permite utilizar el mtodo de resolucin de programacin dinmica. Este algoritmo

tiene una complejidad en tiempo y espacio que tiene como ventajas la velocidad y

no hay necesidad de ordenar las variables, pero como desventajas es que gasta

mucha memoria, por lo tanto no puede ser solucin para problemas grandes.

6. Aplicaciones

Pgina 1
El problema tiene considerables aplicaciones prcticas, aparte de las ms

evidentes en reas de logstica de transporte, que cualquier negocio pequeo o

grande de reparto conoce. Por ejemplo, en robtica, permite resolver problemas

de fabricacin para minimizar el nmero de desplazamientos para conseguir

realizar un nmero determinado de perforaciones en una plancha o en un circuito

impreso. Control y operativa optimizada de semforos, etc. Existen otras

aplicaciones en distintas reas y que tienen distintos tipos de recurso limitante.

Algunos ejemplos son:

Seleccin de oportunidades de inversin: presupuesto como limitante. Un

estudio interesante se puede encontrar que analiza situaciones en las

cuales los elementos que se pueden incluir en la mochila se van recibiendo

en forma continua y se debe tomar una decisin de que elementos elegir

sin haber recibido todos (Problema de la secretaria)

Desperdiciar la menor cantidad de tela: material como limitante.

Aprovechar al mximo el uso de mquinas: tiempo como limitante.

Pgina 1

También podría gustarte