Hallo Forum, ich besuche gerade eine Vorlesung zum Thema wissensbasierte Systeme. Unter anderem haben wir das Vergnuegen, in einer Gruppenarbeit ein in Prolog geschriebenes Systemchen erstellen zu duerfen... das kann z.B. ein Auskunftssystem sein oder aber auch was im Bereich Robotik und Bilderkennende Systeme, aber da duerfte sich mit der Sprache wenig machen lassen. Was haltet Ihr davon wenn wir so ein kleines System mit einer kleinen Datenbank erstellen, das zu einer Anwendung den passenden Mikrocontroller vorschlaegt? Ich denke das duerfte noch so halbwegs im Rahmen des Machbaren sein und koennte unter Umstaenden vllt. sogar fuer den ein oder anderen hier nuetzlich sein. Falls ich das angehe: Wuerdet Ihr mich da unterstuetzen? Ich hab naemlich immo nicht den allumfassenden Ueberblick ueber die ganzen MC-Familien. Datenblaetter horten und Kenndaten erfassen waere dann auch meine Aufgabe, aber Ihr koenntet zumindest die Richtung, also Typen/Familien andeuten und vor allem dabei helfen, diese dem richtigen Einsatzgebiet zuzuordnen. Lasst mich mal wissen, was Ihr von der Idee haltet. Falls es nichts ist... irgendwas wird sich schon finden. Aber ein Expertensystem zur Verhuetung oder zu Fischkrankheiten waere wohl eher weniger mein Ding hehe Michael
Ich halte wenig davon. Wenn man wenig Ahnung von der Materie hat, sollte man mit einem MSP430, einem AVR oder einem PIC einsteigen. Ein ARM, sonstige 32bitter, DSP machen keinen Sinn. Wenn man mal eine Ahnung hat, dh schon mal was mit den genannten 3 Familien gearbeitet hat, dann wird man mit erhoehter Wahrscheinlichkeit bei dieser Familie bleiben, da man die Lernkurve ja schon hinter sich hat. Was Sinn machen wuerde, ein Expertensysten, das zeigt, ob ein Projekt mit den genanten 3 Familien machbar ist, oder nicht. Falls nicht, sollte man's als Anmfaenger besser sein lassen.
Hm hm... ich hab auch so meine Zweifel an der Nuetzlichkeit der Sache. Ist halt ne Arbeitsbeschaffungsmasznahme und wir muessen uns selber ueberlegen, was wir machen wollen. Vielleicht hat ja jemand einen Vorschlag fuer so eine Software? Ich bin auch fuer Vorschlaege dankbar, im Moment habe ich naemlich nicht gerade besonders viele Ideen. Ausserdem sollte sich der Arbeitsaufwand mal in Grenzen halten das soll keine Diplomarbeit werden ;) Michael
Hi Kurze Zusammenfassung: Experten brauchen das nicht. Die anderen können nichts damit anfangen, weil sie nicht genau wissen was sie wollen. MfG spess
Eine Tool für die Auswahl von Mikrocontrollern wäre sicher für viele eine große Hilfe, wie unzählige Anfrage der Form "Welchen µC für Anwendung xy" in diesem Forum zeigen. Ich glaube aber, dass man dazu kein Expertensystem braucht. Eine gewöhnliches Datenbanksystem ist sicher schon ausreichend. Viel wichtiger als das verwendete Tool ist aber die Vollständigkeit des Datenbestands. Die ist dann halbwegs erreicht, wenn für alle gängigen µC-Typen der namhafteren Hersteller mindestens folgende Informationen enthalten sind: - I/O-Funktionen, jeweils Typ (Digital, Analogeingang, Analogausgang, UART, SPI, I2C, PWM, USB, Ethernet, externer Speicherbus u.v.m.) und Anzahl - On-Chip-Programm- und -Datenspeichergröße - Stromverbrauch im Powerdown, Leerlauf und Volllast - Grobe Abschätzung Rechenleistung (bspw. MIPS, und Datenwortbreite) - Verfügbare Gehäuseformen - Ungefährer Preis für 1 Stück und für viele - ... (da fehlen sicher noch einige Kriterien) Der größte Aufwand wird es sein, alle diese Daten für hunderte von Controllertypen zusammenzutragen. Es gibt zwar bei den meisten Herstellern Auswahltabellen, wie z.B. diese altbekannte http://atmel.com/dyn/products/param_table.asp?family_id=607&OrderBy=part_no&Direction=ASC aber sie enthalten nicht alle interessierenden Informationen. Einige der o.g. Infos findet man nur in den Datenblättern, andere (z.B. Preise) nur durch Anfrage bei den Distributoren. Ihr würdet also einen Großteil eurer Zeit mit Dingen verbringen, die mit der eigentlichen Aufgabenstellung nur wenig zu tun haben. Ihr könnt natürlich die Zahl der betrachteten Controllertypen und der Auswahlkriterien serh stark einschränken, um schneller zum Ziel zu kommen. Daraus kann durchaus eine anspruchsvolle Arbeit entstehen, und ich möchte euch deswegen die Idee keinesfalls ausreden. Nur müsst ihr auch dann im Klaren sein, dass das Ergebnis für die Allgemeinheit nicht so arg nützlich ist.
Hi Yalu, > Ich glaube aber, dass man dazu kein Expertensystem braucht. Eine > gewöhnliches Datenbanksystem ist sicher schon ausreichend. Naja... also die Datenbank alleine isses noch nich ganz, es gut um wissensbasierte Systeme, nicht um Datenbanken ;) > Ihr würdet also einen Großteil eurer Zeit mit Dingen verbringen, die > mit der eigentlichen Aufgabenstellung nur wenig zu tun haben. Das Wissen, also die Daten, sind Kernstueck der Materie und daher haben sie sehr wohl mit der Aufgabe zu tun. Und diese Zusammentrag-Arbeit ist teil davon. > Daraus kann durchaus eine anspruchsvolle Arbeit entstehen, und > ich möchte euch deswegen die Idee keinesfalls ausreden. Nur müsst ihr > auch dann im Klaren sein, dass das Ergebnis für die Allgemeinheit > nicht so arg nützlich ist. 99% der Arbeiten aus dieser Ecke sind fuer die Allgemeinheit nicht nuetzlich... das waere schon ein sehr ehrgeiziges Ziel ;) Im Prinzip isses so: Ich muss es machen fuer meine Zulassung. Also ob ich jetzt ne Datenbank aufbaue, die Dir verraet, wie Du Deine Blumen duengen musst oder ob ich das mache... von letzterem hab ich wenigstens noch was denn ich bekomme selber mal nen guten Ueberblick ueber die verfuegbaren Controller. Aber ihr habt recht vielleicht sollten wir uns was weniger aufwaendiges suchen. Michael
Spess53 schrieb: > Kurze Zusammenfassung: Experten brauchen das nicht. Klar, Experten brauchen kein Expertensystem, da der Sinn der letzteren ja gerade darin liegt, erstere (zumindest teilweise) zu ersetzen. > Die anderen können nichts damit anfangen, weil sie nicht genau > wissen was sie wollen. Aber genau hier könnte so ein wissensbasiertes System ansetzen: Nämlich durch geschickte, situationsabhängige Fragen dem Benutzer seine Wünsche aus der Nase zu ziehen, ohne ihn mit unnötigen Fragen zu nerven.
Da hast Du recht, Yalu. Im Endeffekt geht es um kuenstliche Intelligenzen. Das unterscheidet so ein System von einer Datenbank, naemlich das Wissen auch auszuwerten und weitegehend anzuwenden. Ob sich das Wissen sich nun ueber Elektronikbausteine oder Zimmerpflanzen oder Fischkrankheiten bezieht ist dabei eher nebensaechlich. Und es stellt in der Tat gezielt Fragen, um "herauszufinden", was der Benutzer braucht. Darin besteht auch gleichzeitig die Schwierigkeit. Vielleicht "begnuege" ich mich doch mit einem Algorithmus zur Wegfindung fuer einen Roboter... wobei das sicher auch seine Wuerze hat. Michael
vor einigen (vielen) Jahren hatte ich mal ein System in Micro-Prolog entwickelt, welches aus gegebenen und gesuchten physikslischen Größen eine Berechnungsformel zu erstellen versuchte. Ein anderes beliebtes Beispiel ist symbolisches Ableiten. Aber frag mich bitte nicht mehr nach Details... Gruß Jörg
>> Ich glaube aber, dass man dazu kein Expertensystem braucht. Eine >> gewöhnliches Datenbanksystem ist sicher schon ausreichend. > >Naja... also die Datenbank alleine isses noch nich ganz, es gut um >wissensbasierte Systeme, nicht um Datenbanken ;) Schon klar, daß es dir um wissensbasierte Systeme geht. Trotzdem braucht man diese Systeme nicht für Aufgaben zu entwerfen, die mit trivialer Logik anhand einer Datenbankabfrage gelöst werden können. Kann man natürlich trotzdem machen, wenn man kein Problem damit hat, seine Zeit mit sinnfreien Aufgaben zu verbringen. Nein, im Ernst, was echt lohnenswert wäre: Ein Expertensystem anhand dessen irrelevante Postings in diesem Forum ausgefiltert werden können. Wenn es funktioniert, solltest du es unbedingt auf deine Fragen anwenden, bevor du sie stellst.
Wenn das wirklich nutzbar werden soll musst du Unmengen von tabellarischen Daten manuell eintragen - stupides Cut & Paste, das mit der eigentlichen Arbeit nichts zu tun hat. Und dass der Ansatz überhaupt Vorteile gegenüber einer normalen Datenbank bringt glaube ich auch nicht. Anderer Vorschlag: wie wär's mit einem Autorouter für Platinen? Anfangen könntest du mit einem groben binären Raster (Kupfer/kein Kupfer), je nachdem wie gut du vorankommst lässt sich die Komplexität beliebig steigern.
> Anderer Vorschlag: wie wär's mit einem Autorouter für Platinen? Anfangen > könntest du mit einem groben binären Raster (Kupfer/kein Kupfer), je > nachdem wie gut du vorankommst lässt sich die Komplexität beliebig > steigern. Sicher interessant allerdings fuerchte ich dass das den Rahmen dieses Projektes deutlich sprengen duerfte. Aber fuer solche Aufgaben ("Wegfindung") scheint die vorgegebene Sprache sehr gut geeignet zu sein. Man koennte sich ja mal an einem Routing versuchen, das einseitig brauchbare Ergebnisse liefert. Allerdings: Da braeuchte man ja so viel drum herum... ne Bauteilbibliothek usw. ich fuerchte das wird zu aufwaendig. Ist aber eine nette Idee, vllt. laesst sich das ja auf den Umfang einer solchen Aufgabe reduzieren und man haette vllt. etwas, auf dem man aufbauen koennte, solange ich es mit dem Gedanken der Erweiterbarkeit entwerfe. Michael
Du kannst natürlich nicht mal eben einen konkurrenzfähigen Autorouter mit Bibliothek, Packages, mehreren Layern usw. bauen. Aber wenn das ein Uni-Projekt ist geht es doch nur darum etwas zu lernen, nicht ein Produkt zu entwickeln. Wenn der Router nur ein 10x10-Raster mit 5 Signalen hinbekommt, was soll's, gelernt hast du dann trotzdem mehr als bei einer Arbeit wo du 90% der Zeit damit verbringst Daten aus Tabellen zu kopieren.
Den Themenvorschlag 'topologischer Router' gabs ja für den Google-Summer of Code schon, auch wenn das Thema scheinbar von niemandem gewählt wurde. Eigentlich gar nicht so dumm die Idee. Neben der Wegsuche in topologischen Räumen könnte man später dann auch noch Pinswap/Gateswap etc. hinzufügen.
Das ist wohl wahr. Man koennte es soweit vereinfachen, dass man das Programm mit Daten soweit parametrisiert, dass man die Pads (Koordinaten) und die Verbindungen (Tupel aus Start- und Endpunkt) angibt und es routet dann ein paar Signale... vielleicht laesst sich das ja dann wirklich mal ausbauen. Eine Moeglichkeit zur Visualisierung sollte sich denke ich mal auch finden lassen.
Warum nicht den Router über ULPs mit Eagle arbeiten lassen? Man könnte die ungeroutete aber plazierte Platine in ein geeignetes Textformat exportieren, das Prologprogramm damit füttern und dessen Ergebnis mit einem zweiten ULP wieder dem Adler zu fressen geben.... alternativ wäre auch ein Autoplazierer für Eagle denkbar - keine Ahnung, was schwieriger zu realisieren ist, vielleicht ist auch beides zu aufwändig. Gruß Dr.Seltsam
Nette Idee, falls wir die Sache machen koennen wir ja mal drueber nachdenken.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.