Crash Course on Abstract Algebra

Group

A group is a set of elements that has an associated operation that combines any two elements to create a third.  Like the set of integers and the addition operator.  However, a group is not that simple.  To be a valid group the following axioms must be true:

  • Closure: The third element that is created by the operation must be an element of the set of elements contained in the group.
  • Associativity: This means that (x + y) + z = k = x + (y + z) ie the grouping of the binary operations is irrelevant.
  • Identity: The set of elements must contain an identity element (like 0 is for real numbers under addition).  By definition an identity is an element that won’t change the result when combined with other elements.  Like 0+4 = 4 or 1 * 4 = 4 or more general 0 + a = a or 0 * a = a.
  • Invertability: This means that the the Latin square property holds.  This property says that given a group (G, *) and elements a and b elements of G, then there exists unique elements x and y such that a * x = b and a * y = b.

A special group the Abelian Group also has an additional axiom that it must satisfy, commutivity.  Commutivity is when the order the elements are combined is irrelevant, ie a * b = b * a must be true.

Modular Arithmetic

Modular arithmetic as the operation of a group is very important especially in cryptography.  Z/nZ is the group of integers modulo n (also Z/pZ is the group of integers mod p when p is a prime).

Ring

A Ring is a generalization of multiplication and addition.  By generalization this means being able to perform these arithmetic operations on things other than just plan numbers.  For example, functions, series, polynomials, etc.  More formally a Ring is a an abelian group with an additional binary operation that is distributive over the abelian group.  Also, the axioms of closure and associative must also hold.  However

Field

Is a commutitive Ring in which one can perform division (by any non-zero elements).

Real life MAS

I was reading the article “The Science of Why Our Brains Are Wired to Connect” http://tinyurl.com/m6keshp and I found the following quotes very interesting.

We intuitively believe social and physical pain are radically different kinds of experiences, yet the way our brains treat them suggests that they are more similar than we imagine.

Also,

The neural basis for our personal beliefs overlaps significantly with one of the regions of the brain primarily responsible for allowing other people’s beliefs to influence our own. The self is more of a superhighway for social influence than it is the impenetrable private fortress we believe it to be.

 

 

Voting and Auction based Monitors

Condition variables and monitors go hand in hand.  There are various monitor protocols: Signal-and-Continue (SC), Signal-and-Urgent-Wait (SU), Signal-and-Exit, Urgent-Signal-and-Continue etc.  Basically these protocols define what order threads get to enter, reenter, and exit methods in a monitor.  They are defined by a first-come first-served (FCFS) queuing schemes to ensure their specific protocols are met.

I am proposing two protocols that are based on Voting and Auctions.  The idea here is that threads get to enter in the order in which they were voted or if they won the auction.  The auction would be like the auctions that google uses for placement of ads on a page.

SU Monitor for producer consumer problem

Monitor queues for producer consumer problem.

The threads could base their decisions on data the monitor has about each of the threads, data the thread has collected, or some other way defined by the coder.  This is the interesting part.

I think that there may be a way to use Arrow’s Theorem to provide some guarantees about some things.

Schepperle, H., & Bohm, K. (2008). Auction-Based Traffic Management: Towards Effective Concurrent Utilization of Road Intersections. E-Commerce Technology and the Fifth …, 105–112. doi:10.1109/CEC/EEE.2008.9

The above reference seems to be heading in the direction I was thinking except they were narrower.

 

And while I was writing this I found http://www.isi.edu/~lerman/projects/task/ has some good papers on mathematical modeling of multiagent systems.

Influence Diagrams, Job Shop Scheduling and Morphological Analysis

Yesterday I learned about a real life online job shop scheduling problem.  In the HVAC business calls come in to the office where the office person schedules the job and calls the guys out on the road to tell them where they go next.  Sometimes those calls require immediate attention so assigning and saying when on the same day is an important problem to save money and customers.

I also was reading about influence diagrams.  I am trying to come up with a way to have succinct universal communication that can easily be transformed into something humans can understand, have powerful expressions and be easily programmed.  They don’t seem like they would be terribly useful because the text within the nodes still has to be generated somehow.

I also was considering Morphological analysis, a problem solving tool that is useful for problems where it is not possible (or feasible) to perform causal modeling or simulation (ie Wicked problems).  However, I think that I may have to modify the goal slightly because it will be intractable since the number of variables may not be known.  Either way it is still interesting.

GE on the Future of Manufacturing

I listened to Stephan Biller‘s talk on the future of manufacturing at GE.  I was saddened to hear that like Boeing GE also doesn’t have many of things that I thought they would have.

GE and Boeing both make jet engines and neither has the software to do the rescheduling and re-planning and renegotiation of process when bad things happen.  If something bad happens, people have to either re-plan or just wait for the part. Both options can costs a lot of money.

Also, they don’t have “smart” robots in their manufacturing plants. If one of them stops working then those robots that collaborate with that robot also must stop working. There is no fault tolerance when there should be. This also costs a lot of money.

Many AI and MAS/MAL type things that I am very interested in could be applied to solve these problems.  However, for these companies there would be a huge up-front cost in developing these systems since they would be state-of-the-art.

http://www2.technologyreview.com/emtech/13/

 

Year 2300

I was reading about chemical engineers and they seem pretty cool.  They then made think about the matrix and other sci-fi type things where the user is transported to a different reality.  Then I thought about LSD and how some drugs can produce hallucinations.  So, my idea is that in the far future instead of the Matrix or google glasses type reality/AR we will have chemical engineers that will create substances that will manipulate brain chemistry to create a heads up display (HUD).  So this HUD will produce something similar to google glass except with no need for glasses.  It also removes the need for computers being inserted into the person, like nanites.  I think that after the age of humans connect with machines that we will develop a better understanding of the brain and be able to better control and enhance our consciousness.  We may be able to combine the nanites and chemical engineering solutions.

Some ideas on how it will work:

Communication will be based on light emitted from the person.  Each person can then have their own personal signature (light pattern) to identify them.  We will be able to directly communicate ideas, images and thoughts to other people, computers and to our HUD.

We will be able to create “programs” like we do for computers that will produce an executable except that the executable will be an active chemical.  The program can be created through a person’s HUD and directly created and start working.  Or it can be created in mass by a manufacturing plant.

We may even harvest brains of animals to act as manufacturing plants…  Not sure how animals will be worked into this world.  Interesting though to explore this avenue.

The HUD may be able to better facilitate memory and intelligence.  This could be used in conjunction with the nanites.

Could create an AI within you via the “programs”.  Now that is a very very interesting concept.  What does that imply?  This is another thing to think about.

I think basically this will be the AR that will be created after 2213 to better facilitate that mind-device connection.  See my ideas for that year http://drew.heliohost.org/wordpress/?p=158.

 

I was just reading http://goo.gl/RjKtRH a popsci article on a Feng Zhang who is researching the tools in molecular engineering to start doing things similar to this except to help people with brain diseases!

http://mcgovern.mit.edu/component/content/article/2-principal-investigators/485-feng-zhang

Seems like he has a really cool lab at MIT http://zlab.mit.edu/index.html.

Builder Broker

I would imagine that building a house from scratch is pretty difficult for the regular lay person. It would be for me. Making the blue prints, figuring out the permits, what contractors I need and when. Especially if I want to change something or money changes etc there are many dynamic unpredictable things that can change the whole plan. Just think of what happened in Spain when they increased the number of floors during the building stage and they didn’t include a powerful enough elevator to go up the whole way (http://tinyurl.com/kx4jbyh)! I want to create planner and scheduler that will directly connect to the broker that will be dealing with the contractors.

One really has no hope of doing it on there own if you don’t know how a house is put together.

To tackle this problem I would need a someone that is familiar with dealing with contractors and building houses.
At first would most likely have to market this to larger projects. I think that this is necessary for the future of smart cities. Eventually the system would be able to plan how to put together a whole city.

http://www.esri.com/ products would be to figure out the layout of the city. Would want to work with them to make it more collaborative. The whole city planning thing needs to deal with a ton of data. That would be an awesome place to incorporate multiagent learning. Various entities will need to cooperate to decide on things. If we have a system that can ingest the preferences and distribute them across agents in the system then the agents can learn to cooperate to better.

This guy came up with my idea for the instant city in early January 2013!!!! http://video.esri.com/watch/2116/the-instant-citygeodesign-and-urban-planning around 19:32. I am sooo glad its not just me. He thinks it is possible. I not only want what he wants the creation of the plans of how it will look like to be automatic I also want the actually plans and schedules for caring out the “Master Plan” to be automated as well. So I had his idea and took it a step farther. Not only that I think that probably we could then simulate the entire city with the people in it and make improvements to the designs.

Microeconomics

I was learning a bit of micro to help my brother and here is a bit of what I learned.

The economics term for derivative is marginal.  Marginal revenue is the derivative of the revenue function.  Revenue is defined by R(q) = P(q)*q the price at a particular quantity times the quantity sold.  So, R'(q) = P'(q)*q + P(q) is the marginal revenue.  Usually P(q) does not change so P'(q) is zero. Therefore, R'(q) = P(q).  So, marginal revenue is the price I charged for producing one unit (remember P(q) is constant for any q).

Can also have marginal cost.  Which is similar to marginal revenue.

I also learned about elasticity.  Elasticity is the percent that Y changes in response to X changing by 1%.  In general elasticity is define by e = (dY/dX)*(X/Y).  This says the elasticity of Y with respect to X is the derivative of Y with respect to X times X over Y.  So, elasticity is a general thing you calculate for anything.  You just plug the words in for Y and X.  For example, the elasticity of demand with respect to price is: n = (dQ/dP)*(P/Q).  However, the demand curve usually has a negative slope so the derivative is negative.  Economists don’t like the negative so they usually write the elasticity of demand as n = -(dQ/dP)*(P/Q).  Remember D'(p) = (dQ/dP) and D(P) = Q = some equation in terms of P.  Usually, we like our equations to be in terms of one variable so I would substitute like this: n = -(dQ/dP)*(P/D(P)).  So, what does elasticity of demand tell us?  Well, first demand tells us how much a consumer buys at a particular price.  Elasticity looks at how the quantity changes as price changes.  So, 0<=n<1 if the demand for a good at that price is inelastic.  Meaning the quantity demanded doesn’t change radically.  If n > 1 then the demand is elastic meaning if we change the price the demand will change quite a bit.

Another interesting thing I learned was about the market demand residual.  This starts to be interesting because it is taking into account other (possibly identical) businesses.  The market demand residual is defined as Dr(P) = D(P) – So(P) where So(P) is the supply of all the other businesses that are identical and D(P) is the demand of the business that is being examined.  So, if there are n identical business then So(P) = sum(i = 1 to n-1) of Si(P).