1 / 22

Analisis deAlgoritmos

P. vs. NP. Analisis deAlgoritmos. Daniel meza Juan Posada Cesar Solinas David Toca. La pregunta P vs NP. Puede la creatividad ser automatizada?. PRINCIPIOS BASICOS. COMPLEJIDAD ALGORITMICA. Maquina de Turing. COMPLEJIDAD ALGORITMICA. Caso promedio Θ (n). Peor Caso O (n).

carlo
Download Presentation

Analisis deAlgoritmos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. P vs NP AnalisisdeAlgoritmos Daniel meza Juan Posada Cesar Solinas David Toca

  2. La pregunta P vs NP.Puede la creatividad ser automatizada?

  3. PRINCIPIOS BASICOS COMPLEJIDAD ALGORITMICA Maquina de Turing

  4. COMPLEJIDAD ALGORITMICA

  5. Caso promedio Θ(n) Peor Caso O (n) Mejor casoΩ(n)

  6. Tiempo Polinomial

  7. CLASE DE COMPLEJIDAD

  8. Maquina de Turing

  9. TIPOS DE M.T.

  10. CLASE P • Si existe un algoritmo (por ejemplo una máquina de Turing) que es capaz de entregar la respuesta correcta para toda cadena de datos de longitud n en a lo sumo pasos, donde k y c son constantes independientes del conjunto de datos, entonces se dice que el problema puede ser resuelto en tiempo polinómico y lo clasificamos como perteneciente a la clase P.

  11. En forma intuitiva, consideramos que los problemas contenidos en P son aquellos que pueden ser resueltos en forma razonable. • P es conocido por contener muchos problemas naturales, incluyendo las versiones de decisión de programa lineal, cálculo del máximo común divisor, y encontrar una correspondencia máxima.

  12. Ejemplo Si un problema nos pide que comprobemos si un número determinado X es la raíz cuadrada de Z podríamos resolverlo de dos formas: • Calculando la raíz de Z y comparando con X (proceso lento y engorroso) • O bien, elevando al cuadrado a X y comparando con Z (simple multiplicación X·X) La conclusión que sacamos de éste sencillo ejemplo es que en algunos problemas comprobar la solución es más eficiente que calcularla. La complejidad de la función “elevar al cuadrado” es más simple que calcular la raíz cuadrada.

  13. Clase NP NP(tiempo polinomial no determinado) se define como el conjunto de todos los problemas de decisión para el cual existe un algoritmos de búsqueda y de optimización que pueden ser llevada a cabo por una máquina de Turing no determinista en tiempo polinómico, para saber si existe una solución o si existe una mejor solución que las conocidas. NP-completo Es el subconjunto de los problemas de decisión en NP tal que todo problema en NP se puede reducir en cada uno de los problemas de NP-completo. Los problemas de NP-completo son los problemas más difíciles de NP y muy probablemente no formen parte de la clase de complejidad P. NP-hard Es el conjunto de los problemas de decisión que contiene los problemas H tales que todo problema L en NP puede ser transformado polinomialmente en H.

  14. Clase NP Imaginen que una persona tiene que visitar 5 ciudades en un viaje de negocios. Se conocen todas las distancias. ¿Cuál es el viaje más corto que puedes hacer volviendo al punto de partida? ,la solución mas obvia es comprobar todas las posibilidades. Si se hace de esta forma llevaría un tiempo t=n! Digamos que el programa pudiera resolver el problema de 20 ciudades en 1 segundo, entonces 21 ciudades llevarían unos 21 segundos. Y 22 ciudades llevarían unos 462 segundos (más de 7 minutos), y 30 ciudades llevarían 3 millones de años. Ahora dividimos el problema en subproblemas, pero aun así la mejor necesita un tiempo t = 2n Así, un programa que resolviera el problema de 20 ciudades en 1 segundo tardaría unos 10 minutos en resolver el de 30 ciudades y para 60 ciudades tardaría 35,000 años.

  15. Problema Existen problemas en los cuales una respuesta es imposible de generar a través de una computadora, pero si se da una respuesta, puede ser probada fácilmente?

  16. Supongamos que queremos organizar los cuartos de dormitorio de un grupo de 400 estudiantes. El espacio es limitado y solo 100 de los estudiantes recibirá lugares en el dormitorio. Para complicar las cosas el decano ha dado una lista de parejas de estudiantes incompatibles, y ha pedido que ninguna pareja de esta lista aparezca en la opción final.

  17. El número total de caminos de escoger 100 estudiantes de 400 aplicantes es mucho más grande que el número de átomos en el universo conocido. Por esto ninguna civilización futura podría nunca tener la esperanza de construir una supercomputadora capaz de resolver el problema por fuerza bruta; esto es, tratando de chequear cualquier posible combinación de 100 estudiantes.

  18. Uno de los problemas más impactantes en la ciencia de la computación es la forma de determinar si existen preguntas cuyas respuestas puedan ser fácilmente chequeadas, pero que requieran un tiempo demasiado largo para resolverlas por cualquier procedimiento directo.

  19. IMPORTANCIA DEL PROBLEMA • Prácticamente cualquier problema puede representarse mediante un grafo, y su estudio trasciende a las diversas áreas de las ciencias exactas y las ciencias sociales.Desde un punto de vista práctico, los grafos permiten estudiar las interrelaciones entre unidades que interactúan unas con otras. Por ejemplo, una red de computadoras puede representarse y estudiarse mediante un grafo, en el cual los vértices representan terminales y las aristas representan conexiones

  20. AVANCES • En los comienzos de agosto de 2010, VinayDeolalikar anuncio una prueba de que P no es igual a NP. El escribió. • “La prueba requiere unir las piezas desde múltiples áreas de las matemáticas. El mayor esfuerzo en construir esta prueba fue descubriendo una cadena de enlaces conceptuales entre distintos campos y observándolos a través de lentes normales.”

  21. ¿Porque es dificil de probar?

  22. Si se desea probar que P=NP se debe probar a su vez que: Existe un set de problemas, pertenecientes a NP, tales que exista un algoritmo en el cual una MTND(Maquina de turing no deterministica) pueda resolver en un X-tiempo polinomial Existe un set de problemas, no pertenecientes a P, tales que no exista un algoritmo en el cual una MTD (Maquina de turingdeterministica) pueda resolver en un X tiempo polinomial Comúnmente se piensa que P!=NP, pero hasta que no esté comprobado, no se puede estar totalmente seguro.

More Related