martes, 2 de junio de 2015

ELEMENTOS DE UN SISTEMA EXPERTO

FACULTAD DE ADMINISTRACIÓN , FINANZAS E INFORMÁTICA


MATERIA:
 BASES DEL CONOCIMIENTO


TEMA:

ELEMENTOS DE UN SISTEMA EXPERTO


INTEGRANTES:

YULEY MARTINEZ CHANG

OLIVER MOLINA GOMEZ

LEONELA ALMEIDA


SEMESTRE:
 OCTAVO SISTEMAS 



ELEMENTOS DE UN SISTEMA EXPERTO

En un sistema basado en reglas, la base de conocimientos contiene el conocimiento de dominio necesario para resolver los problemas codificados en forma de reglas;

Un sistema experto consta de los siguientes componentes:

´Interfaz de usuario: el mecanismo que permite la comunicación entre el usuario y el sistema experto.

´Medio de explicación: explica al usuario el razonamiento del sistema.

´ Memoria activa: una base de datos global de los hechos usados por las reglas.

´Mecanismo de inferencia: hace inferencias al decidir cuales reglas satisfacen los hechos u objetos

´Agenda: una lista con prioridades asignadas a las reglas, creada por el mecanismo de inferencia, cuyos patrones satisfacen los hechos u objetos de la memoria activa.

´ Medio para la adquisición de conocimiento: vía automática para que el usuario introduzca conocimientos en el sistema.


ELEMENTOS PRINCIPALES DE UN SISTEMA EXPERTO


´Este contiene mecanismos lingüísticos que permiten al paquete realizar búsquedas de encadenamiento hacia adelante y hacia atrás en los datos y reglas de la base de conocimientos.

BASE DEL CONOCIMIENTO

Es la parte del sistema experto que contiene el conocimiento sobre el dominio. Una forma clásica de representar el conocimiento en un sistema experto son lar reglas.

Las bases de conocimiento se han clasificado en dos grandes grupos:

Bases de conocimiento legibles por máquinas, diseñadas para almacenar conocimiento en una forma legible por el computador, usualmente con el fin de obtener razonamiento deductivo automático aplicado a ellas.
Bases de conocimiento legibles por Humanos están diseñadas para permitir a las personas acceder al conocimiento que ellas contienen, principalmente para propósitos de aprendizaje. 


BASE DE HECHO (MEMORIA ACTIVA)

Contiene los hechos sobre un problema que se han descubierto durante una consulta. Durante una consulta con el sistema experto, el usuario introduce la información del problema actual en la base de hechos. 

MOTOR DE INFERENCIA

La Inferencia permite deducir nuevo conocimiento a partir de conocimiento que se sabe que es cierto.

Función del Motor de Inferencia

  • Ejecutar acciones para resolver el problema (objetivo) a partir de un conjunto inicial de hechos y eventualmente a través de una interacción con el usuario
  • La ejecución puede llevar a la deducción de nuevos hechos.

INTERFAZ DE USUARIO


Las interfaces son los dispositivos de contacto entre un usuario y una máquina


Tipos de interfaces

Dispositivos de entrada: usuario-máquina.- Los dispositivos de entrada son los que se utilizan para introducir información en el ordenador. Eje teclados, ratones, escáneres.

Dispositivos de salida: máquina-usuario.- Los dispositivos de salida son los que generan, a partir de una orden de un usuario, unidades de significado mediante formas y símbolos empleados en la representación gráfica de la información, o el sonido en el caso de la representación auditiva.


Estructura de un sistema experto basado en reglas






Las categorías de Mecanismos de Inferencia son:

´Determinismo: Lo inferido es una verdad universal. Por ej: el Químico dice con certeza que si un átomo tiene dos electrones, entonces es un átomo de Helio.

´Probabilístico: Son predicciones o probabilidades que no siempre son ciertas (se elige la probabilidad de mayor valor). Por ej: las respuestas a la prevención de abandonos de los cursos de bachillerato, 


miércoles, 13 de noviembre de 2013


DISKOTEK`DKCHE


Heyyy mi People de Urdaneta Ya esta lista y disponible la Pagina que todos querían ver y apreciar la mejor pagina de todos estos tiempos donde podrás ver nuestros Eventos Próximos, Reservaciones y mucho mas









VISITALA YAAA QUE ESPERAS.....


PD: Enlaces donde podrás acceder a nuestra pagina

DOMINIO
http://olivermolina.tz.to/

WIX
http://olivera-o.wix.com/oliver





jueves, 31 de octubre de 2013

DISKOTEK  D`KCHE



Tal y como lo prometimos un avance mas de nuestra pagina web lo cual pronto culminara





Con nuevos eventos como Jueves lokos, Novatadas y mucho mas  lo cual también podrás hacer Reservaciones consultar Precios  y muchas cosas mas:


PROXIMAMENTE TE ESPERAMOS......

lunes, 23 de septiembre de 2013

PROXIMAMENTE ......

HEY MI PEOPLE MUY PRONTO VAS HACER TESTIGO DE ALGO NUEVO Y DIVERTIDO PARA LA JUVENTUD DE URDANETA.....






PD: SABADOS LLENOS DE BAILE Y GOZADERA
PD: PROHIBIDO ABURRIRSE



NOT: PARA MAS INFORMACION SEGUIR ATENTO CON ESTE BLOG


miércoles, 26 de septiembre de 2012

PROGRAMA EN C# QUE PERMITE INGRESAR 3 DIGITOS Y DETERMINA CUANTOS SON PARES Y SI EL NUMERO ENTERO INGRESADO ES PAR O NO



Clase Program
using System;

namespace DEBER
{
    class Program
    {
        public static void Main(string[] args)
        {
            int cant=0;
            do{
            Console.Clear();
            Console.SetCursorPosition(15,2);
            Console.Write("Ingrese Valor de tres digitos: ");
            cant = Convert.ToInt32(Console.ReadLine());  
            }while ((cant<=99) || (cant>999));
          
            //Creo el Objeto para llamar a la clase          
            DigitosPares ObjTrabajo = new DigitosPares(cant);
                ObjTrabajo.SepararDiditos(cant);
                ObjTrabajo.VerResultadoProceso();
                ObjTrabajo.VerificarParSiNo(cant);
                Console.ReadKey();

        }
    }
}
Clase DigitosPares

using System;

namespace DEBER
{
  
    public class DigitosPares
    {
        private int numero;
        private int contador;
      
        public DigitosPares()
        {
        this.numero = 0;
        this.contador = 0;
        }
        public DigitosPares(int num)
        {
          this.numero = num;
            
        }
        public void SepararDiditos(int numero)
        {
            int digito=0;
            while(numero>=1)
            {
                digito=numero%10;
                if ((digito!=0) && (digito%2==0))
                contador++;
                numero=numero/10;
          
        }
        }
        public void VerificarParSiNo(int num )
        {
            int cont=0;
          
            cont=(num % 2);
                      
            if(cont==0){
                Console.WriteLine("El numero {0} si es par",num);
            }
          
            else{
                Console.WriteLine("El numero {0} no es par",num);
            }
        }
      
      
        public void VerResultadoProceso()
        {
            Console.WriteLine("Tiene : {0} numeros pares",this.contador);
        }
    }
}

PROGRAMA EN C# QUE PERMITA INGRESAR TRES DIGITOS Y DETERMINAR LA SUMA DE LOS DIGITOS INGRESADOS ELEVADOS AL CUADRADO Y EL RESULTADO DE LA SUMA VERIFICAR SI ES IGUAL AL NUMERO ENTERO INGRESADO.


Clase Program


using System;

namespace DEBER2
{
    class Program
    {
        public static void Main(string[] args)
        {
            int num=0;
            do{
                Console.Clear();
                Console.SetCursorPosition(15,2);
                Console.Write("INGRESE UN VALOR DE TRES DIGITOS:  ");
                num=int.Parse(Console.ReadLine());
          
            }while((num<=99)||(num>999));

        //CREAMOS EL OBJETO PARA LLAMAR A LA CLASE SumaDigitos
        SumaDigitos ObjTrabajo2 = new SumaDigitos(num);
        ObjTrabajo2.Resultado();
        Console.ReadKey();
        }
    }
}
Clase SumarDigitos
using System;

namespace DEBER2
{

    public class SumaDigitos
    {
        private int numero;
            private int acumulador;
        public SumaDigitos()
        {
            this.numero=0;
            this.acumulador=0;
        }
        public SumaDigitos(int can)
        {
            this.numero=can;
        }
        private void  SepararDigitosAlCuadrado()
        {
            int a=this.numero;
            int digito=0;
            while(a>=1)
            {
                digito=a%10;
                acumulador=(acumulador+(digito*digito));
                a=a/10;
                     }
               }
        public void Resultado()
        {
            int b=this.numero;
            this.SepararDigitosAlCuadrado();
            Console.WriteLine("El numero {0}",acumulador);
          
            if(b==acumulador)
            {
                Console.WriteLine("La suma es igual al numero ingresado");
            }
        else
        {
            Console.WriteLine("La suma no es  igual al numero ingresado");
        }
        }
    }
}


PROGRAMA EN C# QUE PERMITE INGRESAR UN NUMERO DE CEDULA DE IDENTIDAD, VERIFICA SI EL NUMERO DE CEDULA INGRESADO ES CORRECTO.


Clase Program

using System;


namespace AppVerificarCedulaIdentidad
{
    class Program
    {
        public static void Main(string[] args)
        {
            //1. Leer entrada Usuario.
            Console.SetCursorPosition(5,4);
            Console.Write("Ingrese su Cedula de Identidad <10 digitos>: ");
            String ced= Console.ReadLine();
            ced=ced.Trim();
         
            //2. Llamar Metodo para Validar Entrada Usuario.
            if(ValidarEntrada(ced))
            {
                //3. Crear Objeto.
                VerificarIdentidad Cedula= new VerificarIdentidad(ced);
                Console.SetCursorPosition(10,15);
                Console.WriteLine(Cedula.ValidarIdentidad());
            }
            else
            {
                Console.SetCursorPosition(10,7);
                Console.WriteLine("Valor ingresado no es válido..");
            }
         
            //4. Finalizar Programa.
            Console.ReadKey();
        }
        public static bool ValidarEntrada(String pced)
        {
            if (pced.Length == 10)
                return true;
            else
                return false;
        }
    }
}
clase VerificarNumerodeCedula
using System;

namespace AppVerificarCedulaIdentidad
{
    public class VerificarIdentidad
    {
        private String cedula;         
     
        public VerificarIdentidad()
        {
            this.cedula=null; 
        }
        public VerificarIdentidad(String cedula)
        {
            this.cedula=cedula;
        }
        private int ProcesoVerificacion()
        {
            int acum1=0,acum2=0;
            for(int i=0;i<=this.cedula.Length-2;i++)
            {
                int dig= int.Parse(this.cedula.Substring(i,1));
                if(i%2==0)
                {
                    int resul = dig * 2;
                    if (resul>=9)
                        resul = resul - 9;
                    acum1 = acum1 + resul;
                }else
                    acum2= acum2 + dig;
            }
            int suma=acum1+acum2;
            int decena=((suma/10)+1)*10;
            int auto= decena - suma;
            return auto ;
        }

        public String ValidarIdentidad()
        {
            if (this.ProcesoVerificacion() == int.Parse(this.cedula.Substring(9, 1)))
            {
                return "Cedula Identidad Correcta...";
            }
            else
            {
                return "Cedula Identidad Incorrecta...";
            }
        }
    }
}