Why do we need to worry about representation

You really need to do this class if you become a rocket scientist (or at least a programmer of rocket control systems):

... see YouTube page for this
... read about why this happened!

This is a problem of PHYSICAL REPRESENTATION and was caused by forgetting to think about the way different numbers are represented on computer (64 bit real vs 16 bit integers).

See more about roundoff errors, and more here!

Representing real world things gets complicated and.... relational

Okay, we've figured out that something like representing a number can get complicated. But what about this?
... Abba - Waterloo .

Apart from identifying me as a child of the 70's, it:
  • Contains music
  • Is a video
  • Is a digitized version of an analog tape recording from 1974
  • Is Compressed
  • Is sequence of images
  • Is stored on a Youtube server
  • Is streamed live over the internet
  • Is snippet of a TV program called StarParade
  • Demonstrates that in the 70's people had fantastic outfits but couldn't dance to save their lives
  • Contains song called "Waterloo" written by Abba which won the 1974 Eurovision Song Contest
  • Contains speech in the German language
  • Contains a blooper
  • ... etc ... etc ...etc

We need to constantly remember.... representation on computer is not "the thing itself"; it is an abstraction or translation into a form that the computer can understand and work with. Often we not only need to represent "the thing itself" but also relational information about how it relates to other items (in the real world or on the computer), and a context for the representation. Sometimes the "thing" is meaningless without the context.

Think about....


What it represents. What are some other representations of this?

What is this?....


We figured out it's something that helps your headaches . But what actually do we have here? The real chemical compound is something that exists in a test tube (and sometimes in peoples' brains!) but we can't put that on a computer. The thing above is actually an image: very useful for humans who are good at pattern recognition, but not so good for computers. Here are some other ways we can represent or characterise it using text:
  • 2-acetoxybenzoic acid, official IUPAC name
  • C9H8O4, molecular formula
  • "O=C(Oc1ccccc1C(=O)O)C", SMILES format
  • 2244, PubChem ID
  • 0, 0, 0, 1, 0, 0, 0, 5, 1, 0, 0, 0, 3, 4, 0, 0, 6, 4, 2, 0, 0, 0, 0, 0, chemical structure descriptors

Which ones identify the compund and which ones characterise it? Which ones tell us something about the compound? But remember it's not the real thing...

external image 5-aspirin.jpg

So representation is all about mapping REAL WORLD THINGS onto COMPUTERS for PARTICULAR APPLICATIONS

What representation you use makes a difference:

  • 64-bit vs 32-bit integers - limits - Y2038 bug
  • JPEG vs TIFF for pictures: quality/size tradeoff
  • Audio quality - 16-bit vs 24-bit, compression: information loss
  • Compatibility (current and future) - BluRay vs HD-DVD
  • Efficiency (especially in databases)

It's a hot topic in the web world

  • Representation is at the heart of the Semantic Web and Web2.0
  • HTML - representation of text and formatting
  • XML and folksonomies - representation of meaning of text
  • OWL - representation of dictionaries and taxonomies
  • RDF - representation of relationships
  • WSDL - representation of services

What will I be able to do after taking this class?

  • Understand the way computers represent familiar things to us, and some of the "gotchas" ... you will be able to "translate" between human and computer ways of thinking
  • Understand the process of tackling a complex problem and determining the best computer representations to use
  • Have a basic working knowledge about storing information in relational databases and semantic triple stores
  • See how representations are used in a variety of domain case studies
  • Understand better what people are saying on Downton Abbey and Dr Who

We will take a very "informatics" approach to the subject rather than a "computer science" approach... i.e. practical, and dealing with the complexities of the world we live in