Está en la página 1de 91

UNIDAD III

“Ciclos”

3.1 While
3.2 Do-While

En este ejercicio ocupamos los ciclos whille es aquella en que el cuerpo del
bucle se repite mientras se cumple una determinada condición. Cuando se ejecuta
la instrucción mientras, la primera cosa que sucede es evaluar la condición (una
expresión booleana) y la Do-While permite repetir una instrucción o una
instrucción compuesta hasta que una expresión especificada sea false. En este
caso los ocupamos para poder calcular e imprimir nomina de cada empleado
tomando en cuenta el numero de empleados y las horas pagadas.
UNIDAD I y II “EVALUACION”

Realizar un programa que: Escribe un programa que responda a un usuario


que quiere comprar un helado en una conocida marca de comida rápida
cuanto le costará en función del topping que elija.

 El helado sin topping cuesta $11.90.


 El topping de oreo cuesta $10.
 El topping de KitKat cuesta $11.50.
 El topping de brownie cuesta $10.75.
 El topping de lacasitos cuesta $10.95.
 En caso de no disponer del topping solicitado por el usuario el programa
escribirá por pantalla «no tenemos este topping, lo sentimos. »

y a continuación informar del precio del helado sin ningún topping. Finalmente, el
programa escribe por pantalla el precio del helado con el topping seleccionado (o
ninguno)

Se realizo el programa en java donde utilizando la variable int definimos el valor


de numero entero utilizamos String para declarar objetos en case declaramos el
mensaje de toppiing a escoger e imprimir la opción.
El pseudocodigo son los pasos resumidos lo mas parecido a cómo será
plasmado en el programa, es como un falso lenguaje, pero en nuestro idioma a
diferencia del algoritmo en este no se hace el extenso proceso de los pasos si no
que se simplifica.
Un diagrama de flujo por lo general representa un proceso, un sistema o un
algoritmo de computadora y suele usarse para registrar, planificar, perfeccionar o
visualizar un flujo de trabajo de varios pasos.
En este ejercicio describimos el proceso correcto para cambiar una llanta en el
pseudocodigo y lo plasmamos en el diagrama de flujo donde al ejecutar tenia las
siguientes condiciones “si cuento una llanta de repuesto” procedo a cambiar la
llanta “si no cuento con una llanta” esperar a la grúa.

UNIDAD II “EL PARADIGMA DE PROGRAMACION”

2.3 Elementos básicos de programación -Condicionales


2.4 Prueba de escritorio

Los números primos son aquellos que solo tienen dos divisores el mismo
numero y el numero 1. En el diagrama de flujo ingresamos inicio donde va el
nombre de nuestro algoritmo insertamos la figura que representa “leer” para
escribir “insertar numero” debajo de esta una mas donde definiremos “n” (cualquier
numero), función asignación colocamos “x = 1” , colocaremos la función ciclo para
asignar la condición “ x > con esto cada que ingresemos un numero se ejecutara
la operación para determinar si el numero es primo.
“Algoritmos y Problemas ”

1.1 Definición de algoritmo


1.2 Características de un algoritmo
1.3 Formulación y resolución de problemas
1.4 Formas de representación de algoritmos

En esta actividad buscamos la definición concreta de un algoritmo,


técnicamente es una serie de paso o instrucciones a seguir para obtener un
resulta, a lo largo de nuestra vida diaria tenemos que realizar algoritmos desde la
elaboración de un alimentos hasta la rutina de dormir, en ingeniería es lo mismo
para la realización de un programa dependiendo de las necesidades a cubrir que
nos soliciten enumeramos cada una ella para analizar su programación en
ocasiones se omite este paso y nos vamos directo al código.

UNIDAD II “ EL PARADIGMA DE PROGRAMACION”

2.1 Elementos básicos para expresar en pseudocodigo


2.2 Elementos básicos para expresar en diagrama de flujo
UNIDAD I
5.1 Analizador semántico.
5.2 Tabla de Símbolo.
5.3 Gramática de atributos

.
4.2 Gramáticas libres de contexto.
4.3 Análisis sin táctico descendente
4.4 Análisis sintáctico ascendente.

Las gramáticas libres de contexto permiten describir la mayoría de


los lenguajes de programación, de hecho, la sintaxis de la mayoría de lenguajes de
programación está definida mediante gramáticas libres de contexto. Por otro lado,
estas gramáticas son suficientemente simples como para permitir el diseño de
eficientes algoritmos de análisis sintáctico que, para una cadena de caracteres
dada, determinen cómo puede ser generada desde la gramática.

Analizador sintáctico descendente. (Top-Down-Parser): un analizador


puede empezar con el símbolo inicial e intentar transformarlo en la entrada,
intuitivamente esto sería ir dividiendo la entrada progresivamente en partes cada
vez más pequeñas.

Un Analizador Sintáctico (A. St.) Ascendente construye el árbol desde


las hojas hacia la raíz. Funciona por reducción-desplazamiento, lo cual quiere
decir que, siempre que puede, aplica una regla (reduce) y, cuando no, desplaza a
su pila de trabajo el token que le está pasando el A. Léxico. El parse del árbol que
construye es justo el inverso del que se obtendría al construir un árbol
descendente aplicando derivaciones a la derecha.

UNIDAD V “ANÁLISIS SEMÁNTICO


3.3 Definiciones básicas.
3.4 Definición de Lenguaje de Programación.
3.5 ¿Cómo funciona el analizador léxico?
3.6 Reconocimiento de identificadores.
3.7 Errores léxicos

Su principal función consiste en leer los caracteres de entrada y elaborar


como salida una secuencia de componentes léxicos que utiliza el analizador
sintáctico para hacer el análisis Recibida la orden "obtener el siguiente
componente léxico" del analizador sintáctico, el analizador léxico lee los caracteres
de entrada hasta que pueda identificar el siguiente componente léxico.
El analizador léxico tiene un componente llamado analizador.lexico.Lexico, donde
obtiene las líneas del archivo leído y las analiza comparándolas con la tabla de
símbolos. Si no existen en la tabla de símbolos determina por medio de la
clase analizador.lexico.Automatas si es o no un id, número o real.

UNIDAD IV “ANÁLISIS SINTÁCTICO”

4.1 Introducción.
2.3 Proceso de compilación.
2.4 Fases de la compilación.
2.5¿Cómo diseñamos un compilador?
2.6 ¿Por qué es importante entender los compiladores?

En esta unidad definimos con claridad lo que son los compiladores,


Un compilador es un programa que traduce código fuente escrito en un lenguaje
de alto nivel como Java, a un lenguaje legible por la máquina llamado código
objeto, lenguaje de destino o incluso lenguaje ensamblador. Compilar es el
proceso de transformar un programa informático escrito en un lenguaje en un
programa equivalente en otro formato. ... Normalmente, un compilador transforma
un lenguaje de alto nivel como C o Java, el cual es legible por los humanos, en un
lenguaje máquina que la CPU puede entender.

UNIDAD IV “ANÁLISIS LÉXICO”

3.1 El análisis léxico.


3.2 Funciones del analizador léxico y sus ventajas.
Lenguaje
utilizado para la
creación de Sencillo que permite
páginas web. Lenguaje estático.
describir hipertexto.
HTML significa
“hypertext mark-
up language”, que
La interpretación de Se pueden ver en
significa, “lenguaje
Archivos pequeños. cada navegador puede todos los sistemas
para el formato de
ser diferente. operativos, pero la
documentos de
HTML interpretación
hipertexto”, es
Guarda muchas varía según el
decir, texto
etiquetas que pueden navegador que esté
presentado de Lenguaje de fácil
convertirse en “basura” utilizando.
forma estructurada aprendizaje.
y dificultan la
y agradable, con
corrección.
enlaces
(hyperlinks) que
conducen a otros Lo admiten todos los Lento para ejecutar
documentos o exploradores archivos pesados
fuentes
Las críticas hechas en
las ediciones de visual
Basic anteriores a vb.net
son variadas, se citan
Posee una curva de
entre ellas:Problema de
aprendizaje muy rápida.
versionado asociado con
varias librerías DLL,
conocido como DLL
HELL.
Integra el diseño e Pobre soporte para
implementación de programación orientada
formularios de Windows. a objetos
Es un lenguaje
de programación Permite usar con facilidad
dirigido por Incapacidad para
la plataforma de los sistemas Sirve para hacer
eventos, crear aplicaciones
VISUAL BASIC Windows, dado que tiene aplicaciones de
desarrollado por el multihilo, sin tener que
acceso prácticamente total al escritorio
alemán Alan recurrir a llamadas del
api de Windows, incluidas
Cooper para api de Windows.
librerías actuales.
Microsoft.

Es uno de los lenguajes de


uso más extendido, por lo
que resulta fácil encontrar
información, documentación
y fuentes para los proyectos.

Fácilmente extensible
mediante librerías DLL y
componentes ActiveX de
otros lenguajes.

UNIDAD II “ COMPILADORES”

2.1¿Por qué son necesarios los compiladores?


2.2 Herramientas necesarias para los compiladores.
El estudio de los lenguajes de programación es llamado a veces lingüística de
la programación, por analogía con la lingüística de los lenguajes naturales. La
analogía se basa en el hecho en que ambos; lenguajes naturales y lenguajes de
programación, poseen sintaxis (forma) y semántica (significado).
De acuerdo a su finalidad, los lenguajes de programación se clasifican en:
 Lenguaje máquina.
 Lenguajes de programación de bajo nivel.
 Lenguajes de programación de alto nivel.

UNIDAD I “INTRODUCCIÓN A LA PROGRAMACIÓN DE SISTEMAS”

1.3 Evolución de Los Lenguajes de Programación.


1.4 Definición de Lenguaje de Programación.

En esta actividad comparamos las distintas características que tienen entre


si los lenguajes de programación viendo así cual es el mas efectivo o mejor se
acomode a nuestras actividades a desarrollar.

Tomaremos como ejemplos los siguientes tres programas:

SISTEMA
LENGUAJE ¿QUE ES? VENTAJAS DESVENTAJAS
OPERATIVO

Sirve para todos


Lenguaje de
Es potente en cuanto a lo No es atractivo los sistemas
programación
que se refiere a creación de visualmente operativos pero
C++ orientada a objetos
sistemas complejos un cada uno con su
creado por Bjarne
lenguaje muy robusto respectiva versión
Stroustrup
para dicho sistema
No soporta para
creación de páginas web
UNIVERISIDAD CEUSS

MARTHA TERESA LOPEZ JIMENEZ

ING. SISTEMAS 5 MODULO DOMINGOS

ACTIVIDAD VII

22 DE ABRIL 2022

“INTRODUCCIÓN A LA PROGRAMACIÓN DE SISTEMAS”

1.1 El Estudio de los Lenguajes de Programación.


1.2 Categorías de Lenguajes de Programación

En esta actividad se realizo un reporte de lectura donde el objetivo fue


dejar en claro los fundamentos y la evolución de cada lenguaje.
Los tipos de sistema operativo varían según el hardware y la función de cada dispositivo.
Existen algunos para ordenadores y otros para dispositivos móviles.

 Según el usuario pueden ser: multiusuario, sistema operativo que permite que varios
usuarios ejecuten simultáneamente sus programas; o monousuario, sistema
operativo que solamente permite ejecutar los programas de un usuario a la vez.
 Según la gestión de tareas pueden ser: monotarea, sistema operativo que solamente
permite ejecutar un proceso a la vez; o multitarea, sistema operativo que puede
ejecutar varios procesos al mismo tiempo.
 Según la gestión de recursos pueden ser: centralizado, sistema operativo que solo
permite utilizar los recursos de un solo ordenador; o distribuido, sistema operativo
que permite ejecutar los procesos de más de un ordenador al mismo tiempo.
Son parte esencial del funcionamiento de los sistemas informáticos y la pieza de software
central en la cadena de procesos, ya que establecen las condiciones mínimas para que todo
funcione: la administración de los recursos, el método de comunicación con el usuario y
con otros sistemas, las aplicaciones adicionales.

El sistema operativo posee tres componentes esenciales o paquetes de software que


permiten la interacción con el hardware:

 Sistema de archivos. Es el registro de archivos donde adquieren una estructura


arbórea.
 Interpretación de comandos. Se logra con aquellos componentes que permiten la
interpretación de los comandos, que tienen como función comunicar las órdenes
dadas por el usuario en un lenguaje que el hardware pueda interpretar (sin que
aquel que dé las órdenes conozca dicho lenguaje).
 Núcleo. Permite el funcionamiento en cuestiones básicas como la comunicación,
entrada y salida de datos, gestión de procesos y la memoria, entre otros.

Funciones de un sistema operativo

 Gestionar la memoria de acceso aleatorio y ejecutar las aplicaciones, designando


los recursos necesarios.
 Administrar al CPU gracias a un algoritmo de programación.
 Direccionar las entradas y salidas de datos (a través de drivers) por medio de
los periféricos de entrada o salida.
 Administrar la información para el buen funcionamiento de la PC.
 Dirigir las autorizaciones de uso para los usuarios.
 Administrar los archivos.

Características de un sistema operativo

 Es el intermediario entre el usuario y el hardware.


 Es necesario para el funcionamiento de todos los computadores, tabletas y
teléfonos móviles.
 Otorga seguridad y protege a los programas y archivos del ordenador.
 Está diseñado para ser amigable con el usuario y fácil de usar.
 Permite administrar de manera eficiente los recursos del ordenador.
 La mayoría requiere del pago de una licencia para su uso.
 Permite interactuar con varios dispositivos.
 Es progresivo, ya que existen constantemente nuevas versiones que se
actualizan y adaptan a las necesidades del usuario.

Tipos de sistema operativo


Sistemas Operativos

El sistema operativo es el software que coordina y dirige todos los servicios


y aplicaciones que utiliza el usuario en una computadora, por eso es el más importante y
fundamental. Se trata de programas que permiten y regulan los aspectos más básicos del
sistema. Los sistemas operativos más utilizados son Windows, Linux, OS/2 y DOS.
Los sistemas operativos consisten en interfaces gráficas, entornos de
escritorio o gestores de ventanas que brindan al usuario una representación gráfica de los
procesos en marcha. También puede ser una línea de comandos, es decir, un conjunto de
instrucciones ordenado según su prioridad y que funciona en base a órdenes introducidas
por el usuario. Permiten que otros programas puedan utilizarlos de apoyo para poder
funcionar. Por eso, a partir del sistema utilizado pueden ser instalados ciertos programas y
otros no.
FWO o FCFS (FLrst Come FLrst Serued). Primero en entrar, primero en salir. El
planificador asignará los ciclos de CPU a cada proceso en función de una cola FIFO en la
que el primer proceso que llega al sistema será el primero en ser atendido. Al primer
proceso que llega se le asignarán tantos ciclos de CPU como necesite hasta que termine
completamente. Una vez terminado con este proceso, se procederá a ejecutar el siguiente y
así sucesivamente hasta terminar con el último proceso.

Round Robin. En este algoritmo se asignan tiempos de ejecución de forma rotativa entre los
procesos. Este asigna a todos los procesos el mismo quantum o ciclos de CPU. La selección
de los procesos se hace mediante una cola FCFS o FIFO.

SJF (Shortest Job First) En la búsqueda de aumentar la productividad del sistema, el


planificador otorgará el procesador al proceso que demande menos ciclos de CPU. En el
caso de que existan varios procesos que demanden los mismos ciclos de CPU, se les
atenderá por orden de llegada (FCFS).

Planificación por prioridades. Cada proceso tendrá una prioridad determinada que servirá
como criterio al planificador para otorgarle el uso de la CPU. En el caso de que varios
procesos tengan la misma prioridad se podrá combinar con otro algoritmo como FCFS para
elegir el proceso a ejecutar.

Planificación con múltiples colas. Si se utilizan múltiples colas se puede utilizar un criterio
para asignar los procesos a una cola determinada y otro para elegir qué proceso de qué cola
deberá ser ejecutado.
Bloque de control de proceso (BCP)
Cada proceso debe tener una estructura de datos que almacena su estado y otra
información de control:
– Valores de los registros de la CPU
– Estado actual (preparado, bloqueado, etc.)
– Información para el planificador (prioridad, tiempo de espera…)
– apuntadores a los recursos de memoria, E/S, archivos etc. que tiene concedidos o abiertos
– Información de contabilidad (tiempo consumido…)

HILOS

Cuando se necesita que un programa haga varias cosas a


la vez, existen dos formas diferentes de implementarlo, mediante procesos y mediante
hilos. Los procesos son totalmente independientes unos de otros mientras as que un hilo no.
Un proceso puede tener varios hilos en ejecución y cada hilo realizará una tarea diferente o
igual según como haya sido p agramado. La principal diferencia entre un proceso y un hilo
es que los procesos tienen su propia zona de memoria mientras que los hilos de un proceso
comparten la misma zona de memoria. Por temas de seguridad, los procesos pueden ser
mejores puesto que si un programa se cuelga, se cuelga solo él, mientras que si un
programa tiene varios hilos en ejecución y se cuelga algún hilo, todos los demás hilos se
verán afectados. Por el contrario, en cuanto al rendimiento es mejor utilizar hilos puesto
que es más ágil para el sistema gestionar hilos que procesos al no tener que asignar recursos
diferentes a cada hilo. En resumen, un proceso es más costoso de lanzar mientras que un
hilo es más ligero Por lo tanto, se elegirán hilos cuando se necesite te que las tareas que
realice el sistema compartan sus datos o cuando se van a generar muchas tareas a la vez.

La complejidad, los hilos al compartir memoria tienen que programarse de forma más
cuidadosa puesto que un hilo puede machacar le trabajo de otro hilo o hacer que se cuelgue.
Siempre que los hilos compartan datos hay que tener este punto en cuenta

Las políticas de reparto se basan en algoritmos de planificación que son los que deciden
qué procesos tienen que ejecutarse en cada momento y por qué. Estos algoritmos deberán
basarse en la equidad eficiencia, imparcialidad tiempo de respuesta y rendimiento del
sistema.

Algunos algoritmos de planificación son los siguientes:


¿Qué es un proceso?
• Un proceso es un programa en ejecución.
• Un proceso nuevo se crea a través de una llamada al sistema (Windows: CreateProcess;
Unix: fork, execve).
• Un proceso necesita recursos para poder ejecutarse: memoria RAM, dispositivos de E/S,
la CPU, etc.
• Casi siempre el proceso tendrá que competir con otros procesos para obtener tiempo de
CPU y áreas de memoria.
A medida que un proceso se ejecuta, cambia de estado:
• nuevo: recién creado por el S.O.
• en ejecución: está en la CPU ejecutando instrucciones
• bloqueado: esperando a que ocurra algún evento (ej. una operación de E/S)
• preparado: esperando a que le asignen un procesador
• terminado: no ejecutará más instrucciones y el S.O. le retirará los recursos que consume
solamente una única dirección, que el hardware particionaba en número de página y
desplazamiento, siendo todo ello invisible al programador).

Por simplicidad de implementación, los segmentos están numerados y se referencian por un


número de segmento en lugar de por un nombre. Normalmente el programa de usuario se
ensambla (o compila), y el ensamblador (o el compilador) construye automáticamente
segmentos que reflejan el programa de entrada. Un compilador de Pascal podría crear
segmentos separados para las variables globales, la pila de llamada de procedimientos,
para almacenar parámetros y devolver direcciones, el código de cada procedimiento o
función, y las variables locales de cada procedimiento y función. El cargador tomaría todos
esos segmentos y les asignaría números de segmento.

Memoria virtual
Técnica de gestión de la memoria del equipo, cuyo uso reside en la
utilización conjunta de la memoria principal del sistema y nuestra unidad de
almacenamiento, como un disco duro. Es decir, es una técnica que usa el sistema
para emplear parte de nuestro almacenamiento como un módulo más de memoria; como,
por poner un ejemplo que podamos localizar rápido, la memoria RAM.
La memoria virtual surgió como uno de estos métodos de ahorro y descarga,
permitiéndonos hacer más en equipos con poca memoria disponible, sin necesidad de
adquirir más unidades de memoria adicionales. Generalmente caras en el pasado. Era una
medida muy útil en casos de necesidad, o para llevar a cabo trabajos que no podríamos
hacer en un equipo con cierta cantidad de memoria.
FUNCIONES:
1. Transforma una dirección virtual a física.
2. Transfiere páginas de la memoria secundaria a la memoria principal y viceversa.

La paginación usa 2 posibles estructuras de datos:

 Tabla de páginas. Guarda la dirección del marco en la que está almacenada cada
página. Existe una tabla por proceso y tantas entradas como páginas tiene éste.
Transforma direcciones virtuales o lógicas a físicas.
 Lista de marcos libres. Guarda los marcos sin asignar, habiendo una tabla para
todo el sistema (no para cada proceso). Hay entradas como marcos libres.

Los procesos pueden albergar distintas posiciones de memoria, pudiendo ser desplazados
sin problema. Esto ofrece versatilidad y proporciona cierta ubicación., no existen conflictos
entre procesos que quieren acceder a ciertas posiciones de memorias. Es decir, no se da el
caso de que un proceso acceda a una posición de memoria de otro proceso. no tiene ningún
mecanismo de compatición. Por este motivo, nos solemos decantar por la segmentación
paginada.
Y Por último, la partición. Toda la memoria se divide en bloques (marcos) y tienen el
mismo tamaño. Ocurre lo mismo con los procesos en bloques (páginas). Así que,
aprovechamos todo el espacio posible.

Segmentación

Un aspecto importante de la gestión de la memoria que la paginación convierte en


inevitable es la separación de la visión que el usuario tiene de la memoria y la memoria
física real. La visión del usuario no coincide con la memoria física real. La visión del
usuario se transforma en la memoria física. La traducción de direcciones permite esta
diferencia entre la memoria lógica y la física.

La segmentación es un esquema de administración de la memoria que soporta la visión que


el usuario tiene de la misma. Un espacio de direcciones lógicas es una colección de
segmentos. Cada segmento tiene un nombre y una longitud. Las direcciones especifican
tanto el nombre del segmento como el desplazamiento dentro del segmento. Por lo tanto, el
usuario especifica cada dirección mediante dos cantidades: un nombre de segmento y un
desplazamiento. (Compárese este esquema con la paginación, donde el usuario especificaba
Paginación

Se trata de un modelo de organización de memoria física en el que


se divide toda la memoria en porciones del mismo tamaño. Esas porciones reciben el
nombre de marcos o páginas físicas. Si dividimos la memoria en páginas, podremos
gestionarla mejor.
Los marcos se identifican con un número que se denomina número de página física. A su
vez, cada página física se asigna a un proceso de forma exclusiva. Por otro lado, cada
proceso tiene un espacio de páginas lógicas, y cada una se mapea o se asocia a un marco.
La tabla de páginas es el mapeo resultante entre páginas lógicas y físicas. Por tanto, cada
proceso tiene su tabla de páginas. Luego, hay que entender que el proceso tiene un
direccionamiento lógico que usará para satisfacer sus necesidades. ejemplo, un procesador
de 32 bits ofrece al proceso 2^32 = 4 GB de memoria.
nombre de color Verde. Sistema (FILE_ATTRIBUTE_SYSTEM - 0x00000004): Con el atributo de
valor: S. Indica que el archivo es para uso del sistema operativo, uso interno.

Directorio (FILE_ATTRIBUTE_DIRECTORY-0x00000010): Con el atributo de valor: D. Indica que es


una carpeta.

Normal (FILE_ATTRIBUTE_NORMAL - 0x00000080):


Un archivo que no tiene otros atributos establecidos. Este atributo es válido sólo cuando no se
establecen otros atributos. Este atributo será ignorado si se establecen otros. Este atributo sólo se
utiliza para proporcionar una forma de eliminar el resto de los atributos.

Fuera de línea (Offline FILE_ATTRIBUTE_OFFLINE - 0x00001000):


Este atributo indica que los datos del fichero no están disponibles de inmediato. Este atributo
indica que el archivo ha sido movido a una de datos es desplazado a la conexión de
almacenamiento. Este atributo se utiliza para el almacenamiento remoto.

Temporal (FILE_ATTRIBUTE_TEMPORARY - 0x00000100):


Archivo utilizado para almacenamiento temporal. El sistema operativo puede optar por almacenar
datos de archivos con este atributo en la memoria en lugar de en almacenamiento masivo.
archivos, una marca de verificación indica que todos los archivos están marcados como ocultos.
Un cuadro relleno indica que algunos archivos están marcados como ocultos y otros no.

****Archivo listo para archivar históricamente (FILE_ATTRIBUTE_ARCHIVE - 0x00000020):


Con el atributo de valor: A. Indica si el archivo o carpeta se debe guardar cuando se realice una
copia de seguridad. Por defecto no está activado pero en cuanto se haga alguna modificación de
los permisos o del contenido del fichero se activará automáticamente (por el sistema operativo).
De esta forma el programa de copia de seguridad podrá copiar sólo los archivos modificados. La
definición de Windows para este atributo: especifica si el archivo o carpeta se debe almacenar.
Algunos programas utilizan esta opción para determinar de qué archivos y carpetas se harán
copias de seguridad. Si selecciona varios archivos o carpetas, una marca de verificación indicará
que todos los archivos o carpetas tienen activado el atributo de almacenamiento. Una casilla de
verificación rellena indica que algunos archivos o carpetas tienen establecido el atributo de
almacenamiento.

****Permitir al servicio de Index Server indizar este archivo para acelerar la


búsqueda (FILE_ATTRIBUTE_NOT_CONTENT_INDEXED - 0x00002000):
Con el atributo de valor: N. Indica que el archivo o carpeta se indexará para realizar una búsqueda
rápida de texto en su contenido, propiedades o atributos. La definición de Windows para este
atributo: especifica si el contenido del archivo seleccionado o de la carpeta se indexará para
obtener una búsqueda más rápida. Una vez que se indice la carpeta o el archivo, puede buscar
texto en la carpeta o archivo, propiedades, fecha o atributos del archivo o carpeta. Al indizar una
carpeta no se indexan automáticamente los archivos y subcarpetas que contiene a menos que elija
indizar el contenido cuando se le indique. Si selecciona varios archivos, una marca de verificación
indicará que todos los archivos tienen activado el atributo de indexación. Una casilla de
verificación rellena indica que algunos archivos tienen activado el atributo y otros no.

****Comprimir contenido para ahorrar espacio en disco (FILE_ATTRIBUTE_COMPRESSED -


0x00000800): Con el atributo de valor: C. Indica que el archivo o carpeta se comprimirá
automáticamente para ahorrar espacio en disco. La definición de Windows para este atributo:
muestra si esta carpeta o este archivo está comprimido. El contenido de las carpetas comprimidas
no se comprime automáticamente a menos que elija comprimir el contenido cuando lo solicite el
sistema. Si hay varios archivos seleccionados, una marca de verificación indica que todos los
archivos están comprimidos. Una casilla de verificación rellena indica que algunos archivos están
marcados como comprimidos y otros no. NO se pueden cifrar las carpetas ni los archivos que estén
comprimidos.

****Cifrar contenido para proteger datos (FILE_ATTRIBUTE_ENCRYPTED - 0x00004000):


Con el atributo de valor: E. Indica que el archivo o carpeta se cifrará para evitar que su contenido
pueda ser visto por otro usuario. La definición de Windows para este atributo: especifica que el
contenido de este archivo o carpeta se cifrará. Solamente el usuario que cifra el archivo o la
carpeta tiene acceso al contenido. Sin embargo, los archivos y carpetas pueden perder el cifrado
dependiendo de cómo se mueven o se copien. Si selecciona varios archivos, una marca de
verificación indicará que todos los archivos tienen activado el atributo de cifrado. Una casilla de
verificación rellena indica que algunos archivos tienen activado el atributo y otros no.

Por defecto Windows cuando se marca este atributo y se aplica, el fichero tendrá el texto del
Sistema de archivos de Sun® Solaris

 ZFS: significa ("Zettabyte File System") ó sistema de archivos ZettaByte,


desarrollado por Sun Microsystems para el sistema operativo Solaris. Es un robusto
sistema de ficheros de 128 bits, creado para superar las expectativas de cualquier
sistema real, cuenta un sistema ligero de ficheros, nueva estructura de
almacenamiento en disco y administración simple de espacio y un sistema de autor
reparación denominado "Self-healing" entre muchas otras características que
permiten su implementación en grandes servidores.

El sistema de archivos de los CD, DVD y Biu-ray (CDFS, UDF, LFS)

1.- Formato de registro de arranque maestro: se trata del sistema de archivos del
estándar ISO9660, que típicamente en una sola sesión, permite el almacenamiento de los
datos y una vez hecho lo anterior, no permite la escritura de nuevos datos (esto se le llama
cerrar sesión). Permite almacenar en cualquier disco de la familia de los CD, de los DVD
como lo son DVD-R, DVD-ROM, DVD-RW, DVD-RAM, etc. y de los Blu-ray Disc.

Atributos de archivos
Los atributos de Información de archivo hacen referencia a las
características de archivos y directorios como, por ejemplo, el nombre, tamaño, propietario,
derechos de acceso y enlaces. Información de archivo es un grupo de atributos de varias
instancias.
****Sólo lectura (FILE_ATTRIBUTE_READONLY - 0x00000001):
Con el atributo de valor: R. Impide que se pueda sobreescribir (modificar) o eliminar un fichero. La
definición de Windows para este atributo: especifica si este archivo o carpeta es de sólo lectura, lo
que significa que no se puede cambiar o eliminar accidentalmente. Si activa esta casilla de
verificación cuando hay seleccionados varios archivos, todos ellos serán de sólo lectura. Si
desactiva esta casilla de verificación, ninguno de los archivos seleccionados será de sólo lectura

****Oculto (FILE_ATTRIBUTE_HIDDEN-0x00000002): Con el atributo de valor: H. Impide que


se visualice al listar, por lo tanto no se pude copiar ni suprimir, a no ser que se conozca su nombre
o que tengamos activa la opción de mostrar archivos ocultos (en las opciones de carpetas). La
definición de Windows para este atributo: especifica si el archivo o la carpeta está marcado como
oculto, lo que significa que no podrá verlo o utilizarlo si no conoce su nombre. Si selecciona varios
 exFAT: proviene de ("EXtended File Allocation Table"), que significa tabla de
localización de archivos extendida, el cual se diseñó para su uso en dispositivos de
almacenamiento electrónico basados en el uso de tecnología de memoria NAND,
tales como memorias USB y unidades SSD, para ser utilizado con versiones de
Microsoft® Windows CE, es importante mencionar que Windows Vista y 7 tienen
soporte para el formateo con este sistema de archivos, al igual que MacOS® y
Linux. Una característica importante es que Permite almacenar hasta 1000 archivos
en una carpeta.

Nuevos sistema de archivos de Microsoft®

 WinFS: proviene de 2 significados diferentes: ("Windows Future Storage") y


("Windows File System"), significando almacenamiento de "Windows" del futuro y
sistema de archivos de "Windows". Este sistema fue desarrollado por Microsoft®
para facilitar la clasificación y las búsquedas de archivos, utilizando un modo
distinto a lo que actualmente conocemos como sistemas de directorios y archivos,
basado en funciones de búsqueda utilizadas en las bases de datos como SQL; por lo
que no se definió de manera clara si WinFS se trataba de un sistema de archivos al
100% ó como un agregado al sistema NTFS. Este sistema de archivos se vislumbró
como propuesta para su uso con Microsoft® Windows 7, pero no se concretó el
proyecto y se conserva NTFS en tal sistema operativo.

El sistema de archivos de MacOS de Apple®

 HFS/HFS+: significa ("Hierarquical File System") ó sistema de archivos por


jerarquía, sustituyo al MFS ("Macintosh File System") y el símbolo + indica
extendido, es decir, la última versión de HFS. Fué desarrollado por Apple®, admite
el uso de direcciones de espacio en disco de 64 bits y permite utilizar bloques de
asignación de archivos de 32 bits con el fin de potenciar la eficiencia del disco al
reducir la utilización de espacio en volúmenes de gran tamaño o con un número
elevado de archivos. Admite nombres de archivo más descriptivos, con una longitud
máxima de 255 caracteres y codificación de texto Unicode para los nombres de
archivo internacionales o con sistemas de escritura mixtos, también ofrece un
formato opcional de sistema de archivos con distinción de mayúsculas y minúsculas
para HFS+ que permite al administrador alojar sin problemas archivos utilizados
por aplicaciones UNIX que requieren esta función. Los sistemas operativos
modernos MacOS de Apple® reconocen el sistema de archivos HFS, HFS+, FAT,
FAT32, el CDFS utilizado en CD-ROM y el UDF utilizado en DVD-ROM.
está considerado más seguro que otros sistemas de ficheros en Linux dada su
relativa sencillez y su mayor tiempo de prueba. Los sistemas operativos Linux e
UNIX son capaces de detectar casi cualquier sistema de archivos (EXT, FAT,
FAT32, NTFS, CDFS, UDF, etc.).

El sistema de archivos de Ms-DOS, Windows 3.11 y Windows 95 de Microsoft®

 FAT: proviene de ("File Allocation Table"), que significa tabla de localización de


archivos. Esta tabla se mantiene en el disco duro de nuestro ordenador, y contiene
un mapa de toda la unidad de forma que "sabe" donde está cada uno de los datos
almacenados.

Las primeras versiones de Microsoft® Ms-DOS® usaban la clásica FAT 16, con
tamaños máximos de 16 bits; esto limitaba la capacidad total del disco duro a 512 MB,
asumiendo el mayor tamaño de cluster (8.192 Bytes). Con la aparición de la versión 5.0 y
las primeras de Windows 95 podían llegar a manejar discos duros de un máximo de 2 GB
(4x512 Bytes), también las memorias USB actuales utilizan este sistema de archivos. Los
sistemas operativos PC-DOS, Ms-DOS, Windows 3.11 y Windows 95 de Microsoft® solo
reconocen el sistema de archivos FAT y el CDFS utilizado en CD-ROM.

El sistema de archivos de Windows 98 y Windows Millenium de Microsoft®

 FAT32: proviene de ("File Allocation Table 32"), que significa tabla de localización
de archivos a 32 bits. Es el sistema de archivos que se empezó a usar a partir de la
versión OSR2 deMicrosoft® Windows 95, la cual tiene una mejor manera de
almacenar los datos con respecto a la FAT 16 ya que puede manejar discos duros de
hasta 2 Terabytes. Se utiliza básicamente con Microsoft® Windows
98 y Microsoft® Windows ME. Los sistemas operativos Windows 98 y ME de
Microsoft® reconocen el sistema de archivos FAT, FAT32, el CDFS utilizado en
CD-ROM y el UDF utilizado en DVD-ROM.

El sistema de archivos de Windows XP, Windows Vista y Windows 7 de Microsoft®

 NTFS: proviene de ("New Tecnology File System"), que significa sistema de


archivos de nueva tecnología, utilizado en la plataforma Windows NT®. Permite
accesos a archivos y carpetas por medio de permisos, no es compatible con Linux
(solo lee, y difícilmente escribe), ni con Ms-DOS®, ni Windows 95, ni Windows 98
y tampoco puede accederla, tiene formato de compresión nativa, permite
encriptación, soporta 2 TB, no se recomienda en sistemas con menos de 400 MB. Se
utiliza para Microsoft® Windows XP y Microsoft® Windows Vista y Windows 7.
Los sistemas operativos Windows XP, Vista y 7 de Microsoft® reconocen el
sistema de archivos FAT, FAT32, NTFS, el CDFS utilizado en CD-ROM, el UDF
utilizado en DVD-ROM y el LFS para discos sin registro de arranque maestro.
Nomenclatura de archivos
Una nomenclatura es el conjunto de términos que conforman un área del
conocimiento. Permite la sistematización de dicho conocimiento y el establecimiento de un
orden lógico.

Nomenclatura de archivos y tipo de archivo, Las reglas para ponerle nombre a un archivo y
a una carpeta son las mismas. Según Microsoft, podemos ponerle un nombre de hasta 255
caracteres (letras, números o signos) a un archivo. Los puntos son solo para separar el
nombre de la extensión.

1. No usar espacios en nombres de archivos ej: Mi Archivo de trabajo.txt.


2. Usar _ para separar espacios ej: web_page.htm.
3. Usar nombres cortos que describan el archivo ej: inventarios_enero.xls.
4. Usar nombres en bajas , es valido usar notación camel ej:

Estructura del sistema de archivos

La estructura de un sistema de archivos de un sistema operativo es el nivel más básico de


organización. Casi todas las formas en que un sistema operativo interactúa con sus
usuarios, aplicaciones y modelos de seguridad dependen de la manera en que almacena y
organiza los archivos en los dispositivo de almacenamiento.
El proporcionar una estructura de sistema de archivos común asegura que los usuarios y
programas pueden acceder y escribir a los archivos.
Los sistemas de archivos dividen los archivos en dos categorías lógicas:

***Los archivos compartibles son aquéllos a los que se puede acceder desde varios hosts;
mientras que los archivos no compartibles sólo están disponibles localmente. Los
archivos variables, tales como documentos, pueden cambiar en cualquier momento;

***Los archivos estáticos, tales como binarios, no cambian sin una actuación por parte del
administrador de sistemas.

Tipos de archivos
El sistema de archivos de UNIX y LINUX

 EXT / EXT2 / EXT3: Es el protocolo de Linux para el almacenamiento de datos, se


trata de un sistema de ficheros de alto rendimiento usado para discos duros, así
como para sistemas de almacenamiento extraíbles (disqueteras y memorias USB).
Tiene la ventaja de permitir actualizar de ext2 a ext3 sin perder los datos
almacenados ni tener que formatear el disco. Tiene un menor consumo de CPU y
Sistema de Archivos

Es el sistema de almacenamiento de un dispositivo de memoria, que


estructura y organiza la escritura, búsqueda, lectura, almacenamiento, edición y eliminación
de archivos de una manera concreta.

El objetivo principal de esta organización es que el usuario pueda identificar los archivos
sin lugar a error y acceder a ellos lo más rápido posible. Los sistemas de archivos también
otorgan a los archivos, entre otras, las siguientes características:

 Convenciones para nombrar a los archivos


 Atributos de archivo
 Control(es) de acceso

Para instalar un sistema de archivos, hay que formatear el soporte de datos. Los
medios de almacenamiento que se comercializan ya vienen formateados. En el pasado, era
común que el propio usuario tuviera que configurar los nuevos soportes de datos para
almacenar y administrar los archivos.
En los años 70, un equipo de investigadores dirigido por Edward Feigenbaum comenzó a
elaborar un proyecto para resolver problemas de la vida cotidiana o que se centrara, al
menos, en problemas más concretos. Así es como nació el sistema experto.

Ya en los años 80, se desarrollaron lenguajes especiales para utilizar con la lnteligencia
Artificial, tales como el LISP o el PROLOG.

1.5. EL ESTADO DEL ARTE

En septiembre de 1987, 160 científicos en informática, física, biología y otras


disciplinas se reunieron en el Laboratorio Nacional de Los Álamos para la primera
conferencia internacional sobre Vida Artificial.
En aquella conferencia se definieron los principios básicos que han marcado la pauta desde
entonces en la investigación de esta disciplina. Un concepto básico dentro de este campo es
el de comportamiento emergente, se puede generar un sistema complejo a partir de reglas
sencillas. Para que se dé este comportamiento se requiere que el sistema en cuestión sea
reiterativo, es decir, que el mismo proceso se repita de forma continua y además que las
ecuaciones matemáticas que definen el comportamiento de cada paso sean no lineales.
1.1. QUE ES LA INTELIGENCIA ARTIFICIAL.

La inteligencia artificial es la rama de la ciencia informática dedicada al


desarrollo de agentes racionales no vivos, de manera más específica la inteligencia artificial
es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una
arquitectura física producen acciones o resultados que maximizan una medida de
rendimiento determinada, basándose en la secuencia de entradas percibidas y en el
conocimiento almacenado en tal arquitectura. consiste en crear teorías y modelos que
muestren la organización y funcionamiento de la inteligencia.

1.2. FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL

La inteligencia artificial se basa en dos áreas de estudio:


• El cuerpo humano
• El ordenador electrónico.
Puesto que la finalidad es copiar la inteligencia humana, es necesario entenderla. Sin
embargo, a pesar de todos los progresos en Neurología y Psicología, la inteligencia del
hombre se conoce poco, exceptuando sus manifestaciones externas.
Muchos estudiosos de la inteligencia artificial se han vuelto - para
obtener su modelo de inteligencia hacia el estudio de la Psicología cognoscitiva, que aborda
la forma de percibir y pensar de los seres humanos

1.3. HISTORIA DE LA INTELIGENCIA ARTIFICIAL


1.4.
La inteligencia Artificial "nació" en 1943 cuando Warren McCulloch y Walter Pitts
propusieron un modelo de neurona del cerebro humano y animal. Estas neuronas nerviosas
abstractas proporcionaron una representación simbólica de la actividad cerebral.
Se comenzó a considerar el pensamiento humano como una coordinación de tareas simples
relacionadas entre sí mediante símbolos. Se llegaría a la realización de lo que ellos
consideraban como los fundamentos de la solución inteligente de problemas, pero lo difícil
estaba todavía sin empezar, unir entre sí estas actividades simples.
Fue en los años 60 cuando Alan Newell y Herbert Simon, que trabajando la demostración
de teoremas y el ajedrez por ordenador logran crear un programa llamado GPS (General
ProblemSolver: solucionador general de problemas).
Las opiniones de los investigadores respecto a este tipo de máquinas
denominadas hiperaware, así como la concepción del término consciente
y su equiparación con la conciencia humana, siguen siendo un punto de
conflicto dialéctico. Algunos físicos y filósofos defienden y creen en
la conciencia como capacidad exclusiva del comportamiento humano que
no puede ser copiado por las máquinas. La misma creatividad o la
sensación de la libertad son algunas características humanas sobre las
que ni la lógica ni los cálculos reinan.
La exclusividad de la conciencia no es compartida por todo el mundo
científico que entiende que, conforme al desarrollo de la propia
tecnología, las máquinas serán capaces de contar con ella. Según este
argumento, la conciencia supondría el cúmulo de información, así como
la recuperación del conocimiento previo y el procesamiento cognitivo de
todo ello en apreciaciones y acciones.
La biología marca la estructura de la mente humana donde su sistema de
autoorganización sigue siendo difícil de copiar para las máquinas
actuales. Conocer si la conciencia sigue este mismo sistema de
funcionamiento supondría todo un reto futuro para la tecnología. Diseñar
sistemas adaptables que alcancen el nivel de sofisticación con el que
cuenta el cerebro humano es tarea difícil. La ausencia de una teoría
matemática de la computación que resuelva sistemas de este tipo hace
pensar si quizás sea imposible reproducirlo.
Una serie de incógnitas donde solo el futuro y el desarrollo de la
tecnología, de forma consciente o inconsciente, tendrán la última palabra.

Conclusión
El objetivo último de la IA es simular la inteligencia humana en una
máquina creando robots que sean conscientes y con sentimientos reales,
similares a los humanos. Uno de los problemas más difíciles es la
simulación de la conciencia, cualidad humana que hace que nos demos
cuenta de nuestra propia existencia.
Realizar una investigación sobre IA y la Conciencia.

La inteligencia artificial se ha ido instalando en la vida de las


personas y ha ido ganando cada vez más peso. Sustituyen a los
humanos en diversas actividades y pensar sobre las posibilidades que
podría alcanzar casi asusta. Pero, de momento, hay algo que sigue
diferenciando a los hombres de las máquinas: la conciencia.
Procesar grandes cantidades de datos en tiempo real es una tarea
superada para las máquinas, a quienes todavía se les resiste la
capacidad de darse cuenta de sí mismas, así como de su entorno. Una
parte clave en el desarrollo de la conciencia y, sin la cual, no podrán
llegar a sustituir a los seres humanos en todos y cada uno de los trabajos
que ejecutan. Carecer de conciencia hace imposible su implicación en
problemas de tipo legal y éticos que garanticen su comportamiento
dentro de los estándares humano.
LA NEURONA ARTIFICIAL Si se tienen N unidades
(neuronas), podemos ordenarlas arbitrariamente y designar la j- ésima
unidad como. Su trabajo es simple y único, y consiste en recibir las
entradas de las células vecinas y calcular un valor de salida, el cual es
enviado a todas las células restantes. Las unidades ocultas son
aquellas cuyas entradas y salidas se encuentran dentro del sistema;
es decir no tienen contacto con el exterior. Se conoce como nivel o
capa a un conjunto de neuronas cuyas entradas provienen de la
misma fuente, y cuyas salidas se dirigen a un mismo destino. Estado
de Activación Junto al conjunto de unidades, la representación
necesita los estados del sistema en un tiempo t. Esto se especifica en
un vector de N números reales A(t), que representa el estado de
activación del conjunto de unidades de procesamiento. Cada elemento
del vector representa la activación de una unidad en el tiempo t. Dado
que las propiedades macroscópicas de las redes neuronales no son
producto de actuación de elementos individuales, es necesario tener
idea del mecanismo de interacción entre las neuronas .

AUTOEVALUACION:
I. Escriba una V o una F
II. • ( v ) El termino percepción se utiliza para indicar que el agente puede producir
salidas en cualquier instante
III. . • ( v) Las medidas de rendimiento incluyen los criterios que determinan el éxito
en el comportamiento del agente.
IV. • ( f) En el diseño de un agente el primer paso es la especificación del entorno de
trabajo
V. • (v ) La estructura de un agente es Agente=Arquitectura + reglas de condición
modelos a priori ni necesidad de especificar funciones de distribución
de probabilidad.
Una red neuronal no necesita un algoritmo para resolver un problema,
ya que ella puede generar su propia distribución de pesos en los
enlaces mediante el aprendizaje. También existen redes que
continúan aprendiendo a lo largo de su vida, después de completado
su período de entrenamiento.

3.4 ESTRUCTURA DE UNA RED NEURONAL

La mayoría de los científicos coinciden en que una RNA es


muy diferente en términos de estructura de un cerebro animal. Al igual
que el cerebro, una RNA se compone de un conjunto masivamente
paralelo de unidades de proceso muy simples y es en las conexiones
entre estas unidades donde reside la inteligencia de la red. En una
RNA entrenada, el conjunto de los pesos determina el conocimiento de
esa RNA y tiene la propiedad de resolver el problema para el que la
RNA ha sido entrenada. 1. Por otra parte, en una RNA, además de los
pesos y las conexiones, cada neurona tiene asociada una función
matemática denominada función de transferencia. Dicha función
genera la señal de salida de la neurona a partir de las señales de
entrada. La entrada de la función es la suma de todas las señales de
entrada por el peso asociado a la conexión de entrada de la señal. Las
redes neuronales son modelos que intentan reproducir el
comportamiento del cerebro. Los mismos constan de dispositivos
elementales de proceso: las neuronas.

3.5 UNIDADES DE PROCESO:


Las redes de neuronas artificiales (denominadas habitualmente como
RNA o en inglés como: "ANN") son un paradigma de aprendizaje y
procesamiento automático inspirado en la forma en que funciona el
sistema nervioso de los animales.

3.2. FUNDAMENTOS DE LAS REDES NEURONALES

El modelo Biológico Se estima que el cerebro humano contiene más


de cien mil millones de neuronas estudios sobre la anatomía del
cerebro humano concluyen que hay más de 1000 sinapsis a la entrada
y a la salida de cada neurona.
Las neuronas y las conexiones entre ellas (sinapsis) constituyen la
clave para el procesado de la información. Algunos elementos a
destacar de su estructura histológica son: Las dendritas, que son la vía
de entrada de las señales que se combinan en el cuerpo de la
neurona. De alguna manera la neurona elabora una señal de salida a
partir de ellas.
Como ya se sabe, el pensamiento tiene lugar en el cerebro, que
consta de billones de neuronas interconectadas. Así, el secreto de la
"inteligencia"-sin importar como se defina- se sitúa dentro de estas
neuronas interconectadas y de su interacción. La forma que dos
neuronas interactúan no está totalmente conocida, dependiendo
además de cada neurona.

3.3. APRENDIZAJE

La capacidad de aprendizaje adaptativo es una de las características


más atractivas de redes neuronales. Esto es, aprenden a llevar a cabo
ciertas tareas mediante un entrenamiento con ejemplos ilustrativos.
Como las redes neuronales pueden aprender a diferenciar patrones
mediante ejemplos y entrenamientos, no es necesario elaborar
3.1. INTRODUCCION
Las bases teóricas de un AG recaen en el concepto de esquema. Los esquemas son plantillas
los cuales parcialmente especifican una solución. Si los genotipos son cadenas que usan símbolos
de un alfabeto A.

2.4.- APLICACIONES
Diseño automatizado, incluyendo investigación en de los ALGORITMOS GENETICOS
diseño de materiales y diseño multi- objetivo de componentes automovilísticos: mejor
comportamiento ante choques, ahorros de peso, mejora de aerodinámica, etc. Diseño
automatizado de Diseño automatizado de equipamiento industrial.

En Teoría de juegos, resolución de apologías de redes computacionales. Aprendizaje de


comportamiento, Análisis de expresión de genes. Equilibrios Análisis lingüístico, Aprendizaje de
reglas de Lógica difusa. De robots. Incluyendo inducción gramática, y otros aspectos de
Procesamiento de lenguajes Infraestructura de naturales, tales como eliminación de ambigüedad
de sentido. Optimización de estructuras moleculares.
LOGICA DIFUSA SUBTEMAS:

• LOGICA DIFUSA

• INTRODUCCION

• CONCEPTOS BASICOS

• REGLAS IF-THEN

UNIDAD II. ALGORITMOS GENETICOS


Un algoritmo es una serie de pasos organizados que describe el proceso que se
debe seguir, para dar solución a un problema específico. En los años 1970, de la mano de John
Henry Holland, surgió una de las lineas más prometedoras de la inteligencia artificial, la de los
algoritmos genéticos. Son llamados así porque se inspiran en la evolución biológica y su base
genético-molecular.

2.2. DEFINICIÓN Los Algoritmos Genéticos (AGs)


Son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y
optimización. Están basados en el proceso genético de los organismos vivos. A lo largo de las
generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la
selección natural y la supervivencia de los más fuertes, postulados por Darwin.

2.3 TEOREMA DEL ESQUEMA


2. Se relacionan entradas y salidas, sin tener que entender todas las
variables, permitiendo que el sistema pueda ser más confiable y estable
que uno con un sistema de control convencional.
3. Se puede simplificar la asignación de soluciones previas a problemas sin
resolver.
4. Es posible obtener prototipos, rápidamente, ya que no requiere conocer
todas las variables acerca del sistema antes de empezar a trabajar, siendo
su desarrollo más económico que el de sistemas convencionales, porque
son más fáciles de designar.
5. También se simplifica la adquisición y representación del conocimiento y
unas pocas reglas abarcan gran cantidad de complejidades.
Nivel uno - control mediante lógica difusa. Reemplazar un operador
humano por un sistema de difuso basado en reglas. Metro Sendai (Hitachi)
Cemento Kim (F.L. Smidth) Control de elevador (Fujitec, Hitachi, Toshiba) Carro
de Sugeno Robot de Hirota Péndulo invertido de Yamakawua. Reactor nuclear
(Hitachi, Bernard) Transmisión automática (Nissan, Subaru) Control Bulldozer
(Terano) Producción de ethanol (Filev) Nivel dos: Análisis de decisión basado en
lógica difusa Reemplazo de un operador humano por un sistema experto basado
en lógica difusa Medicina ((CADAG, Adlssnig), Arita, OMRON) Seguridad
(Yamaichi, Hitachi) Comprobante de crédito (Zimmermann) Asignación de daños
(Yao, Hadipriono) Diagnostico de fallas (Guangzhou) Planeación de producción
(Turksen) Productos al consumidor.

4.5.1.1 INTRODUCCIÓN AL CONTROL BORROSO

Consiste en llevar la salida del proceso aun valor deseado con las
acciones de control calculadas tomando la decisión en base a una descripción
borrosa del proceso. El control es el mayor campo de aplicación de la lógica
borrosa. Es realmente útil en el caso de problemas de control complejos donde no
existe un modelo preciso del proceso y la información disponible es de carácter
cualitativo.

4.5.1.2 REGLAS DE CONTROL BORROSO

Los sistemas de control borroso permiten describir el conjunto de reglas


que usaría un ser humano y generara partir de ellas las acciones de control. Estos
sistemas poseen la misma imprecisión de los lenguajes naturales (por eso se
llaman también controladores lingüísticos).

4.5.2 VENTAJAS E INCONVENIENTES

1. Con los sistemas basados en la lógica borrosa se pueden evaluar mayor


cantidad de variables, entre otras, variables lingüísticas, no numéricas,
simulando el conocimiento humano.
La lógica borrosa o difusa se basa en lo relativo de lo observado. Este tipo de
lógica toma dos valores aleatorios, pero contextualizados y referidos entre sí.

4.2 CONCEPTOS BASICOS

Fuzzy set es aquel que no está formado por números sino por etiquetas
lingüísticas.
Etiqueta lingüística: Es una palabra o Conjunto de palabras.

4.3 REGLAS FUZZY IF-THEN

La lógica difusa se basa en reglas Heurísticas de la forma SI (IF, antecedente)


ENTONCES (THEN, consecuente), Donde el antecedente y el consecuente son
también conjuntos difusos, ya sea Puros o resultado de operar con ellos. Sirvan
como ejemplos de regla heurística Para esta.
SI — muchísimo calor ENTONCES - THEN disminuyo drásticamente la
temperatura. IF voy a llegar un poco tarde ENTONCES - THEN aumento
levemente la velocidad. Los métodos de inferencia para esta base de reglas deben
ser simples, veloces y eficaces.
Las reglas de las que dispone el motor de inferencia de un sistema difuso pueden
ser formuladas por expertos, o bien aprendidas por el propio sistema, haciendo
uso en este caso de redes neuronales para fortalecer las futuras tomas de
decisiones.

4.4 ESTRUCTURA BASICA DE UN MODELO BASADO EN LOGICA FUZZY.

Un Sistema Basado en Reglas Difusas (SBRD) está formado por: Base de


conocimiento.
• Base de Reglas. Base de Datos. Motor de inferencia. Realiza las operaciones de
inferencia a partir de las reglas. Además en sistemas con entradas y/o salidas
nítidas, se incluye un interfaz de fuzzyficación y un interfaz de defuzzyficación.

4.5 APLICACIONES DE MODELOS BASADOS EN LOGICA FUZZY


UNIDAD IV.

4.1 INTRODUCCIÓN.
agente completo que comprenda todas las acciones que tomen los agentes del
sistema.
La planeación para múltiples agentes puede ser considerada como un
problema distribuido que los agentes tiene que resolver. Cuando se construye este
problema distribuido se tienen que hacer algunas suposiciones de las principales
propiedades de sus elementos [LUBO 2002].

5.2.1.2 REPARTICIÓN DE TAREAS

Se basa en la descomposición y repartición de tareas y la habilidad de los agentes


para trabajar en paralelo.

5.2.1.3 COMPARTIR RESULTADOS

Los agentes con capacidades, conocimiento y representaciones del


entorno diferentes pueden llegar a diferentes resultados al ejecutar una misma
tarea, de esta manera se busca que estos resultados se compartan de forma que
los agentes cooperen para encontrar la solución global del problema. Al basarse
en las diferentes soluciones de los agentes, se pueden obtener los siguientes
beneficios: Mayor confianza, debido a que si muchos agentes producen la misma
solución para un problema determinado, incrementa la probabilidad de que el
resultado sea correcto.

5.3.2 PLANEACIÓN DISTRIBUIDA PARA PLANES CENTRALIZADOS

La planificación distribuida puede existir incluso cuando el plan resultante es


ejecutado por un solo agente, la distribución se hace necesaria cuando no hay la
suficiente capacidad o conocimiento del agente para hacer el plan y por lo tanto
debe buscar cooperación con otros agentes especialistas en planeación.

5.3.3 PLANEACIÓN DISTRIBUIDA PARA PLANES DISTRIBUIDOS

Es la forma más compleja de planeación distribuida, en este método tanto la


planeación como la ejecución de los planes son distribuidos. En los sistemas MA
este es el caso más general de planeación, como cada agente está generando su
plan, puede suceder que los agentes no sean consientes de la conducta de los
otros agentes, debido a esto es imposible e innecesario probar un plan multi-
La estructura interna de un agente cognitivo se puede clasificar de
manera general así: su funcionalidad Es el conjunto de funciones o tareas que el
agente sabe hacer y que los demás agentes pueden conocer que él hace. Dentro
de estas funciones pueden estar las funciones de comunicación con otros
agentes, de selección de agentes para una tarea específica, de obtener
información del sistema, de información del estado interno del agente, etc.
Creencias.
Son el conocimiento subjetivo o conjunto de opiniones que el agente
tiene de él mismo y de los demás agentes. Puede comenzar como una opinión o
conocimiento inicial y cambiar con las acciones y desempeño de cada uno de los
agentes, incluido él mismo, cuando el sistema esté en funcionamiento.
El conocimiento le permite al agente entender el mundo, lo que los demás agentes
tratan de decirle y sus razonamientos internos y explicar sus ideas y decisiones a
los demás agentes. Hay tres clases de conocimiento importantes a tener:
Conocimiento Inicial: Es el conocimiento propio o básico del agente, cuenta:
Know-That: Es el, una vez éste existe, y no puede cambiar con el tiempo.

5.2 SISTEMAS MULTI AGENTE:


Los Sistemas Multi-Agente se preocupan por coordinar la conducta
inteligente de agentes autónomos. Estos agentes hacen parte de una colección y
pueden coordinar su conocimiento, objetivos, habilidades y planes juntamente
para tomar una acción o resolver una meta global, al igual que los DPS estos
pueden tener conocimiento parcial sobre el problema y las soluciones.

5.2.1 PLANEACIÓN

El proceso de generación de un plan es Ilamado planeación, como ya se vio los


planes en la IA son vistos como una secuencia de acciones de un agente, de tal
manera que es capaz de cambiar su entorno y lograr uno o más objetivos.

5.2.1.1 PLANEACIÓN PARA MÚLTIPLES AGENTES


5.1.1 CONCEPTOS BASICOS
Un agente es todo aquello que puede considerarse que percibe su
ambiente mediante sensores y que responde o actúa en tal ambiente por medio de
electores.
Los agentes humanos tienen ojos, oídos y otros órganos que le sirven de
sensores, así como manos, piernas, boca y otras partes de su cuerpo que le
sirven de electores.
Agente racional: Es aquel que hace lo correcto, lo correcto se afirmará que es que
el agente tenga el mejor desempeño. Los sistemas reactivos por lo general están
compuestos por un gran número de agentes reactivos que realizan acciones entre
todos, para esto es necesario tener en cuenta nuevas teorías de cooperación y
comunicación que permitan el desempeño de estas acciones Un Agente Cognitivo
es aquel que es capaz de efectuar operaciones complejas, es individualmente
inteligente (es un sistema más o menos experto, con capacidad de razonamiento
sobre su base de conocimiento), puede comunicarse con los demás agentes y
Ilegar a un acuerdo con todos o algunos de ellos, sobre alguna decisión.
Un agente cognitivo es guiado con las siguientes características:
Por sus metas, las cuales describen las situaciones que son deseables para el
agente.
Racionalidad: Un agente cognitivo posee a que lleven a un agente a obtener su
meta.
Compromiso: Un agente cognitivo cooperativo planifica sus acciones.
por coordinación y negociación con los otros agentes.
Un agente cognitivo es capaz de controlar sus, aptitudes y comportamiento de
acuerdo al rol que asuma en un sistema. Inteligente: Un agente cognitivo es
inteligente si es racional, intencional y adaptable.

5.1.2 ARQUITECTURA DE UN AGENTE COGNITIVO:


Los problemas de tecnología y procesos en todo el panorama operativo
pueden afectar negativamente el rendimiento de los sistemas de IA. Por
ejemplo, una importante institución financiera tuvo problemas después de
que su software de cumplimiento no detectara los problemas
comerciales porque las fuentes de datos ya no incluían todas las
operaciones de los clientes.
Los modelos de IA en sí mismos pueden crear problemas cuando entregan
resultados sesgados (lo que puede suceder, por ejemplo, si una población
está subrepresentada en los datos utilizados para entrenar el modelo), se
vuelven inestables o arrojan conclusiones para las cuales no hay recurso
procesable para los afectados. por sus decisiones (como alguien que le
niega un préstamo sin saber qué podría hacer para revertir la decisión).
La interfaz entre personas y máquinas es otra área de riesgo clave. Entre
los más visibles se encuentran los desafíos en los sistemas automatizados
de transporte, fabricación e infraestructura. Los accidentes y las
lesiones son posibles si los operadores de equipos pesados, vehículos u
otra maquinaria no reconocen cuándo se deben anular los sistemas o
tardan en anularlos porque la atención del operador está en otra parte, una
posibilidad clara en aplicaciones como los automóviles autónomos.

UNIDAD V. AGENTES INTELIGENTES


Sin embargo, aunque la IA genera beneficios para el consumidor y valor
comercial, también está dando lugar a una serie de consecuencias no
deseadas y, en ocasiones, graves. Y aunque nos enfocamos en la
inteligencia artificial en este artículo, estos riesgos y efectos colaterales (y
las formas de prevenirlos o mitigarlos) se aplican por igual a todos los
análisis avanzados. Los más visibles, que incluyen violaciones de la
privacidad, discriminación, accidentes y manipulación de los sistemas
políticos, son más que suficientes para incitar a la cautela.
Sin embargo, aunque la IA genera beneficios para el consumidor y valor
comercial, también está dando lugar a una serie de consecuencias no
deseadas y, en ocasiones, graves. Y aunque nos enfocamos en la
inteligencia artificial en este artículo, estos riesgos y efectos colaterales (y
las formas de prevenirlos o mitigarlos) se aplican por igual a todos los
análisis avanzados. Los más visibles, que incluyen violaciones de la
privacidad, discriminación, accidentes y manipulación de los sistemas
políticos, son más que suficientes para incitar a la cautela.
Los líderes que esperan evitar, o al menos mitigar, las consecuencias no
deseadas necesitan desarrollar sus habilidades de reconocimiento de
patrones con respecto a los riesgos de la inteligencia artificial e involucrar a
toda la organización para que esté lista para asumir el poder y la
responsabilidad asociados con la IA. El nivel de esfuerzo requerido
para identificar y controlar todos los riesgos clave de esta inteligencia
artificial supera drásticamente las normas vigentes en la mayoría de las
organizaciones.
Cuando algo sale mal con la inteligencia artificial o hay riesgos presentes, y
la causa raíz del problema sale a la luz, a menudo hay una gran cantidad de
sacudidas de cabeza. En retrospectiva, parece inimaginable que nadie lo
viera venir. Pero si realiza una encuesta de ejecutivos bien ubicados sobre
el próximo riesgo de IA que probablemente aparecerá, es poco probable
que obtenga algún tipo de consenso.
Ingerir, clasificar, vincular y usar correctamente los datos se ha vuelto cada
vez más difícil a medida que aumenta la cantidad de datos no
estructurados que se ingiere de fuentes como la web, las redes sociales, los
dispositivos móviles, los sensores y el Internet de las cosas. Como
resultado, es fácil caer en trampas tales como el uso o la revelación
inadvertida de información confidencial escondida entre datos anónimos.
Riesgos de la inteligencia
artificial
La inteligencia artificial (IA) está demostrando ser un arma de doble filo. Si
bien esto se puede decir de la mayoría de las nuevas tecnologías, en el
caso de la inteligencia de la inteligencia artificial es más importante y debes
conocer todos los riesgos.
Estas tecnologías están comenzando a mejorar nuestras vidas de
innumerables maneras, desde simplificar nuestras compras hasta mejorar
nuestras experiencias de atención médica. Su valor para las empresas
también se ha vuelto innegable: casi el 80% de los ejecutivos de las
empresas que están implementando IA dijeron recientemente que ya están
viendo un valor moderado de ella.
Es un modelo de red en el que cada proceso o computadora
en una red es un servidor o un cliente. Los servidores
cliente son las computadoras robustas que se dedican a
administrar las impresoras, las unidades de disco y el tráfico
de la red.

Arquitecturas de objetos distribuidos:

Es una arquitectura de sistema muy abierta que permite


añadir nuevos recursos si es necesario. si es necesario, es
posible re-configurar el sistema de forma dinámica mediante
la migración de objetos a través de la red. Son mas complejas
de diseñar que los sistemas cliente-servidor.

Computación distribuida interorganizacional

Proporciona mejores condiciones para aplicar


estándares locales y procesos operacionales.
Esta ha sido implementada principalmente a nivel
organizacional. Una organización tiene varios servidores y
distribuye la carga entre ellos. Actualmente están disponibles
modelos más recientes de computación distribuida que
permiten computación distribuida interorganizacional en lugar
de interorganizacional.
Arquitecturas multiprocesador:
Es aquel que permite ejecutar varios procesos de forma
concurrente, la razón es porque actualmente la mayoría de
las CPU’s sólo pueden ejecutar un proceso cada vez. La
única forma de que se ejecuten de forma simultánea varios
procesos es tener varias CPU’s (ya sea en una máquina o en
varias, en un sistema distribuido.

Arquitecturas cliente-servidor:
salidas de la interfaz de usuario, y la capa de recuperación de
información incluye lógica específica de la aplicación para
acceder y actualizar la base de datos.
utilizando estas entradas; y un componente de salida genera
salidas para ser escritas en la base de datos
e impresas.

Sistemas de procesamiento de transacciones

Se diseñan para procesar peticiones de usuario a fin de


obtener información de una base de datos o peticiones para
actualizar la base de datos es una secuencia de operaciones
tratada como una única unidad (una unidad atómica).
Un ejemplo de una transacción es una petición de un
cliente para efectuar un reintegro de una cuenta bancaria
utilizando un ATM. Esto implica obtener detalles de la cuenta
del cliente, comprobar el saldo, modificar el saldo por la
cantidad reintegrada y enviar comandos al ATM para
proporcionar el dinero en efectivo.

Sistemas de información
Permite el acceso controlado a una gran base de
información, como un catálogo de biblioteca, un horario de
vuelos o los registros de pacientes en un hospital. El
desarrollo de la WWW significa que un enorme número de
sistemas de información pasaron de ser sistemas
organizacionales especializados a ser sistemas de propósito
general universalmente accesibles.
En donde la capa superior soporta la interfaz de usuario
y la capa inferior la base de datos del sistema. La capa de
comunicaciones con el usuario maneja todas las entradas y
QUE

Sistemas de procesamiento de datos

Son sistemas de procesamiento por lotes en los que los


datos son introducidos y extraídos por lotes a partir de un
fichero o base de datos en lugar de ser introducidos y
extraídos por un terminal de usuario.
Estos sistemas seleccionan datos para el registro de
entradas y, dependiendo del valor de los campos en los
registros, realizan algunas acciones especificadas en el
programa. tienen tres componentes principales Un
componente de entrada reúne entradas desde una o más
fuentes. Un componente de procesamiento realiza cálculos
circuitos de prácticamente todas las piezas de hardware y
periféricos que podemos encontrar en el mercado. Estos componentes
eléctricos son los elementos fundamentales de los circuitos eléctricos, y
se pueden encontrar en grandes cantidades en placas base, placas
lógicas de disco duro, tarjetas gráficas y casi en cualquier lugar del PC.
Ejemplo 1:
Es una fuente de electricidad de corriente continua de un
voltaje específico, que se utiliza principalmente en circuitos
pequeños que no necesitan de una gran cantidad y potencia
de corriente. Todas las placas base levan una batería, la cual se encarga
de mantener en funcionamiento el reloj de sistema y la memoria de la
BIOS incluso cuando apagas el equipo. Esta batería puede durar 10
años o incluso más sin cambiarla.
Ejemplo 2:
Una resistencia es un elemento que aumenta la resistencia
de un circuito al paso de la electricidad. Su objetivo
principal de esto es reducir el flujo de electricidad en un
circuito con diversos fines que varían en cada tipo de circuito. Las
resistencias vienen en diferentes formas y tamaños para adaptarse a
todas las necesidades de uso, todas ellas calor como resultado de su
electricidad opuesta y, por lo tanto, se clasifican tanto en términos de
resistencia (cuánto se oponen al flujo de electrones) y su capacidad de
potencia (cuánta energía pueden disipar antes de dañarse).
¿QUE ES LA ELECTRONICA?

Es el estudio y la aplicación de los comportamientos de los electrones


en diversos escenarios. Estos pueden ser el vacío, los gases y los
semiconductores sometidos a la acción de campos eléctricos y
magnéticos.
También, se define la electrónica como una rama de la física con
rasgos técnicos y científicos. Esta estudia los sistemas físicos basados en
la conducción y el control del flujo de los electrones.

La electrónica sirve principalmente para confeccionar y diseñar todo


tipo de aparatos electrónicos como computadoras, celulares, relojes
digitales, televisores, circuitos electrónicos, entre muchos otros. Todos
estos parten de la electrónica básica, por lo que sin esta disciplina no
podría existir nada que necesite de una corriente eléctrica para su
funcionamiento.

APLICACIÓN EN LA CARRERA DE SISTEMAS

Circuito electrónico

El circuito electrónico es una placa compuesta por diversos elementos


semiconductores tanto pasivos como activos por los que fluye la
corriente eléctrica. La función de un circuito electrónico es generar,
transmitir, recibir y almacenar información; sin embargo, y de acuerdo
a su función, estos propósitos pueden cambiar.

Dentro de cualquiera de nuestros PCs existe una gran variedad


de componentes electrónicos básicos, los cuales se encuentran en los
es una excelente forma de aumentar cualquier habilidad, y la
inteligencia artificial no es distinta en este aspecto. Luego de completar
uno o más proyectos pequeños, no hay límites para la inteligencia
artificial.

Machine Learning
Machine Learning o Aprendizaje Automático a veces es
considerada como una rama de la Inteligencia Artificial. En realidad
podía considerarse un campo por sí solo, que usa algoritmos de Data
Mining (Minería de Datos), con la diferencia de que la máquina tiene
que aprender a hacer las cosas. Normalmente es la rama central en la
mayor parte de las aplicaciones de Inteligencia Artificial, pero no la
única. Se suele además combinar con otras tecnologías. Por ejemplo,
para entender el lenguaje escrito, lo que una persona quiere decir, es
necesario aplicar conocimientos de morfología, de sintaxis, de
sinonimia, de estadística, etc.

Deep Learning
Deep Learning, o Aprendizaje Profundo, también es considerada una
rama, pero del Machine Learning. Es una de las más novedosas aunque
sus orígenes son de la década de los noventa con la aparición de redes
neuronales.

Big Data
Big Data se refiere a nuevas tecnologías capaces de procesar
millones de datos. Es un concepto que ha cobrado fuerza desde el 2010 y
coincide con una explosión de datos digitales. El análisis de esos datos
puede ser meramente estadístico y no conlleva necesariamente el uso de
aplicaciones de inteligencia artificial.
 Los chatbots utilizan la IA para comprender más rápido los
problemas de los clientes y proporcionar respuestas más
eficientes.
 Los asistentes inteligentes utilizan la IA para analizar
información crítica proveniente de grandes conjuntos de datos
de texto libre para mejorar la programación.
También trata sobre el proceso y la capacidad de pensamiento
superpoderado y el análisis de datos que sobre cualquier formato o
función en particular. Aunque la IA muestra imágenes de robots de
aspecto humano de alto funcionamiento que se apoderan del mundo,
la IA no pretende reemplazar a los humanos. Su objetivo es mejorar
significativamente las capacidades y contribuciones humanas. Eso la
convierte en un activo empresarial muy valioso. Para obtener el valor
completo de la IA, muchas empresas están haciendo inversiones
significativas en equipos de ciencia de datos. La ciencia de datos, un
campo interdisciplinar que usa métodos científicos y de otro tipo para
extraer valor de los datos, combina habilidades de campos como la
estadística y la informática con el conocimiento empresarial para
analizar datos recopilados de múltiples fuentes.

Inteligencia artificial y desarrolladores

Los desarrolladores emplean inteligencia artificial para realizar


tareas de una forma más eficiente que, de otro modo, se realizarían
manualmente: comunicaciones con clientes, identificación de patrones y
resolución de problemas. Para comenzar con la inteligencia artificial,
los desarrolladores deben contar con una formación en matemática y
sentirse a gusto trabajando con algoritmos.

Al comenzar a utilizar inteligencia artificial para desarrollar


aplicaciones, lo mejor es comenzar de a poco. Al diseñar un proyecto
relativamente simple, como un juego “Tres en línea”, aprenderá los
conceptos básicos de la inteligencia artificial. Aprender con la práctica
operaciones lógicas. Esta representación ayuda al circuito a cambiar de
un estado a otro para proporcionar una salida precisa.
Sistema digital es cualquier sistema que pueda generar, procesar,
transmitir o almacenar señales mediante dígitos y que solo admite
valores discretos, es decir, que solo admite un conjunto limitado de
números o valores.

2.- HACER UN MAPA MENTAL CON LA HISTORIA DE


LA ELECTRONICA DIGITAL Y LA HISTORIA DE LA
ELECTRONICA ANALOGICA.

¿Qué es la inteligencia artificial (Artificial Intelligence, AI)?


En términos simples, inteligencia artificial (IA) se refiere a
sistemas o máquinas que imitan la inteligencia humana para realizar
tareas y pueden mejorar iterativamente a partir de la información que
recopilan. La IA se manifiesta de varias formas. Algunos ejemplos son:
1.- REALIZAR UN ENSAYO DE LA UNIDAD 1.

Un circuito digital o circuito lógico es una rama de la electrónica que


se ocupa de las señales digitales para realizar diversas tareas y cumplir
con los diversos requisitos. La señal de entrada aplicada a estos
circuitos es de forma digital, que se representa en formato de lenguaje
binario de 0 y 1. Están diseñados mediante el uso de compuertas lógicas
como las compuertas AND, OR, NOT, NANAD, NOR, XOR que realizan

También podría gustarte