Documente Academic
Documente Profesional
Documente Cultură
INTELIGENCIA ARTIFICIAL
INTELIGENCIA ARTIFICIAL:
Es la combinación de algoritmos planteados con el propósito de crear máquinas que presenten las
mismas capacidades que el ser humano.
Sistemas que actúan como humanos: se trata de computadoras que realizan tareas de
forma similar a como lo hacen las personas. Es el caso de los robots.
Sistemas que piensan racionalmente: intentan emular el pensamiento lógico racional de
los humanos, es decir, se investiga cómo lograr que las máquinas puedan percibir, razonar
y actuar en consecuencia. Los sistemas expertos se engloban en este grupo.
Sistemas que actúan racionalmente: idealmente, son aquellos que tratan de imitar de
manera racional el comportamiento humano, como los agentes inteligentes.
La inteligencia artificial analiza más datos y datos más profundos utilizando redes neurales
que tienen muchas capas ocultas.
La inteligencia artificial logra una precisión increíble a través de redes neurales profundas
lo cual antes era imposible.
LO RACIONAL Y LO EMOCIONAL
Racional: es la capacidad para pensar, entender, evaluar y, actuar bajo ciertos principios
que ayuden a conseguir un beneficio u objetivo.
Emocional: se puede definir que son reacciones que un ser humano experimenta como lo
es la alegría, tristeza, miedo, ira, etc.…
AGENTE INTELIGENTE
Es una entidad capaz de percibir su entorno, procesar tales percepciones y responder o actuar en
su entorno de manera racional, es decir, de manera correcta y tendiendo a maximizar un resultado
esperado.
Generalizan de ejemplos anteriores a los ejemplos nuevos: Una vez que la RNA esté
entrenada, la respuesta de la red puede ser, hasta un cierto punto, insensible a pequeñas
variaciones en las entradas, lo que las hace idóneas para el reconocimiento de patrones.
Operación en tiempo real. Los cómputos neuronales pueden ser realizados en paralelo;
para esto se diseñan y fabrican máquinas con hardware especial para obtener esta
capacidad.
LENGUAJE FORMAL
Es un conjunto (finito o infinito) de cadenas finitas de símbolos primitivos, por ejemplo el lenguaje
“Número” es simplemente el conjunto infinito de cadenas finitas formadas con los dígitos 0, 1, 2, 3,
4, 5, 6, 7, 8 y 9.
Cuanto menor es el tipo, mayor es el poder expresivo del lenguaje generado y más complejidad
tiene su tratamiento por parte de una máquina
LENGUAJES REGULARES
Un lenguaje regular es un lenguaje formal que tiene estas características:
Puede ser descrito mediante una expresión regular (expresar de forma compacta cómo son
todas las cadenas de símbolos que le pertenecen)
Puede ser generado mediante una gramática regular (obtener todas las cadenas de
símbolos que le pertenecen)
Puede ser reconocido mediante un autómata finito (saber si una cadena de símbolos
pertenece a él o no)
SÍMBOLO
Es un signo que representa algo abstracto. En este material, símbolo se referirá a un carácter
alfanumérico. Ejemplos a, b, 1, 0, x, y, z, 9,
ALFABETO
es un conjunto de símbolos y normalmente se denota con la letra Σ. Ejemplos Σ = {a,b,c,…z} Σ =
{1,2,3,…9} Σ = {0,1} Σ = {a,b}
CADENA
Cadena o palabra es un conjunto de símbolos de algún alfabeto Σ concatenados entre sí, es decir
uno enseguida del otro. Ejemplos Para el alfabeto Σ = {a,b,c,…z} algunas cadenas son: ab, z, cc, abc,
abab. Para el alfabeto Σ = {0,1} algunas cadenas son: 0, 1, 01, 000, 0101
EPSILON ()
Cadena Vacía ε (épsilon), es la cadena que no contiene ningún símbolo.
LENGUAJE
es un conjunto de cadenas o palabras definido en un alfabeto Σ. Ejemplos Si Σ = {0,1} podríamos
definir los lenguajes “conjunto de cadenas en Σ que terminan en 0” algunos de las palabras de
lenguajes serían: 0, 10,00,010,100, 110…
¿QUÉ ES UN AUTÓMATA?
Un autómata es un modelo matemático para una máquina de estado finito, en el que, dada una
entrada de símbolos, “salta” mediante una serie de estados de acuerdo a una función de transición
(que puede ser expresada como una tabla). Esta función de transición indica a qué estado cambiar
dados el estado actual y el símbolo leído.
SIMBOLOGÍA DE LA REPRESENTACIÓN GRÁFICA
Ejemplo: (a|b)*bb*
Ejemplo: Dado el alfabeto Σ={0,1}, construir un Autómata Finito Determinista de 4 estados como
máximo, que acepte el lenguaje representado por la siguiente expresión regular
((01+10)(11)∗0)∗(01+10)(11)∗.
Paso 1:
partimos del estado inicial {q0}. con 0 vamos a {q0, q1} y con 1 a {q0}
ESTADO(q) 0 1
->{q0} {q0, q1} {q0}
Paso 2:
{q0} ya pertenece al conjunto de estados, pero {q0, q1} no por lo tanto añadimos el estado {q0, q1}.
ESTADO(q) 0 1
->{q0} {q0, q1} {q0}
{q0, q1}
Paso 3:
Con el conjunto {q0, q1} con el valor 0 nos lleva a las transiciones {q0, q1, E} (este estado es
equivalente a {q0, q1}) y con el valor 1 nos lleva a las transiciones {q0, q2}
ESTADO(q) 0 1
->{q0} {q0, q1} {q0}
{q0, q1} {q0, q1} {q0, q2}
Paso 4
repetimos el procedimiento hasta que no se creen más elementos para el conjunto de estados.
quedándonos la siguiente tabla.
ESTADO(q) 0 1
->{q0} {q0, q1} {q0}
{q0, q1} {q0, q1} {q0, q2}
{q0, q2} {q0, q1} {q0}
Paso 5
Ejercicios:
((0|11)+11+)*0+
(baba ∪ abab)*
(1*0*1110)+110
SISTEMAS OPERATIVOS
SERVICIOS DEL SO
Ejecución de programas- capacidad del sistema de cargar un programa en memoria y
ejecutarlo.
Operaciones de E/S - dado que los programas no pueden ejecutar operaciones de E/S
directamente, el sistema operativo debe proveer medios para realizarlas.
Estructura Jerárquica: A medida que fueron creciendo las necesidades de los usuarios y se
perfeccionaron los sistemas. Se hizo necesaria una mayor organización del software, del
sistema operativo, donde una parte del sistema contenía sub partes y esto organizado en
forma de niveles.
Máquina Virtual: Se trata de un tipo de sistemas operativos que presentan una interface a
cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente.
Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de
sistemas: la multiprogramación y la máquina extendida.
Cliente-servidor (Microkernel): Este sistema sirve para toda clase de aplicaciones, por
tanto, es de propósito general y cumple con las mismas actividades que los sistemas
operativos convencionales.
• Dar soporte a la comunicación entre procesos y a la creación de procesos por parte del
usuario
DISPATCHER
El dispatcher es el módulo que proporciona un control de proceso sobre la CPU después de que ha
sido seleccionado por el planificador a corto plazo. Esta función implica lo siguiente:
Cambio de contexto
Cambiar al modo de usuario
Saltar a la ubicación adecuada en el programa de usuario para reiniciar ese programa
PROCESO
Una unidad de actividad caracterizada por la ejecución de una secuencia de instrucciones, un estado
actual, y un conjunto asociado de instrucciones de sistema.
ELEMENTOS DE UN PROCESO
• Identificador
• Estado
• Prioridad
• Program counter
• Punteros a Memoria
• Un contexto
• Información de contabilidad
BLOQUE DE CONTROL DE PROCESO
• Contiene los elementos del proceso
Identifier
State
Priority
Program counter
Memory pointers
Context data
I/O status
information
Accounting
information
TRAZA DE UN PROCESO
• Secuencia de instrucciones que se ejecutan para dicho proceso
Ejecución (Running)
No-Ejecución (Not-running)
TERMINACIÓN DE UN PROCESO
1. Terminación normal: El proceso ejecuta una llamada a un servicio del SO que indica que ha
terminado de ejecutar.
2. Tiempo límite excedido: El proceso se ha ejecutado más que el límite de total especificado.
Hay varias posibilidades para la clase de tiempo que se mide. Entre éstas se incluyen el
tiempo total transcurrido (“tiempo de reloj”), el tiempo que se ha estado ejecutando y, en
el caso de un proceso interactivo, el tiempo transcurrido desde que el usuario real realizó
su última entrada de datos.
3. No hay memoria disponible: El proceso necesita más memoria de la que el sistema le puede
proporcionar
4. Violación de limites: El proceso trata de acceder a una posición de memoria a la que no le
está permitido acceder
5. Error de protección: El proceso intenta utilizar un recurso o un archivo que no le está
permitido utilizar, o trata de utilizarlo de forma incorrecta, como escribir en un archivo que
es solo de lectura.
6. Error Aritmético: El proceso intenta hacer un cálculo prohibido, como una división por cero,
o trata de almacenar un número mayor del que el hardware acepta.
7. Tiempo máx de espera rebasado: El proceso ha esperado más allá del tiempo máximo
especificado para que se produzca cierto suceso.
8. Fallo de E/S: Se produce un error en la entrada o la salida, tal como la incapacidad de
encontrar un archivo, un fallo de r/w después de un número máximo de intentos (cuando,
por ejemplo, hay una región defectuosa en una cinta), o una operación ilegal (como intentar
leer de una impresora)
9. Instrucción inválida: El proceso intenta ejecutar una instrucción inexistente (a menudo
como resultado de un salto a una zona de datos para intentar ejecutar los datos).
10. Instrucción privilegiada: El proceso intenta usar una instrucción reservada para el sistema
operativo.
11. Mal uso de los datos: Un elemento de dato es de un tipo equivocado o no está inicializado.
12. Intervención del operador o del SO: Por alguna razón el operador o el sistema operativo
termina con el proceso (por ejemplo, si existe un interbloqueo).
13. Terminación del padre: Cuando un proceso padre finaliza, el sistema operativo puede
diseñarse para terminar automáticamente con todos sus descendientes.
14. Solicitud del padre: Un proceso padre tiene normalmente la autoridad de terminar con
cualquiera de sus descendientes
LIMITACIONES DEL MODELO
No-Ejecución
Listos para ejecutar
Bloqueados
Esperando que termine una operación I/O
El despachador podría no seleccionar el proceso que está en el extremo más antiguo de la
cola, porque este podría estar bloqueado
El despachador tendría que recorrer la lista buscando el proceso que este no bloqueado
ARQUITECTURA DE SISTEMAS
ARQUITECTURA DE SISTEMAS
Es una representación de un sistema en la que hay una correlación de funciones con componentes
de hardware y software, una correlación de la arquitectura de software con la arquitectura de
hardware, e interacción humana con estos componentes
ARQUITECTURA DE HARDWARE
Es el conjunto de dispositivos físicos que hacen posible el funcionamiento de un computador; Éste
abarca todos los componentes eléctricos y mecánicos que permiten llevar a cabo en una
computadora el almacenamiento y procesamiento de información.
ARQUITECTURA DE SOFTWARE
La arquitectura de software define, de manera abstracta, los componentes que llevan a cabo alguna
tarea de computación, sus interfaces y la comunicación entre ellos. Toda arquitectura debe ser
implementable en una arquitectura física, que consiste simplemente en determinar qué
computadora tendrá asignada cada tarea.
MODELOS Y VISTAS
Toda arquitectura de software debe describir diversos aspectos del software. Generalmente, cada
uno de estos aspectos se describe de una manera más comprensible si se utilizan distintos modelos
o vistas.
Cada paradigma de desarrollo exige diferente número y tipo de vistas o modelos para describir
una arquitectura.