Lógica Computacional
Introducción
El objetivo fundamental de esta materia es aprender los métodos de la lógica
(concretamente de la lógica proposicional, lógica de predicados y de la lógica
digital) que son los que se utilizan tanto en TICS, Inteligencia Artificial e Ingeniería
de Software.
La lógica computacional está relacionada, íntimamente, con la manera en que se
utiliza el pensamiento lógico a la hora de resolver un problema y obtener el
resultado esperado. Es decir, que la lógica computacional es clave, a la hora de
entender la forma de plantear propuestas de soluciones a problemas elementales,
tanto de forma lógica ( valga la redundancia) como de forma sistemática.
Sabiendo, entonces, q la lógica computacional hace referencia al proceso de
pensamiento enfocado en formular un problema y generar posibles soluciones a
través de la tecnología, existe un conjunto de procesos en los cuales la lógica
brinda la capacidad de razonamiento necesario para la resolución de problemas a
través de pasos como lo son el diseño y el desarrollo.
Se entiende a la lógica computacional como la lógica matemática aplicada a un
contexto tecnológico. Pero, ¿para qué?
Vivimos actualmente en una era digital donde, cada vez más, los procesos
cotidianos migran a la virtualidad y por eso es necesario tener un conocimiento
amplio de su manejo y desarrollo. El uso de la lógica computacional es
fundamental para las ciencias computacionales, la programación y la inteligencia
artificial, pensadas para resolver problemas de forma ágil, práctica y sencilla, a
través de la tecnología.
Es así como, a través de la lógica, el pensamiento computacional incrementa los
niveles de atención y reflexión de las personas que lo ejecutan, estimula
transversalmente la adquisición de conocimientos diferentes, aporta beneficios
como impulsar el aprendizaje autónomo y desarrolla habilidades emocionales
promoviendo la creación, imaginación e innovación.
Se dirá en este apunte, ya por enésima vez, que la lógica computacional está
relacionada íntimamente con la manera en que se utiliza el pensamiento lógico y
con la forma en que se resuelve un problema.
Cuando se plantea un problema, para su resolución, se aplican diferentes
técnicas y en, lógica computacional, una de esas técnicas son los algoritmos.
Etapas de un algoritmo
Básicamente, existen tres etapas que son:
1) Análisis profundo del problema: en esta etapa se debe comprender con
claridad, cuál es el problema, qué se debe lograr y pensar una posible solución.
2) Construcción del algoritmo o diseño de la solución del problema: en este
momento es donde se realiza una secuencia ordenada de pasos lógicos que
conducen a la solución de un problema.
3) Verificación del algoritmo: última etapa donde se ejecuta y valida la
secuencia anterior ( la obtención del resultado esperado)
La etapa 1) de análisis es la parte medular para resolver problemas, ya que a
partir de ésta se diseña, construye y prueba un algoritmo que presenta la solución
de un problema.
Se incluye un nuevo concepto que nos lleva a la pregunta ¿qué es un algoritmo?
No se pueden contar la cantidad de algoritmos que se utilizan día a día, ya sea en
el hogar, en el trabajo, cuando se realizan actividades recreativas, en todo
momento y lugar.
Para poder comprender este concepto, se presenta un algoritmo sencillo:
Una persona vuelve de la calle (de la escuela, del club, de hacer una compra, etc,
a su hogar) Quiere abrir la puerta. Se detiene frente de ella. Tiene la llave que
abre.
¿Qué pasos requiere hacer, para abrirla?
Paso 1. Coloca la llave en la cerradura
Paso 2. Gira la llave a la derecha
Paso 3. Da una vuelta
Paso 4. El pasador cede
Paso 5. La puerta se abre
Un algoritmo es una serie de pasos, procedimientos o acciones que llevan
una secuencia lógica y sistemática que permiten alcanzar un resultado o
resolver un problema.
Estos pueden ser tan sencillos o tan complejos como se requieran, pero la
finalidad es que cumpla con las siguientes características:
a) Sea preciso en el problema que se plantea (indique el orden de realización de
cada paso).
b) Sea determinístico (dados un conjunto de datos de entrada, deberá arrojar los
mismos resultados siempre. Cada vez q se repita, se obtiene el mismo resultado).
c) Sea finito. El algoritmo siempre debe tener un final, sin importar si es simple o
complejo (tiene fin y un número determinado de pasos).
Un algoritmo debe producir un resultado en un tiempo finito. Los métodos que
utilizan algoritmos se denominan métodos algorítmicos, en oposición a los
métodos que implican algún juicio o interpretación (verdadero- falso) que se
denominan métodos heurísticos.
Ejemplos de algoritmos son:
* Instrucciones para andar en una bicicleta.
*Hacer una pizza de Muzzarella.
* Aprobar “Lógica Computacional”
Los algoritmos se pueden expresar por formulas, diagramas de flujo y SEUDO
códigos.
La construcción de un algoritmo se divide en 3 etapas:
Entrada de Datos: Acción u operación que permite el ingreso de datos del
problema
Procesamiento de Datos: Operación u operaciones secuenciales, lógicas y
organizadas, cuyo objetivo es procesar los datos de entrada, de forma inequívoca.
Salida de Resultados: conjunto de operaciones que arrojan los resultados
alcanzados (ESPERADOS).
Si se aplican estas tres etapas al ejemplo del algoritmo de la cerradura se tendría:
Entrada de Datos:
Estado de la puerta = CERRADO
Procesamiento de Datos:
Introducir la llave
Giro de la llave a la derecha
Le damos la vuelta
Se abre la puerta
Salida de Datos:
Estado de Puerta = ABIERTO
El diseño de la mayoría de los algoritmos requiere creatividad y conocimientos
profundos de lo que se requiere resolver. Si consideras este algoritmo de una
forma más compleja, las tres etapas serían:
Entrada de Datos :
Estado de puerta = CERRADO
Procesamiento de Datos :
Introducir la llave correcta
Giro de la llave a la derecha, una vez
Otro giro a la derecha
En caso contrario
Giro a la izquierda
Otro giro a la izquierda
Si el pasador cede
Se abre la puerta
En caso contrario
Empujar para abrir
Salida de Datos:
Estado de Puerta = ABIERTO
Como se puede observar, un algoritmo permite describir la solución de un
problema por medio de pasos lógicos y sistemáticos, precisos, determinísticos y
finitos.
Para su construcción se apoya en tres etapas fundamentales que son:
Entrada de Datos
Procesamiento de
Datos
Salida de
Resultados