Started by Oct 15 2001 04:26 AM

,
11 replies to this topic

Posted 15 October 2001 - 04:26 AM

Disclaimer: I know little about AI, physics programming and fuzzy logic... I just like to make posts with interesting speculations, based on nearly unresearched ideas.
Fuzzy Logic is a branch of logic which tries to deal with the uncertainty of things. Instead of presenting things as having a status of 1 or 0. It will present them as "nearly" X...
So I wonder what kinds of applications such logic / mathematical systems could have in terms of computer games?
Maybe such mathematics could be used in Physics systems? To incorporate the chaotic elements of chance in games. (Anyone able to supply a reason for this??). Maybe instead of accurately representing the spatial coordinates of an object, games could represent them with a small degree of uncertainty.. so that the object would be locatable.. but not in an "exact" place at anytime when in motion. Ie. Very close to 1 metre above the ground.
???

Posted 15 October 2001 - 04:34 AM

how would you get reproducible results if you made fuzzy physics. reproducible results are necessary for any simulation, and especially necessary for online gaming.

Posted 15 October 2001 - 04:46 AM

Anonymous, random number generators produce repeatable results, if you seed it with the same thing.

I''m not sure I see the value of an uncertain object position (in a game), though. After all, when you get down to it, you have to render it somewhere. I think it''s enough to give objects a random velocity vector in some sort of bound, and then do the physics accurately from there.

IIRC, Electrons and such are modelled with this kind of ''fuzzy'' position.

I''m not sure I see the value of an uncertain object position (in a game), though. After all, when you get down to it, you have to render it somewhere. I think it''s enough to give objects a random velocity vector in some sort of bound, and then do the physics accurately from there.

IIRC, Electrons and such are modelled with this kind of ''fuzzy'' position.

Posted 15 October 2001 - 04:52 AM

quote:Original post by Anonymous Poster

how would you get reproducible results if you made fuzzy physics. reproducible results are necessary for any simulation, and especially necessary for online gaming.

This is achiveable using predictable randomness. What I mean is design your physics with random behaviour, but get the random numbers from a fixed table, or a rand() function with a known seed. Then to re-run the simulation just use the same ''random'' data or random seed.

I''m not a great fan of this though. Most sufficiently complex physical simulations display chaotic behaviour. E.g. something as simple a Pool game: the physics of a ball-ball collision is very simple and predictable but putting just 16 of them on a table and the outcome of them all colliding in the break is chaotic and for all practical purposes random. Just design an complete and precise physics simulator and interestingly unpredictable behaviour will drop out of it quite naturally.

Posted 15 October 2001 - 05:13 AM

Hehe... I think floating-point imprecision already causes too much randomness

Fuzzy Logic and Neural networks are somewhat hard to deal with, and in my eyes, not very promising with current computer hardware. It might be interesting to have a highly-optimized and accelerated neural network, such as a fly''s brain.

I just don''t think its a good idea to simulate the lowest level of a brain cell''s function with a CPU which is able to cope with a lot more complex expressions in less time. (I mean you need 30 ASM instructions to do a simple 1-cell decision)

AI-Simulations might, however, be a lot more realistic if their behaviour would be unpredictable, random and not always logically correct: Humans don''t act that way either. I don''t think that this will be very successful without a real neural network attached.

Fuzzy Logic and Neural networks are somewhat hard to deal with, and in my eyes, not very promising with current computer hardware. It might be interesting to have a highly-optimized and accelerated neural network, such as a fly''s brain.

I just don''t think its a good idea to simulate the lowest level of a brain cell''s function with a CPU which is able to cope with a lot more complex expressions in less time. (I mean you need 30 ASM instructions to do a simple 1-cell decision)

AI-Simulations might, however, be a lot more realistic if their behaviour would be unpredictable, random and not always logically correct: Humans don''t act that way either. I don''t think that this will be very successful without a real neural network attached.

Posted 15 October 2001 - 06:21 AM

quote:Original post by Ketchaval

Maybe such mathematics could be used in Physics systems? To incorporate the chaotic elements of chance in games. (Anyone able to supply a reason for this??). Maybe instead of accurately representing the spatial coordinates of an object, games could represent them with a small degree of uncertainty.. so that the object would be locatable.. but not in an "exact" place at anytime when in motion. Ie. Very close to 1 metre above the ground.

That sounds more like "fuzzy location" - the position of the object is absolute/definite but the ability of another object to perceive that is "fuzzy." I use that technique in my physical reasoning logic for a sports game I''ve been procrastinating on forever... I add a little noise modulated by a "perception" property to the actual position of the object. I also add some noise to simulate "accuracy" when throwing a ball for exampe - add pseudorandom values to the desired velocity. I collectively term all of these "estimation techniques."

Posted 15 October 2001 - 08:17 AM

Hey, funny. Wenn I saw this post, the first thing I thought of was quantum mechanics, too.

Posted 15 October 2001 - 05:33 PM

Ketchaval, if you're going to cross-post something to 2 forums, please mention that in your post (in each forum).

To quote from my reply to Ketchaval's post in the AI forum...

Fuzzy Logic is concerned with degrees of truth of a proposition. In Aristotlean logic, the proposition "John is tall" would have a subjective binary value depending on who was evaluating the proposition. Fuzzy Logic permits (but doesn not guarantee) an assessment of objective truth of states of the form "John is tall" or "X belongs to the set Y". Fuzzy Logic is a Truth Maintenance System and suffers from the same problems as other such systems.

Probability theory on the other hand is concerned with degrees of belief. Put another way, an assignment of a probability of p to a proposition is a measure of how confident one is that the proposition is true. To assign a probability to "John is tall" would be to estimate how likely it is that John is tall, rather than short, tiny, huge or some other size in the height scale.

Probabilistic representations of uncertainty are therefore measuring our degree of uncertainty in our knowledge of events, rather than some inherent uncertainty in the events. Of course, probabilistic systems suffer from certain pitfalls as well.

What Ketchaval is talking about is a probabilistic representation of uncertainty, rather than a Fuzzy representation. One should be careful in the use of terminology as an inaccurate label can lead to misunderstanding.

LilBudyWizer posited that Quantum Physics was fuzzy physics. Close, but not quite. Quantum Mechanics (the maths used to described Quantum Physics) is fundamentally related to probability theory. In a very lay sense, where Quantum Mechanics describes wave functions and their evolution, Probability theory describes Density functions and their evolution.

The point about 'fuzzy location' is certainly a candidate for a probabilistic representation of uncertainty. The first thing that should strike you is the Fuzzy Logic is concerned with sets of objects. It is nigh on impossible to apply Fuzzy Logic to a continuous domain without some ugly simplifications. One can easily imagine though a Gaussian (Normal) distribution being used to describe the location that a cannon ball will fall on and apply damage to each location relative to the probability of the ball falling there. Alternatively, the prediction about where an enemy unit will be after the time it takes for the cannon ball to fly through the air could be given as a probability distribution. The gunner could aim the cannon so as to maximise the expected damage done to the unit (this would essentially be the product of the damage probability, the location probability and the total damage of the cannon ball).

Anyway, enough from me. If anyone has specific questions about Fuzzy Logic or Probability Theory (or how to use them in a game) then please feel free to post them here (or in the AI forum).

Cheers,

Timkin

Edited by - Timkin on October 15, 2001 12:34:37 AM

To quote from my reply to Ketchaval's post in the AI forum...

Fuzzy Logic is concerned with degrees of truth of a proposition. In Aristotlean logic, the proposition "John is tall" would have a subjective binary value depending on who was evaluating the proposition. Fuzzy Logic permits (but doesn not guarantee) an assessment of objective truth of states of the form "John is tall" or "X belongs to the set Y". Fuzzy Logic is a Truth Maintenance System and suffers from the same problems as other such systems.

Probability theory on the other hand is concerned with degrees of belief. Put another way, an assignment of a probability of p to a proposition is a measure of how confident one is that the proposition is true. To assign a probability to "John is tall" would be to estimate how likely it is that John is tall, rather than short, tiny, huge or some other size in the height scale.

Probabilistic representations of uncertainty are therefore measuring our degree of uncertainty in our knowledge of events, rather than some inherent uncertainty in the events. Of course, probabilistic systems suffer from certain pitfalls as well.

What Ketchaval is talking about is a probabilistic representation of uncertainty, rather than a Fuzzy representation. One should be careful in the use of terminology as an inaccurate label can lead to misunderstanding.

LilBudyWizer posited that Quantum Physics was fuzzy physics. Close, but not quite. Quantum Mechanics (the maths used to described Quantum Physics) is fundamentally related to probability theory. In a very lay sense, where Quantum Mechanics describes wave functions and their evolution, Probability theory describes Density functions and their evolution.

The point about 'fuzzy location' is certainly a candidate for a probabilistic representation of uncertainty. The first thing that should strike you is the Fuzzy Logic is concerned with sets of objects. It is nigh on impossible to apply Fuzzy Logic to a continuous domain without some ugly simplifications. One can easily imagine though a Gaussian (Normal) distribution being used to describe the location that a cannon ball will fall on and apply damage to each location relative to the probability of the ball falling there. Alternatively, the prediction about where an enemy unit will be after the time it takes for the cannon ball to fly through the air could be given as a probability distribution. The gunner could aim the cannon so as to maximise the expected damage done to the unit (this would essentially be the product of the damage probability, the location probability and the total damage of the cannon ball).

Anyway, enough from me. If anyone has specific questions about Fuzzy Logic or Probability Theory (or how to use them in a game) then please feel free to post them here (or in the AI forum).

Cheers,

Timkin

Edited by - Timkin on October 15, 2001 12:34:37 AM

Posted 15 October 2001 - 05:50 PM

I was thinking along the lines of brownian motion, it could be useful to simulate nano-machines. So unless you''re injecting the player into a neo-modern Tron, it''s not really useful for a game.

Posted 15 October 2001 - 07:07 PM

In the spirit of Ketchaval, I suppose maybe we could have a certain set spatial positioning Rules the characteristic vector (which may be 1,2 or 3 dimensional) of which will have a certain mapping on R3 vector space. The mapping could be made complex enough to make the translation look unpredictable. So a ''hint'' is all that is needed to instantiate the object somewhere in the R3. Now all we need is to determine the exact nature of the mapping (perhaps using markov chains) that will suitably allow the required unpredictability into the system, while at the same time avoiding hardcore pseudo-randomness. The characteristic vector will be the only interface to monitors trying to locate the object, so in effect we achieve what we want.

I am pretty much out of touch with the stuff I am talking about, so apologies if something went wrong somewhere .

Zawar.

I am pretty much out of touch with the stuff I am talking about, so apologies if something went wrong somewhere .

Zawar.

Posted 15 October 2001 - 08:50 PM

quote:Original post by Magmai Kai Holmlor

I was thinking along the lines of brownian motion, it could be useful to simulate nano-machines. So unless you're injecting the player into a neo-modern Tron, it's not really useful for a game.

Brownian motion has the statistics given by the Weiner process (which is a specialised form of a diffusion process). You can write the process model as an Ito Stochastic Differential Equation and instantiate paths through the state space using this process model - giving Brownian motion for your object. This is inherentaly a probabilistic model of motion where there exists some underlying stochastic forcing term driving the randomness. These ideas can be extended to more complex process models. I'm not going to go into more detail as it is far beyond the scope of this forum. Essentially though, you can write down a process model to describe the motion of your object through its state space.

The statistics of these processes can then be utilised in very interesting ways, especially to make decisions based on the likelihood of states at various times. Last year I published a paper showing the underlying mathematical connection between diffusion processes (which include the Weiner process) and Dynamic Bayesian Networks. The DBNs are a nice framework for working with probability distributions, especially if they are extended to Decision Networks. The diffusion process, stochastic DE and DBN are all inherantly related and this relationship can be exploited in very interesting ways.

So, I think it is a little erroneous to suggest that randomness and uncertainty cannot be utilised in games. It simply takes a little imagination to think of a context within which uncertainty would be entertaining!

Regards,

Timkin

Edited by - Timkin on October 16, 2001 3:55:02 AM