representación del conocimiento – clasificación de problemas algorítmicos representación del...

45
Representación del con Representación del con ocimiento – Clasificac ocimiento – Clasificac ión de problemas algor ión de problemas algor ítmicos ítmicos

Upload: jenaro-terrazas

Post on 02-Mar-2015

28 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Representación del conRepresentación del conocimiento – Clasificacióocimiento – Clasificación de problemas algorítn de problemas algorítmicosmicos

Page 2: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Representación Representación del conocimientodel conocimiento

Page 3: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Introducción : DefiniciónIntroducción : Definición

Page 4: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Introducción : DefiniciónIntroducción : Definición

Page 5: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Introducción Introducción

Page 6: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Componentes de una Componentes de una representaciónrepresentación

Page 7: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Formas de Formas de representaciónrepresentación

Page 8: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Red semánticaRed semántica

Page 9: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Red semánticaRed semántica

Page 10: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Red semánticaRed semántica

Page 11: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Red semánticaRed semántica

Page 12: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Red semánticaRed semántica

Page 13: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

RegistrosRegistros

Page 14: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

RegistrosRegistros

Page 15: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Lógica proposicionalLógica proposicional

Page 16: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Lógica proposicionalLógica proposicional

Page 17: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Lógica proposicionalLógica proposicional

Page 18: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Lógica proposicionalLógica proposicional

Page 19: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Lógica proposicionalLógica proposicional

Page 20: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Lógica proposicionalLógica proposicional

Page 21: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Lógica proposicionalLógica proposicional

Page 22: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

PredicadoPredicado

Page 23: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Clasificación de Clasificación de problemas problemas

algorítmicosalgorítmicos

Page 24: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

TópicosTópicos

Clasificación de Problemas Clasificación por su Naturaleza Clasificación por su Tratabilidad Clasificación por el tipo de Respuesta

Page 25: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

11.1 Clasificación de Problemas Algorítmicos.1 Clasificación de Problemas Algorítmicos

Por su Naturaleza

Los problemas algorítmicos son clasificados de acuerdo a su naturaleza intrínseca respecto a la posibilidad y dificultad de resolverlos.

Por el tipo de Respuesta

Los problemas son clasificados de acuerdo a la respuesta requerida por el problema.

Por su Tratabilidad

Los problemas que admiten solución son clasificados de acuerdo a la complejidad que presentan los algoritmos para resolverlos.

Page 26: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

1.2 Clasificación por su Naturaleza1.2 Clasificación por su Naturaleza

Los problemas de naturaleza algorítmica que no admiten solución por algoritmo son llamados no - computables.

Los problemas de decisión y no-computables son llamados de indecidíbles.

Los problemas para los cuales existen algoritmos de complejidad polinomial para resolverlos son llamados de tratables.

Los problemas que admiten solución y para los cuales comprobadamente no pueden ser resueltos por algoritmos de complejidad polinomial son rotulados de intratables

Page 27: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

1.2 Clasificación por su Naturaleza1.2 Clasificación por su Naturaleza

No computableNo computableProblemas que no admitenProblemas que no admitenSolución algorítmicaSolución algorítmica IndecidíbleIndecidíble

TratableTratableProblemas que admitenProblemas que admiten

Solución algorítmicaSolución algorítmica IntratableIntratable

Page 28: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Ejemplo.

Algoritmo Prob_Abierto(x°) Inicio

Leer(x°)x := x°

Mientras x 1 hacer Si (x MOD 2) = 0

Entonces x := x/2 Sino x := 3x + 1;

Fin

Problema: Determine si el algoritmo siempre termina para cualquier x° entero positivo.

1.2 Clasificación por su Naturaleza1.2 Clasificación por su Naturaleza

Page 29: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Ejemplo Algoritmo Prob_Abierto(x°)

Respuesta:

NO SE SABE

1.2 Clasificación por su Naturaleza1.2 Clasificación por su Naturaleza

Es un Problema No Computable

Es un Problema de Decisión

Es un Problema de Indecidible

Page 30: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Ejemplo

El Problema general de la Programación Lineal

• ES UN PROBLEMA TRATABLE

En 1984 Narendra Karmakar presentó el algoritmo llamado de puntos Interiores de O (Ln**4) para resolver problemas de la Programación Lineal

Donde:

n: es el número de variables del problema

L: es el tamaño en bits de la instancia

1.2 Clasificación por su Naturaleza1.2 Clasificación por su Naturaleza

Page 31: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Ejemplo

El Problema de Selección de Proyectos

Considere un conjunto de proyectos, con utilidades esperadas y costos conocidos. Considere también un presupuesto dado. El problema consiste en seleccionar un conjunto de proyectos talque que presente máxima suma de utilidades y costo total no mayor al presupuesto dado

1.2 Clasificación por su Naturaleza1.2 Clasificación por su Naturaleza

Page 32: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Ejemplo

El Problema de Selección de Proyectos

Proyectos: P1 P2 P3 ... Pn Utilidades: u1 u2 u3 ... un

Costo: c1 c2 c3 ... cn

Presupuesto: b

Determine un conjunto de proyectos que presente máxima suma de utilidades y costo total no mayor a “b”. Los proyectos seleccionados serán ejecutado al 100%.

1.2 Clasificación por su Naturaleza1.2 Clasificación por su Naturaleza

Page 33: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Ejemplo

El Problema de Selección de Proyectos

ES UN PROBLEMA INTRATABLE

Todos los algoritmos exactos presentan complejidad no polinomial

1.2 Clasificación por su Naturaleza1.2 Clasificación por su Naturaleza

Page 34: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

La Clase P

Está constituida por todos los problemas comprobadamente tratables, esto es, problemas

que pueden ser resueltos por algoritmos de complejidad polinomial.

1.1.33 Clasificación por su Clasificación por su Tratabilidad: P y NPTratabilidad: P y NP

Page 35: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Algunos Problemas de la Clase P

• Resolución de Sistemas de Ecuaciones Lineales

• Contabilidad (registrar y/o modificar transacciones)

• Ordenar números, buscar palabras en un texto

• Juntar Archivos

• En general los sistemas operacionales (facturación,

control de almacenes, planillas, ventas, etc.)

• Cualquier problema de la Programación Lineal

• Sistemas de transacciones bancarias

• En general los sistemas de información gerencial

1.1.33 Clasificación por su Clasificación por su Tratabilidad: P y NPTratabilidad: P y NP

Page 36: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

La clase P está constituido por losproblemas tratables.

1.1.33 Clasificación por su Clasificación por su Tratabilidad: P y NPTratabilidad: P y NP

Page 37: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

La Clase NP

Está constituido por todos los problemas que pueden ser resueltos por algoritmos enumerativos,

cuya búsqueda en el espacio de soluciones es realizada en un árbol con profundidad limitada por una función polinomial respecto al tamaño de la

instancia del problema y con ancho eventualmente exponencial.

1.1.33 Clasificación por su Clasificación por su Tratabilidad: P y NPTratabilidad: P y NP

Page 38: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Relación P y NP

Ciertamente la clase NP incluye todos los problemas intratables. Además los problema de la clase P pueden ser resueltos también por algoritmos enumerativos. Por consiguiente se puede afirmar que:

NP P

1.1.33 Clasificación por su Clasificación por su Tratabilidad: P y NPTratabilidad: P y NP

Page 39: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Los problemas de la Clase NP queson intratables son llamados de NP-difícil

1.1.33 Clasificación por su Clasificación por su Tratabilidad: P y NPTratabilidad: P y NP

Page 40: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Algunos Problemas de la Clase NP-difícil

• Clique

• Cobertura de Vértices y Aristas

• Coloración de Grafos

• Mochila Lineal y Cuadrática

• Optimización de Desperdicios

• Agente Viajero

• Gestión Optima de cortes

• Programación de Tareas

• Aprendizaje

1.1.33 Clasificación por su Clasificación por su Tratabilidad: P y NPTratabilidad: P y NP

Page 41: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Los Problemas Los Problemas por el tipo de respuesta por el tipo de respuesta se clasifican se clasifican en:en:

Problemas de DecisiónProblemas de Decisión Problemas de LocalizaciónProblemas de Localización Problemas de OptimizaciónProblemas de Optimización  

1.1.44 Clasificación por Clasificación por el tipo de Respuestael tipo de Respuesta

Page 42: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Problemas de DecisiónProblemas de Decisión Objetivo:Objetivo:

Responder SI o NO a una determinada indagaciónResponder SI o NO a una determinada indagación

Problemas de LocalizaciónProblemas de Localización Objetivo:Objetivo:

Encontrar, caso exista, una estructura que verifique Encontrar, caso exista, una estructura que verifique las restricciones del problema, dicha estructura las restricciones del problema, dicha estructura es denominada de solución viable . es denominada de solución viable .

Problemas de OptimizaciónProblemas de Optimización  Objetivo:Objetivo:

Encontrar una estructura que verifique las Encontrar una estructura que verifique las restricciones del problema y optimice un criterio restricciones del problema y optimice un criterio pre-definido. Esto es, encontrar una solución viable pre-definido. Esto es, encontrar una solución viable que optimice un criterio pre-determinadoque optimice un criterio pre-determinado

1.1.44 Clasificación por Clasificación por el tipo de Respuestael tipo de Respuesta

Page 43: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Ejemplo:Ejemplo: El Problema de los Misioneros y Caníbales El Problema de los Misioneros y Caníbales

Considere tres misioneros, tres caníbales y una canoa de capacidad máxima de dos pasajeros; todos ellos se encuentran en una de las orilla de un río. El problemaconsiste en encontrar una secuencia de viajes quepermita trasladar a todos los misioneros y caníbales alotro lado de la orilla del río. Se debe respetar que en cada orilla el número de misioneros (si lo hubiera) debe ser siempre no menor al número de caníbales

1.1.44 Clasificación por Clasificación por el tipo de Respuestael tipo de Respuesta

Page 44: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Ejemplo:Ejemplo: El Problema de los Misioneros y Caníbales El Problema de los Misioneros y Caníbales

1.1.44 Clasificación por Clasificación por el tipo de Respuestael tipo de Respuesta

Page 45: Representación del conocimiento – Clasificación de problemas algorítmicos Representación del conocimiento – Clasificación de problemas algorítmicos

Asociado al problema de los Misioneros y Caníbales, tenemos Asociado al problema de los Misioneros y Caníbales, tenemos los siguientes problemas:los siguientes problemas:

Problema 1:Problema 1:Determine una secuencia de viajes que permita trasladar a Determine una secuencia de viajes que permita trasladar a

todos los misioneros y caníbales a la otra orilla del río.todos los misioneros y caníbales a la otra orilla del río.

Problema 2:Problema 2:Existe una secuencia de viajes que permita trasladar a Existe una secuencia de viajes que permita trasladar a

todos los misioneros y caníbales a la otra orilla del río.todos los misioneros y caníbales a la otra orilla del río.

Problema 3:Problema 3:Determine la menor secuencia de viajes que permita Determine la menor secuencia de viajes que permita

trasladar a todos los misioneros y caníbales a la otra orillatrasladar a todos los misioneros y caníbales a la otra orilla del ríodel río

1.1.44 Clasificación por Clasificación por el tipo de Respuestael tipo de Respuesta