Thursday, June 23, 2011

Knowledge-based Programming to Knowledge Representation: The Basic Tasks

We continue from the earlier post. As in the earlier post, much of this post content are taken from Franz Baader's lecture notes (freely available on the web) of which I claim no authorship whatsoever.

Knowledge-based programming can be generalized into an area called knowledge representation. More precisely, a prerequisite for knowledge-based programming is that the relevant knowledge needs, in some way, to be represented symbolically, and thus stored in a machine/computer. Obviously, the way knowledge is represented should enable a machine, or in this case, a general problem solver to process it and answer the queries given to it. Again, following Franz Baader's lecture notes, the following are the important subtasks in knowledge representation:

  1. knowledge acquisition;
  2. symbolic representation;
  3. working with and applying the represented knowledge.

Knowledge acquisition

Knowledge acquisition is a difficult task because essentially, knowledge that we would like to represent is human's knowledge. After all, the notion of knowledge makes much more sense when discussed within human context; it is arguably absurd to talk about knowledge of a table, knowledge of a stone, knowledge of a bird (well it may have something that resembles knowledge, but strictly speaking, we would call it instinct, rather than knowledge), or knowledge of a book (a book may contain knowledge, though in the end what it contains is human's knowledge).

There are various ways to acquire knowledge about the application domain which is needed to solve the relevant problem, for example, by interviewing experts, mining documents, etc. Obviously, this implies that we have to start from a very informal, imprecise, and incomplete description of the domain to a more formal, machine processable specification. This topic is a very broad research area that overlaps with many other research area including learning and knowledge engineering. For our discussion, we will not deal with this issue explicitly.  The reader are recommended to look at other literatures which can be easily found online. From now on, we simply assume that we have a way to acquire knowledge in an effective manner.

Symbolic representation

There are several meaning of the word "representation" if we look into dictionary. We do not intend to discuss them in details, but rather, we understand that representation indicates a connection between things in the real world and things that we use to depict them. For our discussion, symbolic representation is actually a depiction or description of some real world entity that is symbolic in nature. In the research area of knowledge representation and reasoning, the following questions are discussed [Baader, 2005].

  • What is the exact connection between the symbolic representation and the real world entities it is supposed to describe?
  • What formalism is used to represent the knowledge?
  • What is the meaning (semantics) of the chosen formalism?

These questions give rise to a plethora of formalisms, methods, techniques, approaches, whatever --- you name it, to represent knowledge. In a more general sense, knowledge representation can be classified into ones which are symbolic and ones which are not. The latter includes artificial neural network or connectionist systems and evolutionary computation. The other approaches like fuzzy systems and statistical-based systems, although heavily non-symbolic in nature, can be integrated with symbolic approaches in a rather seamless manner. The third question above is, in particular, frequently not applicable (at least in a rather straightforward way) to non-symbolic approaches like artificial neural network. It is undeniable that such systems do work and solve problems in applications robustly and efficiently. However, such systems typically lack semantics. For example, take any artificial neural network system which has been trained for some period of time to classify documents according to their topics. Presumably, the weights of connections between neurons in that system represent the knowledge necessary to perform the classification correctly. Unfortunately, there is no way for us to understand what is the relationship between certain configuration of numerical weights of connections between neurons and the fact that document A has topic X or document B has topic Y.  Such a gap is very difficult to close, despite the efforts that have been made so far, e.g., research in neural-symbolic integration (see e.g., the  7th International Workshop on Neural-Symbolic Learning and Reasoning (NeSy'11), or the "Perspective of Neural Symbolic Integration" book).

For the purpose of our discussion here, we would only concern ourselves with symbolic based systems, more specifically, logic-based knowledge representation (LBKR) systems.  Aside from the above three questions, research in LBKR also investigates the expressivity aspect, i.e., the adequacy of the expressive power of the chosen formalism. The question of expressive power essentially asks what statements can be formulated and what cannot within a given formalism which is restricted to the representational means defined for it. The more expressive a formalism is, the more knowledge can be presented. Of course, such a formalism can be considered adequate only when all the relevant knowledge can be presented. As an example, the sentence

There exists no prime number that is greater than every other prime number

cannot be adequately expressed using propositional Boolean logic that only uses connectives like conjunction (AND), disjunction (OR) and negation (NOT). This example illustrates that the expressive power of propositional logic formalism is not adequate to express the above sentence. On the other hand, it is also a common question to ask whether all of the representational means attributed to the formalism are really needed, that is, whether some of the representational means is redundant. For example, in propositional Boolean logic, it is sufficient to use only conjunction and negation to express all statements that can be expressed using propositional Boolean logic. In other words, the disjunction operator is redundant in the presence of conjunction and negation.

On the semantics, LBKR systems are expected not to depend solely on any procedural semantics. This means that the semantics should never depend on particular programs that are built to do whatever tasks which are assigned to the systems. If this is the case, then the semantics, i.e., the meaning, of knowledge would change if the program is changed. Instead, they should have declarative semantics, hence separating the representation and the programs that are used to process it. A declarative semantics essentially consists of an abstraction of the world that we want to represent together with a mapping from any symbolic expression allowed in the formalism to an element in the abstraction. Such an abstraction is often stated in a form of a set or other algebraic structures. Representational means of the formalism usually allows us to build more complex symbolic expressions from simpler ones. Thus, the mapping given by the semantics typically associates the representational means with some operations on the abstraction. In addition, declarative semantics specifies a notion of "truth" which is used to determine whether a symbolic expression is true in the world induced by the abstraction. Moreover, the relationship between representational means and operations on the abstraction allows for the "truth" of a symbolic expression to actually be computed.

Working with and applying the represented knowledge

LBKR systems, in addition to the above requirements, should allow users to do some kind of manipulation in the form of [Baader, 2005]:

  • adding new knowledge to existing knowledge bases;
  • removing knowledge from a knowledge base;
  • accessing the explicitly stored knowledge;
  • accessing the implicitly stored knowledge

The above activities can be viewed as knowledge management activities which similarly exist for database systems. In fact, in some sense, a (relational) database system can be considered as a form of knowledge-based system. This fact can be easily seen if we see a database as a set of relation which can be expressed as simple first-order logic statements. Also, queries to a database, say stated using SQL, are actually first-order logic statements whose truth are tested against the relations in the database. The feature that a standard database system lacks is the ability to access implicitly stored knowledge. This feature implies that a LBKR system should be able not only to retrieve knowledge that is stored explicitly, but also to deduce implicit knowledge that is implied by the explicitly stored knowledge. Such a feature is called inference mechanism or inference procedure. Referring to my earlier post on "Classical Programming vs. Knowledge-based Programming: Example", the general problem solver mentioned there would be realized here as inference mechanisms. As an example, we use the one from that post; consider the following knowledge base:

[sourcecode language="ruby" light="true" wraplines="false"]

directly-connected(a,b).
directly-connected(a,c).
directly-connected(b,d).
directly-connected(b,e).
directly-connected(c,e).

connected(x,y) if directly-connected(x,y).
connected(x,y) if directly-connected(x,z) and connected(z,y).

[/sourcecode]

Here, directly-connected(a,b) is  explicit knowledge because it is explicitly stated in the knowledge base above, whereas directly-connected(a,c) is implicit knowledge because it is implied and not explicitly stated by the knowledge base.

Wednesday, June 22, 2011

Classical Programming vs. Knowledge-based Programming: Example

Continuing from my last post, let me give you an example on how classical programming differs from knowledge-based programming (the example is taken from Prof. Franz Baader's lecture notes). Consider the acyclic graph in the picture below.

With regards to the above acyclic graph, we would like to solve the following problem: given to node $latex x$ and $latex y$ in the graph, determine whether these two nodes are connected.

In the classical programming, this problem can be solved by giving a procedure that gives you precisely the desired answer, namely "yes" if  both nodes are connected, and "no" otherwise. This procedure might be something like this:

[sourcecode language="ruby" light="true" wraplines="false"]

procedure connected(x,y)
if x = a then
if y = b or y = c then
return true
else
return (connected(b,y) or connected(c,y))
else
if x = b then
if y = d or y = e then
return true
else
return false
else
if x = c then
if y = e then
return true
else
return false
else
return false
[/sourcecode]

It is straightforward to see that if we ask whether $latex e$ is connected to any node, the answer would be false. Now, what if the graph is changed, say by adding a new node $latex f$ and an edge from $latex e$ to $latex f$? Of course, the above procedure will return the wrong answer when we ask whether $latex e$ is connected to $latex f$. We might have to modify the whole program to incorporate this new case.

On the other hand, the knowledge-based programming will solve the above problem in a different way. First, the graph, i.e., the problem description and its restrictions are specified explicitly as the knowledge about graph and the meaning of "connected". For example, the following knowledge base gives a correct description of the graph and the "connectedness" between nodes in the graph.

[sourcecode language="ruby" light="true" wraplines="false"]

directly-connected(a,b).
directly-connected(a,c).
directly-connected(b,d).
directly-connected(b,e).
directly-connected(c,e).

connected(x,y) if directly-connected(x,y).
connected(x,y) if directly-connected(x,z) and connected(z,y).

[/sourcecode]

Next, against the above knowledge base, we give the following query:

[sourcecode language="ruby" light="true" wraplines="false"]

connected(a,b)?

[/sourcecode]

To answer the above query, we simply run a general problem solver and get the answer. Thus, classical programming focuses more on "how" to obtain the solution, while knowledge-based programming would focus more on "what" the solution would be like.

In practice, this distinction may not be as strict as what the example illustrated. Classical programming typically also allows parts of the program to contain the data structures that describe the problem specification, whereas some knowledge-based programming applications encode the knowledge about application in the program using procedural rules.

In knowledge representation and reasoning, one of the main research theme is about formulating and specifying languages that allow users to express knowledge symbolically and developing algorithms which can perform as a general problem solver for queries by users to the knowledge base.

Tuesday, June 21, 2011

Classical Programming vs. Knowledge-based Programming

I just read again Prof. Franz Baader's old lecture manuscript of Logic Based Knowledge Representation course. He taught this course in the International Master Programme in Computational Logic at Technische Universität Dresden during 2005's Summer Semester. There is an interesting passage that compares the so-called classical programming against knowledge-based programming. Classical programming is essentially the computer programming that you usually learn the first time you enter a computer science undergraduate program. On the other hand, knowledge-based programming is the programming that you typically do when you want to build an "intelligent" application. These are the differences between them according to him:

Classical programming is characterized with the following properties:

  • a specialized program that is tailored to a specific application;
  • knowledge about the problem domain and additional constraints are implicit in the structure of the program;
  • therefore, knowledge is "introduced" by the programmer;
  • if there are changes in the application, the program has to be rewritten.

On the other hand, knowledge-based programming has the following properties:

  • use of general problem solvers that are independent of the specific domain;
  • knowledge about the application domain is represented explicitly in a knowledge base;
  • this knowledge can be acquired by a knowledge engineer, independent of the problem solvers;
  • if there are changes in the application, only the knowledge base need to be changed, not the problem solver.

So in essence, there is a clear separation between the problem solver and the problem specification itself. The logic that leads to a solution to a problem in a specific domain is not encoded in the program, but rather, it is encoded as logical inferences which uncover implicit knowledge within the problem specification. This is what drives research in (logic-based) knowledge representation, the field of which is where I am working on. There are plethora of methods and formalisms on how to actually represent knowledge. One of them is Description Logic, which has found its way to applications in the Semantic Web. I am excited to be part of it, and hopefully this research area will also be picked up by more Indonesian researchers in the future.

Friday, June 03, 2011

Quotes from Edgar W. Dijkstra

The other day, I stumbled upon the Memorial Resolution about Edgar Wybe Dijkstra, whom you may have known as the creator of the now-famous Dijkstra shortest path algorithm. Dijkstra was a professor at the Eindhoven University of Technology, and later at University of Texas at Austin (1984 - 2002). He was the winner of 1972's ACM Turing Award, the "Nobel prize of computer science". The full text of the Memorial Resolution containing a short but very interesting and inspiring biography of his life can be accessed at: http://www.utexas.edu/faculty/council/2002-2003/memorials/Dijkstra/dijkstra.html. I just want to quote some of the things there which I really found inspiring.

On his project of "Streamlining Mathematical Arguments", he said:

"As a matter of fact, the challenges of designing high-quality programs and of designing high-quality proofs are very similar, so similar that I am no longer able to distinguish between the two: I see no meaningful difference between programming methodology and mathematical methodology in general. The long and short of it is that the computer’s ubiquity has made the ability to apply mathematical method[s] more important than ever."

On teaching formal methods (which was considered radical novelties) in the university, he said:

"Teaching to unsuspecting youngsters the effective use of formal methods is one of the joys of life because it is so extremely rewarding. Within a few months, they find their way in a new world with a justified degree of confidence that is radically novel for them; within a few months, their concept of intellectual culture has acquired a radically novel dimension. To my taste and style that is what education is about. Universities should not be afraid of teaching radical novelties; on the contrary, it is their calling to welcome the opportunity to do so. Their willingness to do so is our main safeguard against dictatorships, be they of the proletariat, of the scientific establishment, or of the corporate elite."

He consider creating a teachable material must be one of the main objectives of a research:

"For me, the first challenge for computing science is to discover how to maintain order in a finite, but very large, discrete universe that is intricately intertwined. And a second, but not less important challenge is how to mould what you have achieved in solving the first problem, into a teachable discipline: it does not suffice to hone your own intellect (that will join you in your grave), you must teach others how to hone theirs. The more you concentrate on these two challenges, the clearer you will see that they are only two sides of the same coin: teaching yourself is discovering what is teachable."

An interesting fact about him:

Dijkstra enjoyed the natural beauty of Austin and the surrounding hill country. He and his wife had a fondness for exploring state and national parks in their Volkswagen bus, dubbed the Touring Machine, in which he wrote many of his technical papers. They had a constant stream of visitors in their home, for whom he enjoyed playing Mozart on his Bösendorfer piano.

The introduction given for his 1972's ACM Turing Award:

The working vocabulary of programmers is studded with words originated or forcefully promulgated by E. W. Dijkstra: display, deadly embrace, semaphore, go-to-less programming, structured programming. But his influence on programming is more pervasive than any glossary can possibly indicate. The precious gift that this Turing Award acknowledges is Dijkstra’s style: his approach to programming as a high, intellectual challenge; his eloquent insistence and practical demonstration that programs should be composed correctly, not just debugged into correctness; and his illuminating perception of problems at the foundations of program design. He has published about a dozen papers, both technical and reflective, among which are especially to be noted his philosophical address at IFIP, his already classic papers on cooperating sequential processes, and his memorable indictment of the go-to statement. An influential series of letters by Dijkstra have recently surfaced as a polished monograph on the art of composing programs. We have come to value good programs in much the same way as we value good literature. And at the center of this movement, creating and reflecting patterns no less beautiful than useful, stands E. W. Dijkstra.

His thought about communication problems through writing:

At a given moment, the concept of polite mathematics emerged, the underlying idea of which is that, even if you have only 60 readers, it pays to spend an hour if by doing so you can save your average reader a minute. By inventing an idealized “average reader”, we could translate most of the lofty human goal of politeness into more or less formal criteria we could apply to our texts.

Other quotes from him:

Computer Science is no more about computers than astronomy is about telescopes.

A formula is worth a thousand pictures.

Always design your programs as a member of a whole family of programs, including those that are likely to succeed it.

Separate Concerns.

A Programming Language is a tool that has profound influence on our thinking habits.

The competent programmer is fully aware of the strictly limited size of his own skill; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.

Progress is possible only if we train ourselves to think about programs without thinking of them as pieces of executable code.

Program testing can at best show the presence of errors but never their absence.

... if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself, Dijkstra would not have liked this, well that would be enough immortality for me.

As a matter of fact the still often repeated requirement that axioms should be self evident strikes me as a medieval relic: to the extent that they take philosophy seriously, it is impossible for me to take logicians seriously. (Again this may be a cultural difference: it seems there are societies in which philosophers still have some intellectual standing.)

The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense.

Being abstract is something profoundly different from being vague.

The problems of the real world are those that remain when you ignore their known solutions.

The prisoner falls in love with his chains. (In reference to programmers using inadequate tools.)

I pray daily that more of my fellow programmers may find the means of freeing themselves from the curse of compatibility.

Brainpower is by far our scarcest resource.

My daughter and I taking a shower with equal frequency is a frightening thought for both of us. (February 21,1984; commenting on a mutual exclusion algorithm in which the two components are alternately granted access to the critical section.)

Nothing is as expensive as making mistakes.

If you carefully read its literature and analyze what its devotees actually do, you will discover that software engineering has accepted as its charter, “How to program if you cannot.”

We must give industry not what it wants, but what it needs.

Waiting is a very funny activity: you can’t wait twice as fast.

Do not try to change the world. Give the world the opportunity to change itself.

So-called natural language is wonderful for the purposes it was created for, such as to be rude in, to tell jokes in, to cheat or to make love in (and Theorists of Literary Criticism can even be content-free in it), but it is hopelessly inadequate when we have to deal unambiguously with situations of great intricacy, situations which unavoidably arise in such activities as legislation, arbitration, mathematics or programming. (Foreword to Teaching and Learning Formal Methods, edited by C. N. Dean and M. G. Hinchey, Academic Press, 1996.)

The traditional mathematician recognizes and appreciates mathematical elegance when he sees it. I propose to go one step further, and to consider elegance an essential ingredient of mathematics: if it is clumsy, it is not mathematics.

Don’t compete with me: firstly, I have more experience, and secondly, I have chosen the weapons. (During first lecture in Capita Selecta, August 29, 1996.)

Maintaining a large range of agilities mental and physical requires regular exercise [...]. That is why the capable are always busy. (Lecture, Capita Selecta, October 10, 1996.)

Mathematicians are like managers; they want improvement without change. (During a meeting of the Austin Tuesday Afternoon Club, Fall 1996.)

... I had already come to the conclusion that in the practice of computing, where we have so much latitude for making a mess of it, mathematical elegance is not a dispensable luxury, but a matter of life and death.

Thursday, May 26, 2011

Hans Rosling's Washing Machine and World's Energy Consumption

http://www.youtube.com/watch?v=BZoKfap4g4w

Another interesting video on washing machine and the world's energy consumption. And it's funny too!

Like money, out of all the world's energy, the richest people consume the most. Thus, until they have the same energy consumption per person, they shouldn't give an advice to others, what to do and what to not to do.

So.... who does not need a washing machine?

Microsoft's corporate culture from an open-source backer's point of view

http://www.zdnet.com/blog/microsoft/can-an-open-source-backer-thrive-inside-microsoft-this-one-says-no/9545?alertspromo=&tag=nl.rSINGLE

While I do agree that some competition is needed based on a meritocracy system, but too much competition may indeed be destructive, especially if this is within the scope of one organization.

It's an interesting corporate culture, as some of their products are #1 used worldwide (which of course also due to intensive marketing and an aggressive methods of selling, bordering on monopoly). Don't know how many of them that were considered a failure, though.

Tuesday, May 24, 2011

Rules of Brainstorming

Finally, an update after a while...

I just read an interesting article on how can an innovation be killed easily in any organizations. One interesting point in the article is that brainstorming is good and recommended, but often times, brainstorming just ends up killing good ideas. The reason is that because we often do brainstorming while ignoring the rules behind it. So what are the rules?

  1. There is no such thing as a bad idea. Brainstorming is a place to throw in ideas. As such, any ideas should be regarded as valuable as the best idea out there. No matter how far-fetched an idea is, you never know that idea will precisely lead you to the one that is best for your problem.
  2. Don't talk yet about "why not". Often times, a good idea is abandoned simply because we start thinking on why that idea might be not good for the problem and not fit the reality. Discussions on whether an idea is bad should be done in another time, not during brainstorming. Brainstorming should only be used to throw in ideas, not ruling them out.
  3. Nothing should stifle the flow of ideas. Ideas have to flow freely. There should be no "buts". What we want to hear is the words such as "and", "or",  and "what if?".
  4. Again, just to emphasize: there's no such thing as a bad idea.

Friday, January 21, 2011

Hans Rosling's 200 countries, 200 years in 4 minutes

This is an interesting visualization of world's prosperity in the last 200 years. Looking at the holographic visualization reminds me of the Civilization chart you get when you finish one of those Sid Meier's Civilization series. On a more serious note, I wonder if Indonesia's circle is split,  how large the disparity between regions would be.

Tuesday, January 11, 2011

Indonesia's Fulbright scholarships: AMINEF & Selection Process

There has been some emails to me asking about Fulbright scholarship for Indonesian. It seemed that some of the questions asked more about how the selection process for this scholarship is done in Indonesia. I think it would be useful if some of the things I know based on my own personal experience going through the selection process myself are recorded here. [Disclaimer: I will try to be as accurate as possible, but mistakes are possible. Any corrections are thus welcome].

Fulbright Programs and AMINEF

Fulbright programs in Indonesia are administered through a bi-national commission called AMINEF, which is an abbreviation of American Indonesian Exchange Foundation. In some other countries, Fulbright programs can also be administered by a similar commission or directly by the U.S. embassy or consular offices.

As expected from its name, AMINEF board consists of representatives from Indonesia and the U.S. with Indonesian Minister of National Education and U.S. Ambassador as the joint chairmen. AMINEF was established in 1992 and, based on what I've heard, historically has its root from USAID programs for Indonesia since 1950s. AMINEF's basic missions are, quoting from its official website, to administer various scholarship programs for both Indonesians and Americans, and to give information about education in the U.S. as well as what opportunities are available to study there. Currently, AMINEF administers the following programs for Indonesians:

  1. Fulbright Master's Degree Program
  2. Fulbright Freeport Master's Degree Program
  3. Fulbright - DIKTI Master's Program
  4. Fulbright Science and Technology Award for PhD
  5. Fulbright Presidential PhD Program
  6. Fulbright - DIKTI PhD Program
  7. Fulbright Doctoral Dissertation Research Program
  8. Fulbright - DIKTI Doctoral Dissertation Research Program
  9. Fulbright Senior Research Program
  10. Fulbright - DIKTI Senior Research Award Program
  11. Fulbright Foreign Language (Bahasa Indonesia) Teaching Assistant (FLTA) Program
  12. Hubert H. Humphrey Fellowship Program for Mid-Career Professionals
  13. Fulbright Visiting Specialist Program
  14. Fulbright Tsunami Relief Initiative Master's Degree Program
  15. Community College Summit Initiative Program
  16. International Leadership in Education Program (ILEP) - Teacher Exchange Program
  17. Global Undergraduate Exchange Program
  18. Fulbright KEMLU Program: designed for employee/diplomats of Indonesian Ministry of Foreign Affairs.

Besides those programs, AMINEF also administers several programs for Americans for study and research in Indonesia. You can find details of those programs including their requirements in AMINEF's website. What I am going to write in more detail here is related to the Fulbright Master's and PhD scholarships selection process done in Indonesia (program #1 and #5 in the list above). Other countries may have different schemes for the selection, though some of the things may be applicable as well.

Selection Process for Fulbright Master's and PhD Programs

As seen in the list above, Indonesian Fulbright scholarships for study at Master's and PhD level are designed in several schemes.  Although I've obviously never gone through all those schemes by myself, I believe the selection process is similar. The difference between those schemes lies more on the eligibility criteria and the source of funding. Every Fulbright scholarships usually covers tuition fees, monthly stipends, health insurance, and airfares. In addition, for successful candidates, costs for TOEFL and GRE tests for placement in U.S. universities are covered.

Call for application is normally published in September - November of the previous year. AMINEF makes regular roadshow to several major Indonesian cities. These roadshow are typically held in major universities in the area. The call for application is also broadcasted via mailing lists, brochures, etc.

The deadline for submission of application is typically around April, from which the selection process starts. The selection process itself is divided into three phases:

  1. Document evaluation
  2. Interview
  3. Placement in the U.S. universities

In general, applicants are required to submit a completed application form (downloadable from AMINEF's website), two essays: personal motivation and study/research plan, and reference letter. Other documents may also be required, e.g., curriculum vitae, copy of ID card, degree certificate and academic transcript from earlier level of education, etc. In the document evaluation, all the documents submitted are evaluated based on the completeness, eligibility, as well as applicant's profile. The competition in this phase is particularly high. I've heard that the number of applicants may reach more than 800 for the master's level. On the other hand, the number of applicants who will be invited for interview is possibly in between 60-100 applicants for Master's level of which 20-30 Fulbright scholarship's principal candidates will be selected. For PhD level, the competition is slightly less where around 300 applicants submit their applications, 60-80 are invited for interview and 30-40 are selected as principal candidates. Note that though, this number is an estimate based on what I've gathered from discussions with fellow Fulbrighters and AMINEF's officers.

After the document evaluation, selected applicants will be invited for an interview session, usually in September or October. Since the applicants may come from any location in Indonesia, depending on the number of applicants in a particular region, AMINEF may hold interviews in several cities. This is done to lower the cost and logistics as they are all taken care of by AMINEF. Each interview will be for about 1 hour, and there will be 4-5 interviewers. In my case, I was interviewed by 3 Americans and 2 Indonesians. Judging from the questions by the interviewer, the interview generally aims to have an in-depth exploration about the applicant's academic and research capability as well as applicant's potential to have future impact in the society, scientific community and the increased understanding between people of both countries.

A couple of weeks after the interview, some of the applicants will be informed by AMINEF whether he/she is selected as a principal candidate or an alternate candidate for Fulbright scholarships. The corresponding applicant must confirm his/her selection as a candidate for Fulbright scholarship and whether he/she will continue to the next phase, i.e., placement in a U.S. university. A principal status means that the scholarship is basically granted, pending the placement in a U.S. university, whereas an alternate status means that the scholarship may be granted if there is a principal candidate that resigns from the selection, or more funding is available later.

After the interview phase, the selection process is continued with placement in U.S. universities. In this phase, an application plan is drawn for each candidate. This phase consists of preparing the required test scores: TOEFL, GMAT/GRE General, and GRE Subject (for specific subjects), improving essays for application (personal motivation and study/research plan), and adding more reference/recommendation letters (may need up to 4 letters). The TOEFL & GRE tests will be conducted, usually in October or November to catch up with the application deadline of most U.S. universities in December. International Institute of Education (IIE) that manages most Fulbright programs all over the world coordinates the placement with the help of AMINEF. Based on the test scores, the candidate's academic interest and availability of suitable degree programs in the U.S., IIE suggests a list of universities to which a candidate's application will be submitted. The list also takes into account the candidate's personal preference and IIE will ask for the candidate's approval before they go ahead with submitting the application. The good thing with this process is that the candidate needs not to pay the application fees which are typically charged by U.S. universities for the application. Such fees may reach USD 75 or more for each application which is quite expensive especially if we apply to more than one universities. For example, in my case, my application was sent to 6 universities.

After submitting the applications, the candidate only needs to wait for the results whether he/she is accepted to a U.S. university. This may take a few months because some U.S. universities sometimes decide the acceptance as late as June. If a U.S. university decides that the candidate can be admitted, it will send an admission offer, through IIE. Otherwise, the candidate is usually informed that he/she is not admitted to the university. After receiving some admission offers, a candidate can decide which offer that he/she would like to take. Around this time, AMINEF will also organize a Pre-departure Orientation as a preparation before leaving to the U.S. The candidate will also be asked to prepare for his/her passport, medical checkup and other documents related to his/her departure. IIE will also inform whether a pre-academic preparation is required/offered for the candidate in the U.S. This preparation can be either a couple of weeks of language preparation or a one-week gateway program, if the candidate's English is already very good.

The candidate will also be asked to apply for a U.S. visa. There will be some help from AMINEF on visa application (preparation for DS-2019 form, guidelines, appointment for visa interview), but in general, the candidate will have to go through the application process by him/herself. This consists of document preparation, filling DS-160 online form, and visa interview. The visa application itself is free of charge for Fulbright scholars (and his/her spouse and children, if they come along), which is very nice because otherwise,  the candidate must pay around US$ 140, which is a lot. If there's no problem with the visa, then usually in August, the candidate will leave to the U.S., starting the Master's or PhD program from the Fall quarter/semester of the year.

Classes canceled due to snowfall

Today, there has been a continuously heavy snowfall since this morning. I didn't go to campus cause all classes after 4 pm are canceled (my class on Tuesday starts at 6.05 pm). So, this is practically holiday at home as my wife didn't go to her English course this morning also due to snowfall. All this reminds me to the following 40 seconds long video that captures a 20 hours long heavy snowfall last December in the U.S. east coast area. It was such a heavy snowfall that shut down the transportation during the busy days of year-end holiday.

Friday, January 07, 2011

Wednesday, January 05, 2011

AMINEF presentation about Fulbright and other programs at UI Depok

Dear all,

AMINEF is going to give presentations at UI Depok next week. I've got the following email from AMINEF staf, asking for spreading the invitation about this event to interested fellow lecturers, students, administrative staff at UI, as well as high school teachers in the area around UI campus. You're welcome to attend and to spread this to whomever you think would like to go to the U.S. for further study.

======================================

Dear All,

Kami ingin memberitahukan bahwa AMINEF akan mengadakan presentasi program Beasiswa Fulbright di Universitas Indonesia dengan informasi sebagai berikut:
Date: Monday, January 10, 2011|
Time: 09.00-11.00 WIB
Place: Ruang Rapat A, Gd. Pusat Administrasi Universitas, Lt.2, Kampus UI Depok

Mohon bantuan untuk meneruskan berita ini kepada para peminat baik dari kalangan dosen, tenaga administratif dan mahasiswa, serta guru SMA.  Mereka semua dapat memanfaatkan program-program yang cocok untuk mereka seperti program gelar (M.A. dan Ph.D.) dan Fulbright-DIKTI untuk kalangan dosen, program Doctoral Dissertation untuk para mahasiswa program S3 yang sedang dalam tahap penulisan disertasi, program nir gelar Humphrey untuk mid-career professionals, ILEP untuk para guru SMA, Global Undergraduate program untuk para mahasiswa (semester 2 s/d 5), serta Community College Initiative Program untuk lulusan SMA yang tidak melanjutkan studi ke perguruan tinggi (Pelamar yang sudah memiliki gelar D1,2, 3 atau S1 boleh melamar asalkan program studi yang akan diambil berbeda dengan program studi sewaktu kuliah dulu.  Program studi yg akan diambil harus sama dengan bidang pekerjaannya saat ini). Untuk semua program, termasuk program Fulbright-DIKTI, tidak ada keharusan bagi pelamar untuk melampirkan surat penerimaan (letter of admission) dari universitas di Amerika.

Harap dorong juga para staf dosen pengajar bahasa Inggris untuk datang karena mereka dapat memanfaatkan kesempatan menjadi asisten dosen bahasa Indonesia atau Jawa di bawah naungan program Foreign Language Teaching Assistant (FLTA) program.

Terima kasih.

Salam,

Theresia
Program Assistant
AMINEF

Wednesday, November 17, 2010

Fulbright Master's scholarship 2011 (to study in the U.S.)

This one is an advertising... :-)

Somebody posted this info on milis beasiswa (beasiswa (at) yahoogroups.com), and as a Fulbrighter myself, I feel obliged to spread this too... :-) Preference will be given to applicants serving as faculty members of private institutions of higher education in Indonesia, but that does not mean that those who're not a faculty member are not eligible or have no chance at all. It's alright if you're not a full time faculty yet (which is possibly because you only have bachelor's degree). The definition of "faculty member" here also applies if you're only a research or teaching assistant at a higher education institution.

For those who's interested in pursuing a PhD degree, Fulbright also has separate scholarship programs for PhD.

This scholarship is very prestigious and competitive, even more so for the Master's level. Good luck to you who want to try...

===========================

Fulbright Master Fulbright Master Scholarships, American Indonesian Exchange Foundation (AMINEF), USA

Preference will be given to applicants who serve as faculty members of state and private institutions of higher education in Indonesia. Applicants will possess:

  • a Bachelor (S1) degree with a minimum GPA of 3.0 (4.00 
  • leadership 
  • a good understanding of Indonesian and international 
  • demonstrated commitment to the chosen field of study
  • a willingness to return to Indonesia upon completion of the Fulbright program
  • a minimum institutional TOEFL score of 550 or IELTS score of 6.0

DISCIPLINES
All disciplines and fields of study are eligible for a Fulbright award. The fields of study covered by the Fulbright scholarship program in the past were limited to the Social Sciences and Humanities.  Since 2004, however, the policy has been changed to include also other disciplines with the exception of fields related to patient care or medical training nor to continue their study at medical school.

HOW TO APPLY
Candidates should complete the appropriate application forms. Forms are available either by mail or in person at the AMINEF Office, Gedung Balai Pustaka, 6th floor, Jl. Gunung Sahari Raya 4, Jakarta 10720. Please return to AMINEF your complete application package by the application deadline that includes:

  • Completed application form. This includes a clearly written and concise study objective.
  • Copy of your most recent, less than two years old, institutional TOEFL or IELTS score report.
  • One letter of reference, either from your current employer or previous lecturer.
  • Copy of academic transcript (English translation).
  • Copy of identity document (KTP or passport).

CONTACT INFORMATION
Specific questions regarding the application process may be addressed via e-mail to the following address: infofulbright_ind (at) aminef.or.id. We do not accept email applications. Hard copies must be sent or delivered to American Indonesian Exchange Foundation.

DEADLINE
The deadline for the submission of application materials for all programs is April 30, 2011.
Note: Program requirements are subject to change without notice.
The form can be downloaded here.

http://www.aminef.or.id/file/fulbright/2010%20FULBRIGHT%20APPLICATION%20FORM.doc

Friday, October 29, 2010

Why do you pick University X for your graduate study?

I was just having lunch together with some fellow foreign graduate students from Knoesis.  Our casual remarks on how each of us will spend the upcoming winter breaks developed into an interesting discussion because one of them has a girlfriend that is coming to WSU to do a PhD, despite getting 1520 on GRE which is an extremely high score. If you're wondering how high is high for a GRE score: she got 800 out of maximum 800 for the quantitative part and 720 out of 800 for the verbal part. Getting a perfect quantitative score is actually doable for fairly good natural science/engineering students, as long as you're careful in understanding the questions and answering them. However, getting above 700 for a verbal score is very difficult, more so if you're a foreign student and majoring in subjects which do not really need perfect verbal skills, e.g., natural science or engineering. Even native American English speakers would find it difficult to get such a high score. Oh by the way, the girl in question is a Chinese.

Knowing that this one fellow A whose girlfriend is in question will probably finish his PhD in the next 2.5 years, one of the other fellow remarked that she should have applied to more prestigious top-10 universities like MIT, or Stanford, or at least other universities in top-30 which, he perceives, are better than Wright State. He even told us a story of his friend who got 1380 in GRE and succeeded in getting admitted to MIT. He said that after 2.5 years, this fellow A would probably find a job and moving out of Dayton, and thus it is better if she chooses a university like MIT or Stanford, so that they could be together from then on.

I did not comment much in this occasion, but this discussion made me wondering about the reasons why one person choose a certain university X over the others for his/her graduate study. There can be many factors affecting the decisions, e.g.:

  • University X is (one of) the most prestigious and famous university in the country. This might be a typical reason that comes to mind when someone decides to go on to graduate study. The fame and prestige of having labeled "an alumnus of X" is certainly very tempting and in my experience, most often than not, it made people perceives you as better than most people, which may help you in finding a job.
  • University X has a study program of my interest which ranks as (one of) the top of the country. Although University X needs not be the most famous or prestigious, this is actually similar as above. The difference is probably in the sense that the better perception will come most likely from people whose area is closely related to that particular study program.
  • I know (possibly personally) a very good professor in my subject area who works in University X. This professor is probably a famous person in the area, and/or has published many scientific papers in the area, and/or has obtained large amount of funding from his research grants, and/or works in a lab/research group with the most modern and complete facilities. I suppose a good professor would probably has almost of all of those. He/she may be either young with a potentially exciting scientific career ahead or old with an established reputation. He/she may be a person who is not only good in doing research but also good as a mentor that enables you to reach your further goals of your scientific and professional life.
  • University X is not the best, but still good enough while also affordable with respect to my financial situation. This often happens when you're looking for further advance study, but you have to pay the cost by yourself. For PhD student in the U.S., this is rather seldom because typically PhD student is supported through teaching or research assistantship, or other sources of funding. But such supports are not always available for students in the master's level.
  • I am restricted to the requirements from the party that funds my study. If you're funded through some funding agency, e.g., governmental agency or NGOs, then it may happen that the agency predetermines which universities that can be applied in order to get funded. In that case, you probably have no choice, except comply to the requirement.
  • University X is located relatively close to my home or my relative's home. This one thing  is also considered, particularly if you get homesick easily.
  • My parents/family/boss forces me to study at University X.
  • My wife/husband/girlfriend/boyfriend studies at University X, and I want to be together with him/her.
  • Other reasons...

In the case of my fellow's girlfriend, it's probably because she knows personally a professor in our research center (she did an internship under him), aside from the fact that her boyfriend studies at WSU.

In my case, I would say that I chose WSU not because it's a top-10 university (though it's still one of the best in the midwest area), but more because Pascal Hitzler works here. I've known him (though not personally) since the time he was in Germany, and his research coincides with my interests too. Moreover, Pascal works at Amit Sheth's Knoesis Center, which is one of the U.S. top three research group in the Semantic Web area. Admittedly, I did put Wright State as my second choice when I applied for the Fulbright grant last year. My first choice was Carnegie-Mellon, but then CMU rejected my application. So, I guess it's kinda fated of me to be here. :-). I certainly don't know now whether Wright State is the right choice for me, but I believe it is.

In the end, I think, everyone differ on their consideration when choosing a university to do a graduate study. In the master's level, I suppose, you would weigh in more on the university's and program's reputation and quality. But in the PhD level, relationship with your professor probably has more say in deciding your choice.  In any case, I do believe that the above reasons take precedence over other reasons (except if you're restricted to some condition tied to your funding).

For PhD students who are getting started …

I just came across an interesting post by Matt Welsh from Harvard. He advised a few things to those PhD students whom are getting started their long endeavor towards a successful PhD research, including myself of course.

  • Don't let school get in your way of your education.
  • Just dive in and have no fear.
  • Don't read too much (at first).
  • Keep track of the papers that you read.
  • Take a lot of notes.

Reflecting the advice to my (current) situation, I found that none of the items checked off. I guess I am not yet in full shape of doing the PhD research. :'(

Wednesday, September 08, 2010

New chapter

Entrance to Wright State University -- Photo by K. Shimada [GFDL or CC-BY-SA-3.0-2.5-2.0-1.0], via Wikimedia Commons
Entrance to Wright State University -- Photo by K. Shimada [GFDL (www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0-2.5-2.0-1.0 (www.creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons

 

It's been a while since I last posted something in this blog. In the meantime, there has been major changes in my life. Yes, as of August 22nd 2010, I left Indonesia to go to the U.S. for pursuing a PhD. I departed alone and now we (I and my wife) are making an effort so that she can join me as soon as possible.

For the next couple of years, I will be studying, working, and learning as much as I can under Prof. Pascal Hitzler. He leads the Knowledge Engineering Lab at the Knoesis Center, Wright State University which is located near Dayton, Ohio --- actually WSU is in the suburban area of Dayton called Fairborn. Dayton is not a big city, especially if you compare her with other major Ohio cities like Cincinnati, Columbus or Cleveland. Also, like typical american cities, Dayton does not have an extensive public transportation. There is only one bus line from WSU to downtown Dayton and it runs once every 40 minutes or so. For me who has experienced a much more comfortable public transportation system in Europe, this is a quite depressing situation because practically, you really need to have a car to get you anywhere.  To make matters worse, I've never had a car driving license before. Thus, aside from the fact that cars are not cheap to have, I'm quite pessimistic to be able to drive in the near future. Luckily, there is a rather large supermarket nearby which sells almost everything I need to survive.. :-).

My stay in the U.S. is supported by a Fulbright Foreign Student Grant under the name of Indonesia Presidential Scholarship Program 2010. It's been a privilege to get selected for this scheme.  They say that Fulbright grant is one of the most prestigious scholarship award in the world. This brings quite a tremendous pressure for me to do well. I will tell you more about Fulbright grant in other post later. For now, this should be enough to start again. Hopefully, Allah provides strength and patience for my success here. Amiin!

Thursday, June 17, 2010

DPBO – Final Exam (Programming): Isosceles Triangle of Numbers (Problem B1)

This is the third post for the series. For other posts in the series, see:
The following describes the problem:
Make a program to print out numbers in triangular patterns according to the output examples. The program will accept a positive integer not larger than 20 as a command-line parameter. Output examples are given below. Note that no space is printed before the last row of the triangle.

DPBO – Final Exam (Programming): Generic Bubble Sort (Problem A2 and C2)

This post is the second part of DPBO practical final exam on programming.  For other parts, please see:
This problem appears as both Problem A2 and C2. The problem description is given below:
You are given a Bubble Sort sorting program. This program provides a sorting method below.

Monday, June 14, 2010

DPBO – Programming Final Exam Solutions: Longest Common Substring (Problem A1)

This is the first post in the series of posts in which I am going to provide some solutions to the final exam of DPBO course this year. If I can, I will first provide the problem question and then proceed with the solution. I will try to provide as accurate English translation of the problem as possible, though I will sometimes modify the wordings slightly to make it clearer to the reader.

Tuesday, May 18, 2010

Solution for “Kuis 2 DPBO”

Since I won't be able to give back the result of quiz 2 in time, I guess it would be fair in the short time left for the DPBO exam that I provide solution for the quiz. Solution is due to Ms. Ika Alfina