Está en la página 1de 2

TESIS DE COBHAM

Establece que el tiempo polinomial es sinónimo de “manejable”, “factible”, “eficiente” o “rápido”

Definir con objetividad que significa mejor o peor, una forma de hacerlo es por el número de
operaciones básicas que tiene que realizar ese algoritmo dado una entrada de
tamaño n.

La cantidad de elementos determina que tan complejo es el problema.

Un algoritmo es mejor que otro si realiza menos operaciones básicas para ese
mismo tamaño del problema.

Operación básica – cualquier operación que tenga que hacer el computado (una
asignación, una suma, una lectura, un cálculo matemático, comparaciones)

Cantidad de operaciones

 se puede pensar que la clase de la complejidad captura problemas "con


eficacia solubles" en un ordenador paralelo. Todas las operaciones
aritméticas básicas (suma, resta, multiplicación, división y comparación) se
pueden realizar en tiempo polinómico.

Como ejemplo para poder

El Dr. Alan Cobham hace referencia a que cuando analizamos un conjunto de


problemas factiblemente computables debemos hacerlo de forma natural
independientemente del método o tipo de máquina usada en la computación ya
que puede resultar que algunas medidas relacionadas con la noción física del
trabajo conduzcan al análisis más satisfactorio; o que ninguna medida adecuada
refleje el concepto de la verdadera complejidad.

A partir del teorema podemos inferir que (en efecto, pero no con mucha precisión)
una función es más fácil de calcular que otra, en el sentido de que para cualquier
valor del argumento, el cálculo se puede hacer en menos pasos.

Un ejemplo de esto podría ser el algoritmo para determinar si un número es primo,


debido a que tiene varias formas para poder resolverlo; una de ellas es recorrer
todos los números entre el 2 y el número sobre el que queremos saber si es primo
o no. Dentro del bucle comprobaremos el principio del número primo. "Divisible por
sí mismo y la unidad". Es decir, que si encontramos un número que es divisible por
el número evaluado, este dejará de ser primo.
public static boolean esPrimo(int numero){

int contador = 2;

boolean primo=true;

while ((primo) && (contador!=numero)){

if (numero % contador == 0)

primo = false;

contador++;

return primo;

que los problemas computacionales se pueden calcular factiblemente en un


dispositivo computacional sólo si se pueden calcular en el tiempo polinomial,
establece que el tiempo polinomial es sinónimo de “manejable”, “factible”,
“eficiente” o “rápido”.

Que un problema se pueda solucionar en el tiempo polinomial quiere decir que su


tiempo de ejecución está limitado por una expresión polinómica en el tamaño de la
entrada para el algoritmo, es decir T(𝑛) = O(𝑛𝑘 ) para alguna constante positiva 𝑘.

Un ejemplo de este algoritmo es la ordenación por selección algoritmo de


ordenación de n enteros realiza 𝐴𝑛2 operaciones para alguna constante A. Por lo
tanto, corre en el tiempo 𝑂(𝑛2 ) y es un algoritmo de tiempo polinómico.

También podría gustarte