Thursday 26 November 2015

Expert System Agony Aunt

Dear Emily
I run what was until recently a very successful helpline for computer-based problems. Recently, though, we haven’t been getting enough phone traffic to keep the lights on – I’m losing money hand over fist. I’ve heard a lot about “expert systems” that supposedly automatically answer any queries put to them. Can you explain to me what would be involved in setting one up?
Harry, Flitworth

Response:

Hello Harry,
 That is quite an issue you are having! Indeed an expert system is what you need! There are 4 main components of an expert computer system and these are;
  • The human computer interface (HCI) - This allows human access 
  • The knowledge base- This is a database of facts, it contains rules and facts about the task domain. It contains expert knowledge.
  • The rule base-links knowledge together through facts.
  • The inference engine - it is software that makes reductions using the knowledge baseattempts to work out the answer to the user’s query by using the rule base
To create this system you will need to have a database that contains different information for specific issues that you will encounter, there must also be a solution for each issue. This will then link with the rule base which will link each problem together.
Emily


Dear  Emily
I’ve got an exam tomorrow on expert systems. I know all about how they work, but I just *know* they’ll ask for real-life examples of where people have put these systems into use, and how well they perform. Can you give me a list of, say, five to ten industries or sectors or government branches that might have found expert systems useful enough to set one up?
Brunhilde, Derby

Response:
Hello Brunhilde,
Here are some examples for expert systems in the real world:
·         NHS online health checker
·         Government tax credit
·         Student finance from the Government
·         Auto pilot

Emily



Dear Emily
The machine apocalypse is coming! Computers are going to take over the world, and we’re helping them! I’m putting together a pamphlet to distribute to anyone passing the Houses of Parliament (hand-written, naturally) outlining the dangers of expert systems, their drawbacks and why we should stick with human operators. Could you…um…help me out here with a few examples?
Lizzy, Brunswick

Response:
Hello Lizzy,
Calm down! We have a solution for you, for example Medical diagnosis this is because the patient could lie to the system and the computer cannot check the patient of these false ideas. Expert computer systems are expensive to maintain and finally they also have limited knowledge outside their specific purpose.

Emily 

Tuesday 24 November 2015

Utility Software

Utility Software

Utility software often comes packages with the operating system, it's purpose is to ensure that it looks after or runs house keeping tasks for the computer, devices and other programs in the following areas:
  • File sorted
  • File renaming
  • File conversion 
  • File repair
  • Disk monitoring and Defragmentation
  • Printing jobs
  • Backing up data
  • anti virus
A utility program will have specific task and so will only do a couple of these jobs.

Examples of Utility software:

Anti Virus:
  • Antivirus software, this helps to protect a computer system from viruses and other harmful programs. A computer virus is a computer program that can cause damage to a computer's software, hardware or data. It is referred to as a virus because it has the capability to replicate itself and hide inside other computer files. This utility software will scans your online activity to make sure you are not downloading infected files.
    It has a large database of virus signatures, which it can compare to your files. It also monitors suspicious activity and informs the user if it detects anything untoward. When a virus is found, it can try to remove it, delete it or quarantine the file.
Backup software:
  • Backup software helps in the creation of a backup of the files on your computer. Most computer systems use a hard disk drive for storage. While these are generally very robust, they can fail or crash, resulting in costly data loss. Backup software helps you copy the most important files to another storage device, such as an external hard disk. 

Knowledge base systems

Knowledge based systems/Expert systems

This is essentially the process of creating a computer system that is designed to behave like a human.
They mimic human knowledge and experience in a specific field. Knowledge base systems find solutions to a problem with a given conditions.

Human experts all work in the same way:
  • Someone asks an expert for advice about a specific problem
  • The expert asks them a series of questions to understand and figure out the best solution 
  • Keep the dialogue open until more than one solution is found
  • Prioritise solutions based on budgets
  • a knowledge base systems tries to replicate this.
The components of the knowledge base system:
  • The human computer interface (HCI) - This allows human access 
  • The knowledge base- This is a database of facts, it contains rules and facts about the task domain. It contains expert knowledge.
  • The rule base-links knowledge together through facts.
  • The inference engine - it is software that makes reductions using the knowledge baseattempts to work out the answer to the user’s query by using the rule base.


Facts contain things like the retirement.
The rule base works by using logic and probabilities. 
The inference engine is interactive and will not just take in the input, do some processing and then provide an answer. At any point the knowledge-based system may require more information to help arrive at the correct conclusion.

The NHS Choices:
This program asks the user to answer questions to find out what problem or symptoms are being experienced, also it will instruct the user/ patient of what action they should take.

Examples of knowledge based system:
  • Online medical system
  • Telephone help system
  • Credit decisions
Advantages :
  • Allows us to always have access to advice when humans aren't available
  • Knowledge is captured
  • staff training
  • Does not get tired or over worked
  • No emotional overhead

Disadvantages:

  • Narrow range of knowledge
  • Requires effort and cost
  • Bad for ambitious problems 
  • Can only learn through mistakes from users
  • No creative solutions




The script:

In a small town called Bethlehem there were two quarrying families but secretly Harry and Mary have been having an affair. Harry is kicked out of his house by his wife because she found out he had been sleeping around. He was out in the cold searching for the man who told his wife about his sin. Three witches appeared to him on the haystack by Donald the donkey "I commend your pains" to which Harry replies "how now you secret black and midnight hag!" 
"I will prick my bum and the wicked will come your way curse your SIN"
The scene dissolves into Mary and Harry in the bedroom
"I'm sorry Mary I'm moving myself in your my deed without a name but the wife she knew" Mary drops to the floor with a bang! and Harry replied "Speakest thou from thy heart, Mary come back to me, is it too late now to say sorryyyyyy cause im missin' more than just your lorryyyy"
Gabriel breaks through the chimney and warns Harry to go go go find the expert system
"How do I know if it's an expert system, how do I know"
Gabriel prepares himself and breaks out in harmonious song "an expert system is a piece of software which uses expert knowledge to offer advice or make decisions in such areas such as medical diagnosis."
"I need it I need it I have a broken heart!!!!!!!!!!!!!!!!!!"
Harry ends up in a forest
Through the forest have I gone
But expert computer system found I none
pretty soul she does not die
I can't leave her to walk on by (in the clouds)
here my maiden, sleeping sound,
oh no I'm technology bound
how howst this system save my soul!!1????!!!!11"

An angry wolf lurks in thee shadows all you can here in the nearby village are the cries of young Harry as his body is being ripped apart by the wolf. 

Fiddle player "I needed this expert system because it uses human expertise knowledge and would have helped them solve their life threatening crisis but they're now dead.


An expert computer system is a program that mimics human knowledge and experience in certain situations.

Thursday 19 November 2015

Excel Review



Excel Review

Excel has been named the best spreadsheet program for many years a reason for this is because many Excel files can be saved in several formats.
Excel comes with over 1,000 start out templates this is really good for varying uses of Excel, for example those that wish to use Excel in a business and company setting can create impressive and professional charts, graphs and spreadsheets and those that wish to use Excel for personal use can do so to.
Another reason for Excel to be highly desirable is that it comes with access to SkyDrive, therefore once you download the app on to any of your compatible electronic devices you can instantly save, access and share files between all of your devices. This is done securely and safely, and can be used for Excel workbooks and spreadsheets that are needed to be opened and edited by others simultaneously in real time.



Advantages:
  • It is one of the second most widely used applications as it is the most powerful spreadsheet software
  • Chart production is easier as there is quick analysis
  • The software allows the machine to learn predicted inputs from the user so its quick
  • It is an easy software to use


Disadvantages:
  • It is not useful for large amounts of data
  • it isn't the best for advanced statistical analysis 

The display on Excel:




Features:

  • Graphs and charts
  • Saving files to one drive
  • Quick analysis to make tables into charts
  • Machine learning for auto-fills
  • You can protect cells from change this stops data from being corrupted
  • Your can create complex formulas and calculations
  • Calculations are automatic updated
  • Filters and sources to find relative information of what a user is looking for.
  • Data can be exported and imported from external devices





















    Word review

    Microsoft office Word Review
    Office 2013 has a new design language from Microsoft called Metro UI. Thsi puts your document centre stage with the tool ribbon faded slightly in the background. The UI is made for touch if a setting is flipped and buttons become bigger and more spacious for Windows 10 touch devices such as Surface Pro 4. However this can be very inefficient.
    Image and video embedding is now easier as they can be directly embedded without having to save them first and new alignment guides that appear to help centre or align images or set text wrap.

    PDF documents can also be converted into document files to be edited with all of the layout that was in the original PDF.

    The simplification of the interface means that some functions have been lost or hidden or have become more complicated to find and use than before.For example AutoCorrect features have disappeared from the right click menu so you have to enter a settings menu to add corrections you want to use.


    Advantages:
    - Touch Friendly
    - Simple interface
    - New useful functions such as importing video and alignment grids

    Disadvantages:
    - Difficult to use simple features
    - Inefficient with a keyboard and mouse
    - PDF import still has formatting issues

    Overall Word 2013 has been optimised for touch related devices that are more common with Windows 10 but has sacrificed some usability for this simplification of the program.

    Friday 13 November 2015

    Abstraction



    Abstraction

    What is abstraction?
    Abstraction is a representation of the real world but hiding some details.
    It is an important tool in problem solving 
    An example of abstraction is the London tube map, this is because it doesn't have all the detail of the exact track route and also the surrounding areas, it is to the point and hides unnecessary detail.
















    Another example of abstraction is games for example The Sims. (Raising a child is very simplistic and also there is removed detail for example the child and ageing process.)

    Abstraction can be used to try and simplify a problem that has already been solved.
    you need to turn the information from analogue to digital, analysing the size and shape of the item that is being scanned. When information and problems are simplified you can reuse certain abstracts. In abstraction you are taking away details that you do not need to monitor. The weather forecast remove levels above 30 feet as no-one needs to know higher than that in detail. 
    Scientists have decided which information is relevant and discard any other information.

    The moon model from Google is an example of abstraction:
    1. It's 2D instead of 3D
    2. The mission paths 
    3. The elevation is shown in colours instead of actual heights
    4. There is limited resolution 

    Abstraction is key for programming.
    Functional Decomposition is breaking down problems into smaller sub problems.
    Procedural Abstraction is a way to separate out values used in a model in a set way, allows us to create different algorithms that allow you to input different values.
    Functional Abstraction calculates the square root or generates a random number for example abstraction is taken one step further.Using a function doesn't require you to know anything about how the computation is carried out.
    Data Abstraction the data or information is relevant to solving a problem .

    Thursday 5 November 2015

    Scheduling

    Scheduling

    What is Scheduling?
    Scheduling is the term the OS uses to define how and when a process is swapped in and out of the CPU, enabling multitasking. Each OS has a different way of performing scheduling. Scheduling makes decisions on which process should be run next or which ones should be interrupted, known as pre-empting.

    external image Fig03_08.jpg

    Scheduler Aims:
    The main design goals of the scheduler are to:
    • Minimise starvation of processes (When a process doesn't get enough time or no time at all to run on the CPU)
    • Eliminate deadlock (When a process is waiting for a resource from another process so cannot access it, and this process is waiting for a resource held by the other, so neither can progress)
    • Ensure high throughput of processes (Processes can be completed as quickly as possible).
    • Ensure fairness for all processes (Linked to starvation).
    • Ensure reasonable response time (To enhance user experience).
    The choice of a scheduling algorithm is to ensure these goals are met.

    Disk Scheduling Vs Process Scheduling:

    When you run a program, we would like to have it in CPU registers because is the fastest memory, but that is very expensive, so the programs (processes) are sent to RAM (also we would like to run many processes, more than the registers may keep). RAM soon or later will be full, we need to keep more programs on memory, so the next caching level is send the processes that aren't being used from RAM to disk.
    • The disk scheduling then consist in send to disk the processes that are not being used right now, but someday they will.
    • The process scheduling allows you to use many programs and apps in a "parallel" way (you see that everything is executing at the same time, but is just an illusion)


    The strategies Deciding how jobs should be scheduled:
    • Shortest job first: the jobs are sorted into ascending order.
    • Round robin: each job is given a maximum length of processor time after which the job is put back in the queue.
    • Shortest remaining time: jobs in the ready queue are sorted into ascending order of the remaining processing time the job is expected to need.

    Types of Strategy

    Round Robin

    This is the the simplest scheduling strategy that allows fairness in time on the CPU. This fairness is achieved as each process is given a fixed time to run and is pre-empted if the process has not completed before the end of that time. When processes aren't completed they are sent back to the ready to run queue and the head of the queue swaps into the CPU, this will continue until all processes are completed.

    Priority Scheduling

    This approach is very good for making sure that the most vital jobs get to run first however, it must also deal with low-priority jobs, otherwise they may never get a look-in. In this case the scheduler may start to bump up the priority of lower jobs to ensure they will eventually run.

    Shortest Burst

    This approach the idea is to get as many jobs through the CPU as possible. Many jobs spend a considerable of time waiting for some input-output event to happen, and then they run for a bit and once again they have to wait for another input-output event.This strategy schedules the shortest job to be processed first.

    Operating System Functions

    BIOS

    • This stands for basic input output system
    • When a computer is first switched on it looks to the BIOS to get it up and running and so the processors program counter points to the BIOS memory
    • The BIOS will usually first check that the computer is functional, memory is now installed and accessible, the processor is working, this is called is power on off self test (POST)
    • once it is finished it can use a boot loader program to load the operating system kennel into memory.
    • BIOS usually stored on flash memory so it can be updated which allows settings like the boot order disks to be changed and saved by the user.
    Virtual Machines
    • It is possible to write a program that has the same functionality as a physical computer, this is called virtual machines
    • A common virtual machine  is run operation with another operating system, this might be because a program is needed that will not run on the host operating system or it might be because it offers a convenient way to test a program being developed on multiple platforms. 
    • virtual machines are just programs and data that have advantages over physical machines, they can be backed up and duplicated and more than one can be at one time on a physical machine. It is for these reasons that many organisations are vitalising their network infrastructure, making their server a group of machines running from a cluster of physical machines.
    Process Virtualisation 
    • Another common use of virtual machine is for interpreting intermediate code. When programs are compiled to a machine that code will only run on processors with the same instruction set
    • An alternative is to use an interpreter, but this is slow and means that the source code is freely available.
    • Intermediate code offers a compromise between the two approaches.
    • A compiler is needed to convert the source into something called a byte code.

    Tuesday 3 November 2015

    Buffers and Interrupts


    Buffer

    • A buffer is a small amount of fast memory which is used as temporary data. The processor can store and receive data from the buffer quickly and then gets on with another task while the storage device takes its time reading or sending data. 
    • Saving data from primary storage has two stages: 
        • fill the processor from the buffer 
        • empty the buffer to storage.
    • This system will work if the buffer can hold all the data it needs to that needs to be sent top the storage device. however, if there is more data than will fit in the buffer the storage device needs to tell the processor that it has used all data in the buffer. 


    Interrupts
    • The storage device sends an interrupt a signal to the processor that needs attention. When the processor receives this interrupt it stores it and carries on with what it is doing. When it is finished it checks all the interrupts and services and does the most important one first.
    • The use of an interrupt is widespread in any computer system any devices for example the printer or the keyboard.
    • Every interrupt has program code which is run to deal with or service the interrupt. 
    The different interrupts:

    • I/O interrupt:
      •  This refers to any interrupt that is being raised by either an input or an output.
    • Hardware interrupt:
      • This refers to any interrupt that is raised by a component of the computer.
    • Program interrupt:
      • This is an interrupt that is raised and triggered by software that is installed onto the computer.
    • Time interrupt:
      • This is an interrupt that is triggered at a specific time or after a specific amount of time.

    The operating system manages the interrupt after the execution of an instruction, the processor checks to see in an interrupt has occurred. If it has, the operating system services the interrupt if it is more important than the task already being carried out