Crouching “Problem” and the Hidden “Solution”

3 downloads 0 Views 288KB Size Report
because the answer is not separate from the problem.“ - Jiddu Krishnamurti. • Our approach will be to derive the solution by describing the problem in structured ...
Crouching “Problem” and the Hidden “Solution” Observations on the philosophy of problem solving Organized By RAJAGIRI SCHOOL OF ENGINEERING & TECHNOLOGY Rajagiri Valley, Kakkanad, Kochi, India

Girish Balakrishnan Lecturer Rajagiri School of Engineering and Technology

When did my enquiry to problem solving start? “…at the Kerala engineering counseling centre where students and parents struggle to decide on the best engineering college to choose from…”

Thanking slide I am indebted to my teachers at Case Western Reserve University for initiating me to their methods of research

Who is an engineer? • "Engineers are professionals whose education prepares them to use mathematics, science, and the technology of the day to build products that are important to the safety and well-being of the public.“ - D L Parnas [1]

• In short they are problem solvers!

Problems facing science and business of this century • Problems faced • Complexity “I think the next century will be the century of complexity” - Steven Hawking • Understanding biological systems • Climate change etc [2]

• Inter-disciplinary nature of future/current research • Need for techno-functional people in business domain • Software solutions to solve daily problems of common man (connectivity, improved market, agile decision making etc)

Probable nature of solution • good theoretical basis for understanding complex system • a framework of thought tools to approach problems in any domain • intelligent purposeful software systems

Problems facing humanity as a whole • Global Warming • Increasing Population • Food for the growing population • Energy Crisis

Probable nature of solution • prediction if possible (e.g. early warning systems) • methods to logically deduce balancing action to prevent/control crisis

How to benefit from computing resources? "I'm not dumb. I just have a command of thoroughly useless information." - Calvin, of Calvin and Hobbes

• • • •

Can we model (computer models) these problems? Can we simulate various scenarios? Can the society at large participate in scenario building through web sites? Can the political system be improved by making use of collective intelligence of public at large? • reasoning system to supplement the voting system • a predictable reason for/against could stall or enable decision making



Finally can the engineering department collaborate with social science department and are you willing to do projects on this topic?

Q. How do we achieve this? • A. Pose every problem as a computability problem! • "The real glory of science is that we can find a way of thinking such that the law is evident." - Richard Feynman • Way of thinking = Logic = Algorithm!

Try to restate Newton’s Laws as computability problems!

• First Law and reproducibility (predictability) • Second Law and controllability (balance) • Third Law and cohesion (convergence?)

Nature of future systems – Purposeful! • Purpose: The basis of the concept of purpose is the awareness of voluntary activity [3] • A gun is a purposeless system whereas a torpedo with target seeking mechanisms is purposeful • Thus for purposeful systems attainment of goal is intrinsic to the performance - they are goal seeking! • Can the system guide the user in decision making? • Can the system incorporate the user's intelligence to select from alternatives?

Where are we today? • Some very bad news from expert D L Parnas! • In the words of D L Parnas [1] [4]: • In the early 196Os, those of us who were interested in computing began to press for the establishment of computing science departments... • Both mathematicians and electrical engineers predicted that graduates of CS programs would understand neither mathematics nor engineering; consequently they would not be prepared to apply mathematical and engineering fundamentals to the design of computing systems.

Where are we today? (contd) •

• •





Our intent (in asking for a new computer science department) was to build a program incorporating many mathematics and engineering courses along with a few CS courses. Nearly 25 years later, I have reluctantly concluded that our opponents were right. They build complex models more reminiscent of programs written by bad programmers than the elegant models I saw in my mathematics courses. Computing scientists often invent new mathematics where old mathematics would suffice. They repeatedly patch their models rather than rethink them when new problems arise. They seem to lack an appreciation for the routine systematic analysis that is essential to professional engineering.

Where are we today? (contd) •

They are attracted to flashy topics that promise revolutionary changes and are impatient with evolutionary developments.



Traditional engineering fosters cooperation between theory and practice. In computing science, though, theory and practice have diverged.



They (CS graduates) build systems of great complexity without systematic analysis. They don’t understand how to design a product to make such analysis possible.



Too many graduates end up “maintaining” commercial software products, which is analogous to electrical engineers climbing poles to replace cables on microwave towers.

Where are we today? (contd) •

My industrial colleagues often complain that CS students are not prepared for the jobs they have to do. That is not the role of a university. Universities should not be concerned with teaching the latest network protocol, programming language, or operating system feature. Graduates need the fundamentals that will allow a lifetime of learning new developments;



Something has gone wrong in the field that we call “Software Engineering”. Where a Mechanical Engineering journal might publish a paper on how to make sure that an impeller will not break if the fluid is viscous, or how to control a milling machine more precisely, Software Engineering journals publish papers on how to get people to cooperate better. In other words, we are focusing on aspects of project management and forgetting the problems of design and analysis that are at the heart of other areas of Engineering.

Where are we today? (contd) •

Software engineers seem to be satisfied with going to potential users and asking, “What would you like?” Functional requirements for physical products can be checked for completeness and consistency; in software we accept the fact that our requirements will have neither property

Do you read philosophy? "A philosopher is a blind man searching for a black cat in a dark room which does not exist“ - Anonymous

• It is important to understand the philosophical nature of the grave problems of the world "If you can really understand a problem, the answer will come out of it, because the answer is not separate from the problem.“ - Jiddu Krishnamurti

• Our approach will be to derive the solution by describing the problem in structured manner!

Logic to rescue • Boolean Logic [5] • Symbolic logic (The Da Vinci Code!) • Mapping your problem to set of numbers from 0-1 (example is Probability Theory) • In the beginning God created "Sets" then relation on items in the set • Partial ordering and lattice • Boolean Algebra as a special case of lattice

Logic to rescue (contd) • Kantian Logic [4] • Compared to a textbook in symbolic logic the Kantian Logic shows a marvelous philosophical richness. The time will come in philosophy when the one-sided emphasis on symbolic manipulations will be overcome and logic will be seen in its totality. • To those few who are themselves endeavoring to transform an intellectual discipline that is still in its philosophical stage (such as some of the humanities and social disciplines) into an exact science, a thorough knowledge of the Kantian difference between philosophy and science is indispensable

Logic to rescue (contd) • Philosophy: articulates predicates • Science: Inter-relates (a sign of mathematics) synthetically concepts • Philosophy to science through hierarchies of clarity • In our approach we use: • Symbolic logic to describe the problem • Kantian logic to organize the problem description

Mathematics - Informally • The most general mathematical definition of any system is: “A system is a relation on items. (e.g. input and output)” • Can you identify relations between objects? Yes?? You are a mathematician! • Formal study of relations applying formal logic results in various branches of mathematics (as far as I understand) • Start from a set and define rules to make your concept mathematical!

Algebra "Algebra oru Zebra...athu padipikyunna Sir oru Cobra“ (Malayalam) "Algebra is a Zebra and the sir who teaches it is a Cobra" (English) – bench mate from school



Traditional algebra is concerned with [7] – operations of addition, multiplication etc and on manipulative techniques – translating problems into the language of algebra



Modern algebra however focuses on – deriving properties in formal, rigorous-fashion

• • • •

Modern algebra is thus more abstract in nature It studies operations on objects that need not be numbers at all, but satisfy certain laws E.g.: Addition and multiplication of polynomials considering them as objects In modern algebra we deduce properties of algebraic systems from the set of postulates

Boolean Algebra •

Lattice is a set with partial ordering along with additional properties



Boolean algebra is a special case of what is called a lattice



Thus to try to use concepts from Boolean Algebra all we need is a set with an ordering defined (e.g.

Suggest Documents