SlideShare uma empresa Scribd logo
1 de 40
Regras de Produção: o Motor de Inferência JESS Prof. Fred Freitas CIn - UFPE
Componentes de um  Motor de Inferência ,[object Object],[object Object],[object Object]
Regras de Produção ,[object Object],[object Object],[object Object],[object Object],[object Object]
Regras de Produção ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sistemas de Produção ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Módulos de Sistemas de Produção ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquitetura de Sistemas de Produção
Funcionamento de um sistema de regras de produção ,[object Object],[object Object],[object Object],[object Object],[object Object]
Sistemas Especialistas Facts "Item #123 is expensive speakers" "Gold cables are expensive" "Bob is a customer" "Bob is buying item #123" Rules "Recommend appropriate cables when customers buy speakers" Inference Engine List of Actions to Take "Recommend that Bob buy gold cables." O problema é simples... [Friedman-Hill]
Sistemas Especialistas Facts Rules Inference Engine For every customer, for every item in their cart, if it is speakers, for every catalog item, if the cart item is the catalog item, if the catalog item is in some price category, for every catalog item, if it is a cable and it is in the same category, recommend that cable to that customer. List of Actions to Take "Recommend that Bob buy gold cables." ... Mas a solução é cara: O (RF P )
O Algoritmo Rete ,[object Object],[object Object],[object Object],[object Object],[object Object]
O Algoritmo Rete Facts Rules Inference Engine When a customer picks out an item, if it is speakers, recommend the appropriate cables. List of Actions to Take "Recommend that Bob buy gold cables." ... o algoritmo Rete pode ser O(RF)
O Algoritmo Rete ,[object Object],[object Object],x? y? x? y? z? p q “ rede de  padrões" “ rede  conjunta" 8 nós [Friedman-Hill]
O Algoritmo Rete ,[object Object],[object Object],x? y? z? p q 6 nós Otimização 1: Compartilhamento da rede de padrões x & y => assert(p) x & y & z => assert(q)
O Algoritmo Rete ,[object Object],[object Object],x? y? z? p q 5 nós Otimização 2: Compartilhamento na  rede conjunta x & y => assert(p) x & y & z => assert(q)
Boas práticas: eficiência ,[object Object],[object Object],[object Object]
Praticando ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Definindo fatos e regras ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplos ,[object Object],[object Object],[object Object]
Problemas de mergulho: DIVER1.CLP
[object Object],[object Object],[object Object],[object Object]
A Linguagem das Regras ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[Friedman-Hill]
Pacotes (módulos) de Regras ,[object Object],[object Object],[object Object],[object Object]
Qualidades das Regras ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Desvantagens ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Sistemas de Produção Plugáveis   ,[object Object],[object Object],[object Object],[object Object]
CLIPS: Integração C-regras ,[object Object],[object Object],[object Object]
JESS  - Java Expert System Shell ,[object Object],[object Object],[object Object]
Frames  e Herança em JESS ,[object Object],[object Object],(deftemplate ANIMAL (slot color) (slot weight)) (deftemplate CAT extends ANIMAL (slot whisker-count))  ;;CAT has three slots: color, weight, and whisker-count (deftemplate box    (slot location)   (multislot contents)) (assert   (box(location kitchen)    (contents spatula sponge frying-pan))) ,[object Object]
Manipulando JESS a partir de Java ,[object Object],public void definaInstancia(String atomo, Object objeto) throws ReteException { Funcall f = new Funcall("definstance", rete); f.add(new Value(atomo, RU.ATOM)); f.add(new Value(objeto, RU.EXTERNAL_ADDRESS)); f.simpleExecute(f, rete.globalContext()); }
Integração com Java  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Integração com Java ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[Friedman-Hill]
Jess e Ontologias via Protégé ,[object Object],[object Object],[object Object],[object Object]
Achar as cidades paraibanas mais próximas (entre 5   ) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Estilo de programar com regras ,[object Object],[object Object],[object Object],[object Object]
1º. Calcular as distâncias ,[object Object],[object Object],[object Object],[object Object],[object Object]
1º. Calcular as distâncias ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3º Achar o menor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3º Achar o menor ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusões ,[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Apresentacao anvisa
Apresentacao anvisaApresentacao anvisa
Apresentacao anvisa07082001
 
Revisão enade saude do adulto
Revisão enade saude do adultoRevisão enade saude do adulto
Revisão enade saude do adultoAroldo Gavioli
 
Sumário de Situação Paciente ( idoso)
Sumário de Situação Paciente ( idoso)Sumário de Situação Paciente ( idoso)
Sumário de Situação Paciente ( idoso)luzienne moraes
 
Materiais Cirurgicos e Tecnicas de Instrumentação
Materiais Cirurgicos e Tecnicas de InstrumentaçãoMateriais Cirurgicos e Tecnicas de Instrumentação
Materiais Cirurgicos e Tecnicas de InstrumentaçãoEduardo Bernardino
 
Sobre o filme: Patch Adams - O amor é contagioso
Sobre o filme: Patch Adams - O amor é contagiosoSobre o filme: Patch Adams - O amor é contagioso
Sobre o filme: Patch Adams - O amor é contagiosoGeisa Brandão
 
Aula - Segurança do paciente e vigilância em saúde na rede EBSERH durante a p...
Aula - Segurança do paciente e vigilância em saúde na rede EBSERH durante a p...Aula - Segurança do paciente e vigilância em saúde na rede EBSERH durante a p...
Aula - Segurança do paciente e vigilância em saúde na rede EBSERH durante a p...Proqualis
 
Vascularização de membros superiores
Vascularização de membros superioresVascularização de membros superiores
Vascularização de membros superioresBlenda Neiva
 
Aula Sinais vitais.pptx
Aula Sinais vitais.pptxAula Sinais vitais.pptx
Aula Sinais vitais.pptxTaty Simões
 
Biofísica aula 6 biofísica da circulação sanguínea 2016 betania
Biofísica aula 6 biofísica da circulação sanguínea 2016 betaniaBiofísica aula 6 biofísica da circulação sanguínea 2016 betania
Biofísica aula 6 biofísica da circulação sanguínea 2016 betaniaBetânia Campos
 
Medidas antropometricas (IMC, CA e ICQ)
Medidas antropometricas (IMC, CA e ICQ)Medidas antropometricas (IMC, CA e ICQ)
Medidas antropometricas (IMC, CA e ICQ)Prof. Saulo Bezerra
 

Mais procurados (20)

Estatística
EstatísticaEstatística
Estatística
 
Apresentacao anvisa
Apresentacao anvisaApresentacao anvisa
Apresentacao anvisa
 
Biofisica da Audição
Biofisica da AudiçãoBiofisica da Audição
Biofisica da Audição
 
Revisão enade saude do adulto
Revisão enade saude do adultoRevisão enade saude do adulto
Revisão enade saude do adulto
 
Sumário de Situação Paciente ( idoso)
Sumário de Situação Paciente ( idoso)Sumário de Situação Paciente ( idoso)
Sumário de Situação Paciente ( idoso)
 
Materiais Cirurgicos e Tecnicas de Instrumentação
Materiais Cirurgicos e Tecnicas de InstrumentaçãoMateriais Cirurgicos e Tecnicas de Instrumentação
Materiais Cirurgicos e Tecnicas de Instrumentação
 
Teoria dos Conjuntos
Teoria dos ConjuntosTeoria dos Conjuntos
Teoria dos Conjuntos
 
Sinais vitais aula 4
Sinais vitais aula 4Sinais vitais aula 4
Sinais vitais aula 4
 
Sobre o filme: Patch Adams - O amor é contagioso
Sobre o filme: Patch Adams - O amor é contagiosoSobre o filme: Patch Adams - O amor é contagioso
Sobre o filme: Patch Adams - O amor é contagioso
 
Aula - Segurança do paciente e vigilância em saúde na rede EBSERH durante a p...
Aula - Segurança do paciente e vigilância em saúde na rede EBSERH durante a p...Aula - Segurança do paciente e vigilância em saúde na rede EBSERH durante a p...
Aula - Segurança do paciente e vigilância em saúde na rede EBSERH durante a p...
 
Vascularização de membros superiores
Vascularização de membros superioresVascularização de membros superiores
Vascularização de membros superiores
 
A Fisiologia Do Sistema RespiratóRio
A Fisiologia Do Sistema RespiratóRioA Fisiologia Do Sistema RespiratóRio
A Fisiologia Do Sistema RespiratóRio
 
Relato de caso clínico
Relato de caso clínicoRelato de caso clínico
Relato de caso clínico
 
Aula Sinais vitais.pptx
Aula Sinais vitais.pptxAula Sinais vitais.pptx
Aula Sinais vitais.pptx
 
Biofísica aula 6 biofísica da circulação sanguínea 2016 betania
Biofísica aula 6 biofísica da circulação sanguínea 2016 betaniaBiofísica aula 6 biofísica da circulação sanguínea 2016 betania
Biofísica aula 6 biofísica da circulação sanguínea 2016 betania
 
Probabilidade - Estatística I
Probabilidade - Estatística IProbabilidade - Estatística I
Probabilidade - Estatística I
 
Medidas antropometricas (IMC, CA e ICQ)
Medidas antropometricas (IMC, CA e ICQ)Medidas antropometricas (IMC, CA e ICQ)
Medidas antropometricas (IMC, CA e ICQ)
 
A Peste da Janice
A Peste da Janice   A Peste da Janice
A Peste da Janice
 
SINAIS VITAIS (SSVV).pptx
SINAIS VITAIS (SSVV).pptxSINAIS VITAIS (SSVV).pptx
SINAIS VITAIS (SSVV).pptx
 
Anatomia humana 1ª aula 10 mar 2014
Anatomia  humana 1ª aula 10 mar 2014Anatomia  humana 1ª aula 10 mar 2014
Anatomia humana 1ª aula 10 mar 2014
 

Destaque

VI Encontro CECIEx - Rodrigo Cota
VI Encontro CECIEx - Rodrigo CotaVI Encontro CECIEx - Rodrigo Cota
VI Encontro CECIEx - Rodrigo Cota24x7 COMUNICAÇÃO
 
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...FGV | Fundação Getulio Vargas
 
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...Mauricio Portugal Ribeiro
 
Quais são as garantias de pagamento público ideais para contratos de PPP?
Quais são as garantias de pagamento público ideais para contratos de PPP?Quais são as garantias de pagamento público ideais para contratos de PPP?
Quais são as garantias de pagamento público ideais para contratos de PPP?Mauricio Portugal Ribeiro
 

Destaque (6)

Ops5
Ops5Ops5
Ops5
 
20130913 concessoes
20130913 concessoes20130913 concessoes
20130913 concessoes
 
VI Encontro CECIEx - Rodrigo Cota
VI Encontro CECIEx - Rodrigo CotaVI Encontro CECIEx - Rodrigo Cota
VI Encontro CECIEx - Rodrigo Cota
 
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
FGV / IBRE - O PAC e as Políticas Públicas de Incentivo ao Desenvolvimento do...
 
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
Novo fundo garantidor de PPPs federais pode também ser utilizado por Estados ...
 
Quais são as garantias de pagamento público ideais para contratos de PPP?
Quais são as garantias de pagamento público ideais para contratos de PPP?Quais são as garantias de pagamento público ideais para contratos de PPP?
Quais são as garantias de pagamento público ideais para contratos de PPP?
 

Semelhante a Regras de Produção: o Motor de Inferência JESS

BRMS - Business Rules Management System
BRMS - Business Rules Management SystemBRMS - Business Rules Management System
BRMS - Business Rules Management SystemSamuel Tauil
 
Java Desktop
Java DesktopJava Desktop
Java Desktopciceroclc
 
J Boss Rules Mgjug V2
J Boss Rules Mgjug V2J Boss Rules Mgjug V2
J Boss Rules Mgjug V2Breno Barros
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoPaulo Morgado
 
Akka no Just Java 2012
Akka no Just Java 2012Akka no Just Java 2012
Akka no Just Java 2012Paulo Siqueira
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosEduardo de Lucena Falcão
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVAWillian Magalhães
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com javaMaurício Linhares
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHGiovanni Bassi
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated QueryDalton Valadares
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMCAlisson Agiani
 
Mobileconf dicas-android
Mobileconf dicas-androidMobileconf dicas-android
Mobileconf dicas-androidAlberto Souza
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2michellobo
 

Semelhante a Regras de Produção: o Motor de Inferência JESS (20)

BRMS - Business Rules Management System
BRMS - Business Rules Management SystemBRMS - Business Rules Management System
BRMS - Business Rules Management System
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
J Boss Rules Mgjug V2
J Boss Rules Mgjug V2J Boss Rules Mgjug V2
J Boss Rules Mgjug V2
 
Performance em Java
Performance em JavaPerformance em Java
Performance em Java
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPonto
 
Akka no Just Java 2012
Akka no Just Java 2012Akka no Just Java 2012
Akka no Just Java 2012
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVA
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
Tdc2010 web
Tdc2010 webTdc2010 web
Tdc2010 web
 
Jdbc e hibernate
Jdbc e hibernateJdbc e hibernate
Jdbc e hibernate
 
Domain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BHDomain Driven Design (DDD) - DevIsland, BH
Domain Driven Design (DDD) - DevIsland, BH
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated Query
 
DDD > Experiências
DDD > ExperiênciasDDD > Experiências
DDD > Experiências
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMC
 
Mobileconf dicas-android
Mobileconf dicas-androidMobileconf dicas-android
Mobileconf dicas-android
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
 
Threads 09: Paralelismo
Threads 09: ParalelismoThreads 09: Paralelismo
Threads 09: Paralelismo
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 

Mais de elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Mais de elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Regras de Produção: o Motor de Inferência JESS

  • 1. Regras de Produção: o Motor de Inferência JESS Prof. Fred Freitas CIn - UFPE
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Arquitetura de Sistemas de Produção
  • 8.
  • 9. Sistemas Especialistas Facts "Item #123 is expensive speakers" "Gold cables are expensive" "Bob is a customer" "Bob is buying item #123" Rules "Recommend appropriate cables when customers buy speakers" Inference Engine List of Actions to Take "Recommend that Bob buy gold cables." O problema é simples... [Friedman-Hill]
  • 10. Sistemas Especialistas Facts Rules Inference Engine For every customer, for every item in their cart, if it is speakers, for every catalog item, if the cart item is the catalog item, if the catalog item is in some price category, for every catalog item, if it is a cable and it is in the same category, recommend that cable to that customer. List of Actions to Take "Recommend that Bob buy gold cables." ... Mas a solução é cara: O (RF P )
  • 11.
  • 12. O Algoritmo Rete Facts Rules Inference Engine When a customer picks out an item, if it is speakers, recommend the appropriate cables. List of Actions to Take "Recommend that Bob buy gold cables." ... o algoritmo Rete pode ser O(RF)
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.