You are on page 1of 16

INTELIGENCIA ARTIFICIAL

CÓDIGO: 90169

Fase 1 - Técnicas, herramientas de la Inteligencia Artificial

UNIDAD 1

Presentado a:
FERNANDO ROJAS
Tutor

Entregado por:

DIEGO ANDRÉS CASTAÑEDA HURTADO


Código: 1030644250
CINDY PAOLA QUIAZUA PINTO
Código: 1032447109
MARIO MARTINEZ GARZON
Código: 1032399422
EMMANUEL JOSE LAMPREA FLOREZ
Código: 1030667566

Grupo: 90169_15

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD


ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
02 de oct. de 18
Bogotá D.C.
DESARROLLO ACTIVIDAD

1. Investigar sobre las técnicas y herramientas que utiliza la


inteligencia artificial
• Aprendizaje Automático.
Es una disciplina científica del ámbito de la Inteligencia Artificial
que crea sistemas que aprenden automáticamente. Aprender en
este contexto quiere decir identificar patrones complejos en
millones de datos. La máquina que realmente aprende es un
algoritmo que revisa los datos y es capaz de predecir
comportamientos futuros. Automáticamente, también en este
contexto, implica que estos sistemas se mejoran de forma
autónoma con el tiempo, sin intervención humana.
Su objetivo es desarrollar técnicas que permitan a las
Computadoras aprender. Se trata de crear programas capaces de
generalizar comportamientos a partir de una información no
estructurada suministrada en forma de ejemplos.
El Aprendizaje Automático tiene una amplia gama de aplicaciones,
incluyendo motores de búsqueda, diagnósticos médicos, detección
de fraude en el uso de tarjetas de crédito, análisis del mercado de
valores, clasificación de secuencias de ADN, reconocimiento del
habla y del lenguaje escrito, juegos y robótica.
• Ingeniería del conocimiento.
La expresión «ingeniería del conocimiento» se acuñó en los
años 70 para referirse al diseño y construcción de sistemas
basados en conocimiento, pero también para resaltar una cierta
«heterodoxia» con respecto a la ingeniería del software:

➢ Se admite que el conocimiento que se puede extraer de los


expertos puede ser, en mayor o menor grado, incompleto,
inconsistente, impreciso, incierto y «tolerante» (no
«dogmático»).
➢ Aceptado lo anterior, es forzoso admitir también que las
respuestas del sistema puedan ser «inseguras», matizadas
por un grado de confianza o de creencia.
➢ Además, el conocimiento puede evolucionar tanto en la fase
de desarrollo como en la de uso del sistema, por
incorporación de nuevos conocimientos sobre el dominio, o
porque, a la vista del funcionamiento del sistema, los
expertos reconsideran la forma en la que se ha expresado
su conocimiento.
➢ Por tanto, la responsabilidad del desarrollo y del
mantenimiento no recae sólo en los ingenieros, sino también
en los expertos (y, a veces, en los usuarios finales), que
intervienen a lo largo de todo el ciclo de vida.
➢ Como consecuencia de todo ello, no es aplicable el ciclo de
vida clásico («en cascada»), porque no pueden establecerse
unas especificaciones definitivas desde el principio. Esto
implica un proceso continuo de depuración de la base de
conocimientos, que muchas veces se prolonga durante toda
la vida del sistema.

Consiste en generar nuevo conocimiento que antes no existía, a


partir de la información contenida en las bases de datos
documentales y mediante el cruce del contenido.

La ingeniería del conocimiento forma parte de la Inteligencia


Artificial y su objetivo es el diseño y desarrollo de Sistemas
expertos. Para ello, se apoya en metodologías instruccionales y en
las ciencias de la Computación y de la Información.

La ingeniería de conocimiento es la disciplina de la IA que


proporciona los métodos y técnicas para el desarrollo y
mantenimiento de sistemas Basados en Conocimiento

• Lógica difusa
Lógica difusa o lógica heurística se basa en lo relativo de lo
observado como posición diferencial. Este tipo de lógica toma dos
valores aleatorios, pero contextualizados y referidos entre sí. Así,
por ejemplo, una persona que mida 2 metros es claramente una
persona alta, si previamente se ha tomado el valor de persona
baja y se ha establecido en 1 metro. Ambos valores están
contextualizados a personas y referidos a una medida métrica
lineal.
Se basa en lo relativo de lo observado como posición diferencial.
Este tipo de lógica toma dos valores aleatorios, pero
contextualizados y referidos entre sí.
La lógica difusa se utiliza cuando la complejidad del proceso en
cuestión es muy alta y no existen modelos matemáticos precisos,
para procesos altamente no lineales y cuando se envuelven
definiciones y conocimiento no estrictamente definido.
Este tipo de lógica toma dos valores aleatorios, pero
contextualizados y referidos entre sí. Así, por ejemplo, una
persona que mida dos metros es claramente una persona alta, si
previamente se ha tomado el valor de persona baja y se ha
establecido en un metro. Ambos valores están contextualizados a
personas y referidos a una medida métrica lineal.
• Redes neuronales artificiales
Son sistemas de procesamiento de la información cuya estructura
y funcionamiento están inspirados en las redes neuronales
biológicas. Consisten en un gran número de elementos simples de
procesamiento llamados nodos o neuronas que están organizados
en capas. Cada neurona está conectada con otras neuronas
mediante enlaces de comunicación, cada uno de los cuales tiene
asociado un peso. Los pesos representan la información que será
usada por la red neuronal para resolver un problema determinado.
Son un paradigma de aprendizaje y procesamiento automático
inspirado en la forma en que funciona el sistema nervioso de los
animales. Se trata de un sistema de interconexión de neuronas en
una red que colabora para producir un estímulo de salida.
Las RNA son modelos que intentan reproducir el comportamiento
del cerebro. Como tal modelo, realiza una simplificación,
averiguando cuáles son los elementos relevantes del sistema, bien
porque la cantidad de información de que se dispone es excesiva
o bien porque es redundante.
Existen ciertos criterios que hay que definir en el proceso de
aplicación de un modelo de red neuronal artificial para estimar
alguna variable climatológica. Dicho proceso empieza a especificar
el problema, para redes supervisadas tal como la red feedforward
entrenada con el algoritmo backpropagation, significa la elección
de un conjunto de vectores de entrada y un conjunto de vectores
deseados de salida (Demuth et al., 2008). Antes de entrenar la
red se inicializan los pesos y sesgos al utilizar algún algoritmo, una
vez hecho esto se está listo para el entrenamiento; la red es
entrenada por una función de aproximación (regresión no lineal),
patrón de asociación o patrón de clasificación, durante el
entrenamiento los pesos y sesgos de la red son iterativamente
ajustados para minimizar la función de desempeño de la red. La
función de desempeño de la red feedforward típica para el
entrenamiento de la RNA es el error medio cuadrado (MSE) o suma
media del cuadrado de los errores, que se obtiene entre la salida
de la red a y el target o valores observados t descrita por la
Ecuación (1):

• Sistemas reactivos
Los Sistemas Reactivos son sistemas: responsivos, resilientes,
elásticos y orientados a mensajes.
Son aplicaciones críticas, en las cuales una falla o mal
funcionamiento pueden acarrear consecuencias graves, tales
como poner en juego vidas humanas y/o grandes inversiones
económicas.

➢ Sistemas Responsivos
Los sistemas responsivos son sistemas que responden de
una forma oportuna y en la medida de lo posible. Estos
sistemas se orientan en obtener tiempos de respuesta
rápidos (milisegundos), consistentes y efectivos.
➢ Sistemas Resilientes
Los sistemas resilientes permanecen responsivos ante
fallos. Son sistemas que disponen de alta disponibilidad,
sistemas de misión crítica. La resiliencia es necesaria para
cualquier sistema responsivo. Estos sistemas se consiguen
a través de replicación, contención, aislamiento y
delegación.
➢ Sistemas Elásticos
Los sistemas elásticos se mantienen responsivos
independientemente del nivel de carga. El número de
elementos del sistema puede variar ampliándose o
disminuyéndose para atender más o menos demanda y ante
estos cambios el sistema debe seguir siendo responsivo y
resiliente.
➢ Sistemas Orientados a Mensajes
Los sistemas orientados a mensajes asíncronos permiten la
gestión aún más rápida de tareas sin bloqueos. Estos
sistemas mantienen un bajo nivel de acoplamiento,
aislamiento y proporcionan medios para delegar la gestión
de errores.
➢ Micro servicios
Aunque el manifiesto no habla específicamente de ellos, al
decir que los grandes sistemas estarán compuestos de otros
más pequeños con las mismas características ya dejan
entrever la constitución de un sistema a través de pequeños
elementos o unidades que se mantengan aislados y
operantes, responsivos, resilientes y elásticos de forma
individual para conseguir un sistema como un conjunto
igualmente responsivo, resiliente y elástico e igualmente
orientado a mensajes asíncronos en toda su interacción.
• Sistemas Multiagente
El dominio del sistema multiagente o de inteligencia
artificial distribuida es una ciencia y una técnica que trata con los
sistemas de inteligencia artificial en red.
Pueden ser utilizados para resolver problemas que son difíciles o
imposibles de resolver para un agente individual o un sistema
monolítico.
• Sistemas basados en reglas
una de las herramientas más eficientes para tratar de manera
eficiente una buena colección de problemas, ya que las reglas
deterministas constituyen la más sencilla de las metodologías
utilizadas en sistemas expertos. En estos sistemas, la base de
conocimiento de la que se parte contiene las variables y el
conjunto de reglas que definen el problema, y el motor de
inferencia es capaz de extraer conclusiones aplicando métodos de
la lógica clásica sobre esta base. Una regla en este contexto es
una proposición lógica que relaciona dos o más objetos del
dominio e incluye dos partes, la premisa y la conclusión, que se
suele escribir normalmente como “Si premisa, entonces
conclusión”. Cada una de estas partes es una expresión lógica
con una o más afirmaciones objeto-valor conectadas mediante
operadores lógicos (y, o, o no).

Resultan muy apropiados en situaciones en las que el


conocimiento que se desea representar surge de forma natural con
estructura de reglas.
Estos sistemas pueden trabajar por inferencia lógica dirigida, bien
empezando con una evidencia inicial en una determinada situación
y dirigiéndose hacia la obtención de una solución, o bien con
hipótesis sobre las posibles soluciones y volviendo hacia atrás para
encontrar una evidencia existente (o una deducción de una
evidencia existente) que apoye una hipótesis en particular.

• Razonamiento basado en casos


Proceso repetitivo para solucionar los problemas actuales
mediante los problemas similares ocurridos anteriormente.
Básicamente este algoritmo revisa si han existido casos similares
y utiliza las soluciones aportadas para intentar solucionar lo mejor
posible el problema actual. Este algoritmo intenta simular el
comportamiento humano utilizando los casos antiguos que ha
habido para dar la mejor solución al problema actual.
El Razonamiento basado en casos es una manera de razonar
haciendo analogías. Se ha argumentado que el razonamiento
basado en casos no sólo es un método poderoso para el
razonamiento de computadoras, sino que es usado por las
personas para solucionar problemas cotidianos.
• Sistemas expertos
Es un sistema de información basado en el conocimiento que usa
su conocimiento de un área de aplicación compleja y específica a
fin de actuar como un consultor experto para los usuarios finales.
Los sistemas expertos proporcionan respuestas sobre un área
problemática muy específica al hacer inferencias semejantes a las
humanas sobre los conocimientos obtenidos en una base de
conocimientos especializados.
• Redes Bayesianas
Es un modelo probabilístico multivariado que relaciona un
conjunto de variables aleatorias mediante un grafo dirigido que
indica explícitamente influencia causal. Gracias a su motor de
actualización de probabilidades, el Teorema de Bayes, las redes
bayesianas son una herramienta extremadamente útil en la
estimación de probabilidades ante nuevas evidencias. Una red
bayesiana es un tipo de red causal. Un híbrido de red bayesiana
y Teoría de la Utilidad es un diagrama de influencia.
• Minería de datos:
Consiste en la extracción no trivial de información, que reside de
manera implícita en los datos. La minería de datos prepara,
sondea y explora los datos para sacar la información oculta en
ellos.
• Vida artificial. La VA no es un campo de la IA, sino que la IA
es un campo de la VA.
La Vida Artificial es el estudio de la vida y de los sistemas
artificiales que exhiben propiedades similares a los seres vivos, a
través de modelos de simulación.
• Lingüística computacional
Es un campo multidisciplinar de la Lingüística y la Informática que
utiliza la última para estudiar y tratar el lenguaje humano. Para
lograrlo, intenta modelar de forma lógica el lenguaje natural desde
un punto de vista computacional.
• Procesamiento del lenguaje natural

Es una disciplina dentro de la Inteligencia Artificial y la rama


ingenieril de la lingüística computacional. Se ocupa de la
formulación e investigación de mecanismos eficaces
computacionalmente para la comunicación entre personas o entre
personas y máquinas por medio de lenguajes naturales.
TÉCNICAS DE REPRESENTACIÓN DE CONOCIMIENTO
• Redes semánticas
Una red semántica o esquema de representación en Red es una
forma de representación del conocimiento lingüístico en la que los
conceptos y sus interrelaciones se representan mediante un grafo.
En caso de que no existan ciclos, estas redes pueden ser
visualizadas como árboles. Las redes semánticas son usadas,
entre otras cosas, para representar mapas conceptuales y
mentales. En un grafo o red semántica los elementos semánticos
se representan por nodos. Dos elementos semánticos entre los
que se admite se da la relación semántica que representa la red,
estarán unidos mediante una línea, flecha o enlace o arista. Cierto
tipo de relaciones no simétricas requieren grafos dirigidos que
usan flechas en lugar de líneas.
• Frames
La palabra frame es un anglicismo que posee varias traducciones.
En lo referente a la informática, se le llama frame en inglés a lo
que en castellano se conoce como marco, dependiendo de a qué
se le aplica y variando entonces su significado final en función de
ello:
▪ En gráficos por computadora, contenido de una pantalla
de datos o su espacio de almacenamiento equivalente.
▪ En comunicaciones, bloque fijo de datos transmitidos
como una sola entidad. También llamado packet
(paquete).
▪ En comunicaciones, distintamente a un paquete que es
de tamaño duro, un FRAME es variable en tamaño y
puede ser tan largo como miles de bytes o más.
▪ En autoedición, caja movible y de tamaño flexible, que
contiene una imagen gráfica.
▪ En inteligencia artificial, estructura de datos que contiene
una descripción general de un objeto, que se deriva de
conceptos básicos y de la experiencia.
▪ Puede referirse a un tag en HTML.
• Visión artificial
La visión artificial o visión por ordenador es una disciplina científica
que incluye métodos para adquirir, procesar, analizar y
comprender las imágenes del mundo real con el fin de producir
información numérica o simbólica para que puedan ser tratados
por un ordenador. Tal y como los humanos usamos nuestros ojos
y cerebros para comprender el mundo que nos rodea, la visión
artificial trata de producir el mismo efecto para que los
ordenadores puedan percibir y comprender una imagen o
secuencia de imágenes y actuar según convenga en una
determinada situación. Esta comprensión se consigue gracias a
distintos campos como la geometría, la estadística, la física y otras
disciplinas. La adquisición de los datos se consigue por varios
medios como secuencias de imágenes, vistas desde varias
cámaras de video o datos multidimensionales desde un escáner
médico.
▪ Audición artificial
La audición por computadora o escucha de máquina es el campo
general del estudio de algoritmos y sistemas para el
entendimiento del audio por las máquinas. La noción de que
significa que una máquina pueda lograr “oír” es muy amplia y
algún tanto vaga, computer audition intenta unir disciplinas que
trataban problemas específicos o fueran pensadas para una
aplicación en concreto. Los ingenieros Paris Smaragdis,
entrevistados en el Technology Review, hablaron sobre estos
sistemas ---“softwares que usan el sonido para localizar personas
dentro de una habitación, máquinas de monitoreo para anomalías
inminentes o activar cámaras de tráfico para grabar accidentes”.
▪ Lingüística computacional
La lingüística computacional es un campo interdisciplinario que se
ocupa del desarrollo de formalismos descriptivos del
funcionamiento del lenguaje natural, tales que puedan ser
transformados en programas ejecutables para un ordenador.
Dicho desarrollo se sitúa entre el modelado basado en reglas y el
modelado estadístico del lenguaje natural desde una perspectiva
computacional, y en él participan lingüistas e informáticos
especializados en inteligencia artificial, psicólogos cognoscitivos y
expertos en lógica, entre otros.

2. Investigar que es un agente inteligente y como funciona.

Históricamente, fuera de la Inteligencia Artificial, el término agente ha


sido usado con dos acepciones. Primero, a partir de Aristóteles y hasta
nuestros días, en filosofía el término agente se ha referido a una entidad
que actúa con un propósito dentro de un contexto social. Segundo, la
noción legal de agente, como la persona que actúa en beneficio de otra
con un propósito específico, bajo la delegación limitada de autoridad y
responsabilidad, estaba ya presente en el derecho Romano y ha sido
ampliamente utilizada en economía. En el contexto de la computación,
el concepto de agente se consolida como una solución a las demandas
actuales: ubicuidad, interconexión, inteligencia, delegación y
homocentrismo. Esto es, en entornos como el que se muestra en la
ilustración 1, donde tenemos una diversidad de dispositivos de cómputo
distribuidos en nuestro entorno e interconectados, los agentes
inteligentes emergen como la herramienta para delegar adecuadamente
nuestro trabajo y abordar esta problemática desde una perspectiva más
familiar para usuarios, programadores y diseñadores.

Ilustración 1 Entorno computacional actual

Según Franklin y Graesser un agente es un sistema computacional


capaz de actuar de manera autónoma para satisfacer sus objetivos y
metas, mientras se encuentra situado persistentemente en su medio
ambiente.
Ejemplo. El deamon de X Windows xbiff está situado en un
ambiente UNIX, vigilando constantemente el buzón de su
usuario para avisarle cuando llegan mensajes nuevos a través
de una interfaz gráfica.
Si bien hemos presentado al xbiff como un agente, no hemos dicho que
se trate de una entidad inteligente. Se dice que un agente es racional si
hace lo correcto. Una primera aproximación a la definición de lo
“correcto” consiste en asumir que una acción correcta es aquella que
causa que el agente tenga un mayor éxito. Esto reduce el problema de
la racionalidad a definir cómo y cuándo se debe evaluar el “éxito” del
agente. El término medida de desempeño se refiere al criterio usado
para determinar el éxito de un agente. Es preferible manejar una medida
de desempeño objetiva impuesta por alguna forma de autoridad. Esto
es, nosotros como observadores estableceremos para cada agente, un
estándar de lo que significa ser exitoso en un ambiente dado, y
usaremos ese estándar para medir el desempeño del agente. Bajo
ninguna circunstancia, el agente puede manipular tal estándar
Un agente inteligente es una entidad capaz de percibir su entorno
procesar tales percepciones y responder o actuar en su entorno de
manera racional, es decir, de manera correcta, los agentes inteligentes
emergen como la herramienta para delegar adecuadamente nuestro
trabajo y abordar esta problemática desde una perspectiva más familiar
para usuarios, programadores y diseñadores.

3.
Los agentes se pueden emplear en muchos dominios de aplicación,
llevando consigo a que cada dominio asocie varios y diferentes atributos
a la definición de agente.
Las características de un agente son:
▪ Reactivo: El agente es capaz de responder a cambios en el entorno
en que se encuentra situado.
▪ Proactivo: A su vez el agente debe ser capaz de intentar cumplir
sus propios planes u objetivos.
▪ Social: Debe de poder comunicarse con otros agentes mediante
algún tipo de lenguaje de comunicación de agentes.
▪ Racional: Similar a la característica en los humanos, el agente tiene
unos conocimientos de su entorno, unos objetivos y unas reglas que
determinan cómo alcanzar los objetivos a partir del conocimiento que
maneja.
▪ Coherente: El conocimiento que maneja el agente (base de
conocimiento) tiene un alto grado de cohesión, para que el
comportamiento del agente sea adecuado.
▪ Adaptable: Es capaz de actualizar su base de conocimiento y su
comportamiento (base de reglas) a partir de las percepciones que
recibe de su entorno y de sus comportamientos anteriores
(aprender).

La arquitectura de un agente se clasifica así

Para su clasificación se basa en:


▪ Autonomía
▪ Cooperación
▪ Aprendizaje en agentes
▪ Agentes de interfaz:

Los agentes se clasifican en 6 tipos diferentes:

▪ agentes reactivos
▪ agentes reactivos basados en modelo
▪ agentes basados en objetivos
▪ agentes basados en utilidad
▪ agentes que aprenden
▪ agentes de consultas
Indicar de las técnicas, herramientas de la inteligencia artificial que
utilizará en el proyecto en desarrollo.

• Aprendizaje Automático
• Sistemas basados en reglas
REFERENCIAS

• González, A. (2014). Machine Learning. Recuperado de https://cleverdata.io/que-es-


machine-learning-big-data/
• Departamento de Ingeniería de Sistemas Telemáticos. (2018). Ingeniería el
conocimiento. Recuperado de http://dit.upm.es/~gfer/ssii/rcsi/rcsise4.html
• EcuRed (2018). Lógica Difusa Recuperado de
https://www.ecured.cu/L%C3%B3gica_difusa
• Palmer Por, A. Montaño Moreno, J. (1999). ¿Qué son las redes neuronales artificiales?
Recuperado de http://disi.unal.edu.co/~lctorress/RedNeu/LiRna001.pdf
• Rubio M. (2017). Sistemas Reactivos Recuperado de
https://altenwald.org/2017/06/06/sistemas-reactivos/
• EcuRed (2018). Sistemas Multiagentes Recuperado de
https://www.ecured.cu/Sistemas_Multiagentes
• Sancho, F. (2017). Sistemas Basados en reglas Recuperado de
http://www.cs.us.es/~fsancho/?e=103
• Unidad de Desarrollo Tecnológico e Inteligencia Artificial. (2018). Razonamiento
Basado en casos Recuperado de
http://www.iiia.csic.es/udt/es/artificialintelligence/razonamiento-basado-en-casos
• EcuRed (2018). Sistemas Expertos Recuperado de
https://www.ecured.cu/Sistemas_expertos
• EcuRed (2018). Red Bayesiana Recuperado de
https://www.ecured.cu/Red_Bayesiana
• Universidad Veracruzana (2018). Agentes Inteligentes Recuperado de
https://www.uv.mx/aguerra/documents/2013-ia2-01.pdf
• Narciso, Flor, et al. Estudio de la aplicabilidad de los agentes inteligentes en las
interfaces de usuario. Revista Ciencia e Ingeniería. 28(1), 2007, Red Universidad de
Los Andes, 2007. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3206927.

• (2006, 01). Introducción a las técnicas de inteligencia artificial aplicadas a la gestión


financiera empresarial. Obtenido 09, 2018, de
http://www.eumed.net/ce/2006/mcss.htm
• (2015, 03). TÉCNICAS DE INTELIGENCIA ARTIFICIAL EN LA INGENIERÍA. Obtenido
09, 2018, de
http://portal.uned.es/EadmonGuiasWeb/htdocs/abrir_fichero/abrir_fichero.jsp?idGui
a=80646
• (2018, 01). Obtenido 09, 2018, de https://www.schneider-
electric.es/es/work/insights/artificial-intelligence-tools-can-aid-sensor-systems.jsp
• Inteligencia Artificial (2018). Técnicas y campos de la IA Recuperado de
https://sites.google.com/site/inteligenciartificialudelas/tecnicas-y-campos-de-la-
inteligencia-artificial
• Wikipedia (2018). Aprendizaje Automático Recuperado de
https://es.wikipedia.org/wiki/Aprendizaje_autom%C3%A1tico
• Wikipedia (2018). Lógica Difusa Recuperado de
https://es.wikipedia.org/wiki/L%C3%B3gica_difusa
• Wikipedia (2018). Sistemas Reactivos Recuperado de
https://es.wikipedia.org/wiki/Sistemas_reactivos
• Wikipedia (2018). Sistema Multiagente Recuperado de
https://es.wikipedia.org/wiki/Sistema_multiagente
• Wikipedia (2018). Razonamiento Basado en Casos Recuperado de
https://es.wikipedia.org/wiki/Razonamiento_basado_en_casos
• Wikipedia (2018). Sistema Experto Recuperado de
https://es.wikipedia.org/wiki/Sistema_experto
• Wikipedia (2018). Red Bayesiana Recuperado de
https://es.wikipedia.org/wiki/Red_bayesiana
• Wikipedia (2018). Red Semántica Recuperado de
https://es.wikipedia.org/wiki/Red_sem%C3%A1ntica

You might also like