Problema computacional
En ciència computacional teòrica, un problema computacional o problema abstracte és una relació entre un conjunt de instàncies i un conjunt de solucions. Un problema abstracte permet establir formalment la relació desijada entre cada instància del problema i la seua corresponent solució. Una solució algorítmica a un problema abstracte consistix d'un algoritme que per cada instància del problema calcula a lo manco una solució corresponent –en cas d'haver-la– o expedix un certificat de que no existix solució alguna. Un problema abstracte es convertix en un problema concret quan les instàncies i solucions estan codificades en forma de llenguages formals.
Els problemes abstractes solen definir-se en dos parts: en la primera es descriu al conjunt d'instàncies i en la segona es descriu la solució esperada per a cada instància. Per eixemple, el problema d'ordenació d'número entero se sol definir com seguix:
- Instància: Una successió finita d'número entero
- Solució: Una permutació de la successió d'entrada tal que
Ací tant el conjunt d'instàncies i el de solucions és el mateix, puix es tracta del conjunt de totes les successions finitas d'número entero. La relació que hi ha entre ells assigna a cada successió l'única permutació tal que . Per eixemple, té com a solució a . Una solució algorítmica al problema d'ordenament és l'ordenament de bombeta perque este algoritme produïx una solució com a eixida cada volta que se li suministra una instància com a entrada.
Tipos de problemes computacionals
[editar | editar còdic]- Artícul principal → Problema de decisió.
En un problema de decisió cada instància té associada exactament una solució "sí" o "no". Els problemes de decisió queden completament determinats pel conjunt
d'instàncies que tenen associada la solució "sí". Per eixemple, el problema de decidir si una gràfica té o no un cicle Hamiltoniano queda completament determinat el seu conjunt de solucions "sí":
En esta representació el problema equival a preguntar si una instància
pertany o no al conjunt
. En general, els problemes de decisió sempre equivalen a decidir la proposició
a on
és el conjunt d'instàncies en solució "sí". Una solució algorítmica per a un problema de decisió és un algoritme que calcula la funció característica de
o equivalent:
En els problemes de busca la relació entre el conjunt d'instàncies i el de solucions queda determinat per un predicat llògic que determina si és una solució de . Donada una instància el problema consistix en trobar, si és que existix, una solució de . És dir, buscar l'element que faça verdadera la proposició . Quan es fixa el valor de i la solució és única, es diu que és un problema matemàtic. Per eixemple, el problema de factorización d'un número entero consistix en trobar un factor no trivial de ; és dir, número entero diferent d'1 i de tal que dividixca exactament a . En símbols
Esta fòrmula simplement està preguntant l'existència d'un factor no trivial de . Una solució algorítmica a un problema de busca ve dador per un algoritme tal que és verdadera sempre i quan existixca solució per a , és dir, sempre calcula una solució si és que esta existix. En el cas del problema de la factorización de sancers es conta en l'algoritme de la divisió per tentativa.
- Artícul principal → Optimisació (matemàtica).
En un problema d'optimisació no solament es busca una solució, sino que es busca "la millor" de totes. Cada problema d'optimisació pot concebre's com un problema de busca i una funció , comunament coneguda com a funció objectiu, que determina la calitat de les solucions. El problema d'optimisació (que a la seua volta és de busca) consistix en trobar la solució maximizar o minimise el valor de . Per eixemple, el problema del viajante no solament exigix determinar si una gràfica té o no un cicle hamiltoniano, sino que ademés pregunta quin és el cicle hamiltoniano més curt. En este cas el problema de busca subjacent és trobar un cicle hamiltoniano qualsevol i la funció objectiu medix la distància recorreguda per eixe cicle.
Referències
[editar | editar còdic]- Gómez Navas Lozano, Ricardo Iván, Gómez Navas Chapa Leonardo, Introducció a les Ciències Socials, McGraw Hill, China, 2011
- Este artícul conté una traducció derivada de «Problema computacional» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.