🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

neural net works and fuzzy logic

Started by
12 comments, last by AlbertoT 21 years, 5 months ago
Hello I have in mind to use the neurons output of a neural networks as fuzzy variables. The target is to simplify the neural network but at the same time to generate a wide range of diversified reactions of my character. Can it work ? thanks
Advertisement
That really depends on how you implement it. Principally, an ANN represents a functional mapping from an input space to an output space. Your inputs can be states of an artificial domain which map to fuzzy variables describing the domain. You are then free to use those fuzzy variables as you desire within a fuzzy logic framework.

Give it a go... that''s the best way to decide if it works or not.

Cheers,

Timkin
A lot of NNs uses analogic outputs, inputs. The firts definitions of NN are analogics... This works with signoidal functions... Insted of 1 and 0 the value ranges from one value to another with a float variable(if implemmented on computers).
The most books show it, and you will find a lot of things in a google search, just type "signoidal functions".

--------------------------
Rory Gallagher blues will never die.
---------------------------
Que que foi, que que foi, O que eh que hah?
--------------------------Rory Gallagher and Chico Science music !!!!!!!---------------------------____||~~~~|/TT
Thanks for your reply.
Let me explain a little more.
I have read somewhere that although the neurons outputs are analogic, they are not linear.
For example ,if the outputs are 0.3 - 0.6 - 0.9 , it does not mean that they can be used as fuzzy variables : weak - normal - strong
If you assume that, you can expect non realistic beheviours of your character
Is it true ?

bye


The Sigmoid function is certainly nonlinear... if this is what you were asking.

As to the issue of using outputs directly as fuzzy variables... you can do this... it just requires that you train your network so that it displays appropriate behaviour in the fuzzy output system, given the input states. It means that your evaluation of the network wont be performed directly on the output values, but rather on the fuzzy behaviours generated by these values. This would, of course, create difficulties if you were using back-propogation to train the network. You might want to consider training via a genetic algorithm, in which case, if you haven''t already done so, check out fup''s site for some good information on the topic.

Cheers,

Timkin
The signoidal function is not the only one used in NN, there are other ones that are linear... but the problem is that, the way that your NN is configured and treined makes this function not linear evan if it''s linear, because the way that it reponds to the imputs....


--------------------------
Rory Gallagher blues will never die.
---------------------------
Que que foi, que que foi, O que eh que hah?
--------------------------Rory Gallagher and Chico Science music !!!!!!!---------------------------____||~~~~|/TT
neural networks can have any output you like... linear or non linear. It depends on the function they are approximating.



ai-junkie.com
quote: Original post by AlbertoT
I have in mind to use the neurons output of a neural networks as fuzzy variables.
The target is to simplify the neural network but at the same time to generate a wide range of diversified reactions of my character.
Can it work ?


Fuzzy logic can certainly be combined with neural networks, and there are many ways to do this. For example, fuzzy sets may be defined (as membership functions) along any numeric range, so the numbers output by a neural network may then be interpreted in light of fuzzy sets- possibly being processed further by some fuzzy process.

I published an article a few years ago on using fuzzy c-means clustering to preprocess training data for a neural network. Fuzzy memberships in the clusters were input to the neural network (with spectacular results on the artificial data set I used).

Some researchers have gone so far as to use fuzzy sets for neural network weights and outputs.

It would probably help if you explained what you are trying to accomplish.
quote: Original post by AlbertoT
I have read somewhere that although the neurons outputs are analogic, they are not linear.
For example ,if the outputs are 0.3 - 0.6 - 0.9 , it does not mean that they can be used as fuzzy variables : weak - normal - strong
If you assume that, you can expect non realistic beheviours of your character
Is it true ?


There are several, distinct issues here. First, the actual output of most artificial neural networks is a number (or vector of numbers). As such, numbers are neither linear nor nonlinear- they are "just numbers". The mapping of a neural network from inputs to outputs may be linear or nonlinear. Even a nonlinear neural network may have a linear mapping in the output neurons.

None of this (linear/nonlinear) has anything to do with whether fuzzy sets may be defined on the numeric output of a neural network. Fuzzy sets may be defined on any numeric range.




Thanks again to all of you for your reply
I must say Timkin''s answer #2 is what I was looking for.
Actually the "Trick" is to link the ANN inputs to the fuzzy logic outputs instead of to the ANN outputs and using the GA for training.
In this way it should be possible to overcome the intrinsic non linearity of ANN.
I want to simulate human beings emotions
The main issues are unpredictable , diversified but still logic reactions.
The cost is defintly not important ( it is not a real time game )
as long as I can achieve more satisfactory results vs the traditional FSM implementations

This topic is closed to new replies.

Advertisement