Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTELIGENCIA ARTIFICIA-ASPECTOS
BASICOS
INGENIERÍA CIVIL
CREACION Y PRORAMACION DE LA INTELIGENCIA ARTIFICIAL-ASPECTOS
BASICOS
INTRODUCCION
Muchas veces, al ver el mundo que nos rodea, tenemos dudas de que realmente el humano es
inteligente o al menos en su mayoría. Sin embargo lo somos, y desde siempre hemos soñado con
facultad de razonamiento que ostenta un agente que no está vivo, o mejor dicho; un robot. Cabe
destacar que además de poder razonar, estos son capaces de desarrollar muchas conductas o
actividades especialmente humanas, como por ejemplo el resolver problemas dados, practicar
INTRODUCCION ..................................................................................................................... 3
CAPITULO 1: ............................................................................................................................ 7
CAPITULO 2: .......................................................................................................................... 10
CAPITULO 3: .......................................................................................................................... 26
CAPITULO 4: .......................................................................................................................... 44
RAZONAMIENTO.................................................................................................................. 44
CAPITULO 5: .......................................................................................................................... 57
APRENDIZAJE ....................................................................................................................... 57
ANEXOS: ................................................................................................................................ 65
Bibliografía .............................................................................................................................. 69
CAPITULO 1:
La inteligencia artificial (AI) puede ser considerada como una ciencia que se enfoca en la
Es a través de la IA que se desarrollaron los sistemas expertos que pueden limitar la capacidad
mental del hombre, para luego poder hacer juicios acerca de un problema cuya solución se logra
con mayores juicios y más rápido que el ser humano, lo que le permite a algunas empresas
Hoy en día la IA está relacionada con todo, desde la actualización de procesos robóticos hasta
la robótica actual.
Desde la antigüedad existían teorías sobre este fantástico proceso, pero no se conocían como
tal; desde los años 300 A.C hasta la actualidad, a medida en que fue avanzando el tiempo estas
presentaras las fechas más importantes que fueron necesarias para la evolución de esta creación:
Se inició en las años 300 A.C con el “SILOGISMO” que fue una manera estructurada de un
conjunto de reglas, donde se describe una parte del funcionamiento de la mente humana y que al
En los años 205 A.C se creó la “PRIMERA MAQUINA AUTOCONTROLADA” que fue
construida por Ctesibio de Alejandria, esta máquina consistía en un regulador del flujo de agua
4
Hasta los años 1315 D.C nació el “RAZONAMIENTO ARTIFICAL” el cual fue dado por
Ramon Llull, quien fue el precursor del razonamiento automático, ya entendido como un
En 1847 D.C se dio la “LOGICA PROPOSIONAL” por George Boole, fue éste quien dio una
nueva dirección a través de la lógica simplificándola a una algebra simple que consistía en un
método para resolver de lógica que ocurre solamente a los binarios 1 y 0. Agudizo la analogía
entre los símbolos algebraicos y aquellos que representan una forma lógica.
En 1879 nace la “LOGICA MATEMATICA AMODERNA”, fue dada por Gottlob Frege,
quien sentó las bases de una nueva era de disciplina que parecía inalterada desde los tiempo de
En 1883 se crea las “TORRES DE HANNOI” que eran capaces de ganar con el mínimo
electromagnéticas para mover las partes mecánicas, le tomaba entre 3 a 5 segundos de cálculo y
era inflexible (la secuencia no se podía cambiar), pero ejecutaba operaciones básicas hasta
que era completamente automática, contenía características usadas para definir a un computador
McCulloch y Walter Pitts estas pretendían imitar una pequeñísima parte del funcionamiento del
5
cerebro del ser humano con la mayor exactitud posible, por lo cual este se considera el primer
trabajo del campo de inteligencia artificial, aun cuando no se conocía ese término.
En 1950 se realiza la #PRUEBA DE TURING”, esta consistía en una prueba concreta para
determinar si una maquina era inteligente o no; esta prueba fue dada por Turing y gracias a ello
Durante todo este tiempo, en el año 1956 por primera vez se la el termino de
En 1958 se desarrolla el alto lenguaje “LISP” que fue considerado el segundo lenguaje de
fundamentales de los sistemas inteligentes en general, sin entrar en mayores detalles con respecto
En 1963 se creó el primer programa para ajedrez y enfrentar retadores, esto fue creado con la
apilaba bloques según. también se desarrollaron los brazos Boston, este ultimo dotado de una
En el año 1969 se creo el “PRIMER ROBOT BIPEDO” que fue diseñado por Ichiro Kato, sus
músculos eran bolsas de aires conectadas al marco, el [4] WAP-3 fue diseñado después y podía
6
caminar en superficies planas así como subir y bajar escaleras y rampas también podía voltear
cuando caminaba-
Desde 1970 hasta 1980 se crean los “SISTEMAS EXPERTOS# llamados así porque emulan
En 1981 llega la quita generación de computadores, que fue desarrollado por un proyecto en
Japón, con el objetivo de que las computadoras utilizaran técnicas y tecnología de la inteligencia
quien ganó el premio Loebner al Chatbot más humano en 2000, 2001 y 2004, y en 2007 el
programa U.
autónomo, desarrollado por Aldebaran Robotics, una compañía de robótica francesa con sede en
El avance tecnológico nos puede llevar a una nueva era de conocimiento si es que aún no lo
estamos, pero así como existen grandes ventajas para la humanidad y el mundo; también existen
riesgos, peligros o desventajas que pueden significar un gran problema para nosotros, e incluso
7
causar el fin de la humanidad, donde los robots tengan el poder y los seres vivos vivan en un
En el ámbito laboral, estos pueden lograr reducir los costos y salarios adicionales, a lo que
Estos podrían desarrollar actividades que el ser humano jamás hubiera podido hacer
Puede llegar a predecir que pudiera ocurrir después, y reducir el tiempo al realizar ciertas
actividades.
Programar a tu robot personal adquiriendo la destreza suficiente para que realice tus trabajos
Enviar robot a lugares fuera del plantea, sin preocuparnos por la temperatura o por la
respiración fuera de este planeta, con este gran avance tendíamos ojos y oídos fuera de este
mundo.
Así como podemos observar lo que hay fuera de este mundo, también podríamos investigar
más sobre nuestro planeta, llegar a lugares inimaginables como al fondo de los océanos, el
Ahora, analizaremos las desventajas que este nos puede traer a nuestras vidas:
Estaríamos regalando nuestra memoria a un segundo plano, ya que hasta hoy en día, muchas
de las personas se reúnen y al tratar de un tema, uno puede olvidarse y entre todos tratar de
recordar, dando una diversión adicional; sin embargo con esto tendríamos la respuesta
fácilmente.
8
No habría la necesidad de estudiar, ya que con esta máquina no nos haría falta estudiar,
Su uso irracional o exagerado nos puede llevar a la dominación de las maquinas sobre el
Ahora, y si las maquias aprenden demasiado, su gran inteligencia para desarrollar problemas
muy complejos e incluso predecir ciertos acontecimientos les puede llevar a una conclusión no
muy favorable para nosotros, como nos advierten muchas de las películas conocidas, por ellos no
se debe dejar de tomar en cuenta la creación de programas para para la lucha contra las IA.
9
CAPITULO 2:
IA Y LA RESOLUCION DE PROBLEMAS
10
2.1.RESOLVER PROBLEMAS
experto humano a encontrar la solución a un determinado problema de una forma rápida, más
exacta y fiable.
como un proceso de espacios de estados en los que puede encontrarse el problema, una de las
juegos de azar, puesto que su ligación con las matemáticas y su naturaleza más relacionada con
Mediante este contexto veremos cómo se plantea formalmente tipos de problemas, sus
principales técnicas de resolución por “fuerza bruta” que quiere decir, peinando el espacio de
estados hasta dar con la respuesta y como incorporar técnicas heurísticas para reducir el tiempo
de búsqueda que estos emplean. Finalmente se hará una pequeña incursión a la resolución de
estados:
Estados: <Q,R,C>
Dónde:
C= La estrategia de control.
11
Ahora para poder entender mejor lo mencionado, pongamos un ejemplo: se desea buscar la
R= Las posiciones donde tengo permitido ir desde aquí, estas posiciones vendrían determinadas
por la aplicación de las reglas de cambio de estados del problema; no se puede atravesar paredes,
C= De entre todas las posiciones adyacentes a las que puedo ir, como elijo a cual iré finalmente.
Por ejemplo, en el caso del laberinto una estrategia muy conocida o tradicional es, avanzar
El estado inicial seria el punto de partida (entrada del laberinto) y el estado final la llegada
través de un espacio de estados, donde cada espacio representa un movimiento legal dentro del
métodos de la IA, su estructura corresponde con aquellas para resolver problemas por dos
razones importantes:
conocidas, representadas por una regla que define el movimiento en el espacio de búsqueda. Es
12
El problema puede resolverse con el uso de las reglas en combinación con una estrategia
apropiada de control para trasladarse a través del espacio problema hasta encontrar una ruta
desde un estado inicial hasta un estado objetivo. De esta forma el proceso de búsqueda es
usarse cuando no se conoce otro método más directo. Si la estructura del laberinto se conoce,
Pasos:
en otro).
Objetivo:
Encontrar una secuencia de reglas (soluciones) que aplicada a una a una descripción de un
problema (estado inicial) lo transformen en otra (estado meta) mediante un proceso de búsqueda
en un espacio de estados.
Espacios de estados:
Conjunto de espacios del problema alcanzables a partir del estado inicial aplicando las reglas
de transición.
Estado inicial:
13
Fase inicial del problema.
Descripción del estado que se tratara de alcázar desde un estado contrato, al ejecutar la acción.
forma en que representen las generalización y que esto sea comprendido por las personas que lo
proporcionan, que pueda manejarse fácilmente para corregir errores y reflejar los cambios en el
mundo, que pueda usarse en gran cantidad de situaciones aun cuando no sea totalmente preciso o
completo y que pueda usarse para ayudar y superar su propio volumen, acortando el rango de
Aunque estas técnicas deben desarrollarse de acuerdo a las restricciones impuestas por las IA,
existen ciertos grados de independencia entre los problemas y las técnicas para su solución. Los
problemas de manera más rápida y directa, el uso del conocimiento resuelve los problemas
14
una forma de separar aspectos y variaciones importantes de aquellos otros sin importancia y que
Para solucionar problemas complejos, los programas que utilizan técnicas de IA representan
numerosas ventajas contra los que no lo hacen. Los primeros son los m as robustos, los que no se
comprendido fácilmente por la gente. Estos programas pueden trabajar con facilidad en grandes
Los esfuerzos dedicados a construir programas que lleven a cabo las tareas del hombre se
dividen en dos clases: Los programas de la primera clase se encargan de aquellos problemas en
Al construir uno modelo, hay que tener claro que lo que queremos construir es una solución al
mismo, y no una solución al problema real. Por lo tanto, mientras más mejor se describa un
ser traducido a estructuras de datos y operaciones que el ordenador será capaz de manejar; y
15
como ya lo hemos hecho anteriormente, vamos a utilizar algunos ejemplos para sacar
conclusiones útiles.
Este problema a tratar es bien conocido en la IA y también puede ser llamado por sus siglas
Tenemos “N” ciudades; todas conectadas por carreteras entre sí, y cuyas distancias entre ellas
es conocida. El objetivo es encontrar una ruta que, empezando por una ciudad acabemos en la
misma, pero pasando una vez por cada ciudad (excepto en la primera que será visitada 2 veces)
Tras este simple enunciado, se esconde un amplio problema que muy difícil. Tanto así que
incluso los ordenadores más potentes que existen hoy, son incapaces de resolverlo. Incluso
cuando el nuero de ciudades es moderado. Aun así podemos conseguir aproximaciones muy
buenas usando técnicas de la IA, algunas de las cuales las estudiaremos más adelante.
empecemos con el mapa en sí. Por ejemplo, podemos optar por representar las ciudades en
forma ponderado, En este caso cada nodo del grafo representara un ciudad, y cada arista
representara una carretera con su distancia (peso) asociada. Debe tenerse en cuenta que para el
caso del TSP, la distancia a cubrir desde la ciudad A hasta la ciudad B no tiene que ser la misma
que las distancias entre ciudades con independencia del sentido en que vayamos. Se puede
representar de los dos siguientes formas: como dibujo (FIGURA N°1) o como tabla (TABLA
N°1).
A B C D E
16
A 0 25 52 25 23
B 25 0 13 15 45
C 52 13 0 15 27
D 25 15 15 0 32
E 23 45 27 32 0
Se debe elegir la representación más simple e intuitiva que sea posible, a no ser que sea más
conveniente utilizar otra estructura de datos más compleja, en nuestro caso, parece que la tabla es
más interesante, ya que puede ser moldeada con un array de dos dimensiones. Si la información
fuera cambiante durante el tiempo de ejecución, entonces sí sería interesante usar el grafo como
Una vez moldeada la información del problema, necesitamos una forma de representar la
solución, es decir, nuestro objetivo. Una forma simple y directa de representarlo es hacer una
17
En la lista aparecen todas las ciudades.
Cualquier lista de ciudades que cuenten con las 3 con las premisas anteriores es posible una
solución, sin embargo estas no son siempre iguales. De hecho buscamos la ruta con menor
distancia. Para ello necesitamos una función que nos muestre la calidad de una solución para
poder compararla con las demás. Para el TSP usaremos la suma de las distancias de cada una de
Comparamos uno con otra nos quedamos con la que arroje un valor menor de la función de
evaluación.
Analicemos con detalle el primer caso: ¿Cómo generamos todas las posibles soluciones?
Una forma de generar las posibles soluciones a partir de listas de ciudades cualquiera e ir
permutándolas entre ellas. Cada permutación será una posible solución al problema.
18
A-D-E-B-C-A (Función de evaluación: 207)
Y así sucesivamente hasta obtener todas las combinaciones posibles ¿Pero cuantas hay? Si
de estados. En nuestro ejemplo con 5 ciudades tenemos 120 posibles soluciones o estados. Un
Para tener una idea más clara, si cada permutación lo ocupara 1 micro segundo al ordenador,
con 20 ciudades necesitaríamos 77.147 años para generar todo el espacio del estado. Podemos
observar como es el crecimiento del espacio de estados según el nuero de ciudades. (Figura N°2)
19
A este tipo de problemas se les llama intratable y decimos que pertenecen a la clase NP, que
son una clase de problemas cuya complejidad hacen que no sean resoluciones en un tiempo
Por lo tanto, queda claro que por los métodos computacionales clásicos no es posible resolver
este tipo de problemas. Precisamente la IA trata de cómo abordar este tipo de problemas a través
de diferentes técnicas que serán tratadas más adelante. Quizás no se logre crear programas que
aseguren un mejor resultado posible; pero, si podremos ofrecer una solución cuasi-optima en un
tiempo razonable.
función en la que intervienen variables enteras y, además, hay unas restricciones impuestas. Por
Donde 𝑥1 y 𝑥2 son dos variables enteras, y sean también las siguientes restricciones:
7𝑥1 + 4𝑥2 ≤ 13
𝑥1 ≥ 0
𝑥2 ≥ 0
Es decir, si buscamos una asignación de valores enteros para las dos variables que, maximice
(o minimice) el valor de la función f y que a su vez cumplan las restricciones impuestas de ser
mayores o iguales que cero y que la suma de 7𝑥1 𝑦 4𝑥2 sea mayor que 13.
La PLE es un caso particular de la programación (PL) en donde se exige que todas o algunas
variables sean enteras. En el caso de la PL las variables son reales. Pese a lo que pueda parecer a
20
primera vista la PLE es un problema más complejo. Para tener una idea de este tipo de
Una empresa fabrica 2 tipos de prendas de vestir: camisetas y pantalones. El tiempo necesario
tardan 2 horas y son necesarias 3 metros de tela. También sabemos que la tela disponible para
una semana son 160 metros y con los empleados que hay contratados se puede invertir 150
horas/semana de trabajo. El dueño de la empresa nos ha pedido que a partir de producción y del
precio de venta de las prendas estimemos cuantas camisetas y cuantos pantalones tiene que
Pantalón Camiseta
Coste de producción 6 4
Precio de venta 12 8
Comencemos buscando un modelo que represente el problema. Para ello vamos a utilizar dos
buscamos es el máximo beneficio con los recursos que disponemos, así que lo definiéremos de la
siguiente forma:
Como el beneficio total será la suma de los beneficios de ambas prendas, llegamos a la
siguiente ecuación que representa la función de beneficio para nuestro caso concreto.
21
Por otro lado, vamos a imponer una serie de restricciones. La primera y más obvia es que
ambas variables han de ser mayores o iguales a 0. No podemos fabricar un numero negativo de
prendas.
𝑥1 ≥ 0
𝑥2 ≥ 0
También sabemos que disponemos de una capacidad de trabajo semanal de 150 horas. Como
restricción al problema:
Lo mismo sucede con la cantidad de metros de tela disponibles semanalmente, que son 160
metros. Como un pantalón necesita 4 metros de tela y una camiseta 3 imponemos la restricción.
Restricciones:
𝑥1 ≥ 0
𝑥2 ≥ 0
Nuestro objetivo es encontrar una asignación de valores enteros para las variables 𝑥1 y 𝑥2 que,
cumpliendo con las restricciones impuestas, hagan que la función f tome el máximo valor
posible.
22
Se puede probar fácilmente que la variable 𝑥1 , está acotada entre 0 y 50, mientras que 𝑥2 , lo
está entre 0 y 75. Por lo tanto, nuestro espacio de estados constara de 50 x 75 = 3.750
Sin embargo, en este problema solo entran en juego dos variables y su rango de valores posibles
es muy limitado. Puede demostrase que para mayor número de variables y rango de valores el
problema es intratable.
función que queremos maximizar para comparar las diferentes asignaciones de variables. A
mayor valor de la función de evaluación, mejor será la calidad de los valores de las variables.
función o alguna de las restricciones es una función no lineal y las variables toman valores
reales.
Los problemas propuestos hasta ahora no han sido escogidos al azar. Son problemas bien
conocidos y estudiados ya que son problemas canónicos; es decir, cada uno de estos problemas
representa y se resuelven de la misma manera que una multitud de otros problemas deferentes.
En definitiva, son un modelo que nos permite atacar la resolución de otros similares. Por
ejemplo, el TSP es la base de un problema con mucha mayor aplicación práctica; el problema de
las rutas de vehículos o vehicle problema (VRP). Las distribuidoras de mercancías o las
empresas de reparto tratan siempre de optimizar las rutas de reparto, ya que ello trae consigo un
gran beneficio económico por el ahorro en recursos: tiempo, combustible, vehículos y personal.
El problema consiste en, dado un número arbitrario de clientes a los que hay que servir
mercancía, calcular las rutas que minimicen el número de vehículos necesarios y el número de
23
kilómetros recorridos para cada vehículo. Al resolver el problema de la ruta de vehículos hay que
tener presente que las rutas pueden tener asociadas restricciones como:
Carga máxima de los vehículos: dependiendo de la cantidad, peso o volumen de los pedidos
Horario de los clientes: las rutas tienen que diseñarse de acuerdo con los horarios de los
clientes. De nada sirve que la ruta sea optima si el transportista, que suele cobrar por horas, tiene
que esperar una hora a que habrá el comercio para servir la mercancía.
Preferencias: algunos clientes pueden ser más importantes que otros y por lo tanto es posible
Numero de almacenes: no es lo mismo tener un solo almacén que varios. Si hay varios
almacenes hay que tener en cuenta qué almacenes servirán cada cliente en concreto siguiendo
Recarga: otro condicionante es si los vehículos cargan la mercancía una vez o puedan volver
al almacén a recargar mercancía para seguir haciendo entregas. EN este caso hay que decidir que
A lo largo del libro presentaremos técnicas que nos permitan lidiar con la complejidad
24
Pero la IA trata de resolver muchos más probables de muy distintos tipo. Estos son algunos de
Minería de datos.
Reconocimiento de la escritura.
Visión artificial.
Diagnóstico médico.
Robótica.
Entornos industriales.
Planificación y control.
Videojuegos.
Seguridad.
Predicciones financieras.
Predicción de catástrofes.
Marketing especializados.
25
CAPITULO 3:
26
3.1 BÚSQUEDA INFORMADA
Una de las técnicas comúnmente usadas para mejorar el rendimiento temporal de la búsqueda
en profundidad usando una función heurística es la llamada búsqueda con vuelta atrás o
bracktacking. Cuando exploramos una rama del árbol, hay situaciones que sabremos que no nos
llegaran a una solución o en el mejor de los casos, emporaran la solución en que está analizando
en estos momentos. En otras palabras, que el nodo hijo empeora pa situación con respecto al
nodo padre y por lo tanto nos aleja de la situación en vez de acercarnos a ella. Si un movimiento
nos lleva a una rama en la que sabemos que no llegaremos a una solución, decimos que el
camino (la solución) que estamos analizando no es compatible. Como no tiene sentido seguir
explorando una rama que no es compatible, lo que ahcemos es que dejemos de explorar y
Si nodo ==solución:
Si no:
Nodo_hijo = operador(nodo)
Salir con s
27
Nodo =
Visitados = Lista
Solución = solución
nos pedía maximizar una función que representara el beneficio resultante de la fabricación de 𝑥1
camisetas y 𝑥2 pantalones.
Restricciones:
𝑥1 ≥ 0
𝑥2 ≥ 0
Nuestro objetivo es encontrar una asignación de valores enteros para las variables 𝑥1 𝑦 𝑥2
que, cumpliendo con las restricciones impuestas, hagan que la función f tome el máximo valor
posible. Recordemos también que habíamos llegado a la conclusión de que 𝑥1 estaba acotado
Al explorar el árbol y encontrar asignaciones que hacen que se incumplan las restricciones, no
tiene sentido seguir explorando la rama, por lo que podemos seguir con la siguiente. El listado
que sigue demuestra cómo afrontar el problema de la PLE usando técnicas de backtracking. En
ese ejemplo nos vamos a usar la clase Nodo ni a otros problemas tratados, en este no nos
importan los pasos intermedios necesarios para llegar a una solución. Solo el resultado final. En
28
el problema del camino, pero aquí solo nos interesan los valores finales y óptimos de 𝑥1 y 𝑥2 .
Por lo tanto, sí que vamos a realizar una búsqueda en un árbol, pero vamos a ir generando los
Para nuestro problema, que es bastante sencillo ya que solo tiene dos variables, vamos a
necesitar hacer una búsqueda en un árbol de solo dos niveles de profundidad. En el primer nivel
(sin contar el nodo raíz) vamos a generar los posibles valores de 𝑥1 ; es decir, de 0 a 50. En el
segundo nivel, por cada posible valor de 𝑥2 vamos a generar todos los posibles valores de 𝑥2 que
son los valores entre 0 y 75. En total tendremos que examinar 50 x 75 =3.750 nodos. Sin
embargo, ¿es necesario examinarlos todos? Supongamos que 𝑥1 = 25 y recordemos que una de
Como 7𝑥1 = 7 𝑥 25 = 175 es mayor que 150 , queda claro que esta asignación incumple la
restricción sea cual sea el valor de 𝑥2 . En este escenario no tiene sentido desplegar los 75 nodos
En nuestro ejemplo tenemos solo dos variables y 3.750 nodos por examinar, pero cualquier
problema mediano puede tener bastante variables y un número de nodos mucho mayor, por lo
min=rango_variables[profundidad] [0]
29
max=rango_variables [profundidad][1]
variables [profundidad]=v
If es_completable (variable):
else:
sol=evalua_solucion (variables)
return optimo
def evalua_solucion(variables):
return val
30
X1=variables[0]
X2=variables[1]
Va11=7*x1+4*x2
Va12=6*x1+5*x2
Return true
else:
Return false
if_name_== “_main_”:
Variables=[0,0]
rango_variables=[(0,51),(0,76)]
optimo= (0,0)
Tabla 4 ple_backtracking.py
31
La ejecución del programa nos indica que la mejor opción es fabricar 10 pantalones y 20
3.1.2 Algoritmo A*
Utilizando el concepto de coste, la búsqueda de coste uniforme nos permite llegar a una
solución óptima. Sin embargo, hay que pagar un precio por ello. En condiciones desfavorables,
estrella) trata de paliar la situación intentando que la convergencia hasta la solución sea más
rápida. Para ello, hace uso de una función heurística h(n) que trata de estimar el coste del nodo n
Recordemos que la búsqueda de coste uniforme hacia uso de la función g(n) que llamábamos
coste(coste acumulado desde el nodo raíz hasta el nodo n), de esta forma a cada nodo se le hacia
F(n)=g(n)
El algoritmo A* se basa en el mismo concepto, pero usa la siguiente función f(n) como la
función de evaluación.
F(n)=g(n) + h(n)
Es decir, la suma del coste acumulado desde el nodo raíz más el coste estimado hasta el nodo
solución. En cada iteración del algoritmo iremos seleccionando aquellos nodos con mayor valor
f(n). Visto de esta manera, la búsqueda de coste uniforme es un caso especial del algoritmo A*
32
3.1.3 Búsqueda local
Los algoritmos de búsqueda local tratan de mejorar una solución de forma iterativa, haciendo
pequeñas modificaciones sobre una solución inicial en cada iteración, siempre y cuando no se
viole ninguna de las restricciones del problema. Si esa modificación mejora a la original, nos
quedamos con ellas, si no, la descartamos. Hay toda una familia de algoritmos de hill climbing,
La búsqueda loca se utiliza en problemas en los que nos interesa el resultado y no las acciones
necesarias para llegar a él, por lo tanto, no necesitaremos almacenar todo el árbol de estados en
memoria. En las búsquedas locales normalmente trabajamos sobre un solo estado, al que
aplicamos alguna modificación con la esperanza de que el nuevo estado resulte que acerque más
Queremos encontrar una asignación de valores para las variables en las que la función f sea
Esta asignación la podemos representar como un número binario en la que la primera cifra
corresponde a la primera variable y así sucesivamente. En este caso, esta asignación podrá
representarse como 0010. ¿Cuáles serían los vecinos de este estado? Sería otra secuencia de 4
dígitos binarios en los que se ha modificado uno de los valores (una de las asignaciones). Los
1010
0011
0110
33
La última asignación 0110 tiene la particularidad de que hace tomar el valor verdadero a la
Consideremos ahora el programa TSP (problema del viajante del comercio). Donde veremos
Un posible estado solución (no optima) podrá representarse como ABCED, que representa las
ciudades y el origen en el que se recorren- ¿Cuáles serían los posibles vecinos? En el ejemplo
anterior del TSP usamos como operador para generar los vecinos el cambo de estado de una de
las cifras binarias, es decir, cambiábamos un 1 por un 0, o viceversa. En el caso del TSP una
posible operación para obtener un 1 vecino puede ser intercambiar dos ciudades. De esta forma
BACED
CBAED
AECBD
Al aplicar las operaciones para obtener los vecinos de un estado hay que tener en cuenta las
restricciones propias del problema, ya que algunas pueden estar impuesta por el enunciado del
problema PLE. Otras pueden derivarse de las naturalezas propias del problema. Un ejemplo claro
es el problema de las rutas por carretera Para obtener un vecino podemos intercambiar una
ciudad con otras, tal como lo hicimos con el TSP, pero puede darse el caso que en el intercambio
de lugar a una solución en la que dos cuidades consecutivas no estén conectadas por carreteras,
por ejemplo:
34
Santiago – Granada – Madrid – Salamanca - Málaga
restricciones.
“X” se representa el espacio de estados y en el eje “Y” el valor de la función objetivo. Nuestro
que se desea obtener el mínimo). Supongamos que el estado actual que estamos analizando es el
que marca la flecha en la figura. Un algoritmo genera los vecinos de este estado y elegirá el
mejor. En el ejemplo, los vecinos son los puntos inmediatamente laterales al estado actual. Tanto
por la izquierda como por la derecha, y esto puede dar a los siguientes dos casos: que el
algoritmo decida que es mejor escoger el vecino de la derecha, en este caso se eran generando
algoritmos mejores conforme se avance a la derecha hasta que llegue al pico (suponiendo que se
busca el valor máximo de la función). El algoritmo interpretara entonces que han encontrado el
máximo de la función, cosa que si nos ponemos a observa en la figura no es muy cierta, a lo que
En general, para aplicar un algoritmo de búsqueda local necesitamos partir de una solución
inicial que trataremos de ir mejorando. Como solución inicial podemos tomar una solución
aleatoria, pero a veces interesa que la solución, aunque no sea optima, si cumpla una serie de
35
restricciones y condiciones iniciales. Si además la solución es buena aunque no sea perfecta,
Los logaritmos constructivos voraces son aquellos que utilizan una función heurística
consistente en elegir la mejor opción en cada paso para ir construyendo una solución. Suelen
usarse para generar soluciones iniciales y luego intentar mejorarlas mediantes técnicas como hill-
climbing, algoritmos genéticos o algún otro de los que analizaremos en el resto del capítulo.
Aquí también es muy importante la elección de una broma función heurística, ya que además
solución es válida o no. No debemos perder de vista que el algoritmo constructivo ha de tener en
cuenta las restricciones del problema. Pongamos un camino para ir de Málaga a Santiago. Como
heurística constructiva elegiremos aquella que en cada paso selecciona el camino más corto
posible. Si empezamos en Málaga, la distancia más corta es la que nos lleva a Granada. Desde
Como ya vimos antes, esta no es la mejor solución, pero no está mal como punto de partida.
ruta:
Barcelona - Valencia
36
Como se dijo antes, hay que tener en cuenta que la heurística respete las restricciones del
problema, ya que podríamos caer en bucles o llegar a ciudades, que como Sevilla, no tengan
A pesar de estos problemas, esa técnica puede llegar a ser muy poderosa para construir
soluciones iniciales. Vamos a analizar dos algoritmos constructivos voraces bien conocidos. Se
trata de algoritmo de Dijktra para la construcción del camino mínimo en un grafo y el algoritmo
de los ahorros de Clarke y Wright para el problema VRP (Vehicle Routing Problem)
La Búsqueda Tabú (BT) es una meta heurística cuya característica distintiva es el uso de
componente básico y usa una memoria de corto plazo, para poder escapar de ´óptimos locales y
evitar ciclos en la búsqueda. La memoria de corto plazo esta implementada como una lista tabú
que mantiene registro de las soluciones visitadas más recientemente y prohíbe movimientos
hacia ellas. La implementación de la memoria a corto plazo como una lista que contiene
soluciones completas puede no ser efectiva, por lo que en lugar de almacenar soluciones, se
diferencias entre dos soluciones. De esta forma, se restringe la vecindad de la solución actual a
37
búsqueda a aceptar movimientos que incluso pueden generar soluciones peores. Ya que se puede
considerar más de un atributo, se introduce una lista tabú para cada uno de ellos. El conjunto de
atributos y las listas tabú correspondientes definen la lista de condiciones tabú que se utilizan
para filtrar la vecindad de una solución y generar el conjunto permitido. Almacenar atributos en
lugar de soluciones completas es mucho más eficiente, pero introduce perdida de información, ya
que prohibir un atributo significa asignar la condición de tabú a más de una solución
probablemente. Por lo tanto, es posible que soluciones no visitadas de buena calidad sean
excluidas del conjunto permitido. Para superar este problema, se define criterios de aspiración,
que permiten incluir una solución en el conjunto permitido aunque este prohibida por las
condiciones tabú. Los criterios de aspiración definen las condiciones de aspiración que se
utilizan para construir el conjunto permitido. La lista tabú, identificada usualmente con el uso de
memoria a corto plazo, es solo una de las maneras posibles de aprovechar la historia de la
búsqueda. La información recolectada durante todo el proceso de búsqueda también puede ser
muy ´útil, especialmente para una guía estratégica del algoritmo. Este tipo de memoria a largo
calidad e influencia. La memoria basada en lo reciente registra para cada solución (o atributo) la
frecuencia mantiene registro de cuantas veces cada solución (o atributo) ha sido visitada (usado).
Esta información identifica las regiones del espacio de soluciones donde la búsqueda estuvo
concentrada o donde permaneció por mayor número de iteraciones. Es decir, es información que
representa la memoria del proceso de búsqueda y que puede ser explotado para diversificar la
búsqueda. Por su parte, el atributo calidad hace referencia a la habilidad para diferenciar la
bondad de las soluciones visitadas a lo largo del proceso de búsqueda. De esta forma, la memoria
38
puede ser utilizada para la identificación de elementos comunes a soluciones buenas o a ciertos
caminos que conducen a ellas. La calidad constituye un fundamento para el aprendizaje basado
en refuerzos, donde se premian las acciones que conducen a buenas soluciones y se penalizan
aquellas que, por el contrario, conducen a soluciones pobres. Por ´ultimo la cuarta dimensión de
Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver
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. Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando
soluciones para problemas del mundo real. La evolución de dichas soluciones hacia valores
óptimos del problema depende en buena medida de una adecuada codificación de las mismas.
Un algoritmo genético consiste en una función matemática o una rutina de software que toma
como entradas a los ejemplares y retorna como salidas cuales de ellos deben generar
Versiones más complejas de algoritmos genéticos generan un ciclo iterativo que directamente
toma a la especie (el total de los ejemplares) y crea una nueva generación que reemplaza a la
antigua una cantidad de veces determinada por su propio diseño. Una de sus características
39
no requiere largos períodos de entrenamiento especializado por parte del ser humano, principal
defecto de otros métodos para solucionar problemas, como los Sistemas Expertos.
3.2.1 Búsqueda
La búsqueda es una técnica para resolver problemas cuya solución consiste en una serie de
pasos que frecuentemente deben determinarse mediante la prueba sistemática de las alternativas.
un grafo(usado frecuentemente en arboles). Se inicia por la raíz y se exploran todos los hijos de
este nodo. Después, se explora cada uno de los hijos de los hermanos y así sucesivamente hasta
Pseudocogido Algoritmo:
40
Ilustración 3 Búsqueda en amplitud
La búsqueda se realiza por una sola rama del árbol hasta encontrar una solución o hasta que se
Terminar la búsqueda por una dirección se debe a no haber posibles operadores que aplicar
sobre el nodo hoja o por haber alcanzado un nivel de profundidad muy grande.
Si esto ocurre se produce una vuelta atrás (backtracking) y se sigue por otra rama hasta visitar
41
3.2.4 Búsqueda de coste uniforme
La idea del algoritmo consiste en ir explorando todos los caminos más cortos que parten desde
la raíz y que llevan a todos los nodos, enumerando todos los nodos del espacio de estados por
costes (valores de g) crecientes; cuando se obtiene el camino más corto desde la raíz, a la
abierta ←s0
Repetir Si
nodo←primero(abierta)
Si meta?(nodo)entonces devolver(nodo)
sucesores←expandir(nodo)
n.padre←nodoordInsertar(n,abierta,g)
Fin{repetir}
En el algoritmo se almacena cada nodo con su valor g y se insertan los nuevos nodos
expandidos en una estructura dinámica (una cola con prioridad) en orden ascendente según su
valor de g; la búsqueda de coste uniforme es completa al ser los costes números enteros
positivos, siendo no acotada la sucesión de valores g, por lo que si el nodo meta existe en el
espacio de estados, será expandido alguna vez; y óptima, puesto que al expandir todos los nodos
del espacio de estados por valores crecientes de g, cuando se expande el primer nodo meta, éste
42
El análisis de completitud y optimalidad de la búsqueda de coste uniforme se basa en que en
encontrarse éste desinformado sobre la estación destino, realizará una evaluación de recorrido
mínimo desde la estación origen a todos las estaciones contenidas en la Red, deteniéndose su
ejecución al llegar a la estación destino seleccionada, tal como una búsqueda en amplitud hace,
lo cual provoca que no resulte eficiente, pues su uso implica de un gran esfuerzo computacional,
ya que, a diferencia del algoritmo de búsqueda A*, del cual hablaremos a continuación, al no
encontrarse informado sobre la estación “final”, y por tanto no guiado hacia el destino, calcula
rutas mínimas de recorrido desde la estación origen a todas sus adyacentes que nosotros
consideramos candidatas de formar parte del camino mínimo a la estación destino, provocando
que, para estaciones origen y destino muy distanciadas entre sí y algo aisladas, de comunicación
no tan directa (pensemos en una estación destino en una línea con pocas correspondencias con
otras líneas, como por ejemplo, el tramo final de la línea 7), el uso del mismo resulte muy
pesado, con tiempos de ejecución elevados, y con un uso exhaustivo de las prestaciones del
Una vez llegados a la fase final de verificación del correcto funcionamiento del sistema,
procederemos a una comparación de los 3 agentes para distintos supuestos (estación origen ->
estación destino) en un banco de pruebas, verificando que cumplen con su cometido y respetan la
43
CAPITULO 4:
RAZONAMIENTO
44
4.1.INTRODUCCIÓN
Los expertos dedican mucho tiempo a estudiar y practicar la disciplina elegida para llegar a
mortales, que implica, a la larga la pérdida total de la destreza adquirida. Por ese motivo es
comprensible que a muchas empresas les atraiga la idea de codificar esa pericia en programas de
computadora, para poder trabajar con un gran cuerpo de conocimientos sin los inconvenientes
propios de los expertos humanos. El concepto de sistema experto nació en los años setenta,
máquinas inteligentes a nivel general y volcaron sus intereses en la solución de problemas del
mundo real centrados en aspectos muy concretos. Por consiguiente, el sistema experto es uno de
los primeros ejemplos de IA aplicada, y las técnicas para sistemas expertos se han extendido
mucho más allá de los confines de laboratorio de investigación en el que fueron concebidas. De
hecho, en cierto modo los sistemas expertos han llevado a la IA al uso práctico cotidiano. Existen
ya sistemas que superan a los seres humanos capacitados en diagnóstico médico, interpretación
4.2.SISTEMAS EXPERTOS
que permita que el sistema extraiga conclusiones a partir de datos o premisas dadas,
45
cambio evolutivo en la ciencia de las computadoras, con consecuencias revolucionarias.
Por una nueva arquitectura centrada alrededor de una base de conocimientos y un motor de
Esta fórmula es, obviamente similar, pero con un enfoque lo suficientemente diferente como
para tener profundas implicaciones. Para tener un sistema experto resulta útil la siguiente lista de
La palabra clave es "conocimiento". Está claro que el objetivo de un sistema inteligente para
computadora ha de explotar la misma ventaja que tiene el experto humano en relación al novato,
46
La base de conocimientos.
El motor de inferencia.
La interface explicativa.
Los cuatro módulos son críticos. Un sistema basado en el conocimiento puede carecer de
Hablaremos de esos cuatro módulos de uno en uno y explicaremos cómo trabajan todos
juntos.
Una vez puesto en claro lo mencionado, todo sistema experto debe cumplir con ciertas tareas:
continua de los valores de las señales o datos de entrada y unos valores que actúan como criterios
a los posibles incidentes que pudieran acontecer. Así, usando un modelo computacional del
razonamiento de un experto humano, proporciona los mismos resultados que alcanzaría dicho
experto.
en la definición de una estructura mecánica, máquina o sistema que ejecute funciones específicas
47
El diseño industrial busca rectificar las omisiones de la ingeniería, es un intento consciente de
traer forma y orden visual a la ingeniería de hardware donde la tecnología no provee estas
características.
Los SE en diseño ven este proceso como un problema de búsqueda de una solución óptima o
adecuada. Las soluciones alternas pueden ser conocidas de antemano o se pueden generar
automáticamente probándose distintos diseños para verificar cuáles de ellos cumplen los
requerimientos solicitados por el usuario, esta técnica es llamada “generación y prueba”, por lo
tanto estos SE son llamados de selección. En áreas de aplicación, la prueba se termina cuando se
encuentra la primera solución; sin embargo, existen problemas más complejos en los que el
Existen consecuencias no previsibles, de forma que hay que explorar y explicar varios planes.
Existen muchas consideraciones que deben ser valoradas o incluirles un factor de peso.
Suelen existir interacciones entre planes de subobjetivos diversos, por lo que deben elegirse
soluciones de compromiso.
Trabajo frecuente con incertidumbre, pues la mayoría de los datos con los que se trabaja son
48
Control: Un sistema de control participa en la realización de las tareas de interpretación,
diagnóstico y reparación de forma secuencial. Con ello se consigue conducir o guiar un proceso
o sistema. Los sistemas de control son complejos debido al número de funciones que deben
manejar y el gran número de factores que deben considerar; esta complejidad creciente es otra de
las razones que apuntan al uso del conocimiento, y por tanto de los SE.
Cabe aclarar que los sistemas de control pueden ser en lazo abierto, si en el mismo la
que intervenir el operador en ninguna parte del mismo. Reparación, correcta o terapia.
cumplir diversos objetivos, como son: Reparación lo más rápida y económicamente posible.
Orden de las reparaciones cuando hay que realizar varias. Evitar los efectos secundarios de la
los mismos mediante la observación de las salidas para un conjunto de entradas. Las técnicas
El empleo de los SE para la simulación viene motivado por la principal característica de los
SE, que es su capacidad para la simulación del razonamiento de un experto humano, que es un
proceso complejo.
posibles:
49
Un SE puede disponer de un simulador con el fin de comprobar las soluciones y en su caso
Un sistema de simulación puede contener como parte del mismo a un SE y por lo tanto el SE
Un SE puede utilizarse como máscara o sistema frontal de un simulador con el fin de que el
sistema detecta errores ya sea de una persona con conocimientos e identifica el remedio
corrección de errores.
recuperación de información es que éstos últimos sólo son capaces de recuperar lo que existe
explícitamente, mientras que un Sistema Experto debe ser capaz de generar información no
explícita, razonando con los elementos que se le dan. Pero la capacidad de los SE en el ámbito de
actuar como un intermediario inteligente que guía y apoya el trabajo del usuario final.
50
4.3.SISTEMAS DIFUSOS
lingüísticos y reglas de una forma estudiaremos dos entidades clave: los conjuntos difusos y las
variables lingüísticas similar a como lo realizan los seres humanos. A diferencia de la lógica
verdad).
valores continuos entre 0 (que representa hechos totalmente falsos) y 1 (totalmente ciertos). Y
así, la lógica binaria clásica puede verse relacionada con la lógica difusa. Zadeh propone en el
año 1965 la noción de Conjunto Difuso [2]. Este hecho marco el principio de una nueva teoría a
Los conceptos relacionados con los conjuntos difusos mediante un proceso (asociando los
valores de pertenencia) pueden ser llamados fuzzificación. Una vez que tenemos los valores
fuzzificados podemos trabajar con reglas lingüísticas y obtener una salida, que podrá seguir
De este modo, a diferencia de la teoría clásica de conjuntos que se basa en el principio básico
De este modo una proposición no es totalmente (sino parcialmente) cierta o falsa. Este grado
51
Ilustración 5 Descripción de conjuntos crisp
En la representación crisp, se dibuja una línea que separa claramente en 1.8m y separa a los
individuos más altos y a los que no lo son, asociando un valor de partencia estricta a aquellos que
superan la altura establecida. Sin embargo, el conjunto difuso permite expresar que Carlos tiene
52
Así, un conjunto difuso proporciona una transición suave entre los límites de lo que sería un
conjunto crisp. El Universo del discurso se define como todos los posibles valores que puede
tomar una determinada variable (en el caso de la imagen anterior se correspondería con el eje
Existen tres operaciones básicas cobre estos conjuntos (complemento, unión e intersección),
pueden generalizarse de varias formas en conjuntos difusos. Sin embargo, existe una
conjunto [0, 1], estas operaciones “estándar” sobre conjuntos difusos se comportan de igual
modo que las operaciones sobre conjuntos crisp. Dichas operaciones se definen del siguiente
µA(x) = 1 − µA(x)
53
Unión: La forma más generalizada de la unión existente es la T-conorma. Que podemos
Para que una función se pueda considerar como una unión difusa, debe satisfacer los
Producto: ⊥(a, b) = (a + b) − (a × b)
forma:
54
I4) Asociatividad: T(T(a, b), c) = T(a, T(b, c))
por una función del tipo c : [0, 1] → [0, 1]. Tiene que satisfacer los siguientes axiomas:
Al igual que sucedía con los operadores de unión y de intersección, también para el
complemento existen gran variedad de clases. Uno de los más utilizados, además del
Además, para cada valor de λ, obtenemos una expresión particular para el complemento. Otro
55
Ilustración 7 Uso del modificador en los conjuntos bajo y alto
56
CAPITULO 5:
APRENDIZAJE
57
5.1.INTRODUCCIÓN
Desde que nosotros nacemos, nuestros sentidos se ponen en contacto con la realidad que está
en un constante cambio a la que debemos adaptarnos para poder sobrevivir. El aprendizaje es una
facultad que nos permite a partir de una información que obtenemos partir del exterior,
En la IA la capacidad de aprendizaje está mucho más limitada que la de los seres humanos.
Tareas que a primera vista pueden parecer sencillas, como reconocer la cara de los conocidos, es
una tarea tremendamente compleja para un ordenador. De hecho, seremos capaces de reconocer
esa cara aunque la persona se ponga unas gafas de sol, se deje la barba o se ponga una bufanda.
Nuestro cerebro seguirá reconocido la cara. Para un ordenador, sin embargo, cualquier cambio,
reconocimiento de patrones, y básicamente es así como asociamos las imagines que recibimos
concepto, es una tarea muy interesante con aplicaciones en múltiples campos. A modo de
ejemplo podemos nombrar el reconocimiento óptimo de caracteres (OCR) que permite a una
maquina leer textos, como puedan ser los programas anti-spam que usan nuestros servidores de
aprendizaje continuo, clasificar cada vez con mayor precisión los correos recibidos para decidir
Hay diferentes técnicas que nos permite realizar clasificaciones. Además de las redes
58
bayesianos, dan muy buenos resultados. Con este último tipo de clasificación vamos a comenzar
este capitulo
5.2.CLASIFICACIÓN PROBABILÍSTICA
clasificación y aprendizaje. Quizás, las redes bayesianas sean las más conocidas y utilizadas,
Este método está constituido de modelos probabilísticos y hace uso del teorema de bayes
sobre las probabilidades condonadas. Los conocimientos sobre probabilidad necesarios para
comprender y aplicar esta técnica no son muy complejos, aunque convendrá dar un repaso básico
antes de empezar.
Si nosotros lanzamos una moneda al aire varias veces, podemos darnos cuenta que
aproximadamente la mitad de las veces nos saldrá cara. De esta forma decimos que hay una
probabilidad del 50% de obtener cara. Pero, si ahora lanzamos un dado, la probabilidad de sacar
un mismo número no es tan evidente como en el caso anterior. Aunque se podría complicar aún
Nosotros una vez que lancemos el dado podremos obtener seis resultados entre los cuales
muestras que se le denomina con un letra griega (Ω), también se dice que el espacio cardinal es
6, ya que se puede obtener seis resultados posibles. Por lo tanto definiremos un suceso como un
A= {2, 4, 6}
59
El espacio cardinal de A es 3, ya que podemos obtener solo tres resultados, también se le
Y cuál será la probabilidad de sacar un número impar 0 sacar un numero exactamente menor a
A partir de dos sucesos podemos construir otros utilizando operadores de unión (U) o
intersección (∩). La intersección de dos sucesos es otro favorable para ambos, por ejemplo:
A ∩ B= {4, 6}
Ya que son los valores que pertenecen al suceso A como pertenecen al suceso B. Ahora la
A U B= {2, 3, 4, 5. 6}
Son los valores que le pertenecen a A y B o a ambos a la vez. Ósea por todos los valores en
general de ambos.
Pero cuál es la probabilidad de sacar un número par o sacar números mayores que 3? La
probabilidad de un suceso es la probabilidad que tiene este en darse y su valor siempre estará
𝑐𝑎𝑟𝑑(𝑠𝑢𝑐𝑒𝑠𝑜)
𝑝(𝑠𝑢𝑐𝑒𝑠𝑜) =
𝑐𝑎𝑟𝑑(Ω)
Que es lo mismo decir, el número de resultados favorables al suceso dividido entre en número
60
3 4
𝑝(𝐴) = 𝒚 𝑝(𝐵) =
6 6
Y podemos observar que el valor de la probabilidad en ambos esta entre 0 y 1,esto para
de A es del 50 % y la de B es del 66%. Ahora, como la probabilidad de un suceso esta dada entre
Desde hace mucho tiempo, los intentos por imitar el funcionamiento del cerebro humano ha
descubrir aspectos de la inteligencia humana que pueden ser simulados mediante máquinas u
ordenadores. En este sentido, las redes neuronales no son más que otra forma de emular ciertas
electrónicas, ésta estudia directamente el cerebro humano y trata de crear un modelo artificial y
simplificado de este.
Ahora podemos dar una información más precisa: las redes neuronales son un paradigma de
de los animales. La unidad básica de procesamiento de las redes neuronales está inspirada en la
Las redes neuronales, por tanto, pretenden resolver problemas que otras áreas no son capaces.
Esto lo consiguen gracias a que, el estudio de las neuronas humanas permite crear unidades de
procesamiento que pueden intercambiar datos, sirven para reconocer patrones (tales como
61
Ilustración 8 La Neurona Biológica
El perceptrón simple es una red neuronal artificial que fue desarrollado en 1959. La razón de
su aparición en los años de 1960 mas destacable fue porque tiene la capacidad de aprendizaje y
una neurona artificia, una unidad de cálculo que intenta modelar el comportamiento de una
neurona natural, como las de cualquier ser humano existente. Este es un algoritmo capaz de
generar un criterio para hacer la selección de un grupo, entre un grupo de elementos más
grandes.
El perceptrón puede ser entrenado para realizar alguna tarea mediante reglas de aprendizaje:
Aprendizaje supervisado
Aprendizaje no supervisado
Por si solo un perceptrón no tiene mucha utilidad, puesto que es como una neurona. Su
capacidad y funcionalidad se genera cuando se relacionan con más para generar una red.
El perceptrón simple, dejó de ser considerado como una técnica útil, al igual que otros tipos
62
El perceptrón simple sólo sirve para clasificar problemas linealmente separables, cosa que ya
se podía hacer mediante métodos estadísticos, y de una forma mucho más eficiente.
63
GLOSARIO DE TERMINOS:
64
ANEXOS:
65
Ilustración 9 Tablas insertadas
66
INDICE DE ILUSTRACIONES:
67
INDICE DE TABLAS:
68
Bibliografía
https://buhomag.elmundo.es/entretenimiento/5-ventajas-y-5-desventajas-de-la-ia-para-la-
evolucion/c00b11c3-0004-5813-2134-112358132134.
file:///C:/Users/ASUS/Downloads/171-711-1-PB.pdf.
https://www.muyinteresante.es/tecnologia/articulo/ventajas-y-riesgos-de-la-inteligencia-
artificial-651449483429.
http://yucatan.com.mx/tecnologia/ventajas-y-desventajas-de-la-inteligencia-artificial.
https://issuu.com/daviddiaz137/docs/inteligencia-artificial-solucion-problemas.
http://www.esi.uclm.es/www/cglez/downloads/docencia/2011_Softcomputing/LogicaDif
usa.pdf .
https://es.slideshare.net/juankgrifin/busqueda-en-ia.
http://ocw.uc3m.es/ingenieria-telematica/inteligencia-en-redes-de-
comunicaciones/material-de-clase-1/02-resolucion-de-problemas.
http://bvs.sld.cu/revistas/san/vol2_2_98/san15298.htm.
69
Pereira, U. t. (2008). TÉCNICAS DE INTELIGENCIA ARTIFICIAL PARA LA SOLUCIÓN DE
file:///C:/Users/ASUS/Downloads/Dialnet-
TecnicasDeInteligenciaArtificialParaLaSolucionDeLa-4742651%20(1).pdf.
https://line.do/es/historia-y-evolucion-de-inteligencia-artificial/6gx/vertical.
http://searchdatacenter.techtarget.com/es/definicion/Inteligencia-artificial-o-AI.
http://www.fgcsic.es/lychnos/es_es/articulos/inteligencia_artificial.
70