DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA CARRERA DE INGENIERÍA DE SOFTWARE
INFORME DE LABORATORIO No. 04 ASIGNATURA: INTELIGENCIA ARTIFICIAL I
CÓDIGO: COMP 22039
NRC:
1727
NIVEL: VIII
SEMANA CLASE: II
DURACIÓN: 2 HORAS
DEPARTAMENTO: ELÉCTRICA Y ELECTRÓNICA
CARRERA: INGENIERÍA DE SOFTWARE
ÁREA DEL CONOCIMIENTO: SOFTWARE
TEMA: AGENTES RESOLVENTES DE PROBLEMAS:ARRANCAR UN VEHICULO CON TRANSMISION MANUAL
DOCENTE: ING. LUIS ALBERTO GUERRA CRUZ MsC
ALUMNOS: OLIVAREZ TENELEMA JANETH NATALI ROMERO REINOSO JHOSELIN VANESSA VERA VELASQUEZ DIANA GUADALUPE
FECHA REALIZACIÓN: 07-NOVIEMBRE-2016 FECHA DE ENTREGA: 10-NOVIEMBRE-2016
EJE DE FORMACIÓN: PROFESIONAL
A. FUNDAMENTACIÓN:INTELIGENCIA RESOLVENTES-PROBLEMAS
ARTIFICIAL
-AGENTES
Los agentes resolventes-problemas son un tipo de agente basado en objetivo que aunque no siempre conocen todo sobre el problema que van a solucionar, buscan secuencias de acciones que conduzcan a los estados deseables. A continuación se definen las fases que sigue un agente resolventeproblemas para resolver un problema:
Formular: Elige un objetivo y trata de satisfacerlo. Define un problema (proceso de decidir qué acciones y estados considerar). Buscar: Si tiene distintas opciones inmediatas de valores desconocidos examina las diferentes secuencias posibles de acciones que le conduzcan a estados de valores conocidos, y entonces escoge la mejor secuencia. Ejecutar: Ejecuta la secuencia de acciones definidos anteriormente.
B. DESCRIPCIÓN: Éste laboratorio está formado por una investigación sobre los agentes resolventes-problemas y la implementación del ejemplo realizado en clases, en lenguaje java con las validaciones correspondientes, donde se identifica lo mencionado anteriormente.
C. OBJETIVO: Implementar y diseñar el proyecto y ejemplo a realizar: arrancar un vehículo con transmisión manual realizado en lenguaje java, IDE Neatbeans.
D. PROYECTO:
Investigar sobre los agentes resolventes-problemas. Documentar lo investigado.
E. TAREAS A REALIZAR: Describir las actividades o tareas que el estudiante debe desarrollar para alcanzar el objetivo de la práctica: Describa cada punto requerido en la práctica, de manera que permitan resolver un problema general. Implementar el ejemplo práctico realizados en clases en lenguaje Java.
F. ANALISIS: EJEMPLO EN CLASES: AGENTE PARA ARRANCAR UN VEHICULO CON TRASMISION MANUAL 1. FORMULAR OBJETIVO: OBJETIVO 1: ARRANCAR VEHICULO. 2. FORMULAR EL PROBLEMA: ACCION 1: INTRODUCIR LA LLAVE EN EL SWITCH. ACCION 2: COLOCAR PALANCA DE CAMBIO EN NEUTRO. ACCION 3: VERIFICAR QUE LA TRANSMISION ESTA EN PUNTO MUERTO.
ACCION 4: GIRAR LA LLAVE DE O PARA ARRANCAR EL VEHICULO. ACCION 5: SOLTAR LA LLAVE JUSTO DESPUES DE PUNTO DE ARRANQUE. 3. FASE DE BUSQUEDA: PROBLEMA ACCION 1: 1.1: VERIFICAR LA LLAVE ADECUADA QUE CABE EN EL SWITCH DEL VEHICULO. 1.2: INTRODUCIR LA LLAVE TOTALMENTE DENTRO DEL SWICTH. PROBLEMA ACCION 2: 2.1: UBICAR EL PEDAL DE EMBRAGUE. PROBLEMA ACCION 3: 3.1: VERIFICAR QUE NINGUNA DE LAS MARCHAS ESTA ENGRANADA ANTES DE INTENTAR ARRANCAR EL VEHICULO. 3.2: VERIFICAR QUE ESTA EN NEUTRO, MOVIENDO LIGERAMENTE LA PALANCA DE CAMBIOS, SI SE MUEVE EN LIBERTAD ENTONCES ESTA ENGRANADA, SI LA PALANCA ESTA EN UN PUNTO, ENTONCES EL AUTOMOVIL TIENE UNA MARCHA. PROBLEMA ACCION 4: 4.1: GIRAR LA LLAVE DOS PUNTOS Y PRESIONAR CONTRA UN TERCERO. 4.2: VERIFICAR DE NO SACAR LA LLAVE MIENTRAS LA GIRA. PROBLEMA ACCION 5: 5.1: VERIFICAR DE NO GIRAR LA LLAVE POR MAS TIEMPO, LUEGO DE QUE HAIGA ARRANCADO. G. IMPLEMENTACION: EJEMPLO EN CLASES: AGENTE PARA VEHICULO CON TRASMISION MANUAL
ARRANCAR
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package pryagente; import javax.swing.ListModel; import javax.swing.DefaultListModel; /** * * @author Personal */ public class frmveneta extends javax.swing.JFrame { /** * Creates new form frmveneta */
UN
public frmveneta() { initComponents(); } private void btnrespuestaActionPerformed(java.awt.event.ActionEvent evt) { if (cb1.isSelected()) { if (jList1.getSelectedIndex()==0) { lblaccion.setText("Llave adecuada verificada"); }else if(jList1.getSelectedIndex()==1){ lblaccion.setText("Llave totalmente introducida en el switch"); } } if (cb2.isSelected()) { if (jList1.getSelectedIndex()==0) { lblaccion.setText("Pedal de enbraque ubicado"); } } if (cb3.isSelected()) { if (jList1.getSelectedIndex()==0) { lblaccion.setText("Se ha verificado que ninguna de las marchas esta engranda"); }else if(jList1.getSelectedIndex()==1) { lblaccion.setText("Al mover ligeramente la palanca se verifico que esta en neutro"); } } if (cb4.isSelected()) { if (jList1.getSelectedIndex()==0) { lblaccion.setText("Se ha girado la llave y presionado contra un tercero"); }else if(jList1.getSelectedIndex()==1) { lblaccion.setText("Se ha verificado que no se ha sacado la llave mientras se la giraba"); } } if (cb5.isSelected()) { if (jList1.getSelectedIndex()==0) { lblaccion.setText("Se ha verificado que el tiempo para girar la llave es la correcta"); } } } private void cb1MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: modelo.addElement("Acción 1.1: Verificar la llave adecuada que cabe en el switch del vehiculo"); modelo.addElement("Acción 1.2: Introducir la llave totalmente dentro del switch"); } private void cb2MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: modelo.addElement("Acción 2.1: Ubicar pedal de embrague"); } private void cb3MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: modelo.addElement("Acción 3.1: Verificar que ninguna de las marchas está engranada, antes de intentar arrancar el vehículo"); modelo.addElement("Acción 3.2: Verificar que está en neutro, movimiendo ligeramente la palanca de cambios, sí se mueve con libertad entonces no está engranada, si la palanca está en un punto, entonces el automóvil tiene una marcha"); } private void cb4MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: modelo.addElement("Acción 4.1: Girar la llave dos puntos y presionar contra un tercero"); modelo.addElement("Acción 4.2: Verificar de no sacar la llave mientras gira"); } private void cb5MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here:
modelo.addElement("Acción 5.1: Verificar de no girar la llave por más tiempo luego de que haya arrancado"); } private void btnlimpiarActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: modelo.removeAllElements(); this.jList1.setModel(modelo); lblaccion.setText(""); } }); } // Variables declaration - do not modify private javax.swing.JButton btnlimpiar; private javax.swing.JButton btnrespuesta; private javax.swing.ButtonGroup buttonGroup1; private javax.swing.JCheckBox cb1; private javax.swing.JCheckBox cb2; private javax.swing.JCheckBox cb3; private javax.swing.JCheckBox cb4; private javax.swing.JCheckBox cb5; private javax.swing.JLabel jLabel5; private javax.swing.JList jList1; private DefaultListModel modelo; private javax.swing.J j1; private javax.swing.J j2; private javax.swing.J j3; private javax.swing.J j4; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JLabel lblaccion; // End of variables declaration }
H. PRUEBAS: EJEMPLO EN CLASES: AGENTE PARA VEHICULO CON TRASMISION MANUAL
ARRANCAR
UN
I. REPORTE: REQUERIMI ENTOS FUNCIONAL ES
ANÁLI SIS
AGENTES RESOLVENTES DE PROBLEMAS:A RRANCAR UN VEHICULO CON TRANSMISION MANUAL CALIFICACIÓN J. RESULTADOS Y CONCLUSIONES:
DISEÑ O
IMPLE MENTA CIÓN
PRU EBA S
NO TA
El estudio de los agentes resolventes-problemas es necesario dentro de la Inteligencia Artificial, ya que estos agentes son aquellos que buscan darle soluciones a problemas que son frecuentes en la vida cotidiana. Teniendo componentes que son indispensable conocer sus conceptos para poder resolver problemáticas. Los agentes tienen como prioridad es poseer técnicas o algoritmos que hagan que el agente sea capaz de darle soluciones óptimas a los problemas, es por esto que en la inteligencia artificial ha desarrollado mecanismo eficaces para la resolución de problemas.
Por lo tanto, el llegar a la meta no es sólo la solución, también importa cómo llegar hasta ella y con qué costo, es importante llegar a un solución que sea óptima, es decir, realizando la menor cantidad de pasos posibles lo que hace que el costo del camino sea más bajo.
K. ACTIVIDADES SEGÚN CRONOGRAMA: ENTREGA: 10 de Noviembre del 2016 AGENTES RESOLVENTES DE PROBLEMAS:ARRANCAR UN VEHICULO CON TRANSMISION MANUAL
L. REFERENCIAS BIBLIOGRÁFICAS: [online]: Tema:
http://mpaolamendoza.blogspot.com/2015/05/agentes-resolventes-problemas.html agentes resolventes de problemas
[online]: http://jraquelm2.wixsite.com/ia2raquelmurillo/single-post/2015/04/20/TEMA-1-AGENTESRESOLVENTES-DE-PROBLEMAS Tema: agentes resolventes de problemas [online]: Tema:
http://intartificialdcarolinamolina.blogspot.com/2015/11/agentes-resolventes-problemas.htm l agentes resolventes de problemas
[online]: Tema:
http://sistemasexpertos602.blogspot.com/2013/06/agentes-resolventes-problemas.html agentes resolventes de problemas
[online]: Tema:
https://inteligenciartificial2kc.wordpress.com/2015/04/21/hola-mundo/ agentes resolventes de problemas