that's interesting. I opened a new tab to read this forum, and in the background, the browser was making dozens of requests to various "ad" sites. I don't know if it was a poisoned existing ad on the page firing these background requests off, or if there is some sort of script injected or if this is what Dice does in the background for ad revenue. Using Ubuntu 13.10, Firefox 27.0.1. It did not occur on other forums.
Based on the demo, this appears to be a digital way to experience taking hallucinogenic mushrooms. Timelapse trails behind movement? Sharp sound focus? Are we creating an electronic ability to simulate pharmacological effects?
Thinking of branching out to simple arcade games, like Bubble Bubble or Pacman? I'd love to see a video of a computer mastering those...
Interesting you mention arcade games. As changes are made to the framework and some of the subsystems, we have a variety of benchmarks that are run that help evaluate breadth and depth of the learning process and quality of the strategies.
One of the benchmarks is a version of Asteroids. Depending on the strategy goals, it measures length of life without firing a shot (movement only while learning about spatial relationships of the asteroids), length of life based on cost of fuel (the ship is a floating platform for directing fire while using as little movement as possible), and stealth opposition, where its goal is to kill the enemy UFO while interacting with as few asteroids as possible, which is multi-objective, involving firing upon as few asteroids as possible and using spatial information to avoid asteroids until the UFO arrives, which involves it's own evolvable tactic for destroying it, while also must fit into it's overriding goal to not shoot asteroids and run into one.
I'm not sure you misunderstood as much as my poor explanation. Although rules of many games specify what winning is, in some cases strategy solutions don't necessarily have a clear definition of winning. Sometimes winning isn't defined as well as treating it as an optimization problem. There are rules of the game, and goals of the game.
As a simple example, take tic-tac-toe. There are rules (you can only put your marker, a X or O in a blank space) which specify what you can do. There are goals that evaluate your play, such as you win with three in a row in various directions, a draw where no one has three in a row, and a loss if your opponent gets three in a row.
There is no other real knowledge of how to play. An expert player will never lose, they will either win or draw based on known strategies that are unbeatable. The basic rules don't define how to do that.
What the learning system does is create strategies. A basic strategy might be, randomly put your X or O in an empty square. You could occassionally win against novice opponents that way. But it would not be an optimal strategy and would regularly lose. Evolve that strategy a bit and you find the system putting its X or O in a proximity which increases its ability to put three in a row. Evolve it a bit more and it can recognize that its opponent is trying to put three in a row and will block it. Evolve it a bit more, and it will block its opponent putting three in a row at the same time putting that block in an advantageous placement to benefit itself to win.
Nothing in the rules specifies this, but is the result of experience or math or research or intuition. The rule is just "The placement rules say you can do 'this'. The measurement of winning is defined as 'that'." The system "learns" from it's mistakes and successes.
Optimization problems are a little different, certainly multiple objective problems. In a more complex "game", you might be trying to optimize solutions for (really we're just talking about a problem domain and a solution space) the stock market, military strategy, chess, TTT, whatever.
The rules of military strategy for an objective can be unique. The rules of the game may be, minimize civilian casualties, you can only use certain type of weapons systems based on political situations, total cost must be under such-and-such, distances must be capable of being reached by units involved, certain enemy units must be captured rather than killed, etc.
Nothing in that tells you HOW to win, it just says, "Here are the rules you must follow, find the best way to do so that comes with the best chance of winning, costs the least, limited friendly-fire situations, etc."
So I guess that's what I mean when I say we don't tell it how to win. We measure winning as what our definition is and how close the strategy solution came to that goal. If it was poker, we would say, "here's the rules of texas hold 'em". The only measurement of winning would be amout of money won. We wouldn't tell it what the hand values were, what were considered good hole cards, or anything else. It would evolve the concept of when to win, bet, bluff, fold, how much to bet at a time, recognizing if it was being bluffed, when do do so based on how many players are in the hand, even what the values of the hands are, etc. At the end a few hundred games, we'd tell it, "Hey you were the best poker playing strategy or you were the worst strategy". That's it. The system evolves 'good' play on its own.
That's what I mean by not telling it how to win. We tell it how it measured against other strategies. It doesn't know what's going on.
Portions of it were influenced on a couple of works done.
Chellapilla and Fogel's 2001 work on Anaconda which built a completely evolved checkers program, which did similar techniques at the broad level. The checkers playing strategies in their case were building neural networks which regulated play. Our similarities are in the way that the strategies evolved and that no game specific knowledge was needed, other than movement rules and an aggregation of strategy fitness across competition rather than individual competition values,
Other techniques are in Kewley and Embrechts 2002 work on military strategy which was interesting in that the evolved strategies were good military strategy (with emergent doctrinal tactics) which beat military experts strategies in a simulation, in additional to beating it's own strategy when military experts modified it. This also used evolutionary concepts to evolve its solutions.
Unfortunately I can't divulge our own specific information above and beyond what I've discussed, but we certainly have been influenced by previous work on the subject, and made a few new additions to it in our own work.
We use several forms of evolutionary programming in several sections of the learning systems' areas.
There are hybridized genetic algorithms in the portions involving the strategy blending evolution system, which does a few different forms of strategy selection pressure and evolution controls, which is critical due to training time to not cause premature convergence or genetic instability.
Additionally, we introduce additonal factors such a genetic drift and migration so that out competing strategies can evolve independently as the explore the strategy plane.
There are macro level evolution techniques to handle the complexity growth of the strategy species, so that the complexity can be altered depending on how "advanced" the system needs to be. In a simple sense of a turn based game, it would equate to the number of plies or analysis depth you would go. For more complex multiobjective systems, like military tactics involving minimizing casualties, civilian losses, maximizing kill or capture of enemy units, minimizing structural damage to infrastructure, etc., then it modifies the strategy complexity. For example, you could send eveyone with guns to kill everyone, or you could parallel it on intelligence gathering with drone units to direct fire, long range snipers or diversionary tactics, or factoring logistical support costs.
A lot of the core work is maximizing the efficiency of the evolutionary strategies, as they are the biggest fator in learning time. It's really easy to write inefficient logic that ends up taking much longer to arrive at good solutions without getting lost due to too much noise or oscillation in the system.
Another method that is used is a version of PSO, which is used to optimize subsections of the strategy (depending on what we are trying to find a solution to) that further get to optimal solutions.
So a lot of bachelors level CS is used. Although a lot of customization has been done, the benefit is it uses a lot of basic concepts, and utilized processing power rather than trying to algorithmically come up with solutions. Also, it can be continuously adaptable so it adjusts to situational changes. The strategy isn't locked, it can be reacts based on changes to frontier so to speak. If your opponent changes what they're doing, or doing something new, it can adjust itself to that.
Let me clarify that, as that statement was misleading.
We don't program what winning is as any function of the strategy. The system comes up with several strategies, which all play against each other. At the end of a series of competitions, a strategy is told "Hey, you played against a bunch of different people, you won more than the rest. We don't define what winning is, how it won, or even what winning is, we just tell the system that strategy 1532 was the best. The system knows what strategies work better than others, so it can learn what methods are more successful. The system doesn't know why it won, just that when it made certain decisions it won more often. We don't even tell it on each game, we tell it after an aggregation of multiple competitions how it did. By comparing all the strategies it tried, then it develops better and more complex ways to win (which we didn't tell it how to do).
Even more interesting is when it comes up with what is considered doctrinal tactics that humans have arrived at to win as well (or statistically increase the chances of such) although no such logic was included in the programming.
The benefit to this is that although it takes a LONG time to develop "good" strategies, it comes up with completely unique and novel approaches to winning, even though it doesn't know how exactly it won, only that its strategy wins more than everyone else.
The benefit to us is we just tell it the game rules, we don't have to come up with any specific playing algorithm, the learning system figures that out. We just tell it the rules, whether they are concrete like in chess (bishops move diagonally, pawns move one, or start with two, etc) or variable rules based on other complexity factors. Whether its poker or chess or military tactics, the systems job is to come up with the strategy. How good or complex that strategy is allowed to be, is a function of how much processing time we want to give the system to learn the best way to win.
On a tangentally related idea, we're working on a project of machine learning to take games and the rules of play, then derive strategy based on the rules.
Nothing particularly new, except we don't define what winning is, just the rules of the game. No hint is given to what constitutes good play, or even what "playing" is. Although it is a very slow process depending on game complexity (learning can take weeks and sometimes months of processing time), it requires no real programming effort, beause we don't have to know what "good" play is or some series of algorithms; it produces better and better tactics and strategies of play during the learning process, by experimenting with the rules, how to play, and such.
What's cool about this, is that you can watch it teaching itself different strategies and tactics. Some of the "tactics" it creates are many times counter intuitive or plain bizarre, but based on the overall strategies it develops, allows for some really different playing experiences as it doesn't follow human game logic based on experience with "similar" games or "intuition".
I have concerns about laws like this, much like hate-speech laws, free speech laws, zero-tolerance laws, and anyting of that type.
If someone steps up to you, and tells you they're going to kill you, then that's a issue that requires some form of legal action because it represents enough of a significant clear and present danger, then you should be able to act on that without legal penalty, and someone should be prevented from doing that with legal penalty. Because it crosses enough of a line from a thought to a probable danger to life.
To me, sitting in my house across town, and yelling, "If Tom ever does 'X' again I'm going to kill him!" to a friend of mine, and a neighbor hears me, and tells someone else, and then they tell Tom I said it, that doesn't constitute a clear and present danger. Not enough to be against the law. Now it can certainly be used as evidence in some way if the asshole gets killed mysteriously as circumstantial evidence that *I* may have wanted to kill him, but there's not necessarily an immediate threat, as you aren't in proximity for me to act on that thought in a reasonable amout of time.
If I get a paper target of a president, and use it for target practice, I don't see why that should be considered illegal. To me I'm exercising free speech, because the threat is too far away to be clear and present danger. If I'm within 50 yards of the president, and I point a gun at him and claim I'm just "practicing" with my loaded gun, that sounds like a clear and present danger.
By saying that I, on my facebook page, say that, "I want to kill that damn asshole who keeps raising my taxes", that doesn't mean I'm guaranteed to go kill the local city councilperson. Perhaps I'm blowing steam. Perhaps I really mean it. It isn't clear.
My issue is by basically saying "Well since anything you put in any digital communication, that anyone else can see, then by the six-degrees-of-separation Kevin Bacon rule, you've told this other person you threatened to kill them even if they actually never received it and it was never meant to be directed toward them." Even the orginal post was "U better watch how the fuck you talk to people. " Already that, to me, is saying, 'don't do it again', so is it clear and present? Is the person just blowing off steam and has put in a "next time I'm gonna count to three" so they can sound like a badass while being no threat because they're a pussy? Was their misspelling because they were drunk and didn't know what they were expressing? I have no idea. But apparently it's important to put them in jail to be sure.
To me, I feel that creates a chilling effect of any type of language deemed 'illegal', to be defined now or later. There is no room for mistakes, blowing off steam, conveying hyperbolic thought, expressing emotion, anything, above an amount allowed by government. The internet is world wide, so me threatening someone, or a group, or a race, or a political group, can be considered sent directly to them, and therefore 'illegal' and I must be imprisoned.
So that's why I have a problem with this. It punishes thought and expression. Just like 'hate speech' or 'hate crimes' punish thought and weighs one victim to another based on government's opinion of what you're doing and what protected class you're doing it do.
More and more laws are based on a perceived expression. It's dangerous to be able to puish someone across space and time to being a "threat" to society based on the government assertion.
The 1st District Court of Appeal decided in a criminal case that a Facebook post could be considered a “sending” for the purposes of the “sending written threats to kill or do bodily harm” law, a second-degree felony. In the ruling "When a person composes a statement of thought, and then displays the composition in such a way that someone else can see it, that person has completed the first step in the Wise court’s definition of 'sending'."
The pertinent quote in question:
“FUCK my [relative] for choosin to be a lesbian and fuck [the partner] cuz you’re an ugly ass bitch . . . if you ever talk to me like you got a set of nuts between your legs again . . . I’m gonna fuck you up and bury your bitch ass. U wanna act like a man. I’ll tear the concrete up with your face and drag you back to your doorstep. U better watch how the fuck you talk to people. You were born a woman and you better stay one.”
Even though the Appellant didn't directly send anything to the person directly, because it was posted on his own page, then therefore the thought appears to be sent. As if THIS won't be a stepping stone to more fun rulings."
I was browsing the library the other day and looking at, of all things, congressional record minutes which is utterly boring as hell. I was only in that section because, for some reason, in the opposite aisle was the book I wanted, about Samuel T. Cohen. I've never understood why university libraries are always set up in bizarre ways.
So I browsed one of these old congressional record books, and saw a section, ironially, about neutron bombs being discussed, with a fascinating discussion of the neutron bomb in committee. The best part was by a young Al Gore FOR neutron bombs (rather than against as I would have thought), and quite stridently so.
I thought it was maybe because of the environmentally friendly nature of such weapons, originally designed to irritate soviet tank blitzes, but I highly doubt he was even into environmental concerns that much in the past.
Exactly. This is an issue for France vs. Internet. Not France vs. Twitter.
If France decides it really doesn't want to hear tweets about Blue vs. Red states in the U.S., then they can bloody well create Le Carnivore on their own dime and filter those evil horrid thoughts that makes Jews or activists or whiners who never learned to deal with the world go Boo Hoo..
This is like your little sister crying to mom because you said 'girls have cooties' instead of her cowgirling up and learning to deal with it. Don't want to hear about cooties? Solve your own problems. Don't like people being anti-semitic because it twists your nads? Handle your own homeland. Don't complain because someone, somewhere, is saying something you find "offensive". And stop bowing down to every sociopathic "activist" who thinks words kill rather than actual violence.
Clearly France needs to hire Adria Richards to manage their twitter relations.