mw1 research

Upload: shahabniazi

Post on 04-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Mw1 Research

    1/14

    16/04/2012

    1

    HowtodoresearchGiorgioButtazzo

    [email protected]

    http://retis.sssup.it/~giorgio/h2d.html

    AimofthecourseTo provide some

    hints on

    what to doand

    whatnotto dowhen you areinterested in:

    doin research

    writing papers

    presenting your results

    2

    Outline

    1. Howtosettleforresearch

    2. Howtowritescientificpapers

    .

    4. Gettingintothepublicationprocess

    5. Howtomakepresentations

    6. Simulatingasmallconference

    3

    MeaningofresearchResearch = Re - Search

    Re again Search examine carefully, try, test, probe

    4

    Detailed study of a subject aimed at inventing new

    solutions for specific problems (engineering approach).

    Research

    Detailed and systematic study aimed at discoveringnew knowledge about our world (scientific approach).

    Scientists vs. EngineersScientists

    Interested in the world as it is

    Goal: understand how it works

    Discover laws on what already exists

    5

    Engineers

    Interested in changing the

    world

    Goal: solve practical issues

    Invent something that does

    not exist

    Basic vs. Applied ResearchSome people like to distinguish between:

    Basic research

    aimed at advancing our knowledge with little concern

    for any immediate practical benefits.

    6

    Applied research

    aimed at achieving some practical outcomes that are

    useful to the society.

  • 8/13/2019 Mw1 Research

    2/14

    16/04/2012

    2

    Good vs. BadResearchSome other people prefer to distinguish between:

    Good research: rigorous scientific study aimed at

    advancing knowledge and producing new results that

    (sooner or later) will be useful for the society;

    7

    Bad research: study aimed at producing specific products

    without long term objectives or general implications.

    According to this view, a research is applied if there exists

    someone capable ofusing the results to build practical things.

    Theory vs. Practice The believe that a theoretical study is not useful to the

    society is completely wrong!

    Whats more relevant for the society? The theory of

    electro-magnetic field or a practical study to optimize a

    screwdriver?

    8

    PasteursQuadrantbyDonaldStokes,1997

    Quest for

    HighPurebasic

    research

    Useinspired

    research

    Niels Bohr Louis Pasteur

    9

    Fun amenta

    Understanding

    Consideration of use

    Low High

    Low Pure

    applied

    research

    Bad

    research

    ThomasEdison

    WhatisEngineering?

    Cost-effective

    Engineering is the development of

    cost-effective solutions to practical problems,

    through the application of scientific knowledge

    10

    Considering design trade-offs on resource usage

    Solutions

    Emphasis on building devices, but also methodologies

    Practical problems

    problems that matter to people and improve human life

    Application of scientific knowledge

    Systematic use of analytical techniques

    ElementsforasuccesfulresearchThe path to success consists of three simple elements:

    Find what interests you that you can do well and is

    needed by the people. - Lui Sha

    11

    your

    talent

    your

    interest

    social

    needs

    Elementsforasuccesfulresearchyour

    talent

    your

    interest

    social

    needs

    Understading yourself

    12

    What is easier for you, writing a complex

    software program or proving a difficult theorem?

    What excites you?

    What excites the community?

    Does it fall into your skills?

  • 8/13/2019 Mw1 Research

    3/14

    16/04/2012

    3

    Researchstepbystep0. Find

    a

    topic 1. Understandthefieldandthe

    applicationdomain

    13

    2. T in o

    the

    problem

    3. Forma ize

    the

    problem

    4. Findasolution

    totheproblem

    Researchstepbystep5. Validate

    your

    solutioninpractice

    6. Compareyoursolutionagainstexisting

    14

    ones

    8. Communicatethesolution

    totheworld

    7. Extendthesolutionto

    moregeneralcases

    Typicalresearchprocess

    idea

    start with simple

    assumptions

    model

    use examples

    and simulations

    conjecture solution

    15

    clean upgeneralize

    more realistic

    assumptions

    1. Understandingthefield Why is it important?

    What are the mainapplication areas?

    en y e ey componen s an o your

    system.

    Whatdisciplines areneededtounderstanddetails?

    Doyouhavetherequiredexpertise?

    Ifnot,whichcoursesdoyouneedtoattend?

    16

    1. Understandingthefield Are there ethical issues involved (e.g., weapons,

    animals)? Better to clear these things up before

    starting.

    a o peop e a a rea y wor e on e op c o

    know tricks, shortcuts, and bottlenecks.

    Read the documentation related to the main

    components (HW and SW).

    You must become the Master on that subject.

    17

    Read the literature related to your problem. Search

    on the right conference proceedings (ask your

    supervisor about the top conferences in the topic).

    Conference papers have more recent results.

    1. Understandingthefield

    Get familiar with thework done before(if any): use

    tools, read the source code, run demos, test the

    system functionality, discover critical points and take

    notes on strange behaviors.

    18

  • 8/13/2019 Mw1 Research

    4/14

    16/04/2012

    4

    Commonmistakes Think, plan, read, and never

    get into the main game

    Reading is important, but it is also

    important you start experiments, simulations and analysis.

    19

    .

    When reading papers, be critic,

    never take everything as a dogma.

    The highest impact on research is due to

    novel ideas that criticize imprecise thinking.

    Read papers as a reviewer!

    2. Thinkingofaproblem What is thenovel contributionyou would like to give

    to the field?

    Make a wish list, from big dreams to smaller (but

    .

    Which features would you like to have on your

    system?

    Go back to the literature to see if some problem has

    already been solved.

    20

    Commonmistakes Choosing a wrong direction

    Your supervisor may have the

    experience to advise on this.

    21

    Too simplistic assumptions

    Nobody will be interested in a

    solution that is not applicable

    to a real situation.

    Commonmistakes The problem has already been solved

    Carefully look at the literature!!

    Dont getdesperate,youmay

    22

    ;

    Extendtheexistingsolutionto

    moregeneral

    cases;

    Slightlychangetheproblemto

    covermorerealisticcases;

    Findanotherproblem.

    3. Formalizingtheproblem If the problem is too complex, break it into a set of

    smaller subproblems.

    Build amodelof your system:

    C ear y i enti y t e assumptions you nee to simp i y

    reality (butnot too much);

    Define the metrics for evaluating the outputs of your

    system and its performance;

    Define the systeminterface.

    23

    3. Formalizingtheproblem Distinguish variables between:

    System parameters(variables you dont want to change);

    Input variables(primary variables affecting your method)

    Design variables (variables you want to change to apply

    your control actions);

    State variables (variables describing the system state and

    behavior);

    Output variables (variables you want to measure to

    evaluate the performance of your method).

    24

  • 8/13/2019 Mw1 Research

    5/14

    16/04/2012

    5

    3. Formalizingtheproblem Find relationsamong the variables: how outputs are

    influenced by inputs?

    If relations cannot be easily derived by the physics,

    make experiments:

    Decide asingle input variable;

    Decide asingle output variable;

    Fix the others as parameters;

    Vary the inputvariable in a given range;

    Measure the outputfor each value of the input.

    25

    Example1Determine the timing of a traffic lights in a crossroad:

    What are the relevant variables?

    duration of green (G)

    eriod T)

    26

    STOP

    STOPS1S2

    S1

    S2

    GT

    flow in each road (i)

    queue lengths (qi)

    average car speed (v)

    average delay of a car

    Example2Design a communication protocol in a computer network:

    What are the relevant variables?

    number of nodes n

    network to olo

    27

    average load

    message size M

    message rate T network bandwidth B

    end-to-end delay D

    error probability p

    Example3Design a control algorithm for a robotic device:

    Relevant variables

    ball position: x

    28

    Ball & Beam a spee : v

    beam angle:

    servo angle:

    sampling period: T

    settling time:

    overshoot:

    ball mass: m

    ball radius: r

    beam length: L

    ball's moment of inertia: J

    gravitational acceleration: g

    System parameters

    4. Findingasolution Experiments can give good hints for finding a

    solution.

    Even theoretical results can come to your mind by

    first looking at experimental data.

    Sometime, experimental data can be performed to

    find counterexamples. Counterexamples brings

    usually bad news, but they are extremely useful to

    identify critical situations and countermeasures to

    avoid them.

    29

    4. Findingasolution If the solution is an algorithm, evaluate its

    computational complexity. If it is too high, simplify

    the assumptions or try heuristic approaches.

    Write notes and comments every week to

    30

    mon tor t e progress o your researc :

    problems encountered (how you solved them);

    experiments you carried out;

    assumptions you are making;

    scenarios you have considered, etc.

    Everything will be useful when you write a paper.

  • 8/13/2019 Mw1 Research

    6/14

    16/04/2012

    6

    5. Validatingthesolution Implement the solution;

    Apply the solution to one or morespecific cases;

    Evaluate the performanceaccording to the metrics

    previously defined, under several conditions

    (different values of the input or state variables).

    31

    5. ValidatingthesolutionOften, evaluating the solution on a simulated system is

    more practical and reasonable. In this case:

    input or state variables should be generated as

    random numbers within given ranges and realistic

    distributions.

    output variables should be averaged onseveral runs

    for each input configuration.

    Remember to record both mean and variance for

    each set of output values.

    32

    6. Comparingthesolution Search the literature to find different solutions to the

    same problem;

    Identify all the differences (assumptions, model,

    com lexit erformance

    Implement the best methods you have found.

    Run thesame set of experimentsfor each approach.

    If your solution performs worse than the others for

    all possible scenarios, then you are in trouble.

    33

    6. Comparingthesolution Before giving up, make sure you compare the

    approaches with respect to different metrics:

    often its reasonable to sacrifice performance for

    a lower complexity or a more realistic model.

    Sometime the improvement is observed only within

    a certain range of the input variables.

    This can still be interesting, since that range can

    occur for particular systems, for which your

    solution can be more appropriate than the others.

    34

    7. ExtendingthesolutionGo back to the assumptions you made to simplify the

    system model:

    Are there assumptions that are too artificial or

    restrictive?

    How the solution and the results would change by

    relaxing those assumptions?

    How could the model be enriched with more

    variables describing more details?

    35

    7. Extendingthesolution Are there other components to be considered?

    Is the analysis tight? Is there space for

    improvements?

    Are experimental results complete?

    36

  • 8/13/2019 Mw1 Research

    7/14

    16/04/2012

    7

    8. CommunicatingthesolutionAs soon as you have got an interesting result, write a

    technical report, do not wait until the whole project is

    finished.

    Remember toregisterthe technical report and put it

    on your we page.

    If the work is done together with your supervisor, ask

    him/her torevise it and put it on his/her web page,

    which has much more visibility to the external world.

    This ensures you the paternity of the result, in the case

    somebody should publish a similar work.37

    8. Communicatingthesolution Then, select a conference with your supervisor and

    write a paper for that conference. This is important

    for receiving a quick feedback (normally after 23

    months) from a number of reviewers.

    In the meantime, you can keep working to extend

    your work.

    If the paper is accepted, you have to make a

    presentation at the conference. This is a ver y

    constructive experience, which is important for a

    number of reasons.38

    8. CommunicatingthesolutionWhy presenting a paper at a conference is important?

    You have the unique possibility to join a community

    of experts andexchange interesting ideas;

    After your presentation, some people can give you a

    feedback to improve your work;

    You have the possibility to attract the interest of big

    gurus in the field and to make contactswith a lot of

    interesting people.

    39

    8. Communicatingthesolution With the feedback you received from the reviewers

    and from people at the conference, you can think of

    writing astronger paperfor a journal.

    The issue on how to write a research paper will be

    covered in detail later on.

    40

    Generaladvices If you have a hard deadline,dont rely on someone else.

    Most students underestimate the importance of

    physical aspects, such as:

    Using asensorto acquire data into your program;

    Making an actuator to move and build a function

    that controls it as desired;

    Orderingdevices and have them on your desk;

    Makinga new printed circuit from scratch;

    Solderingcomponents and testing them.

    41

    Generaladvices Write down an idea when you have it, because you

    may easily forget it by the time you get to the office.

    Some ideas come early in the morning, so keep

    paper and pencil on your bedside table. Some ideas

    , .

    Do not be afraid to admit your ignorance. In academic

    research one is continually venturing into new areas.

    Perfectionism and attention to detail is a virtue.

    Taken to excess, it is a vice.

    42

  • 8/13/2019 Mw1 Research

    8/14

    16/04/2012

    8

    Howtogetideas

    Make aselective reading: quickly go through the paper

    Read widely, but remember, reading is not what

    research is about. Too much reading could be a major

    danger that could prevent new ideas to flourish.

    ,

    specific points. Questions to always have in mind:

    What is the main problem to be solved?

    What are the main assumptions.

    If you dont understand the math, make a step back to

    learn and then return to study the approach.

    43

    Howtogetideas What to read?

    conference papers are the most up to date, but

    often details are available in technical reports.

    Most of the time theke ideais not in the details

    but in the methodology.

    When details are important and you cannot find

    them, contact the authors directly by Email:

    Often they feel honored to be considered and will be

    happy to provide additional information on their work.

    44

    Howtogetideas Reading approach

    Some degree of skepticism is appropriate when

    approaching most papers.

    Dont trust anythingyou read.

    Verify the theoretical results and judge theassumptions trying to imagine them applied to

    your system.

    45

    Howtogetideas? Thinkofsomepracticalissue

    Startfromproblemsthatreallybotheryou:

    Dissatisfaction isthemajorsourceofinspiration

    46

    Howtogetideas? Bedrivenbypassions

    PassionisoneofthestrongestforcesinNature

    Searchthewebusing

    combinedkeywords,like:

    47

    music&statistics

    painting&algorithms

    biking&sensors

    soccer&measurement

    Youwillfindinteresting

    unexpectedresults.

    Howtogetideas? ObserveNature(Animals,plants,phenomena)

    AllsolutionsfoundbyNaturearecharacterizedby

    HighEfficiency

    Beautyandelegance

    48

  • 8/13/2019 Mw1 Research

    9/14

    16/04/2012

    9

    Howtogetideas? Lookintootherfields

    Getknowledgefromotherfields:

    differentproblemsmayhavesimilarsolutions

    49

    At the beginning,

    documents were

    written using a

    single font: Courier

    Many different fonts

    are available today

    much nicer to read!

    An example:

    Howtogetideas?An interesting story

    Simply out ofcuriosity, Steve Jobs decided to attend a

    calligraphy course, where he learned all about

    typefaces, fonts, letter spacing, and what is needed to

    50

    .

    The course had no practical value that he could

    imagine, and he took itjust for pleasure.

    Ten years later, his experience was crucial for the

    design of the Macintosh user interface, which set a

    standard for all word processors.

    Howtogetideas?What do we learn?

    Curiosity means pursuing something that

    does not necessarily have an obvious

    51

    .

    We examine something merely because it

    seemsinteresting. Later, we may discover unexpected

    connectionswith what we are doing that can

    form the basis for new ideas.

    Somehints Its very usefulmaking lists, and thenorganizing them.

    Examples are lists of questions, possible experiments,

    possible surveys, sources of data, etc.

    Imagine the results of experiments before making

    them: if the results were to be ..., then we would

    conclude .... otherwise our conclusion would be ....

    Think of an experiment that nobody else has done,

    and do it. The emphasis here is on doing something

    because it can be done, not because you actually

    understand the implications.

    52

    TakeadvantageofbeinginaLab Talk to peopleto know what they are doing.

    Ask successful researchers in your department if

    the have articular methods for ettin ideas.

    Whattodoifyoudonthaveideas?

    Attend seminars: you can find interest topics and

    you learn how to present (or not to present).

    Brainstorm with your colleagues about problems

    they have.

    Collaborate with someone on a common problem.53

    Whattodoifyoudonthaveideas? Criticizeapaperbysomeoneelse:

    Are there assumptions that are too artificial or

    restrictive?

    How could the model be enriched with more

    variables, describing more details?

    Are there other components to be considered?

    Is the analysis tight? Is there space for

    improvements?

    Are experimental results complete?54

  • 8/13/2019 Mw1 Research

    10/14

    16/04/2012

    10

    Whattodoifyoudonthaveideas? Buildontopofexistingwork:

    Can I improve the experiments?

    Can I improve the theory?

    From deterministic to statistical analysis.

    From fixed priorities to dynamic priorities.

    From uniprocessor to multiprocessor or distributed.

    From single goal to multiple goals (feasibility + energy)

    Can I build a tool that does it automatically?

    55

    Whattodoifyoudonthaveideas? Reducecomplexity

    System are becoming more and more complex

    Sometime too complex to be properly used or

    Simplification is a very promising process in the

    future at many levels:

    Less computational complexity

    Smaller program size

    Simpler interfaces

    56

    SeekforsimplicityAchievingsimplicityisverydifficult,because

    Simplicityimplies:

    deepunderstanding

    distilling

    beautyandelegance

    Itneedstime,

    Goodideasneedincubationanddeepthinking

    57

    ExamplesinscienceE=mc2

    F=maF=kx

    V = R I

    58

    f actori al (n) {

    i f ( n == 0) r eturn 1;return ( n * f actori al ( n- 1) ) ;

    }

    AchievingsimplicityStrategies to handle complexity:

    Partitioning

    so a on

    Abstraction

    59

    Partitioning

    It is the process of dividing a system into independent

    parts that can be studied in isolation.

    60

  • 8/13/2019 Mw1 Research

    11/14

    16/04/2012

    11

    Isolation

    It is the process of focusing on a specific component, to

    understand its behavior in relation with the others:

    61

    Abstraction

    An Abstraction is a concept that connects a set of

    items as agrouporcategory.

    Abstractionsreducethe information content, retaining

    what is relevant for aparticular purpose.

    62

    ball

    Abstraction

    InComputer Science, abstractions allow program designers

    to separate methods from implementation mechanisms,

    so that they do not depend on software or hardware:

    Examples

    A queue

    A resource manager

    A virtual processor

    63

    AchievingsimplicityTechniques to simplify a process:

    Reducefunctionality

    64

    Hideextra functions

    Organizeyour knowledge

    Reduce

    Today, new functions are included just because it is

    possible, not because they are needed.

    Reduce functionality

    65

    Reduce

    Balance betweenessentialandfancy

    Crucial issue to be addressed

    What to remove?

    66

    set mode

    c lock alarm

    downup

    date temp

  • 8/13/2019 Mw1 Research

    12/14

    16/04/2012

    12

    Reduce

    Simplicity saves you time. And time is value.

    67

    UP DOWN

    clock alarm

    Hide

    If you cannot reduce any further, hide nonessential functions.

    68

    Crucial issues to be addressed

    What to hide?

    Where to put?

    Hide

    Extra functions can be revealed only when

    needed

    69

    Hide

    Hiding can be hierarchical

    70

    Organize

    Group similar items into categories

    71

    Organize

    Making a taxonomyis crucial for grasping the key

    features of a set of similar items:

    State of the art papers

    Scheduling algorithms

    Control schemes

    Poweraware strategies

    72

  • 8/13/2019 Mw1 Research

    13/14

    16/04/2012

    13

    Organize

    When I started working onNeural Networks:Back propagation

    Kohonen networks

    Q-learning

    73

    Self-organizing maps

    Reward-Based Functions

    Recurrent networks

    Associative networks

    Competitive learning

    Hopfield networks

    Reinforcement Learning

    Organize

    Slowly some order emerged from the chaos

    Learning paradigms

    74

    supervised competitive reinforcement

    Hopfield Back-Prop. Kohonen. ASE-ACE Q-learining.SOM.

    Organize

    Rate-Monotonic

    Deadline Monotonic

    EDF

    The same thing happened onRealTime Systems:

    75

    Sporadic Server

    Priority Inheritance

    Priority Ceiling

    Slack Stealer

    Least Laxity First

    Fixed Priority Scheduling

    Polling Server

    Organize

    The same thing happened on RealTime Systems

    Scheduling algorithms

    76

    Fixed-priorities

    RM DM EDF LLF CBSPS

    Dynamic priorities

    periodic aperiodic periodic aperiodic

    DS TBS

    Organize

    Strategies useful for achieving organization:

    List all the features

    Sort

    Group into categories

    Integrate (reduce to fewer groups)

    77

    Organize

    The key of software organization:

    78

    VERY IMPORTANT

    a TAB character is not equivalent to N spaces

  • 8/13/2019 Mw1 Research

    14/14

    16/04/2012

    14

    Organize

    void sort(int *v, int n)

    {

    int i, j; // array indexesint min, k; // value and index of minimum element

    int temp; // temporary variable

    for (i=0; i