Resumo Completo sobre Prolog, Lógica Fuzzy e Agentes
Classificado em Tecnologia
Escrito em em português com um tamanho de 12,88 KB.
Prolog
Código Prolog:
irmao(X,Y) :- gerou(Z,X), gerou(Z,Y), homem(X).
irma(X,Y) :- gerou(Z,X), gerou(Z,Y), mulher(X).
tio(X,Y) :- irmao(X,Z), pai(Z,Y); irma(Z,X), mae(Z,Y).
1. A tabela a seguir relaciona a cada funcionário de uma empresa seu código, nome e salário:
Cod | Nome | Salário |
1 | Cris | 1000.9 |
2 | Raul | 1200 |
3 | Mary | 903.5 |
4 | Jose | 1110 |
Elabore programa Prolog: faça uma consulta para saber o nome do funcionário com salário menor que 1100.
Banco de Dados Prolog:
Funcionario(1,Cris,1000.9).
Funcionario(2,Raul,1200).
Funcionario(3,Mary,903.5).
Funcionario(4,Jose,1110).
Pesquisa: ?- Tabela(_,_,X), X
Fazer consulta de dependentes:
Banco de Dados Prolog:
Dependente(1,Julia).
Dependente(2,Felipe).
Dependente(2,Marcio).
Dependente(3,Bruna).
Pesquisa: ?- Funcionario(X,Y,_), Dependente(X,Z), X = 1.
(Eu acho que é isso mesmo) A vírgula indica E, então Funcionario E Dependente tem que ter X = 1, os que forem iguais a 1, vai trazer Y (Nome Func) e Z (Nome Depen).
2 – Prolog para ver o maior número:
maior(X,Y,W): - (X>=Y),(X>=W), write(‘maior’),write(x);
(Y>=X),(Y>=W), write(‘maior’),write(Y);
(W>=X),(W>=W), write(‘maior’),write(W);
Consulta:
?- maior(2,5,1).
Observações Importantes:
- NUNCA ESQUEÇA DE POR PONTO FINAL EM CADA LINHA!
- AS LETRAS DEVEM SER MAIUSCULAS NAS VARIÁVEIS
- O NOME DAS CLASSES (PAI,FILHO,MENOR,FUNCIONARIO) DEVE TER LETRA MINUSCULA!
3 – Fatorial (0,1).
Fatorial(N,F):- N > 0, N is N-1, fatorial(N1,F1), F is N*F1.
4 – Soma de Termos em Prolog:
soma(A,B,N,S):- S is (A + B)*N/2.
Onde A é o primeiro termo, B é o penúltimo termo, N é o número de termos.
5 - Tabela de filmes:
Filme(Titulo,Genero,Ano,Duração). (montar tabela com os dados).
Pesquisa:
?- filme(X,_,Y,_), Y =
? – filme(X,comedia,_,_). (Trata os filmes de comédia).
6 – No Banco de Dados:
pais(Brasil,A,P) D is P/A. Significa que Brasil é um Pais, A é sua area e P é sua população. D é P/A (Densidade)
Para Consulta: ?- pais(Brasil,5,200).
Perguntas
Qual é a diferença de busca por Largura e por Profundidade?
Ambas são buscas a cegas, elas fazem a procura de uma solução sem maiores informações, apenas com as iniciais. Ambas verificam todas as possibilidades e não verificam 2x a mesma.
Diferença: Busca por largura verifica apenas o inicio e o fim da solução (Para ver se é do problema correto e atendeu o pedido) e por isso, ela pode escolher não a melhor solução, pois ela não verifica se o “meio” da solução é o mais rápido, ou mais eficiente. Já a busca por profundidade, pode demorar um pouco mais para rodar no sistema, mas ela verifica a solução por completa, para averiguar qual é a melhor.
O que é Rede Neural Artificial?
Se assemelha a rede humana, ela recebe conhecimento inicial (Inputados) e tenta resolver problemas em cima daquilo que ela aprendeu. Este processo faz com que ela adquira novos conhecimentos.
A Rede Neural pode ser supervisionada ou não supervisionada.
A Supervisionada é quando o homem diz se a máquina obteve um resultado correto (Ou seja, ensina a máquina).
O que é a Lógica Fuzzy?
A lógica Fuzzy possui a característica de trabalhar com meio termo. Por exemplo: uma criança tem até 12 anos e um adulto possuí no mínimo 18, e quem fica entre essa faixa? Não seria nem 0 nem 1.
A lógica fuzzy permite definir o grupo do meio termo, ou seja, entre 12 e 18.
A lógica fuzzy trabalha com a fuzzyficação, que permite verificar entre 0 e 1, ou seja, 0.2, que não é nem 0, nem 1, diferente da lógica booleana que utiliza apenas 0s e 1s.
Qual é a responsabilidade do Engenheiro de Conhecimento?
Ele é o responsável por desenvolver a base de conhecimento para o sistema, junto ao especialista da área.
Para que é utilizado Mineração de Dados?
Mineração de Dados é utilizado para quando se tem uma quantidade muito grande de dados e é necessário fazer a extração de padrões, ou seja, informações que estejam relacionadas. Caso você tenha uma linha muito grande de produtos e deseja saber quais são compostas por Sódio acima de 20mg, você é capaz de minerar (peneirar) essas informações e obter os dados daquele padrão, Ou seja, filtrar as informações.
O que é um sistema baseado em casos?
É um sistema que recebe um problema e armazena essa informação num banco de dados. Conforme você vai colocando as informações de como resolver, o sistema vai armazenando. Caso você venha a ter o mesmo problema, o sistema já aprendeu como resolver e resolve o problema sozinho. Caso você deixe ele resolver um problema sozinho que não tenha no Banco de Dados, ele tenta resolver sozinho, buscando casos semelhantes no seu Banco.
V ou F?
- V - A inferência indutiva é um dos principais métodos para derivar conhecimento novo e predizer eventos futuros.
- V – A lógica Fuzzy NÃAAO utiliza operadores lógicos (booleanos).
- F – As regras no Prolog definem os fatos! NÃO! Os fatos definem as regras!
Informações:
Sistemas especialistas são programas destinados a solucionar problemas em campos específicos de conhecimento. Estes programas devem ter desempenho comparável ao dos especialistas humanos na execução dessas tarefas.
Vai cair lógica de predicados:
Vai cair lógica de predicado:
Pai(Pai,Filho)
filho(Filho,Pai).
Agentes
Um agente é definido como uma entidade computacional que funciona de forma contínua e autônoma em um ambiente restrito, ambiente no qual, podem existir outros agentes com características comuns ou não. Informalmente um agente é alguém ou alguma coisa que atua como um procurador com propósito específico de realizar ações que podem ser entendidas como benéficas dentro do contexto onde ele atua.
Agentes reativos
Pode desenvolver inteligência a partir de interações com seu ambiente, não necessita modelo preestabelecido.
São eles:
Agentes reativos simples
Respondem a percepções
Interpreta entrada, verifica regra correspondente e age
Agentes reativos baseado em modelo
Mantêm o estado interno para aspectos não percebidos
Estado interno modela mundo
Pode utilizar percepções passadas para base em decisões
Agentes cognitivos
Complexo, com mecanismos de tomada de decisões avançados, interações sofisticadas e com um objetivo fortemente estabelecido.
Agentes baseados em objetivos
Procuram atingir alvos
Mais flexível que reativos
Agentes baseados na utilidade
Tentam maximizar suas expectativas
Pondera probabilidade de sucesso em relação à importância de objetivos