Deprecated: Assigning the return value of new by reference is deprecated in /home/zouze/public_html/accounting/wp-includes/cache.php on line 36

Deprecated: Assigning the return value of new by reference is deprecated in /home/zouze/public_html/accounting/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/zouze/public_html/accounting/wp-includes/theme.php on line 540
2008 March | Accounting

Archive for March, 2008

Cellular Automata

Friday, March 28th, 2008

A cellular automaton is a collection of “colored” cells on a grid of specified shape that evolves through a number of discrete time steps according to a set of rules based on the states of neighboring cells. The rules are then applied iteratively for as many time steps as desired. von Neumann was one of the first people to consider such a model, and incorporated a cellular model into his “universal constructor.” Cellular automata were studied in the early 1950s as a possible model for biological systems (Wolfram 2002, p. 48). Comprehensive studies of cellular automata have been performed by S. Wolfram starting in the 1980s, and Wolfram’s fundamental research in the field culminated in the publication of his book A New Kind of Science (Wolfram 2002) in which Wolfram presents a gigantic collection of results concerning automata, among which are a number of groundbreaking new discoveries.

This AI approach is very similar to what Ken Richardson described in his book “The Making of Intelligence” regarding the algorithm of Intelligent Systems just as I wrote in my previous post.

So if we use this approach to mimmic the way living organisms are formed, think and act and if we like to create artificial homo sapiens, then each cell will need probablly 10mb of memory space,  the human body is composed of 100 trillion cells, and processing power of 1000 terahertz, I would say it is far too impossible but I guess, the result would be the exact replica of ourselves theoretically. Perhaps when quantum computing is reality, then perhaps, we are a step closer to our grandest dream.

Error-tolerant Finite-state Recognition

Thursday, March 20th, 2008

Error-tolerant finite-state recognition based on a research of Kemal Oflazer, enables the recognition of strings that deviate mildly from any string in the regular set recognized by the underlying finite-state recognizer. For example, suppose we have a recognizer for the regular set over {a, b} described by the regular expression (aba + bab), and we would like to recognize inputs that may be slightly corrupted, for example, abaaaba may be matched to abaaba (correcting for a spurious a), or babbb may be matched to babbab (correcting for a deletion), or ababba may be matched to either abaaba (correcting a b to an a) or to ababab(correcting the reversal of the last two symbols). Error-tolerant recognition can be used in many applications that are based on finite-state recognition, such as morphological analysis, spelling correction, or even tagging with finite-state models (Voutilainen and Tapanainen 1993; Roche and Schabes 1995). The approach presented in his paper uses the finite-state recognizer built to recognize the regular set, but relies on a very efficiently controlled recognition algorithm based on depth-first searching of the state graph of the recognizer. In morphological analysis, misspelled input word forms can be corrected and morphologically analyzed concurrently. In the context of spelling correction, error-tolerant recognition can universally be applied to the generation of candidate correct forms for any language, provided it has a word list comprising all inflected forms, or its morphology has been fully described by automata such as two-level finite-state transducers (Karttunen and Beesley 1992; Karttunen, Kaplan, and Zaenen 1992). The algorithm for error-tolerant recognition is very fast and applicable to languages that have productive compounding, or agglutination, or both, as word formation processes.

We can informally define error-tolerant recognition with a finite-state recognizer as the recognition of all strings in the regular set (accepted by the recognizer), and additiona strings that can be obtained from any string in the set by a small number of unit editing operations.

The notion of error-tolerant recognition requires an error metric for measuring how much two strings deviate from each other. The edit distance between two strings measures the minimum number of unit editing operations of insertion, deletion, replacement of a symbol, and transposition of adjacent symbols (Damerau 1964) that are necessary to convert one string into another. Let Z = zl, z2 . . . . , Zp denote a generic string of p symbols from an alphabet A. Z~] denotes the initial substring of any string Z up to and including the jth symbol. We will use X (of length m) to denote the misspelled string, and Y (of length n) to denote the string that is a (possibly partial) candidate string. Given two strings X and Y, the edit distance ed(X[m], Y[n]) computed according to the recurrence below (Du and Chang 1992) gives the minimum number of unit editing operations required to convert one string to the other.

ed(X[i+ 1],Y[j+ 1])      =    ed(X[i],Y~’]) if xi+l = yj+l (last characters are the same)
=    1 + min{ed(X[i - 1], Y[j - 1]), (if both xi = yj+l)
                    ed(X[i + 1], Y[j]), (and xi+l = yj)
                   ed(X[i], Y~” + 1])} (last two characters are transposed)

                                             = 1 + min{ed(X[i], Y[j]), otherwise
                                                                          ed(X[i + 1], Y[j]),
                                                                          ed(X[i], Y~” + 1])}
                      ed(X[O],Y~’]) =            j 0 < j < n
                      ed(X[i],Y[O])  =            i 0 < i < m
                   ed(X[-1], Y~’])  =            ed(X[i], Y[-1]) = max(re, n) (boundary definitions)

For example, ed(recoginze, recognize) = 1, since transposing i and n in the first string would give the second. Similarly, ed(sailn,failing) = 3 since one could change the initial s of the first string to f, insert an i before the n, and insert a g at the end to obtain the second string.
A (deterministic) finite-state recognizer, R, is described by a 5-tuple R = (Q, A, 6, q0, F) with Q denoting the set of states, A denoting the input alphabet, 8 : Q x A —, Q denoting the state transition function, q0 E Q denoting the initial state, and F C_ Q denoting the final states (Hopcroft and Ullman 1979). Let L c A be the regular language accepted by R. Given an edit distance error threshold t > 0, we define a string X[m] ~ L to be recognized by R with an error at most t, if the set C = {Y[n] I Y[n] c L and ed(X[m],Y[n]) < t} is not empty.

 

Sentence Analyzer in Intelligent Systems

Tuesday, March 11th, 2008

The Sentence Analyzer accepts sentences as input. It makes sure that the true meaning of the sentence is not lost. It parses the sentence into words, perform Lexical and Syntactic Analysis and finally transform the sentence into logical expressions for further processing.

The Sentence Analyzer uses high tech Natural Language Processing similar to this research work “A Sentence Analyzer and Viewer for Detecting Grammatical Errors“.

As an example, the user entered the following sentence:

        ”The color of a roses has a maening.”

The following process will be performed within the Sentence Analyzer:

  1. Determine what type of sentence. It has to know the type of sentence so that it can determine if it (a) has to agree/disagree  if it is just a statement, (b) has to answer if it is a question, (b) perform internal updates if it is necessary. In this case, it is just a statement.

  2. Parse the sentence into words by tokenization.

  3. Check for misspelled words by querying each word from a dictionary and if the word is not found, it performs two methods of correction: Error-tolerant Finite-state Recognition and Longest-common subsequence problem. In the example sentence, the word “maening” was misspelled it should be “meaning”.

  4. Perform Syntactic Analysis. Within this process, a grammatical-error detection is also perform and should be able to find that the word “roses” violates aggreement at noun phrase level. It should have been “rose”.

  5. Transform the sentence to logical expression. \forall x,y Meaning(Color(x, Rose(y))).

A Simple Optimization Problem solved by Neural Network

Tuesday, March 4th, 2008

Suppose Company A manufactures products X and Y using machines A and B. Company A has 8 hours daily operation. A can produce 200 pieces/hr with a production cost of Php 200.00/pc and 300 pieces/hr with a production cost of Php 250.00/pc for products X and Y respectively while B can produce 500/hr with a production cost of Php 350.00/pc and 350/hr with a production cost of Php 225.00/pc for X and Y respectively. The combine daily production requirement for each product X & Y is 2500 pieces and has to build up their inventories for their peak seasons which happens during the month of November and December which requires them to produce an additional 1500 pieces/day during this period. Supposed Company A consulted us to recommend the best way to create a software that will help them optimize their profit? The software must be flexible enough to support the Company when they decide to get more machines and/or manufacture new product lines. 

The Solution:

The figure below does not really use the whole features of the McCulloch and Pitts model (MCP) Neuron because in this problem  we do not to train the Neural Network.  The threshold values can be variable and the number of Neurons and Input terminal of each Neuron can be altered and can be made flexible to suite the need of the company. Just click on the thumb nail below to view the figure.

The Solution

Artificial Life in Space Exploration

Monday, March 3rd, 2008

One of the most challenging fields in modern science today is space exploration. Why do we need to go to other planets anyway? Well, it is a common thing that we are curious about what it is out there that we do not know…this motivates us to explore other worlds and it has already been established that one day in the far future, we will have to leave this planet when the sun starts to desintegrate so as early as now, we are already developing technologies that will take us there. But going back to near future, our other motivation why we need to go there is to harness all available usable materials that we could use for our civilization’s survival and to attain a very prosperous lifestyle.

But unfortunately, current technologies can not successfully lounch such huge undertakings because we are still not smart enough to go there. Our bodies are so vulnerable that it will be torn apart by Jupiter’s massive gravity or will be melt down by Venus’ acid ocean in seconds. So what if we construct a real smart robot that can withstand such harsh conditions? These robots will take care of all these jobs where humans can not do…we should make them so smart so that they can do their jobs efficiently and successfully. What good does it brings us? Enormous wealth like we have never imagined before. Probably it is the most realistic way to say that establishing mining operations in other planets to harness all possible useful materials to sustain life on Earth and totally eliminate inequity.