Teoría de la Complejidad
En la actualidad la mayoría de las comunicaciones que se
realizan electrónicamente cuentan con métodos de seguridad que brindan a la
información del usuario cierto nivel de protección, lo cual le asegura la
confidencialidad, disponibilidad e integridad de esta o no, esto es en función
de que tan efectivo sea el método de seguridad, para poder calcular estos
niveles de seguridad es necesario recurrir a las ciencias exactas. Dentro de
las matemáticas se han desarrollado teorías completas que permiten realizar
teles cálculos, en este caso tenemos la teoría de la complejidad, la cual se
relaciona directamente con la teoría de la información que habíamos analizado
previamente.
Podemos definir la teoría de la complejidad como la parte de la
teoría de la computación que estudia los recursos requeridos durante el cálculo
para resolver un problema. Es así que podemos llamar cálculo complejo a un
cálculo que es difícil de realizarse, es decir, requiere un mayor número de
recursos para su solución. Dentro de los recursos a los cuales nos
referimos en el entorno computacional tenemos el tiempo, en el cual
contabilizamos el número de pasos de ejecución usados por un algoritmo para
poder resolver un problema, el espacio que es la cantidad de memoria utilizada
para resolver el problema y el número de procesadores necesarios para resolver
un problema si este fuese en paralelo. Como resultado del análisis de estos
recursos tenemos más ideas conceptualizadas que nos ayudan a comprender de una
mejor manera la teoría, por ejemplo podemos decir que un algoritmo que resuelve
un problema pero que tarda mucho en hacerlo, difícilmente será de utilidad de
igual manera uno que requiera un gigabyte de memoria, también podemos
comprender que si un cálculo requiere más tiempo que otro decimos que es más
complejo, llamando a este tipo de complejidad, complejidad temporal, igual
tenemos un tipo de complejidad para el que requiere más espacio de
almacenamiento en memoria, llamándola complejidad espacial.
Es importante tomar en cuenta la clasificación de los
algoritmos o problemas a resolver, estos se dividen en dos grandes clases, los
problemas que tienen una solución, los cuales requieren una gran cantidad de
recursos como tiempo y espacio de almacenamiento, comúnmente son del orden de
complejidad lineal, es decir son los problemas que se resuelven en un tiempo
que se relación linealmente con su tamaño, estos problemas se encuentran
agrupados en una clase llamada P, la cual hace referencia a los algoritmos que
pueden ser resueltos por maquinas que tienen como máximo una complejidad o
costo computacional polinomio, por otro lado tenemos los problemas que no
tienen solución, los cuales son agrupados en la clase NP de problemas con costo
no polinomial o sin solución algorítmica, es decir los que una maquina no puede
resolver en tiempo razonable.
El análisis de la teoría de la complejidad nos permite
entender de una mejor manera como es que se le puede catalogar a un método criptográfico
que hace uso de algoritmos mejor que otro, lo cual nos permite tomar una mejor
decisión sobre qué solución implementar cuando desarrollamos un sistema con
seguridad, tomando en cuenta los recursos con los que se cuenta en el entorno,
siempre con la finalidad de brindar a la información del usuario el mayor nivel
de seguridad posible.
No hay comentarios:
Publicar un comentario