Fundamentos de Computación: De la Máquina Analítica a la Inteligencia Artificial
Clasificado en Informática
Escrito el en
español con un tamaño de 6,97 KB
Historia y Evolución de la Computación
Babbage y la Máquina Analítica
Charles Babbage diseñó la Máquina Analítica, una computadora mecánica pensada para realizar cálculos siguiendo instrucciones. Funcionaba con engranajes; no era electrónica, era lenta y nunca se completó.
Ada Lovelace
Trabajó sobre las ideas de Babbage y escribió instrucciones para que la Máquina Analítica realizara cálculos automáticamente. Se la considera la primera programadora de la historia porque escribió un algoritmo para una máquina.
Máquina Analítica vs. ENIAC
- Máquina Analítica: Mecánica, lenta y no completada.
- ENIAC: Electrónica, utilizaba válvulas de vacío, fue funcional y significativamente más rápida.
Generaciones de Computadoras
- 1ª generación (aprox. 1940-1952): Basada en relés y válvulas de vacío. Eran grandes, lentas, consumían mucha energía y generaban mucho calor. Ejemplos: Z3, ENIAC, EDVAC, Colossus.
- 2ª generación (aprox. 1956-1967): Uso de transistores. Más pequeñas, rápidas, confiables y con menor consumo. Ejemplos: DEC PDP-1, IBM 1407.
- 3ª generación (aprox. 1964-1971): Circuitos integrados. Muchos componentes en un solo chip, mayor velocidad y menor costo. Ejemplo: IBM 360.
- 4ª generación (desde 1972): Microprocesadores. CPU en un solo chip y expansión de las computadoras personales. Ejemplos: PDP-11/70, IBM PC, Apple IIe.
Arquitectura de Computadores
Arquitectura de von Neumann
John von Neumann propuso en 1945 un modelo base para las computadoras modernas. Su idea central es que los programas y los datos se guardan en la misma memoria, permitiendo ejecutar distintos programas sin modificar físicamente la máquina. Sus componentes son: CPU, memoria, entrada, salida y buses.
CPU
Incluye la ALU, la unidad de control y los registros:
- ALU: Realiza operaciones matemáticas, lógicas y comparaciones.
- Unidad de control: Interpreta instrucciones y coordina la ejecución.
- Registros: Memorias internas de alta velocidad para datos temporales.
Ciclo de instrucción
- Fetch: Obtener la instrucción desde la memoria.
- Decode: Interpretar la instrucción.
- Execute: Ejecutar la instrucción.
- Store: Guardar el resultado.
Entorno Linux
Comandos básicos
pwd: Muestra la carpeta actual.ls: Lista archivos y carpetas.cd carpeta: Entra a una carpeta.cd ..: Vuelve al directorio anterior.mkdir nombre: Crea una carpeta.touch archivo: Crea un archivo vacío.cat archivo: Muestra el contenido de un archivo.cp origen destino: Copia archivos.mv origen destino: Mueve o renombra archivos.rm archivo: Elimina un archivo.grep "texto" archivo: Busca texto dentro de un archivo.wc -l archivo: Cuenta las líneas de un archivo.head -n 5 archivo: Muestra las primeras 5 líneas.sort archivo: Ordena alfabéticamente.
Redirecciones y pipes
>: Guarda la salida en un archivo (sobrescribe).>>: Agrega la salida al final del archivo sin borrar.<: Usa un archivo como entrada.|: Conecta la salida de un comando con la entrada de otro. Ejemplo:cat archivo.txt | grep "hola"muestra el archivo y filtra las líneas que contienen “hola”.*.txt: Comodín que representa todos los archivos terminados en .txt.
Sistemas Operativos y Concurrencia
TDA (Tipo de Dato Abstracto)
Define qué datos se manejan y qué operaciones se pueden realizar, sin importar su implementación interna; se enfoca en qué hace, no en cómo lo hace.
Concurrencia y paralelismo
- Concurrencia: Varias tareas avanzan en un mismo período, aunque de forma intercalada.
- Paralelismo: Varias tareas se ejecutan realmente al mismo tiempo utilizando varias CPUs o núcleos.
Proceso e hilo
- Proceso: Programa en ejecución con memoria propia.
- Hilo: Tarea dentro de un proceso que comparte memoria con otros hilos del mismo proceso.
Race condition y sección crítica
La Race condition ocurre cuando el resultado depende del orden en que se ejecutan operaciones concurrentes (ej. dos hilos incrementando un contador a la vez). La sección crítica es la parte del código donde se accede a un recurso compartido; solo un proceso o hilo puede entrar a la vez.
Semáforos, SIGNAL y Deadlock
- Semáforo binario: Vale 0 o 1 y protege secciones críticas.
- SIGNAL: Avisa que el proceso terminó de usar el recurso y lo libera.
- Deadlock (Bloqueo mutuo): Dos o más procesos quedan bloqueados porque cada uno espera un recurso que tiene el otro. Condiciones de Coffman: exclusión mutua, retención y espera, no apropiación, espera circular.
Round Robin
Algoritmo de planificación donde cada proceso recibe un tiempo fijo llamado quantum; si no termina, vuelve al final de la cola. Todos usan la CPU por turnos.
Inteligencia Artificial
Machine Learning
Rama de la IA donde los sistemas aprenden patrones a partir de datos, en vez de programar todas las reglas manualmente.
Aprendizaje supervisado y no supervisado
- Supervisado: Utiliza datos etiquetados.
- No supervisado: Busca patrones o grupos sin etiquetas.
Clasificación, Clustering, Precisión y Recall
- Clasificación: Asigna datos a categorías conocidas (supervisado).
- Clustering: Descubre grupos en los datos (no supervisado).
- Precisión: De los casos predichos como positivos, cuántos eran realmente positivos.
- Recall: De los positivos reales, cuántos detectó el modelo.
Redes neuronales
Modelo de IA inspirado en neuronas conectadas. Una neurona calcula la suma ponderada de entradas, suma un sesgo y aplica una función de activación: h = f(w · x + b).
Backpropagation
Retropropagación del error: el error se propaga desde la salida hacia las capas anteriores para ajustar los pesos y reducir el error en el próximo intento.