开发者

What is rule-based algorithm?

开发者 https://www.devze.com 2023-02-16 06:24 出处:网络
What\'s the specific definition of a rule-based algo开发者_如何学Gorithm? Are there frameworks that offers rule-based algorithm (MSDN)?If you mean algorithms for \"association rule learning\", then th

What's the specific definition of a rule-based algo开发者_如何学Gorithm? Are there frameworks that offers rule-based algorithm (MSDN)?


If you mean algorithms for "association rule learning", then those are algorithms for automatically discovering interesting relations among variables in large dataset (a typical problem in Machine Learning). Wikipedia has a good description for this, including a list of algorithms and also links to implementations. Unfortunately I don't know of any specific implementation in c#.


This could have other meanings for other people (you didn;t specify much context here). What comes to mind for me is rules like this:

rule 1: an cat is a mamal

rule 2: a mamal has a tail

combining rules 1 and 2 we can conclude that a cat has a tail. this is called forward chaining.

Things to google for:

  • expert systems
  • List item
  • forward/ backward chainging
  • Rete algorithm Windows
  • Workflow Foundation (has a rule engine)

But again, this is what comes to my mind. There maybe other meanings to the phrase 'rule-based algorithm'.


When I heard "rule-based algorithm", I immediately thought of a "rules engine", which would allow users of your application to customize behavior by specifying conditions and other rules for actions your app performs.

These are not trivial to implement; you're basically creating your own language to be interpreted by your application. MS has a couple of tools, the Business Rules Engine and the Windows Workflow Foundation; I can tell you from experience they are both a [derogatory name for female dog] to work with.


In some programming languages like Mathematica a rule based programm is defined as one that uses replacement rules (replacing parts of an expression by something else) rather than procedural constructs to do something. This can be very powerful and make some algorithms much simplier to implement.


I Also have a post at my blog about what is a forward chain inference engine and how Rete as a pattern matching algorithm works. You can find more detail at http://www.flexrule.com/archives/forward-chain-inference-engine-with-rete/

0

精彩评论

暂无评论...
验证码 换一张
取 消