Month: June 2008

Theory (conjecture) of Object Symmetry

Like NDPL, it is another incomplete work of Praba Siva. Being curious is a strength and also it is a weakness. Strength is, you will learn something new all the time and the weakness is, once you know the basics, you are not motivated to go to end of it. I belong to that category. Once up on a time, I used to spend 15 hours a day thinking about the Praba’s theory (conjecture) of object symmetry. I still remember, at Toronto airport, after having one or two molson, I had thought about how to mathematically prove it by writing numerous equation in a napkin. I believe that napkin is still hanging in my home office.

Let me state the theory (conjecture) . That is, what is Praba’s theory (conjecture) of object symmetry. Theory (conjecture) of object symmetry states that every objects (signals) has a perfect symmetry with respect to a finite set of line of axes.

It may not be clear & obvious what the theory states. To simplify the statement, look into the natural objects like stone, trees, flowers, insects, humans, you split them with respect to different set of line of axes, you would see a perfect symmetry. Most of the man made object obey this theory obviously and all of them should obey mathematically. In another simpler words, take a tree and break it into smaller pieces such way that each smaller piece has a perfect symmetry with respect to different line of axes. Image is a signal. It applies to the other types of signals like voice. What ever language you speak, English or Tamil, that is a signal which can be found a perfect symmetry by finding the smaller line of axes. The bigger (or major) line of axes more the application you could find. The smaller the line of axes, lesser practical applications since it is not worth it.

I spent almost 8-12 months proving this theory using Harmonic analysis. I could not do it. It must be because I do not fully understand the concept of harmonic analysis.

I assumed that the conjecture (theory with out proof) is true and took an empirical approach. I applied it for pose estimation problem. That is, for improving the car safety, identification of the driver position is very important. If the driver is sleeping nor paying full attention to driving, the safety system should warn them that they are not fully paying attention to avoid any potential accidents.

The national high way traffic safety administration (http://www.nhtsa.dot.gov) concluded that the car/truck driver position can be classified into 6 different set of position. If the driver is not focusing on one position (ie. position 3, looking forward ) for more than significant time (15 seconds), then the system should alarm the driver. I applied the theory (conjecture) of object symmetry principle to this problem and compared it with other solutions. Other solutions available (like Eigen faces, Neural network, Gabor Jets) are not practical since it takes at least 30 seconds to classify each frame of the video. Where as, by applying the theory of object symmetry, it took only 1-2 seconds per image.

Empirically, the theory is proven and it works. I studied cognitive psychology for a brief time to see how the human mind does the discrimination naturally and simply. There are some theory in cognitive psychology believes that human brain does discrimination fast by identifying the symmetry and corresponding line of axes. I also understood, when a human being is considered as beautiful, they have a symmetry with major line of axes. ie. take a women who is considered as most beautiful. You could see her face (other parts) have a symmetry with major line of axes.

I believe this theory could be applied to credit risk management, signal processing, scene analysis, image analysis, astronomy, etc.

I lost interest since I know it works and now I’m interested in something I do not know. This could easily be an another Ph.d thesis in the field of computer engineering or applied mathematics. As I understand Princeton Mathematics department works on the symmetry problems.

If any one working on this subject and want to work together to mathematically prove this.. I’m all for it. I can provide all the work I have done so far.

How to make Enterprise Architecture work for you?

I have seen and experienced an ivory tower school of thoughts on Enterprise Architecture (EA). There were set of enterprise architects I have had interacted with (before I became an enterprise architect) who had the ivory tower approach. That is, they considered them selves as the law makers. It is up to the civilians (rest of the organization) to interpret and obey the law. They came up with patterns and told every one should use it. They came up with recommendation on frameworks and told every one should use it. They came up with set of standards and told every one should use it religiously. I think, there is nothing wrong in making recommendation and leading the organization to use those standard, reusable frameworks.

The real problem was, they just made recommendation and had less or no idea how to make those things work together. They lost creditability and respect since they do not know how those recommendation work and add value to a project. This approach gave the organization that the EA team throws rock and put road blocks to a project instead of adding value. Over the time, they became theoretical and easy chair thinkers.

The practical problem was, they just made recommendation and had no idea how those things work together. They had no measure to show the value proposition they brought to the organization ( they might did that on purpose since they might knew they added no value to the organization) They skipped any step which was challenging to them. Over the time, this ivory tower approach educated the whole organization, enterprise architecture is nothing but making recommendation and drawing boxes and connecting them. The boxes would be like web server running in AIX talking to app server running in Sun solaris over HTTP(s). There was no EA accountability for EA recommendation. If the project team could not implement the recommendation, then it was project team who lacked the implementation knowledge of EA recommendation. It is save approach for EA. It is like Gartner. They are never wrong and never precise.

It is better to learn from others mistakes.

Steps to make EA work for you.

  • Think long term and work short term
  • Create road maps to meet the IT strategy
  • Assist the organization to do better IT investment using EA
  • Make recommendation using the road map. Assign system architects from the architecture team (EA & SA are in the same team) to the project team to ensure the EA recommendation works and adds value to the project.
  • Collaborate with the operation team or project teams to understand the difficulties in implementing the recommendation and adjust/fine tune the recommendation accordingly for the future projects
  • Rotate the system architect and enterprise architect periodically within the team
  • Integrate the enterprise architecture (EA) with the SDLC processes to keep the EA information up to date all the time
  • Be an internal consultant to the IT organization (operational, project, portfolio, governance teams and CIO office)
  • Be practical and make it happen..

Roadmaps for IT organization

Road maps for IT organization:

Like application portfolio assessment, formation and maintenance of set of road maps for IT organization is a key function for enterprise architects and IT strategist. Let me explain the following. What is a road map? Why do we need it? Different types of road map for IT organization? Who creates it? How it can be created to add value to the IT organization? How to use them effectively?

What is a road map in general?

Road maps are supporting tools to simplify and better communicate the strategy execution. Road map is a high level guide to reach the vision. Road map communicates in high level the path organization chosen to reach the vision

IT organization vision statements are generally very high level. It is suppose to be like that. IT organization vision statements are like “IT provides the best in class service to business”, “IT adds business value to bottom line by delivering technological solutions”, “IT be the effective business enabler”, etc and etc. To reach the organization vision, IT organization should have a strategy (strategy map) that is, alignment of various components of the organization (like people, process, technology, finance and customer) and use it effectively to march towards the vision.

For each components of the organization, there is road map which guides the organization to reach the vision. .

Why do we need road maps?

People in the organizations always have these questions in mind. What is that vision statement means to me? What I am supposed to do in my daily function? How the technologies people support will be impacted by the organization vision? What will happen to the applications being supported by organization people? What is that means to my job? These kinds of questions are normal and road maps helps to answer these questions and provide a clear understanding of what is the path organization chosen to reach the vision. It assists the organization people to ensure they understand how they are aligned with their career ambitions and the path organization chosen to take to reach the vision.

What are different types of road maps applicable in an IT organization?

  • Technology road map
  • Process road map
  • People road map
  • Application (or system) road map

Technology road map: For any IT organization, the technologies play a vital role. In some (or most) cases, there are redundant technologies serving the same purpose. The classic example would be, ETL (Extract transform & load). Organization tend to have multiple ETL tools due to various technical and non technical reasons. Other most occurring example would be to SAP. SAP has lots of packages like procurement and due to lack of full understanding of all modules in the SAP, the organization tend to procure other off the shelf products where the same functionality is available in the SAP. The technology road map is to support the organization strategy. If the organization marching towards cost effective, secure, innovative IT organization, then the redundant technologies should be eliminated, bring the latest security tools and provide a platform for the innovation like web 2.0, second life etc.

Process road map:
With increased regulatory requirements like FSA (Financial statement audit) and SOX, internal process to perform IT functions have been increasingly challenging. These regulatory requirements mandates the IT organization to have a best managed IT controls. At the same time, the organizations can not be confined with stringent process and limit the agility and adaptability. With the increased market demand and to drive innovation across the IT organization, IT internal processes should be balanced between these competing requirements. Based on the core business the IT organization supports, the IT organization should balances the requirements and devise a plan to accomplish the balanced process. Process road map is to illustrated the path the organization will take to strike the balance. In the past, I worked in a project team to develop internet imaging product (flashpix) to display the flash pix images in the web sites to support the online catalog. The team management do not want to follow any SDLC process to do the product development. The project requirement was to have 100% agility. It was a product development and the goal was to launch a product in the next release of web servers (like netscape, apache) for all HP servers in 60 days. At the same time there was no SOX requirement at that time. 🙂 The point is, the process road map must meet both the IT organization direction and also the core business it supports.

People road map:

Sourcing strategy is a sub set of IT strategy. The people road map is a sub set of sourcing strategy. Sourcing strategy addresses how the organization will be aligned to support the IT strategy. Sourcing strategy includes kind of employees, right sourcing partners, consultants, temporary consultants are required, the structure of the organization, operating model, service delivery model and etc to drive the IT organization to support the IT strategy. People road map, is the competency framework for the organization. What are the competency, skills and roles required in the future and how the organization is planning to acquire those in the near future.

Application road map:

Bruce Henderson (the founder of Boston consulting group) introduced growth share matrix to assist corporation in deciding how to allocate their investment among their business units. The same concept for the application (or system) road map. The application road map is an outcome of the application portfolio assessment. Decide the applications belongs to the cash cows area and invest on those application to improve the flexibility, availability, etc. The application belong to dogs, do not invest and find a retirement plan for those dogs. Simply put, it can be categorized into three. Invest, Retain and retire. The application which are in the retain category, do the minimum to do run the applications.

Who creates these road maps and how it is created in the an IT organization?

The creation of these road maps are lead and managed by the enterprise architects & IT strategist. Major stakeholders involved in the creation process are the CIO office, executive management and senior management of the IT organization. It SHOULD NOT be developed just by the enterprise architects and IT strategist teams. It is a collaboration efforts lead by the EA.

How to use them effectively?

Once the road maps are created and maintained, for any investment made by the IT organization, it should be used as the guide. It emphasis the organization direction is aligned to the IT strategy.

Neuro Dynamic Programming Language (NDPL)- Computing Future

Neuro dynamic programming is a stochastic/mathematical/control theory concept. It is nothing to do with computer programming language. NDP addresses optimization problem.

Neuro dynamic programming is an another topic I have been very interested in and I have been expressing this vision that the next generation programming language is going to be based on this. It is going to be next paradigm in the computer programming language. The concepts has wide applications today in various discrete engineering fields from signal processing, packet switching, space exploration etc. It is going to be available for day-to-day application in near future.

I have to reproduce some of the detail documentation I wrote few year ago starting from the framework. The objective of this blog is to provide a high level (with out using any mathematical models) explanation of NDPL.

15-20 years ago, structural programming language like COBOL, PASCAL, C were popular, object oriented programming language like Small Talk just came up and it took significant time to gain and sustain momentum and today we use OO languages like Java. The OO concept was extended to the other widely used computer programming languages.

What is Neuro Dynamic Programming?
I would like to have a separate blog on what is NDP. But I will let you know how I got exposed to this concept. I have been trying to solve stochastic problems using Markov Decision process and explored more on unsupervised learning problems like Robotics path finding using reinforcement learning (It is a solution not a problem), Q learning, MaX Q, NDP, etc.

What is Neuro Dynamic Programming Language?

It is computer programming language combines the concepts of object orientation, Ontology, and NDP. Ontology is a presentation of knowledge. NDP is a way to seek optimal solution in a unsupervised dynamic environment. Object oriented concepts includes inheritance, polymorphisms, functional over loading etc.

Think about programming languages developed based on objects (like dealer objects, car objects) which has prior knowledge (ontology) and continue to learn using NDP. Let us say there is a car object with VIN 39AVN4821S4XY23. Develop this object using NDPL once, and it will always contain the latest information about that car and anyone using that car object (DMV, insurance, re marketing web sites, etc) will get the latest information..

Cool huh!! more to come..

Developing this concept, writing the programming language constructs and designing a programming language can easily end up a Ph.d Thesis..

Cricket Match #4 (Season 2008) against Cougars

Pre-game Planning:

Probabilistically speaking, for Detroit falcons, the game result against cougars does not matter in the 2008 pre-season. Cougars lost enough games in the first round and are not really the serious contender for the next round. The teams which moves to the second round carries over the points based on the wins against who moves to the second round along with them.

Falcons game plan architects decided to exploit more experiments in this game. However, some of the Falcons players are intensively involved in the DFL (Detroit Fantasy League) ranking and wants to play all the games and score, pick wickets and catches as much as possible.

Srikanth (our captain) was not fully fit. He did not miss a game in last 5 years and want to improve the record further. He decided to play to maintain the records.

Our back up wicket keeper Bharath is also sick. The third wicket keeping option for Detroit Falcons is the one of best out fielder Detroit Falcons has, Sai. It is going to be the first match in 2008 for Sai to keep. We also wanted the new recruit (Piyush Khanna) to play in this match and few secrete weapons ( I can’t name them because they are real secrete weapons for Detroit Falcons)

It ended up a good mix instead of fully exploiting with lots of experiments in this game.

Toss won by Cougars and decided to bat first.

Falcon’s Bowling:

As usual, Falcons started aggressively. Got quick wickets. Bowlers were not disciplined in this match. Very disappointing. Our bowler gave at least 18 wides. When they were not bowling wides, they bowled their best deliveries. Few great catches from Raj, Srini and a spectacular catch from our wicket keeper Sai. It appeared as a difficult catch for Sai. It must be really really hard catch since he simplifies all difficult catches. Hari made few great stops.

I must call out our captain and vice captain in this match. First our captain, it was an easy run outs and he decided to do the run out like “Rajinikanth”. That is, give rest to one hand when you can do it easily with two hands. Even adapting that style, he rarely misses a catch or run outs. However, he missed continuously two chances in two matches. (a catch in the last match and this run out in this match). Our vice captain, I do not want to elaborate, we can not go to semi finals if we do not make those catches. (Falcons made to the qtr finals continuously in last 5 years). It is as simple as that guys.

Cougars were bundled for 46 runs.

Falcon’s Batting:

Matta who is the topper in the DFL wants to continue his top ranking. He jumped on to the opening slot and want to grab the most runs possible from the small target. He hit the ball all over. I mean all over. The two huge sixes, man oh man!, those were really huge. For lack of better words, those were Afridi sixes. You know what I mean. Those were marvelous sixes and you can not generally see those sixes with out paying a significant price for a game ticket.

Sai, when he is in the form, he hits the t-ball like tennis ball. He started hitting it like tennis ball. I think, he was intimidated by Matta’s six and want to hit longer one. He hit it with lots of power and I think he underestimated the rise. Ball was traveling both in height and distance. Ravish from cougar took a well judged catch at deep mid wicket, one or two yards before the boundary line. By losing 2 wicket, Falcons reached the target in 6 or 7 overs.

It was a good easy win for Detroit Falcons and real challenge is waiting for us against Indus next week.

Enterprise Architecture – A practical framework

Enterprise Architecture:

There are lots of framework starting from Zachman to TOGAF. Each of those has pros and cons. In my opinion, all existing frameworks have lots of practical difficulties. I propose the following simple framework which is simple and easy to implement. Enterprise Architecture does have ROI. (In case if any one from Gartner reading my blog, Please read one more time, EA does have return on investment)

The objective of the enterprise architecture is to provide a holistic view of the organization and use it as a tool to drive the organization to the expected future state. Any organization can be presented as the collection of 6 segments. The six segments are business processes, application/systems, infrastructure, information, organization and finance. If these 6 segments are documented and linked to each other respectively, then a holistic view of the organization, that is, enterprise architecture will be created. The focus should be given only to the core business processes.

Core business processes is defined as a set of processes that are directly aligned to value proposition of the organization. The core business processes varies based upon the organization, its product offering, its market segment.

Competitive Strategy Formation process steps

Strategy Formation Process:

In general, the strategy formation process is straight forward. The process brings all key factors for consideration before the strategy is formed. Participation of all strategy formation stakeholder of the organization brings the internal and external reality, strength, weakness, opportunities and threats into the process. All organization exists for a purpose. The core objective of any profit organization is to create value to customer and generate profit to the share holder or the owner of the organization. The value dynamics is applicable to all profit organization. The value to the customer is generated by providing a product or service.

The steps involved in the competitive strategy formation are listed below.

  • Identify the stakeholders need to be involved in the strategy formation.
  • Provide an overview of the strategy formation process to the stakeholders
  • Formalize the stakeholder’s consensus on the purpose of the organization, the core business functions and value proposition to drives value to the customer and profit/loss to the share holders or owners of the organization.
  • Identify the key differentiators in the market segment and perform a feasibility assessment to its value
  • Formation of the vision, mission, goals and core value of the organization to illustrate the key differentiators in the market segment.
  • Identify the key words in the vision & mission statements with respect to finance, customer, process and people.
  • Create a strategy map. Strategy map is a representation of the strategy. Strategy map has four perspectives. They are finance, customer, process and people (or learning and growth)
    1. Review four perspectives of the strategy map and its alignment. Choose learning & growth or people perspective based on the organization.
    2. Identify the strategic objectives for each perspective and emphasis on the identified key words from the vision and mission statement.
    3. Describe each strategic objective by a vivid statement
  • Identify the key performance measures for each objective.
    1. Assess the feasibility and availability of metrics for the key performance measures.
    2. Refine the key performance measure if the metrics are not available with in the organization and unrealistic to generate the metrics.
  • Create the targets for each performance measures
    1. Set the target for the long term
    2. Incrementally assign the targets into different duration. (per year or per quarter)
  • Identify the initiatives to meet the targets for each duration
    1. Theme is a group of the related initiates in duration.
    2. Identify a theme owner
    3. Identify a owner for each initiative
  • Create the balanced score card
  • Communicate the strategy to the organization and align the organization to the strategy
  • Identify the program management office to track all the initiatives
  • Track the status of the initiatives and fine tune the initiates based on the progress
  • The core challenge in the strategy formation is to identify the differentiators. Even when an organization has a differentiator in the respective market segment, implementation of the strategy is critical for the organization success. Execution of the strategy contains two major parts. One is to identify the projects or initiatives and second part is to align the whole organization towards the strategy.