[alg] boek over expertsystemen/compilers?

Pagina: 1
Acties:
  • 143 views sinds 30-01-2008
  • Reageer

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik ben eigelijk op zoek naar een boek over compilers/interpreters en expertsystemen. Ik zoek niet zozeer een boek over toepassing van expertsystemen, maar meer over de ideeen erachter zoals slots, frames, netwerken en inference technieken, en hoe dat het best technisch gerealiseerd kan worden. Ik heb er intussen al een hele lading ideeen over, maar ik zou het toch erg fijn vinden om hier wat meer over te weten.

Ik zit al een tijdje te bladeren, maar ik kom uit op compilers boeken waarin niets vermeld staat over concepten uit expertsystemen, of ik kom uit bij de toepassing van expertsystemen. Wie kan mij wat verder helpen?

[edit]
ps: ik ben morgen pas weer online, dus dan kan ik ook weer reageren.

[ Voor 22% gewijzigd door Alarmnummer op 30-06-2003 12:39 ]


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 22-08 01:56
Misschien ben ik bevooroordeeld of heb ik geen goed beeld van de materie, maar ik vind "expert system" zo'n ballerige blaatterm dat ik me nauwelijks kan voorstellen dat er concrete, zinnige theorie over bestaat. Het feit dat je niets substantieels kunt vinden zou er dus zomaar aan kunnen liggen dat je zoekt naar een concept wat uitsluitend relevantie heeft vanuit marketing-oogpunt.

Als ik het mis heb, dan zou ik graag een heldere omschrijving van de term "expert system" horen; de kans is klein dat ik je dan beter kan helpen, maar als er dan verder geen nuttige reacties op dit topic komen, ben ik er in ieder geval nog wat van opgestoken. :)

  • Appesteijn
  • Registratie: Juni 2001
  • Niet online
bedoel je kennissystemen? Zo ja, dan heb ik hier nog wel "Knowledge engineering and management" van G. Schreider ea. liggen. Dat is een methode om de data uit een expert te eliciteren en die handig in een model te implementeren. Ik zal nog wel even zoeken of ik nog meer kan vinden.

Soutaker welkom op GoT voor dit soort vragen hebben we google:
(grapje) :)

http://www.kun.nl/en/projecten/expertsysteem/debaar.html

http://users.skynet.be/lvdp/expert/th2.html

[ Voor 30% gewijzigd door Appesteijn op 01-07-2003 00:44 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Soultaker schreef op 01 juli 2003 @ 00:24:
Als ik het mis heb, dan zou ik graag een heldere omschrijving van de term "expert system" horen
offtopic:
De enige omschrijving c.q. definitie die ik ken, is die van Turban en Aronson.
Zij stellen:
Expert system
A computer system that applies reasoning methodologies to knowledge in a specific domain to render advice or recommendations, much like a human expert. A computer system that archieves a high level of performance in task areas that, for human being requires years of special education and training.
offtopic:
Wel ben ik met je eens dat een aantal onderdelen hierin (bewust?) vaag zijn gehouden. "Much like a human expert" geeft imho dan ook een vrij abstracte benadering..
Of het een marketing praatje is, durf ik niet te zeggen. Hiervoor te weinig mee in aanraking gekomen. Wel lijkt me dat een marketeer beter met andere zaken kan schermen dan met de term "expert system"

Aangezien het boek als onderwerp Decision Support Systems had, is niet al te diep op expert systemen in gegaan. Verder is het boek gebruikt bij een economische opleiding; dit houdt in dat er alleen vanaf afstand c.q. gebruikerskant er naar gekeken is. Zo staat wel beschreven wat de stappen zijn voor het bouwen van een neuraal netwerk. Echter, de concrete ontwikkeling (codetechnisch) ontbreekt volledig; alleen de activeiten staan beschreven, voor- en nadelen, etc.
Voor de volledigheid: Decision Support Systems and Intelligent Systems, Turban & Aronson, ISBN: 0-13-032723-9

[ Voor 37% gewijzigd door gorgi_19 op 01-07-2003 07:32 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • SWfreak
  • Registratie: Juni 2001
  • Niet online
Compilers hebben volgens mij niet zo veel met expert systemen te maken, but anyway:
Ik knal maar wat ideeen neer:
Compilers: Principles, Techniques and Tools, A. V., Aho, R. Sethi en J. D. Ullman, ISBN: 0201100886 (een klassieker)
Modern Compiler Implementation in ..., A. W. Apple, ISBN: 0521586542
Over expertsystemen is het wat lastiger. Ik heb hier Introduction to Expert Systems, Peter Jackson, ISBN: 0201676868. Is wel een mooi overzichtsboek, maar leunt af en toe een beetje teveel op CLIPS (C++, PROLOG en LISP doorelkaar). Maar realiseer je wel dat expert systemen, of in het algemeen beslissingsondersteunende systemen een redelijk groot veld is. Over ieder hoofdstuk in Jackson kun je wel weer een apart boek schrijven. Ook zou ik persoonlijk uit ieder boek over expert systemen het stuk over certainty factors willen scheuren, maar goed, das weer een ander verhaal.

offtopic:
Definitie is altijd een beetje vaag. In Jackson staat de volgende, misschien wat minder abstractere:
An expert system is a computer program that represents and reasons with knowledge of some specialist subject with a view to solving problems or giving advice.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
SWfreak schreef op 01 juli 2003 @ 01:34:
Compilers hebben volgens mij niet zo veel met expert systemen te maken, but anyway:
Ik knal maar wat ideeen neer:
Compilers: Principles, Techniques and Tools, A. V., Aho, R. Sethi en J. D. Ullman, ISBN: 0201100886 (een klassieker)
Die staat ook op mijn lijstje om in de toekomst nog eens aan te schaffen. Maar hij is zo duur!
Modern Compiler Implementation in ..., A. W. Apple, ISBN: 0521586542
Heb ik ;) Erg fijn boek en voor het groot deel komt mijn kennis over compilers hier ook uit.
Over expertsystemen is het wat lastiger. Ik heb hier Introduction to Expert Systems, Peter Jackson, ISBN: 0201676868. Is wel een mooi overzichtsboek, maar leunt af en toe een beetje teveel op CLIPS (C++, PROLOG en LISP doorelkaar). Maar realiseer je wel dat expert systemen, of in het algemeen beslissingsondersteunende systemen een redelijk groot veld is. Over ieder hoofdstuk in Jackson kun je wel weer een apart boek schrijven. Ook zou ik persoonlijk uit ieder boek over expert systemen het stuk over certainty factors willen scheuren, maar goed, das weer een ander verhaal.
Die ben ik idd al tegen gekomen, en die staat ook op mijn lijstje om nog aan te schaffen (samen met Writing Compilers and Interpreters).

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Soultaker schreef op 01 juli 2003 @ 00:24:
Misschien ben ik bevooroordeeld of heb ik geen goed beeld van de materie, maar ik vind "expert system" zo'n ballerige blaatterm dat ik me nauwelijks kan voorstellen dat er concrete, zinnige theorie over bestaat. Het feit dat je niets substantieels kunt vinden zou er dus zomaar aan kunnen liggen dat je zoekt naar een concept wat uitsluitend relevantie heeft vanuit marketing-oogpunt.
Dat is niet zo. Over het algemeen zit er een declaratieve of functionele taal onder (hopelijk geen paradigma discusssie! :P).

Expertsystemen gebruiken een aantal technieken (die je dus vaak weer terug ziet) om te modeleren/afleiden (en die kan je dus weer bouwen binnen een andere taal). Een van die technieken is Frames. Je kan een frame zien als een record (of een class) waarvan de velden (Slot) lazy zijn aangemaakt. Vanuit mijn oo achtergrond is dit niet lastig om te realiseren, maar je kan soms toch voor hele vervelende verassingen staan.

Stel dat je bv een slot gaat evalueren, die zichzelf uiteindelijk als waarde nodig heeft. Wat gaat er dan gebeuren? Dit zijn dingen die je naar verloop van tijd wel ontdekt (of van te voren al hebt bedacht), maar hoeveel addertjes onder het gras zijn er nog meer? En verder lijkt het me handig om de gedachtengang van een andere programmeur eens te bekijken zodat ik zelf nieuwe ideeen op doe.

Wat een expertsysteem trouwens meer moet kunnen dan een kennis systeem is dat een expertsysteem ook zijn argumentatie duidelijk moet kunnen maken met de bekende 'how' vraag. Verder moet het ook duidelijk kunnen maken waarom hij het vraagt, de 'why' vraag.

[ Voor 19% gewijzigd door Alarmnummer op 01-07-2003 09:12 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Appesteijn schreef op 01 July 2003 @ 00:38:
bedoel je kennissystemen? Zo ja, dan heb ik hier nog wel "Knowledge engineering and management" van G. Schreider ea. liggen. Dat is een methode om de data uit een expert te eliciteren en die handig in een model te implementeren. Ik zal nog wel even zoeken of ik nog meer kan vinden.
Ik ben niet op zoek naar een boek over de toepassing van expertsystemen. Dat soort boeken kan ik bij de vleet op amazon wel krijgen. Ik ben op zoek naar een boek waarin expertsystemen uit de ontwerper zijn optiek is geschreven. Het zal dus iets zijn in de geest van 'how to write an expertsystem' ;)

  • Appesteijn
  • Registratie: Juni 2001
  • Niet online
Alarmnummer schreef op 01 July 2003 @ 09:04:
[...]

Ik ben niet op zoek naar een boek over de toepassing van expertsystemen. Dat soort boeken kan ik bij de vleet op amazon wel krijgen. Ik ben op zoek naar een boek waarin expertsystemen uit de ontwerper zijn optiek is geschreven. Het zal dus iets zijn in de geest van 'how to write an expertsystem' ;)
Ja maar dat boek gaat dus juist over de eerste stappen die je moet zetten als je een expertsysteem in elkaar wilt zetten. Hoe haal je de belangrijke kennis (concepten, redeneer-regels, etc) uit de expert en hoe giet je deze in een model, waarvanuit je een programma kunt gaan schrijven. Dit lijken me toch vrij essentiele stappen als je een expertsysteem gaat bouwen.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Appesteijn schreef op 01 juli 2003 @ 09:14:
[...]
Ja maar dat boek gaat dus juist over de eerste stappen die je moet zetten als je een expertsysteem in elkaar wilt zetten. Hoe haal je de belangrijke kennis (concepten, redeneer-regels, etc) uit de expert en hoe giet je deze in een model, waarvanuit je een programma kunt gaan schrijven. Dit lijken me toch vrij essentiele stappen als je een expertsysteem gaat bouwen.
Ik ben hier gelukkig al redelijk in thuis (ik werk intussen al weer 3 jaar voor de sectie rechtsinformatica van de Rijks Universiteit Groningen waar we veel bezig zijn met expertsystemen).

Ik ben op dit moment bezig om een expertsysteem op te zetten voor mijn afstudeeropdracht. Het heeft een imperatief onderdeel (dus gewoon functies met statements ed), maar ook een declaratief onderdeel. Ik vond de rules uit prolog zo handig (ingebouwde backtracking en in/uitvoer argumenten ipv invoer argumenten alleen), dat ik die ook heb toegevoegd. Daarnaast ben ik nu grotendeels klaar met de standaard structuren zoals records, unions en arrays. En ik wil me zometeen gaan toeleggen op listen (en dan ook pattern matching) om nog een aantal handige zaken uit prolog erin te krijgen.

Maar om declarartief te programmeren (dus schrijven wat je wilt ipv hoe je het wilt)
moeten ook een aantal andere elementen erin geplaatst worden. In de systemen die we tot dusver hebben opgezet hebben we alleen gebruik gemaakt van Slots (lees variablen die je eenmalig evalueerd en die zelf weten hoe ze geevalueerd moeten worden). Maar daar kan je geen grote hoeveelheden informatie mee bewerken. Daarom wil ik er dus ook frames in plaatsen, om gegevens te bundelen in record-achtige structuren.

Verder is het zometeen mogelijk om frames en records rechtstreeks te koppelen aan EJB entitybeans (dus geen gezeur met met database code). Een redeneersessie wordt weer geplaatst in een sessionbean (waardoor ook meteen transacties beschikbaar zijn). Het is de bedoeling dat dit dus volledig op een EJB server gaat draaien, waardoor je meteen een client-server versie van een expertsysteem hebt.

[ Voor 16% gewijzigd door Alarmnummer op 01-07-2003 09:30 ]


  • Appesteijn
  • Registratie: Juni 2001
  • Niet online
Okee,

Als ik het dus goed begrijp ben je meer bezig met het daadwerkelijk programmeren van een expertsysteem en ben je nu bezig handige prolog functies in een andere taal te bouwen? En voor dat laatste wil je een handig boek hebben?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Appesteijn schreef op 01 July 2003 @ 09:35:
Okee,

Als ik het dus goed begrijp ben je meer bezig met het daadwerkelijk programmeren van een expertsysteem
precies.
en ben je nu bezig handige prolog functies in een andere taal te bouwen?
Het gaat niet zozeer om die prolog functies, maar om zaken zoals frames en het werken met lazyness in een niet puur functionele omgeving.
En voor dat laatste wil je een handig boek hebben?
Ik zoek meer een boek over alle problematiek van frames, slots, en semantische netwerken. Ik ben verder wel thuis in allerlei vormen van afleiden bv forward of backward chaining, maar daar zou ik eigelijk ook best nog wel wat informatie over willen krijgen. En dan niet zozeer in de achterliggende gedachte erachter (die staan ook wel in de boeken die ik nu heb), maar meer over de praktische problemen die erbij komen te kijken.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
*kick*

Ik hoop dat iemand mij nog iets verder kan helpen.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 17:28

alienfruit

the alien you never expected

Alarmnummer misschien zou je eens kunnen kijken naar data mining en AI, dit wordt ook vaak gebruikt bij expert/knowledge systems bij mijn weten.

[ Voor 3% gewijzigd door alienfruit op 05-07-2003 00:09 ]


  • PommeFritz
  • Registratie: Augustus 2001
  • Laatst online: 10-07 04:13

PommeFritz

...geen friet

Zo maar wat termen die je wellicht verder kunnen helpen:
• backward chaining, forward chaining
• rule engine
• intelligent matching
• decision tables
Kijk ook eens naar JESS

FireFox - neem het web in eigen hand

Pagina: 1