Your SlideShare is downloading. ×
0
Agenda<br />¿Quees la Inteligencia Artificial (IA) ? <br />Un poco de historia<br />Susaplicaciones<br />Metodologías<br /...
¿Quees la IA?<br />Ciencia que intenta crear un programa o una máquina que <br />imite el comportamiento y el pensamiento ...
Darle sentido a los mensajes ambiguos o contradictorios
Reconocer la importancia de diferentes elementos en una situación
Encontrar similitudes entre situaciones a pesar de las diferencias que las separan
Encontrar diferencias entre situaciones a pesar de las similitudes que las ligan.</li></ul>validación<br />teoría<br />sof...
Un poco de historia part 1<br />La idea de inteligencias artificiales siempre ha despertado<br />interés en la raza humana...
Frankestein: necesita explicación ¿?
Pinocho
I robot (themovie)</li></li></ul><li>Un poco de historia part 2<br />Volviendo a la realidad…<br />Surge a partir de traba...
Aplicaciones<br />
Maquinas de estadosfinitos<br /><ul><li>Aparecen en sistemas de control
Sencillos
Cantidad finita de posibles estados
Cambiará de estado dependiendo de si se cumple o no la condición de transición
La salida entre un estado y otro puede ser o no binaria </li></ul>Do {<br />If (calentador.estado == false) {<br />If (tem...
Upcoming SlideShare
Loading in...5
×

[Code Camp 2009] Inteligencia Artificial con C# (Marcelo A. Quevedo)

3,585

Published on

[Code Camp 2009] Inteligencia Artificial con C# (Marcelo A. Quevedo)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,585
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
80
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "[Code Camp 2009] Inteligencia Artificial con C# (Marcelo A. Quevedo)"

  1. 1.
  2. 2. Agenda<br />¿Quees la Inteligencia Artificial (IA) ? <br />Un poco de historia<br />Susaplicaciones<br />Metodologías<br /> 1. Maquinas de estadofinito<br /> 2. Algoritmosgenéticos<br /> 3. Redesneuronales<br /> 4. Sistemasexpertos<br /> 5. Lógicadifusa<br />DEMO<br />
  3. 3. ¿Quees la IA?<br />Ciencia que intenta crear un programa o una máquina que <br />imite el comportamiento y el pensamiento humano.<br />Según, ganador de un premio Pulitzer, Douglas Hofstadter, una entidad inteligente<br />debe cumplir con los siguientes requisitos:<br /><ul><li>Responder a situaciones de forma flexible
  4. 4. Darle sentido a los mensajes ambiguos o contradictorios
  5. 5. Reconocer la importancia de diferentes elementos en una situación
  6. 6. Encontrar similitudes entre situaciones a pesar de las diferencias que las separan
  7. 7. Encontrar diferencias entre situaciones a pesar de las similitudes que las ligan.</li></ul>validación<br />teoría<br />software<br />
  8. 8. Un poco de historia part 1<br />La idea de inteligencias artificiales siempre ha despertado<br />interés en la raza humana. Hablando de mitos, leyendas y<br />Hollywood podríamos mencionar a:<br /><ul><li>Galatea: escultura de marfil que representa el ideal de mujer creada por un rey Pygmalión y despertada por Afrodita.
  9. 9. Frankestein: necesita explicación ¿?
  10. 10. Pinocho
  11. 11. I robot (themovie)</li></li></ul><li>Un poco de historia part 2<br />Volviendo a la realidad…<br />Surge a partir de trabajos publicados en la década de 1940, a partir del trabajo en<br />1950 de Alan Turing, matemático británico, se abre una nueva disciplina de las <br />ciencias de la información.<br />Si bien las ideas fundamentales se remontan a la lógica y algoritmos de los griegos, <br /> a las matemáticas de los árabes, varios siglos antes de Cristo, el concepto de <br />obtener razonamiento artificial aparece en el siglo XIV. A finales del siglo XIX se <br />obtienen lógicas formales suficientemente poderosas y a mediados del siglo XX, se <br />obtienen máquinas capaces de hacer uso de tales lógicas y algoritmos de solución.<br />Diagrama de Turing<br />
  12. 12. Aplicaciones<br />
  13. 13. Maquinas de estadosfinitos<br /><ul><li>Aparecen en sistemas de control
  14. 14. Sencillos
  15. 15. Cantidad finita de posibles estados
  16. 16. Cambiará de estado dependiendo de si se cumple o no la condición de transición
  17. 17. La salida entre un estado y otro puede ser o no binaria </li></ul>Do {<br />If (calentador.estado == false) {<br />If (temperatura &lt; 50) {<br />calentador.estado = true<br />}<br /> <br />}<br />Elseif (calentador.estado == true) {<br />If (temperatura &gt; 100) {<br />calentador.estado = false<br />}<br />} <br />} while (dispositivo.estado == true) <br />ON<br />OFF<br />
  18. 18. Algoritmosgenéticos part 1<br />Inspirados en la forma en teoría de la evolución. (explicar)<br />Estado estable<br />Ruleta<br />Torneo<br />Punto sencillo<br />Dos puntos<br />Múltiples puntos<br />Mutacion: calculamos la relación de mutación. Este valor nos va a indicar la posibilidad que determinado cromosoma mute. Para la mutación se invierte el valor que debería ir en dicho cromosoma.<br />Cálculo de adaptación<br />Selección de padres<br />Cruce y mutación<br />
  19. 19. Algoritmosgenéticos part 2<br />Funciones elementales<br />CalcularAdaptacion() <br />Primero obtenemos los factores (altura, fuerza, etc) que van a determinar los valores que prevalecen sobre el resto. Segundo <br />evaluamos la aptación de cada individuo de la población respecto a dichos valores.<br />Con dichos valores conformamos un valor general de adaptación.<br />SeleccionarPadres()<br />Recorriendo la población y comparando sus valores de adaptación seleccionamos los padres que tengan los valores mas altos. <br />Es decir, los mas adaptados<br />Cruce()<br />Iniciamos la creación de la segunda generación. Cargamos los padres seleccionados. Y por último mediante la <br />función random determino cuantos cromosomas serán heredados por cada iteración en la creación de la generación. Ya con esto, <br />analizo nuevamente mediante una función aleatoria si el gen que se pasa a dicho cromosoma en particular, es de la madre o del <br />padre.<br />Mutación() para ella damos la probabilidad deseada a un if con un random cargado para indicarle al sistema en que casos <br />plicaría la mutación de mas esta decir, randomizada. <br />
  20. 20. Redesneuronales part 1<br /><ul><li>Imitan la forma en que el cerebro procesa la información y pueden aprender.
  21. 21. Contamos con varias capas. Cada capa esta formada por un conjunto de neuronas. Las diferentes neuronas de las diferentes capas se conectan entre sí.</li></ul>entrada<br />proceso<br />salida<br />Datos necesarios para el procesamiento, se recomienda usar una nuerona para cada tipo de dato representativo. <br />Para cada entrada se usará una escala para graduar los valores<br />Cada neurona tendrá un valor de bias, que nos permitirá manejar los valores de tendencia en la salida<br />comer<br />proteínas<br />NO comer<br />minerales<br />comer poco<br />vitaminas<br />El valor de entrada se calculará como la sumatoria de todas (las neuronas * el peso que les corresponde) + (el bias de la neurona * su peso) <br />Para procesar dicha información usamos funciones de activación.<br />
  22. 22. Redesneuronales part 2<br />Procesamiento de la información:<br />Funcion de paso<br /> Donde la funcion es 0 para x &lt; 0 y es 1 para x &gt; 0<br />Función lineal<br /> Donde la funcion es = x<br />Función logística<br />Funcion = 1 / (1 + e(-x))<br />Aprendizaje supervisado: se analiza un problema ya resuelto, ingreso los valores de entrada y observo sus resultados. En base a los datos obtenido modifico los valores de tendencia hasta obtener el resultado teórico.<br />Calculo de error<br />Actualización de datos<br />
  23. 23. Sistemasexpertos<br /><ul><li>Trabajan como si fuera un experto en algún área en particular
  24. 24. Utiliza el tipo de reglas que el experto usaría para solucionar el problema (costos).
  25. 25. Existen reglas que nos permiten utilizar esos conocimientos importantes.
  26. 26. Conocimiento declarativo (informacion especifica) y procesal (requiere procsamiento).
  27. 27. Reglas y meta-reglas
  28. 28. Memoria de reglas y memoria de trabajo.</li></ul>Base de conocimiento<br />SISTEMAEXPERTO<br />Base de conocimiento<br />Motor de inferencia<br />Interfaz de usuario<br />
  29. 29. LogicaDifusa part 1<br />Logica estricta<br />Nos dice si algo es verdadero o falso. Por ejemplo, “estamos en CodeCamp&quot; Pese a <br />El hombre trabaja con una lógica no tan estricta (vehículo) <br />Procesamos información sin valores exactos<br />Logica Difusa<br />Grado de membrecía, para el ejemplo, &quot;que tanto doblo a la derecha”. Por definicion, que <br />grado de pertenencia tiene una proposición sobre un conjunto. Toma valores entre 0 y 1.<br />
  30. 30. LogicaDifusa part 2<br />Para crear una aplicacion necesitamos de 3 pasos fundamentales: <br />Fuzzificacion: consiste en tomar un valor de entrada y convertirlo en un dato difuso, averiguando su grado de membrecía en los conjuntos correspondientes <br />Funciones de membrecía (ifs)<br /><ul><li>de GradoInverso
  31. 31. Triangulares : toma 3 valores siendo los puntos del triangulo y mas los datos de entrada que necesitemos, según entre que puntos este el valor de entrada será el grado devuelto.
  32. 32. de Trapezoide </li></ul>Reglas difusas: mediante reglas determinadas obtenemos el grado de membrecía de la entrada con relación a la salida del programa. <br />Desfuzzificacion: a veces es necesario convertir el valor de membrecía en un numero real <br />
  33. 33. Demo<br />
  34. 34. ¿Preguntas?<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×