[GRASS-user] Fuzzy logic in GRASS

Hi list

I added to SVN-ADD-ON repository two new modules:
r.fuzzy: calculates membership of image according mempership function definied by user with 4 inflection poin and some addationa parameters (see description)

r.fuzzy.logic perform fuzzy logic operations (OR, AND, NOT and implication) with 6 families of T-norm and complement dual T-conorms

That modules are only sketch of something bigger which I plan to evolve into full fuzzy logic system (with rules, inferance and decision support system)

There are at least however on problem:
r.fuzzy for GRASS exist and not exist (by Francois Delclaux). I tried to contact with author but it failed and module is not available from add-on web page. For now I leave name r.fuzzy, but if it could be the problem I can change name or remove both module.

I need some comments about my work:

- for r.fuzzy shape parameter use nonstandard solution which is not applied in any software known for me. What you think about it? Or shall I change it into standard dilatation/concentration parameter (power/sqrt)
- i plan to add custom fuzzy set definition but it require manual typing of sets of points or some more complex membership function definition which may be difficult without visual assistance, so I'd like to know if it would be really useful

modules are very simple, but If there would be some problems with compilation or working, please let me know

ragards
Jarek Jasiewicz

On Wed, 3 Mar 2010, Jaros?aw Jasiewicz wrote:

There are at least however on problem:
r.fuzzy for GRASS exist and not exist (by Francois Delclaux). I tried to contact with author but it failed and module is not available from add-on web page. For now I leave name r.fuzzy, but if it could be the problem I can change name or remove both module.

Jarek,

   I've been in contact with Francois after downloading the most recent
version (2000) of the code. At my request he sent me a thesis written by his
student who did most of the work. It's all in French, and my ability to
read, write, and speak that language has deteriorated over the decades to
the point that it's virtually useless. I'll be happy to share what I have.

- for r.fuzzy shape parameter use nonstandard solution which is not applied in any software known for me. What you think about it? Or shall I change it into standard dilatation/concentration parameter (power/sqrt)

   Hedges come in a range of degrees of strength. 'Slightly' is a different
hedge from 'very', for example.

- i plan to add custom fuzzy set definition but it require manual typing of sets of points or some more complex membership function definition which may be difficult without visual assistance, so I'd like to know if it would be really useful

   In my opinion, what is needed first is a comprehensive description of what
such a set of modules is intended to do. That is, in what situations should
it be used and what insights should come from the results. This information
then guides how it should work with raster and vector (lines, areas, points)
data.

   I see two immediate applications. First, for areas traditionally delimited
by crisp boundaries (e.g., soils, geology, wetlands) we should have a
mechanism to define fuzzy boundaries. Second, we should have a mechanism to
query maps with terms such as 'near,' 'far,' 'large,' and 'steep.'

Rich

Rich Shepard pisze:

On Wed, 3 Mar 2010, Jaros?aw Jasiewicz wrote:

There are at least however on problem:
r.fuzzy for GRASS exist and not exist (by Francois Delclaux). I tried to contact with author but it failed and module is not available from add-on web page. For now I leave name r.fuzzy, but if it could be the problem I can change name or remove both module.

Jarek,

  I've been in contact with Francois after downloading the most recent
version (2000) of the code. At my request he sent me a thesis written by his
student who did most of the work. It's all in French, and my ability to
read, write, and speak that language has deteriorated over the decades to
the point that it's virtually useless. I'll be happy to share what I have.

Nice, If you can

- for r.fuzzy shape parameter use nonstandard solution which is not applied in any software known for me. What you think about it? Or shall I change it into standard dilatation/concentration parameter (power/sqrt)

  Hedges come in a range of degrees of strength. 'Slightly' is a different
hedge from 'very', for example.

This is not hedge, it is value which I replace 2 in formula sin^2 *x for standard sigmoid boundary. If parameter is 0 the exponent is 2 on the other hand it changes the exponent to create more dilatation or more concentrate boundaries. It is non-standard solution but is described in description

- i plan to add custom fuzzy set definition but it require manual typing of sets of points or some more complex membership function definition which may be difficult without visual assistance, so I'd like to know if it would be really useful

  In my opinion, what is needed first is a comprehensive description of what
such a set of modules is intended to do.

"Fuzzy set in geology" of Demico, Klir (2004) could be good starting point. I rather do not want to add fuzzy logic tutorial in geosciences to GRASS or at least not now.

That is, in what situations should
it be used and what insights should come from the results. This information
then guides how it should work with raster and vector (lines, areas, points)
data.

No idea on fuzzy logic on vector. But R package "sets" could be good tool to work on vector attributes.

  I see two immediate applications. First, for areas traditionally delimited
by crisp boundaries (e.g., soils, geology, wetlands) we should have a
mechanism to define fuzzy boundaries.

it is included

Second, we should have a mechanism to
query maps with terms such as 'near,' 'far,' 'large,' and 'steep.'

It will be included in third module which is much difficult to write because it require parser of expressions. But I work on it. So if you have software of Francois, send me it.

thanks
Jarek

P.S still ban on my e-mails on your server.

R

On Wed, 3 Mar 2010, Jaros?aw Jasiewicz wrote:

  Hedges come in a range of degrees of strength. 'Slightly' is a different
hedge from 'very', for example.

This is not hedge, it is value which I replace 2 in formula sin^2 *x for standard sigmoid boundary. If parameter is 0 the exponent is 2 on the other hand it changes the exponent to create more dilatation or more concentrate boundaries. It is non-standard solution but is described in description

   Hedges concentrate (narrow) or dilute (widen) the universe of discourse of
the fuzzy set. sin^2 is a hedge, so is ^0.5.

Rich

Thanks Rich!