The most significant disadvantage of a rule-based expert system is its inability to justify a conclusion from a sequence of rules. Due to the expertise required for a solution, the cost of a wrong decision can be costly and understanding the decision making process can be complicated, but worth diagnosing.
If we have a basic understanding of the domain we could possibly see a ‘human’ explanation but these systems are based in a narrow, specific section of the whole domain. It may be possible to attach appropriate fundamental principles of the domain expressed as character strings to each rule. We could attach this value to every rule or at least the high-level rules and store them in the knowledge base. Using the representation of the values as a guide we could closely examine (but possibly not understand) an explanation of fired rules by reviewing the textual lists created.
I gather if we could attach string values to rules, why not attach rules to rules. I may come off sounding redundant as the rules themselves move toward other rules but I am thinking more of validation rules instead of decisions. At each crossroad, the decision could possible check the outcome of the future steps to seek the best destination after X moves. An even better approach could be to spin off multiple threads that engage more rules at once and provides multiple results. If this were possible I would imagine a throttle to set the strictness of the rules allowing a less strict setting the ability to select a rule that was not the best option in the idea where a solution further down the results list. The opposite could be said for stricter results.
I fear this is beginning to sound like conventional programming. Of course all of the elements I listed may not be possible in expert systems but the one vital processing unit is based on a rule. It’s not based on how many times we can go from start to finish, if the overhead is not costly.
Negnevitsky, Michael. Artificial Intelligence: A Guide to Intelligent Systems.. Publisher: Addison-Wesley. Copyright: 2005. 31-35p
http://en.wikipedia.org/wiki/Expert_system
Thursday, January 28, 2010
Discussion - Understanding the explanations of rule-based expert systems.
Posted by Lucas Shaffer at 6:45 PM 0 comments
Labels: Artificial Intelligence, automation, decision, expert systems, intelligent systems, negnevitsky, original rules, rule based systems, semantic rules
Wednesday, January 27, 2010
Time to Reflect: I'm going to be a daddy!
I woke up this morning and did my routine and off to work I go. All the while my beautiful wife sleeps in and nurtures our unborn son.
What a feeling!
The idea of having a baby son is completely new to me and who knows what else new awaits this year. As a growing professional, 2008 brought a great feeling of accomplishment. 2009 brought wedding bells and it looks like 2010 will bring the pitter patter of little feet. We both are exhausted but it is worth every minute. The onslaught of online classes and scheduling and baby workshops and classes(x2) are piling and we click through them like champs. I am proud of both of us and know we are building a strong future together.
It is my utmost desire to have a healthy baby and to carry the dual responsibility with Whitney to mold the mind of someone who will look to us for direction. I wonder what I will say when he asks a question I haven't already thought of. Or even better, how will I react when he does something we consider "mildly" wrong and transform into authority roles. My stomach just squeezed tight... lol
In my whirlwind of events in the past year, I have to give credit to my wife. She puts up with my passion and shakes her head up and down when I used words like "scripts" or "twitter" or "social ___(anything)__" to affirm I said something smart. I smile back.
I am going to be a daddy soon! Ever once in a while I get a stirring feeling in my chest and it spins through me and leaves me winded. I am just now learning this is a good thing. :)
Posted by Lucas Shaffer at 11:30 PM 2 comments
Labels: appreciation, baby, birth, career, daddy, desire, love, marriage, overworked, wife
Advantages and Disadvantages of Agile Testing
excerpt from research paper - 12/7/09 | I have chosen a segment of my paper to address Agile Testing. If you would like to see complete paper please request by email at lucaslshaffer@gmail.com
[1] Crispin, Lisa, Gregory, Janet. Agile Testing: A Practical Guide For Testers And Agile Teams. Publisher: Addison-Wesley Professional. Date Published: 01/09/2009.
[2] Desikan S., Ramesh. Software Testing: Principles and Practices. Pearson Education. 2009.
[3] "Agile testing." Wikipedia, the free encyclopedia. 3 December 2009. Wikipedia. 3 December 2009 < http://en.wikipedia.org/wiki/Agile_testing>.
[4] "Agile methods and software testing." Agile Testing. 30 September 2009 < http://agiletesting.com.au/agile-methodology/agile-methods-and-software-testing/ >.
[5] Manifesto for Agile Software Development. 2001. < http://www.agilemanifesto.org/ >.
[6] Pettichord, Bret. "Agile Testing What is it? Can it work?". http://www.io.com/~wazmo/papers/agile_testing_20021015.pdf>. Retrieved 2009-12-2.
Posted by Lucas Shaffer at 6:44 PM 0 comments
Labels: agile, agile development, agile method, agile methodology, agile testing, best practices, scrum, software testing
Sunday, January 24, 2010
@HootSuite and the Social Media captive
You might wonder why I am taking the time to profile @HootSuite as I have only used it for one day. Well, that's the reason. I have only used this for one day and I already feel like I have a better hold on my reputable status in my social circle. I have been held captive up to this moment by the abundance of information I would like to share and seem to have found the application that will help alleviate the need to find value to add to my social space and break some of my bad habits.
Do you have a bad habit online? Ever worry about posting too much? Ever thought about a possibility to auto-post a tweet before the biggest magnate media moguls such as @mashable or @guykawasaki post a whisper of the latest news? Want to see how 'click-able' your links are to your followers or whether your links are even seen? You may be surprised what links are clicked the most and which links fall short.
It is the nature of any user to try and understand your followers needs and creating value content for them besides showing them you are a human. Balancing the two are really what separates the true good-will ambassadors who bring value to your network and those who spread any news in an effort to grab followers. Finding a stable and useful plan to solidify your online presence is an important area of your online life and patience is the key.
With all this being said, my time with social media as a user has been limited but I feel comfortable with what I provide for my followers and friends after many 'spam' moments where I hit the feed hard for 10 minutes after a long absence. Can I stack these to future posts/statuses/tweets or do I really have to punch them through in sequence? You really do a disservice with the latter and your social circle cringes a bit.
@HootSuite is my new friend. On the heels of a visit to North Carolina I had the chance to sit down with a social media watchdog. Nathan Maxwell, better known as @socialshark, is a person who has a passion for social media and it's uses, and I got a glimpse of his passion. It is apparent that what it takes to provide value is not just a barrage of information but an alliance of planning, tools and knowledge of what to look for to bring value to your feed. Nathan is ahead of many in the realm of managing feeds and his recommendation of @HootSuite is not overlooked...
Ok, enough about the why. Here is the how. @HootSuite is easy. It's online and allows multiple accounts including Twitter, LinkedIn and facebook. Do you think you have a bad habit of posting too many posts at one time and causing what others may see as 'Spam'? Do you follow a blog and lean on this person to add value to your content? Want to see how interesting your links are so you can provide better quality links to your circle?
Check out these features:
- So you have 20 posts and you need to run out the door! You bite the bullet and click, click click....and all 20 posts light up your feed and you probably get a @reply saying, "Hey! Stop spamming me!" and you apologize and continue. No more spam! @HootSuite allows you to "Send Later" or schedule the posts AND offers a "Pending Tweets" area to help manage the scheduled tweets.
Never blind your followers on twitter anymore. This is also includes facebook updates. You don't want facebook aggregating your posts into something similar to "Lucas Shaffer has posted 18 similar items." You would rather have them post 19 items at intervals of 1 hour as to spread the info and make it less evasive. Your friends will appreciate it. Trust me!
- RSS/Atom feeds are known for bringing the content to you, as soon as it hits the web! If you haven't subscribed to a feed yet, it may be time to latch onto the updates of you favorite photographer/designer/developer. By doing so you are receiving the latest update and this may be of value to your followers. But how can you take your email updates and change them into relevant tweet/updates to your circle? @HootSuite allows you to attach RSS and Atom feeds to schedule or immediately send tweets or updates. This is nice! This means a little less babysitting your favorite well of information and automatically porting this to you friends and followers.
You can see here I am attaching @HootSuite to my blog so that my new blog posts will be fed into my feeding accounts. In the example, my twitter space and facebook account will be updated with my new blog post without any extra work from me allowing me to stay focused on value of other posts. It is scheduled to fire the tweet and status update after a 3 hr interval which means @HootSuite automatically checks this feed every 3 hrs. If the feed has produced 1 new post then @HootSuite post to my accounts immediately. If the feed finds more than one I have a setting engaged to wait 1 hr to post each new feed until the new posts are done! Easy and NO SPAM! It may even appear to your followers that you are a madman and always on the site. This is not true and you can get a bit of your life back! ;)
- If you already have an addiction to sites like twittercounter and twittergrader/facebookgrader then this part will make you feel all warm and fuzzy. @HootSuite is affiliated with the ow.ly links you have seen everywhere. It is in YOUR interest to start using the ow.ly URL shortening if you decide to chose @HootSuite. The reason? This is because @HootSuite tracks the amount of clicks these URL's you post to other sites or blogs and tracks them with your account. Very nice! Now you can see how valuable your links are. You are now able to see if your followers are interested in the new Tech tweets that link to @engadget and if they respond to other types of links. Here is what you get!
You can see my blog seems to draw a bit more interest than the Lady Cougars win over Georgia! :) These type of stats are almost unheard of and if you have any other stats that can help build and nurture value in your feed then PLEASE let me know.
In the end, it has only been 1 day. Let's see where this goes!
I would like to give credit to @socialshark for the heads up as I find his value to my social circle is a pillar to my reputation and I encourage others to follow him as well. Find him here: http://twitter.com/socialshark
Posted by Lucas Shaffer at 11:48 AM 2 comments
Labels: automation, bad habits, facebook, hootsuite, linkedin, power of automation, scheduling tweets, social media, socialshark, spam, spam tweets, stats for twitter, twitter
What is an original experience when programming an intelligent system?
A class mate in my Artificial Intelligence class wrote about AI possibly being able to create something unique
in which I responded below.
I agree expectations can be a bit diluted by the fact that a system can only contain rules or “intelligence” from experiences it has consumed and ultimately learned from. Presumption or ‘pre-programming’ of other rules can help but most of the time I feel would prejudge a situation. After all, we sometimes learn more about a situation when we experience it ourselves and we often call this experience life, even if it turns out good or bad. So the program or entity must experience good and BAD.
It lends a hand to the term original. How can something be original and unique to all when the collective of the majority of all rules in the world have already been discovered? For example, humans are not given every rule or boundary when we are born. We are contently rule-less and spend the rest of our lives finding the boundaries in which we can exist in our individual cultures.
If computers are to be truly ‘original’ then they must learn on their own. The combinations of one’s’ experiences are the only unique factor we all have. Computers, because of their rule-based nature, can be programmed with the prejudices and therefore are given an advantage of the outside world but still only begins with the rules learned be the programmer.
Posted by Lucas Shaffer at 10:24 AM 0 comments
Labels: AI, aritificial intelligence, original rules, rule based systems
Saturday, January 23, 2010
New Team, New Goals and New...uh.....Desk!
Visiting Soffe was a great visit. I am in awe at the size of this place. The grounds were more like a university campus where the main goal is to provide great branded product to everyone who mutters the words "Soffe short".
My visit was brief but by no means was it not an important time. I am now a real person to my new team at Soffe instead of a series of stats and project outputs. They were great and it was a pleasant trip. It will be nice to work with these guys as they have much to offer!
Apparently this is my new desk at Soffe. This is a new integrated "dual" monitor system which requires type-writing skills. Look closely and you can see the small LCD screen (3 inches by .23 inches). Thanks guys!
Great way to spend that money on your new team member! lol
at least it's clean....(Windex)
Posted by Lucas Shaffer at 8:09 PM 0 comments
Labels: collaboration, funny, goals, soffe, team member
Friday, January 22, 2010
AI & Rules
After reviewing many definitions I ran across these terms which I will paraphrase from Wikitionary. I believe this phrase to be a very accurate statement.
AI is “an exhibition of an artificial (non-natural, man-made) entity dealing with the reproduction or mimicking of human-level thought in a manner similar to or on the same general level as a human being.”
In short, an intelligent system is one that learns during its existence. It learns, for each situation, which response permits it to reach its objectives. It continually acts, mentally and externally, and by acting reaches its objectives more often than pure chance would indicate. As an intelligent system exhibits human-level adaptation, it becomes apparent that the rule-based AI grows as the entity becomes aware of feedback and adapts to the information gained to create new rules similar to an expert system.
As experts gain insight navigating new situations, the rules are formed to correctly build a path for reaching objectives. This ‘knowledge base’ becomes the bottom line for most AI programming. In all the examples above it would seem that all deal with rules but some are proactive at creating reactions and learning and others that are reactive to previous systems.
Sources:
en.wiktionary.org/wiki/artificial_intelligence
http://lmgtfy.com/?q=define%3A+artificial+intelligence
http://www.intelligent-systems.com.ar/intsyst/glossary.htm
Posted by Lucas Shaffer at 12:08 AM 0 comments
Labels: AI, artifical intelligence, expert systems, rule based systems