Ai Dreams Forum

Member's Experiments & Projects => AI Programming => Topic started by: goaty on June 11, 2019, 08:27:31 am

Title: MYCIN
Post by: goaty on June 11, 2019, 08:27:31 am
http://people.dbmi.columbia.edu/~ehs7001/Buchanan-Shortliffe-1984/MYCIN%20Book.htm

Heres a free e-book on 80's expert systems.     
They are cool, and are based apon symbolic logic,  which is the cool of artificial intelligence right?  compared to pattern matching and computer vision, it always seemed like if you got the symbolic logic to work, you knew more about whats going on upstairs I think.

Heres a spin from 2019, from the goatster (me)->

If you have logic implanted in your robots brain,  compared to brute force search it uses 0.000000001% of the computing power required to just blind search the space where the logic is working.   So you can consider it an exponential compressor - if you look at it that way.
Its as good as a quantum computer - if you can build decent Boolean logic models, crafted to the task of the robot, instead of blind searching, which produces the same result, if your logic was correct.

   

Title: Re: MYCIN
Post by: 8pla.net on June 11, 2019, 10:40:03 am
Yeah, expert systems are cool, because they require a human expert, and they are fairly straight forward to write in C Language.  Not many around (on the web) so I wrote an expert system in PHP, for career advice.
Title: Re: MYCIN
Post by: goaty on June 11, 2019, 10:55:07 am
Everything requires a human expert. ;)

If you had to brute blind search for the logic that was inside the expert system,  it would take years and years, and that's what people are expecting to do with genetic algorythms,  im saying if you built a model to get the output, instead of searching for the output, its an exponential gain.

The model can also be built unsupervised, possibly.  for a really amazing robot.
Its not necessarily just hand placed,  it could be half so, for example.
Title: Re: MYCIN
Post by: LOCKSUIT on June 11, 2019, 11:22:50 am
Higher intelligence=faster learning, it is like a quantum super computer.......tons of speed, tons of memory........it's 'hidden'.

The search space becomes so small, that it is like 1 step.....or 100 ??

And it knows where to look too.
Title: Re: MYCIN
Post by: goaty on June 11, 2019, 11:27:31 am
Yeh lock,  im just saying if you have the logic, then its a lot faster than evolving a genetic algorithm.
So im saying if you generate the logic,  instead of just searching the space.   its quicker by an exponent.

In other words.

If you simply have the code for space invaders ai,  it takes exponentially LESS computation, than a genetic algorithm developing in an ANN situation.

So if you develop the logic, its a lot better than doing the brute force search,  and it doesn't get local optima problems, if you were evolving it.
Title: Re: MYCIN
Post by: AndyGoode on June 12, 2019, 02:22:19 am
Meh, expert systems are stone age tools by now. I haven't heard of anyone using them for many years now. Many investors lost a lot of money in the '80s when expert systems were overhyped and never came anywhere near what was promised, so expert systems can have bad connotations nowadays. MYCIN did use O-A-V triples, though, which is a pretty useful and universal method of representation that became extra popular with the semantic web. I even used O-A-V triples at times in my own architecture recently.

(p. 38)
OBJECT-ATTTRIBUTE-VALUE
TRIPLETS
Another common way to represent factual informa-
tion is as object-attribute-value (O-A-V) triplets.
This representational scheme is used in MYCIN, and
so we shall consider it in some detail. In this scheme,
objects may be physical entities such as a door or a
transistor, or they may be conceptual entities such as a
logic gate, a bank loan, or a sales episode. Attributes are
general characteristics or properties associated with
objects. Size, shape, and color are typical attributes
for physical objects. Interest rate is an attribute for a
bank loan, and setting might be an attribute for a sales
episode. The final member of the triplet is the value
of an attribute. The value specifies the specific nature
of an attribute in a particular situation. An apple's
color may be red, for example, or the interest rate for
a bank loan may be 12 percent.

Harmon, Paul, and David King. Expert Systems. 1985. New York: John Wiley & Sons.
Title: Re: MYCIN
Post by: LOCKSUIT on June 12, 2019, 02:45:41 am
I thought triples are:

birds can fly
i ate food
dog swam fast
Title: Re: MYCIN
Post by: AndyGoode on June 12, 2019, 02:56:38 am
I thought triples are:

birds can fly
i ate food
dog swam fast

See page 41:
http://www2.cs.siu.edu/~rahimi/cs537/slides/chapter02.pdf
Title: Re: MYCIN
Post by: LOCKSUIT on June 12, 2019, 03:23:46 am
doesn't seem like it can say this sentence i just wrote

no can replicate

speech replicate 0 ?
Title: Re: MYCIN
Post by: LOCKSUIT on June 12, 2019, 03:26:49 am
also:

In essence, language can be summed up as x comes with y, so we get doubles as the smallest language:

dog swam
i eat
eat i
cat food
run fast

but with a truth value??????
Title: Re: MYCIN
Post by: Korrelan on June 12, 2019, 07:40:52 am
@lock

Korrbot(Pris) uses triples, you can see the data building on the right as it extracts the data from the input. You can then also run inference, etc against the data.

https://youtu.be/NnlV7GtZzN0

 :)
Title: Re: MYCIN
Post by: LOCKSUIT on June 12, 2019, 08:33:40 am
ya i was thinking about Pris the whole time lol

korr, how did you get each word to have n / v / j / c beside them? Hand-made? Corpus-hand-made-downloaded? Or someon'e learning alg?
Title: Re: MYCIN
Post by: Korrelan on June 12, 2019, 08:47:50 am
This one is hand edited (Pris), just so I can keep track of what it's doing lol.

But I did build a decent sized one from a dictionary file.

https://drive.google.com/file/d/1V1uWzorjDSMwoEBwPNu26pSxMAUwFgfI/view?usp=sharing

 :)

Ed: I used the suffix c for colour just to simplify the parsing/ word type substitution.

So 'the sky is blue' becomes 'the n1 is c1' rather than 'the n1 is v1" which creates the triple 'sky, colour, blue'.

Title: Re: MYCIN
Post by: Don Patrick on June 12, 2019, 10:56:10 am
Pretty neat, Korrelan, especially that it knows that hardness and brittleness are factors for breaking things. I'm not sure how you managed that but it's impressive.

Lock: Typically a combination of subject-predicate-object is meant by the word "triple", in which the "predicate" describes the relationship between the two words, often a verb. OAV triples don't seem to be all that different except instead of trying to make the relationship sound like a sentence, like "John IS_A carpenter" or "Sky HAS_THE_COLOUR blue", it names the relationships in the form of a property "John profession carpenter" and "Sky colour blue". It just looks like a different naming convention to me.

Personally I use both triples and doubles in that I leave the object of the triple optional. So I store both "Dog chase cat" and "Dog chase (in general)".
If you only used doubles, you'd get "dog chase", "chase cat", and "dog cat" but then you wouldn't know what the relation is between the dog and the cat unless you still somehow connected all three, it would just be an unspecified association. Useful for poetry and word games, but not for logic.

Seeing some of those sample production rules, I'm not sure if I can still call my system an expert system.
Title: Re: MYCIN
Post by: goaty on June 12, 2019, 11:18:12 am
Can u see its just algebra but with just binary values?

Expert Systems are about using the symbols to solve a given problem, given a set of knowledge that FITS THE TASK.

I think I have to say now,  mathematics is completely failed by man.   That is why expert systems didn't take on,  because man cant take the heat when it comes to algebraic models!!!!!!!!   :tickedoff:
Title: Re: MYCIN
Post by: goaty on June 12, 2019, 05:04:38 pm
im not sure if you guys know what I mean by expert system.

I mean setting up a knowledge model (very much like MYCIN) that is fired off by its sensors for the current scene in front of the bot, with help of your proprietry computer vision system (Like Korrellan's for example :)),  it is then transformed to a set of assignments of how to solve it from where it currently sits.

These assignments have to be in the form where they can be then directly transferred to its motors,   and then it can solve the same task as generally as possible, from as many aspects as you can manage to write the model.

There could be a tiered system where it shares general solves between its tasks,    Easy to say, hard to do, one could think.
Title: Re: MYCIN
Post by: goaty on June 12, 2019, 09:40:35 pm
Ok, ive gone and jumped the gun abit there.  :-[

Coding a routine into the robot is fairly easy,  and 8plas career advice system, is about as complex as doing any menial special task, as in chors around the house, as far as I am concerned as I usually am quite an exaggerative idiot u know (given you know your ai systems well.)    maybe an assembler in a factory might take a bit longer, if theres many different pieces to be put together.

But...    and this is why I think it may have died off a little. (besides all the skeptical lies about how hard computer vision was back then... even after perceptrons were being created just for ppl to say they didn't work which was right trolley.)   is the fact that if the robot were to develop the programs itself, it forms a more truthful set of how deep an activity actually is, given all the build up to it AS WELL.

So the thing with expert systems,  I think,  is they work fine, they operate robots eye boggling well,   but to actually make one develop these programs is more advanced, because youll get a much deeper assignment set,  than if u just GRANT it, the ability to do it.  (which is cheating.)

And its a coin and half,  for "deep learning."
Title: Re: MYCIN
Post by: Don Patrick on June 13, 2019, 12:42:57 pm
What you describe sounds more like AGI than an Expert system to me. If I recall the main problem with Expert systems was that their knowledge/rules had to be programmed manually by experts in specific fields, who were not all that familiar with programming.
Title: Re: MYCIN
Post by: WriterOfMinds on June 13, 2019, 04:42:06 pm
Consider a medical diagnosis assistant: you type in a patient's symptoms and vital signs, and it spits out the patient's probable condition.

Expert System: uses symptoms as keys to search a database of possible causes. Said database was hand-written by a few experienced doctors.

Deep Learning: builds a symptom-to-cause matching algorithm by being trained on the records of thousands of previous patients.

AGI: studies medical textbooks and practices medicine like a human doctor. Diagnoses a new case with a combination of technical knowledge and past personal experience.
Title: Re: MYCIN
Post by: goaty on June 15, 2019, 04:45:58 am
What im thinking of is the same thing,  it can be written in prolog as well.

But my spin is expert systems for mundane tasks,  rather than "expert" tasks,   like for say,  an expert system for doing the dishes,  or one for taking the dog for a  walk.  With a bent towards automation.
Title: Re: MYCIN
Post by: Art on June 15, 2019, 04:11:24 pm
While kind of expensive, you could get the Boston Dynamics, Spot, to walk your dog for you.
Maybe they'd become great friends!;)
Title: Re: MYCIN
Post by: goaty on June 15, 2019, 06:48:18 pm
I bet its not that complicated to entertain a dog with a robot,  but u have to do it a special way.
Title: Re: MYCIN
Post by: Hopefully Something on June 15, 2019, 11:20:04 pm
I tries!  ;D

https://www.youtube.com/watch?v=4Ci6XEsJZeI&feature=youtu.be

Title: Re: MYCIN
Post by: AndyGoode on June 16, 2019, 06:17:52 pm
I bet its not that complicated to entertain a dog with a robot,  but u have to do it a special way.

Get a cat instead. They seem to be more easily entertained by robots.

Cat Vs. Dinosaur - Cat Spooked, Then Befriends a Robot Dinosaur - Maya The Cat
MoulfritProd
Published on Jun 25, 2015
https://www.youtube.com/watch?v=W0khUGNfCIE