Archive for February, 2019

Thoughts on “Sam Gunn Forever”

February 28, 2019

So the last of the Ben Bova novels I’m going to look at is “Sam Gunn Forever”. This is a continuation of a series of books, as far as I can tell, about a heroic and rambunctious hero storming into the future and making and losing fortunes by betting on how new technology will save the world. He’s futuristic, but not afraid to break the rules to get what he wants. He succeeds in the end, but often fails along the way. He loves women and women love him, but at least briefly ends up chained to marriage which he, at least, absolutely did not want to have happen.

This fits into the sort of work that Bova does well at. It builds and nods at future technology and builds a world out of that, but isn’t meant to be a dramatic series and by its nature is more light-hearted. Sam Gunn is a rogue and his adventures follow the standard rogue model, which lets him avoid the overly but nonsensically dramatic situations of the other novels. If his villains are moustache-twirling, that’s okay; they’re supposed to be in that sort of work. It also frees him from focusing too deeply on personal relations, as again they only have to exist to further the rogue plot. So it all works a lot better than his other novels.

But it also has a pretty damning flaw. The novel is based around stories told to a reporter as they head off to recover Sam Gunn after he fell into a black hole and somehow came back out again. This breaks it down into effectively a number of short stories and is a pretty good idea. The problem is that the stories have no real common theme or order. While some of the events are related, they don’t build in any way, to either give us an overall view of the situation or of Sam Gunn himself. They ultimately end up as simply a bunch of disconnected vignettes, which by the end then becomes a bit boring because it’s really all about how great Sam Gunn is, without actually being about that, but that leaves the overall book really being about not much at all.

Still, it’s one of his more entertaining works. It’s just a bit like candy: enjoyable at first, but ultimately unsatisfying.

Months and months …

February 27, 2019

As regular readers will already know, I’ve been on an accomplishment kick for the past little while. I’ve been doing well with it, but it looks like I’m going to be heading into the toughest part of that kick quite soon: in all of the areas that I’m trying to finish things in, what I’m committing to finishing will take several months to finish.

I’m almost finished with Agent Carter as part of my plan to watch Agents of SHIELD and Agent Carter. That’s roughly six seasons (five regular seasons of AoS, and two half-seasons of Agent Carter). My expected pace is about a season every two weeks, so roughly three months. Not too bad. However, my plan after that is to watch the Star Trek series that I haven’t watched, so Voyager, Enterprise and Discovery. Voyager itself has more seasons than the AoS/Agent Carter combination. All told, there’s probably about twelve seasons to watch, for 24 weeks or at least six months. That’s longer than I’ve committed to anything so far, and that’s for things where my only impression of them is mostly negative.

Books are now hitting the same issue. No, I’m not planning on going through my philosophy books, although that would be a huge commitment as well. No, I’ve decided, after reading some old science fiction, to read some classic literature. Some of those are, of course, rather short, but the list includes the complete Sherlock Holmes, the complete works of Lovecraft, and the complete works of Shakespeare, as well as Stephen King’s “The Stand” (to tie into my watching of various movies of Stephen King works). That’s … quite a bit of reading.

Games, however, are under control, for the moment. I’m almost finished Sunrider Academy, and Knights of the Old Republic is going pretty well (although it will still take at least a couple of months to finish). So I’m only in the range of 2 – 3 months for now. That might change when I decide what game to play after Sunrider Academy.

And projects were always going to take a lot of time, but adding AI projects to it has added far more things where regular progress is required but will take quite a long time to finish.

I’m the sort of person who gets distracted by new and shiny things that I want to do. I’ve commented before about how I can be distracted from a game of Wizardry 8 by coming up with a new idea for a party that gets me to start the game over. Can I commit to six months of watching shows or reading books without deciding to watch or read something else? Only time will tell.

Thoughts on “GI Joe”

February 26, 2019

So one of the half-hour shows that I had on my schedule was the entire original run of the “GI Joe” cartoon. This was essentially done as a way to advertise the toys by advertising a comic book instead, and was the same model and was done by the same company that did the “Transformers” cartoon, which I really like and which I’ve talked about before. There are a lot of simularities between the two shows, mainly in structure and with things like musical stings. But there are a lot of differences between them, some good, and some bad.

One of the best things about GI Joe compared to Transformers is that it’s an army show as opposed to a character show. What I mean by that is that the premise always sets itself up for huge set-piece battles with lots and lots of troops, many if not most of which are faceless mooks, on both sides. The biggest advantage of this is that it allowed for massive battles that didn’t require the bulk of the named characters to participate in each one, and so it was far easier to have plots that required multiple simultaneous objectives to be met. I Transformers, if you had multiple items that had to be acquired they either had to be able to be acquired sequentially, or else you could only send a small number of characters, limiting the threat on both sides as you pretty much had to match “character numbers”. Here, you could send Baroness alone to achieve an objective ad yet still have her be a massive threat simply because of the size of the forces she brought with her as a major assault. And this would hold even if she was outnumbered by actual characters. So, compared to Transformers, GI Joe could have larger battles that also required less characters to be present to pull that off. It was most used in the various mini-series, but did show up in regular episodes.

Unfortunately, one of the issues with GI Joe is that throughout the entire run it never had a good master villain, or villainous leader. Cobra Commander shares the same voice as Starscream, and unfortunately shares the same personality, being arrogant, mostly cowardly, and generally incompetent. As an example, on at least two occasions he tells the person required for his plan to succeed — Destro in one case, Baroness in the other — that he’s planning on replacing them with the wonderful new recruits or weapons they procured for him. Since both of them are completely self-interested — and he knows that — they immediately rat him out to the Autobots. He’s not a threatening villain in any way. Later, they somewhat replace him with Serpentor, who is pretty much as arrogant and incompetent as Cobra Commander, so that’s no improvement. Destro, Baroness and Mindbender are mostly competent, but end up being underused for the most part (except for Mindbender in the last season, who ends up overused to the point that he seems like the only Cobra agent who does anything). Compare that to Megatron, who while he certainly had his foibles was generally competent and thus always a threat. This really hurt the show.

Another interesting thing is that while we all remember Duke and Scarlet, they didn’t really get a lot of focus in the cartoon. They start out as the main couple, but by the end of the first few miniseries they end up being supplanted by Flint and Lady Jaye, who remain focus characters for pretty much the entire series, with some others taking centre stage for short periods of time. Unlike Optimus Prime, Duke is not the face of the GI Joe team for us, which could explain why Optimus’ death hit audiences harder than the writers expected given the things they did in the GI Joe movie: Duke is more of a side character and so people aren’t as attached to him as they were to Optimus Prime.

I had actually forgotten about Sergeant Slaughter, the WWF — as it was at the time — wrestler who was brought into GI Joe in a cross-promotion. He was interesting enough, and fortunately dropped out of focus before he really overstayed his welcome (possibly due to a Face-Heel turn in the WWF).

Overall, GI Joe isn’t as good as Transformers and the similarities tended to make me want to watch Transformers instead of it. Still, it’s entertaining enough, and the characters are strong enough to hold my interest most of the time. This is a series that I’ll watch again at some point.

I Am Made of Ink

February 25, 2019

So, the next essay in “Avengers and Philosophy” is “I Am Made of Ink”, by Roy T. Cook, which examines She-Hulk’s ability to break the fourth wall and so essentially do a meta commentary on comics, that she gained after they rebooted her own series (a couple of times). Most of the essay simply traces her doing so and how she did it, which isn’t all that interesting philosophically, but at the end the question is raised over whether She-Hulk really has that ability in-universe or if she’s just insane.

I don’t want to try to answer the question, but just want to look at the implications of it. Marvel is generally a bad example for meta-comics issues because Marvel has had a long-running gag that the comics do exist in the Marvel Universe as written and characters comment on them rather frequently. So you can definitely get some meta-commentary on comics from that, like when the Thing was upset about them making a minor encounter out to be a major one and took it up with his editors with some comments about why they might do that. What makes characters like She-Hulk and Deadpool unique is that they often seem to believe that the world is a comic book world — and not really a “real” world — and that they can talk directly to the audience.

So, then, does that mean that they realize, ultimately, that they aren’t real? What would it be like to realize that you and everyone you know aren’t actually real, and that the world itself is not real? You’re living in the equivalent of a dream, and while you can use that fact to manipulate some things, the fact remains that you have to act as if the world is real and has rules, because it does. When you exploit your knowledge of the true fabric of reality, all you are doing is noting the rules that that fictional realm has. You aren’t actually in control of it, and you know that it’s not real and that it’s under the control of someone that is, in fact, really real.

This would seem likely to drive someone insane if they weren’t already.

But this involves accepting that you’re actually a fictional character, and not merely a character in an alternate universe or something similar. If one could deny that, then one could avoid the complications. However, in order to do that you’d have to avoid thinking about the fact that you have a writer that determines what you do and what happens to you. It’s no coincidence that many of the stories featuring characters that are aware that they are characters end up with them rebelling against their writer and trying to write their own stories. In general, neither She-Hulk nor Deadpool seem to constantly think of themselves as slaves to the whim of the writer, but if they did then that would create both strong fatalism and a strong belief in a “god” above all else, which again hasn’t really been explored in those comics.

In general, this sort of meta-knowledge is used for humour. However, if the characters really did ponder the philosophical consequences, the results are likely to be far more depressing. Perhaps that’s best in a medium designed primarily for entertainment.

Final Thoughts on the Scotties

February 25, 2019

So, the Scotties ended last night.

Picking up where I left off, the Championship Round pretty much contained the teams that it was reasonable to expect would be there, with BC being a bit of a surprise. The top four teams advanced, and all of them were teams that had played on the Tour at least a little bit this year … but the surprise was the two teams that didn’t make it to the playoffs. Casey Scheidegger’s Wild Card team failed to advance, which was surprising, especially since they came in with a pretty strong 6 – 1 record that was better than that of a lot of the other teams. But that advantage didn’t hold up when they went 1 – 3 in the Championship Round.

The biggest surprise, though, was that Jennifer Jones’ team failed to make the playoffs. They came in behind the 8-ball at 4 – 3, but went 2 – 2 to end up eliminated before the final draw of the round. Jones still managed to become the skip with the most wins ever, overtaking Colleen Jones, but it was a huge surprise that she didn’t make the playoffs.

While Chelsea Carey’s team came in 7 – 0 and so wasn’t really a surprise to end up first, it was a bit surprising that Robyn Silvernagle’s team ended up second, with Rachel Homan and Krista McCarville ending up in third and fourth. This meant that Carey and Silvernagle played each other for a spot in the final, while Homan and McCarville played for a spot in the semi-final. Homan beat McCarville, and Carey beat Silvernagle, setting up a Silvernagle/Homan semi-final, which Homan won. This meant that it was Carey and Homan in the final.

In the final, Homan started out strong and Carey started out weak, with Homan jumping out to a 5 – 1 lead. But in the second half, Carey improved and Homan struggled a bit. Homan had built her lead on the strength of two steals and a 3, but Carey replied with a single, two steals of 1, another single, and another steal, outscoring Homan 5 – 1 in the second half. This led to an extra end tied 6 – 6 with Homan having hammer, but Homan came up light on a draw to the four foot and ended up losing 8 – 6.

I tend to cheer against Chelsea Carey for anything where she has to go on to win something else, like the Worlds or the Olympics. I don’t mind her or her team, but I’ve always found her to be a bit fragile, where when things start to go wrong she starts to blame herself and get really down on herself and make things worse. Here, in the final, that could have happened, but it didn’t. She did recover to make some big shots and didn’t seem to be down on herself at all. If she’s managed to solve that issue, she could do well in the future.

Vic Rauter at one point commented on the rule changes — like going to the five-rock rule from the four-rock rule — and essentially asked when it was all going to end or if they were going to keep changing the rules any time any team manages to figure out how to play with them. I agree here. When they went to the four-rock rule, the tick shot was invented to leave corner guards instead of centre guards, and the five-rock rule only makes tick shots more prevalent. With the five-rock rule, it seems like steals and multiple scores are more prevalent, but for a lot of the ends what generally happened was a lot of play on the guards, with one team getting a rock in and then continually guarding it until late in the end, which is boring. Admittedly, some teams were much more open to playing with rocks in play in the house — Suzanne Birt’s PEI team was rather famous for doing that — and some had success, and there often were a lot of rocks in play in the ends, but the biggest impact was for teams, when leading especially, to play tick shots to leave things open for a final draw to the four foot to take one if necessary. Maybe we need to let the rules sit for a while and let teams figure out how to break the standard openings and moves. We don’t want to keep going to the six-rock and seven-rock and eight-rock rules.

The Scotties has also made me even more skeptical about the proposed change where teams get a set amount of time to play each end instead of 38 minutes for the entire game, even though it used the latter scheme. There were a number of times where a team or even both teams had to save their second timeout for the end of the game just to have enough time to make a shot without having to overly rush it, let alone discussing what they wanted to do. I really don’t want to see games lost because one team didn’t have enough time to properly think out and play a shot, and with each end getting their own time limits one team, at least, is likely to get rushed at some point. There’s really no reason to force teams to rush their strategizing or their shots. The strategizing can be interesting especially when things are complicated enough for them to take a long time doing it, and we always want teams to be able to make the best shots possible. We do want to discourage teams from taking a long time with every shot — Kevin Koe, I’m looking at you here — but we don’t want to end up forcing them to rush shots either. Curling is not and never will be an action game, so we don’t need to rush it, and need to highlight the deliberate strategies that it involves.

This Scotties was an event of errors. I have never seen so many flashes and badly missed draws as I saw here. Rachel Homan missed two draws to the four-foot in two consecutive ends despite having been great on draws for not only the tournament but also for the game. The rocks and the ice were generally blamed for this, but I really don’t want to see curling turn into a game of errors, where the team that screws up the least wins. I don’t mind being forced to bad shots by good strategy that only leaves really tough ones — and, to be fair, some of the missed shots were indeed misses on shots that were really, really tough — but too many out and out misses, which can be caused by bad or constantly changing ice, is not a lot of fun to watch. It might be worth watching the Brier to see if the same thing is happening. I’ll have to see.

Still, the curling was still fun to watch. Congratulations to Chelsea Carey and her team and good luck to them at the Worlds, which is the next event that I’m going to definitely watch, if I can.

Musings on the Starcraft II AI Test …

February 22, 2019

So, today I’m going to muse on the Alpha Star AI playing Starcraft II that I kinda talked about here. These are just musings on the topic and so might be a bit inaccurate, and I’m not doing any extra research and so am just relying on what Shamus and the commenters said about it (links to the posts are in the post I linked above).

As best I can understand it, the system was essentially a neural net that was trained using what were in my day called Genetic Algorithms and potentially have evolved a much more “cool” name, where there were a number of agents that played the game against each other and the best ones were kept to play against each other again and so on and so forth. What I did way back in university — as part of my Honours Project I did a GA simulating a “Diplomacy Problem”, with various countries getting advantages or disadvantages based on whether or not they agreed with the others — was create a set number of agents — 50? — and rank them by score, and then drop the bottom 10, double the top 10 for the next run, and leave the rest. I hope they did something similar, but at any rate the overall idea is the same: run the agents, see which ones get the best score, keep those, keep or introduce some new agents so that they can learn new behaviour, rinse, repeat.

What this meant is that they needed to have agents that could play each other in order to generate the massive data sets that you need to train a neural net, which led them to limit the agents to being able to play as Protoss against players that are playing as Protoss. Right away, this is a little unimpressive, as humans can learn to play as pretty much any combination of the races a lot faster than the agents learned to play as Protoss against Protoss. This also led me to comment on the posts that there’s a risk with trying to get it to learn to play as other races or against other races because of the nature of neural nets. The big advantage of neural nets is that you don’t need to program any rules or semantics into it to get it to solve the problems. There aren’t really any rules or semantics in a neural net. Sure, there may be some in there somewhere, and it often acts like it has rules or semantics, but internally to the system there aren’t any. The system learns by semi-randomly adding and removing nodes and connections and adjusting the weights of connections, but the system doing that, at least in a pure neural net (supposedly Deep Learning systems combine the semantics of inference engines and the flexibility of neural nets, but I haven’t looked at them yet) doesn’t have any idea what actual rules or decisions those things are involved in. Thus, a common problem with early neural nets was that when you decided to train it to do something different or learn anything there was always a risk that you’d break existing behaviour unless you also trained it on the old functionality at the same time, which is not how things seem to work in humans. You can limit that by restricting how much it can change the original net, but then it has a harder time learning anything new. Make it static and the machine can’t learn, but make it random and it will forget lots of things it used to know.

What this means for our agents is that teaching them to play as another race or against another race might cause them to forget important details about how to play as a Protoss against a Protoss. I opined that what they’d probably do instead is build separate agents for each case and then have a front-end — which could be an inference engine since this is all deterministic — pick which agent to use. After all, while there are nine different combinations — the AI playing each race potentially against all other races — that’s set at the beginning of the game and so it’s a pretty straightforward decision of which agent to use, and there’s no real reason to try to teach the AI to try to find the ideal match-up given who they’re playing against. So this seems to me to be the easier way to go than trying to build a generic agent that can play all combinations, and it’s actually even less artificial than some of the other things that the agents were already committed to.

So, after the AI beat all the players the first round, how did the one player get a rematch and beat it rather handily? What he did was adopt a strategy that the AI was vulnerable to, which was harassment. The player waited until the AI had built a big army and sent it off towards his base, and then sent a few units in to attack the base. The AI turned its army around to meet the threat, and he moved the units away. After they were chased off and/or destroyed, the AI started out again … and the player repeated the harassing attack. Rinse, repeat, and eventually win the game.

One issue with neural net type AIs is that since they learn through repetition over massive data sets, they don’t really have the ability to learn or adapt on the fly. They don’t really learn much from one event or run. Inference engines actually can learn on the fly because their actions are driven by the premises and logic of their systems, and so if one event doesn’t turn out right they can immediately try to reassess their inferences. In this case, for example, the AI was probably bringing the army back because it anticipated that it was a mass invasion that it needed to repel. A neural net won’t store this explicitly, but an inference engine will. So there’s a chance that after a few repetitions it concludes that this doesn’t indicate a mass invasion and will learn to ignore it. Which, then, would leave it vulnerable to a “Cry Wolf” strategy: harass it until it learns to ignore the harassment, and then launch a full-scale attack to catch it napping. Which it could then learn to defend against as well, and so on and so forth.

People in the comments asked if you could just teach it to ignore the harassment, but the problem with neural nets is that you can’t really teach them anything, at least by explaining it or adding it as an explicit rule. Inference engines can be tweaked that way because they encode explicit rules, but neural nets don’t. To add a rule to the system you have to train it on data sets aimed at establishing that rule until they learn them. There are approaches that allow for feedback and training of that sort from what I’ve seen (mostly through short presentations at work) but either those will establish explicit rules which the system has to follow — even if wrong — or else they can be overridden by the training and so would need to be trained and retrained. In short, you can explain things to an inference engine, but not really to a neural net. You can only either let the net learn it itself or flat-out tell it the answer.

Neural nets, I think, excite people for two reasons. First, because they don’t generally have explicit rules they can come up with unique correct answers that we, ourselves, can’t figure out, or that at least are extremely difficult for us to figure out. This makes them look more intelligent than we are for coming up with answers that we couldn’t see. Inference engines and expert systems can come up with novel solutions as well, but all of those systems can explain how they came to that conclusion and so seem less “mysterious”, in much the same way as when we see Sherlock Holmes explain his reasoning it seems less mysterious and, often, more of a “Why didn’t we see that?”. We aren’t that impressed by computers having access to all the data and never forgetting or forgetting to consider any of it since that’s kinda what they do, but we are impressed by what seem like leaps of intuition that we can’t match. The other reason is that they loosely resemble the structure of the human brain — although anyone doing AI will tell you that they aren’t really that close, but as they are designed to model that in at least some ways the point still stands — and so people impressed by neuroscience will think that it’s closer to what we really do. Personally, I’m more interested in the reasoning aspects of intelligence and am more interested in finding the algorithm we use rather than emulating the hardware, so I’m less impressed by them. Still, they do manage to do the pattern-matching aspects of intelligence well and far better than more reasoning based systems, which has led me to opine that the ideal AI has an inference engine front-end and a neural net back-end. The inference engine answers what it can and passes off anything else to the neural net, assess the answer, adopts it if it seems to work and retrains the net if it doesn’t. Again, some people commented that this seems like what Deep Learning does.

All of this starts to tie back into the heart of questions about AI leading all the way back to Searle: does the Alpha Star agent actually understand how to play Starcraft II? There’s no semantics to a neural net. You could take those agents and hook them up to something that is, say, trying to run a factory and if the weights were correct the system could do that just as well (and people have indeed taken neural nets trained for one specific task and had them perform entirely different tasks and noted that they can more or less work). So what does the agent actually understand about Starcraft II itself? Does it know what the units are and what they mean? It doesn’t have to, as it doesn’t really encode that information in the neural net itself? If you don’t have the semantics, do you really understand anything at all? With Searle’s Chinese Room, most will agree, at least, that the person inside the room is not doing anything intelligent by simply taking in a symbol, looking up the answer, and passing it back out. That person doesn’t understand Chinese. What people say the error is with the thought experiment is assuming that the room itself can’t understand, or couldn’t if it had the right context and information. But all of that is semantic information about meaning. Does a neural net in and of itself ever have meanings? Does the Alpha Star agent store any semantic information at all, even to the extent that an inference engine does? Having the right output doesn’t guarantee meaning, especially if it can be used for things that mean things that are completely different. So does it have meaning? And if it doesn’t, does it really understand?

These may not be questions that the creators are worried about. They may simply want to build an AI to beat humans at a video game. But these questions will obviously be raised by these things, and the answers — and attempts to answer them — are of great interest to fields like Philosophy of Mind, Cognitive Science and Psychology.

Thoughts on the Scotties Round Robin

February 21, 2019

So, the round robin at the Scotties has just ended, with one final tiebreaker determining the eight teams that will go on into the Championship Round. To remind everyone, the format of the Scotties is a one game play-in to determine the sixteenth and final team, then those teams are divided up into two pools of eight for the round robin, and the top four teams from each pool advance to the Championship Round, taking their records with them, and after each have played all four teams from the other pool then the top four teams from that advance to the playoffs.

For the most part, the teams that we would have expected to make it through did, including pretty much all of the teams that play regularly on the Tour … with one glaring exception. That tiebreaker that I mentioned above was between Tracy Fleury’s team out of Manitoba and Sarah Wark’s team from BC, with Tracey Fleury obviously being the team that was well-known on the Tour with Sarah Wark being a rookie to the Scotties. Wark stole a glaring six points to pull off an 8 – 5 win, a loss that has to be especially bitter for Fleury because if you take the steals out Fleury outscored Wark 5 – 2. Since all of those six points came from two ends where Wark stole three apiece, if Fleury had even limited her to steals of 1 she likely wins the game or at least has a good shot at it.

Fleury struggled early in the draw, losing her first two, winning four straight, and then losing her last two including the tiebreaker. But she wasn’t the only top team to struggle a bit. Jennifer Jones went 4 – 3 herself and only avoided a tiebreaker because Kerry Galusha lost her last game to drop to 3 – 4 (she was blown out by a team that hadn’t won a game before then, to show how close that was for Jones). Rachel Homan dropped two games, which still left her comfortably in the Championship Round but leaves her a bit behind and having to win quite a bit to ensure her spot in the top four, and makes getting into the top two — a big advantage in the Page Playoff system that the Scotties uses where the top two teams can lose a game and get another shot at making the finals — quite a bit harder. Chelsea Carey, on the other hand, had a surprisingly good round robin going undefeated at 7 – 0, and after winning the play-in game Casey Scheidegger did well at 6 – 1. The other teams to make it in are the Tour teams of Krista McCarville and Robyn Silvernagle (both at 5 – 2) and the last non-tour team to make it in is Suzanne Birt who doesn’t play on Tour but has quite a bit of experience playing in the Scotties, and she’s also at 5 – 2.

The ice seemed to be a real problem the entire week so far. I haven’t seen as many clear misses as I saw in the round robin, and they were coming from the good teams and not just the weaker teams. Note that when I say “Clear misses” I don’t mean that the shot itself was missed, but that literally they were trying to hit a rock and missed it completely. Normally they don’t hit it hard enough or hit it too hard, but in the round robin there were a lot of times where they went right past it (called a “flash” in curling parlance). And a lot more draws than I expected were missed, and missed badly, stopping way short or sliding right through the house. This probably had an impact on the records, but honestly other than Wark the teams that you’d expect to be there are there, and there are always surprises in a Scotties because you have teams that are actually really good who can’t or don’t play much on Tour and so can surprise some people.

One incident that I want to mention happened in an early game for Nunavut. Jennifer Blaney throws the fourth stones for that team — but isn’t the skip — and was trying to make a shot against a couple. She slipped coming out of the hack and gave up on the shot herself … but her sweepers didn’t. The swept it all the way and managed to get it far enough into the rings to take one and avoid a steal, despite the stones rather inauspicious beginnings. I probably shouldn’t like it when shots that look like complete misses have really good results, but it’s kinda fun regardless.

The Championship Round starts this afternoon.

Thoughts on “The Aftermath”

February 21, 2019

Of the Ben Bova novels that I’ve read, “The Aftermath” is by far the worst.

The book is seemingly a continuation of previous works of his, covering what was called “The Asteroid Wars”. As usual, Bova creates an interesting world of asteroid mining and various colonies and the political situation between them that led to the wars. “The Aftermath” covers the, well, aftermath of the wars, which I suppose places it behind the 8-ball a bit for someone who hasn’t read any of the previous works covering it. The emotional connections won’t be there and so what’s in the book will have to carry things more than normal and than expected. However, it seems to me that the book’s flaws would still hold for people who have read the previous works.

The problem is that the book has too little plot for people who aren’t already invested in the world but too much for those who just wanted to see a resolution to hanging plot threads from the previous works. The book starts by following a family that is caught in the war itself, with their huge mining spaceship being damaged, the father separated from his wife and relatively young (teenage) family, and the ship itself being sent off into an orbit that will take years for them to return. And while showing the effects of growing up in such a desperate situation could be interesting — Piers Anthony’s “Bio of a Space Tyrant” does this in the first book to show how that impacts our budding space tyrant — the book doesn’t actually follow that at all. Instead, it flips between that plot and the father’s attempts to find them, as well as the attempt of the person responsible for that massacre to atone, as well as the influence of the strange artifact that was clearly introduced in an earlier work, the story of the commander tasked with killing the atoner and how a member of his crew works for the person who wants to kill the atoner and not for him, space pirates, and the son of the person who wants to kill the atoner who wants to take over. There are far too many threads here that seem be being developed mostly new to just be the resolution of dangling threads, especially in how they are presented.

All of these threads come together later, but in a way that doesn’t seem like a natural or destined arrangement but instead completely by chance, which weakens them and makes the arrangement of them far too convenient. But most damningly, they aren’t particularly interesting. There are interesting aspects to every thread, but none of them get properly developed and most of them don’t even get resolved, which is definitely a no-no if he wanted to resolve plot threads. And when they are brought together pointless conflict is created that gets resolved in an uninteresting manner.

So, overall, the book just isn’t very interesting. The characters aren’t developed enough to make them interesting but too much time is spent on their development to just treat them as characters brought forward from the other works in the series. The plot threads aren’t developed enough to be interesting but, again, too much time is spent on developing them for me to think that I’m just missing things from not having read the previous works. For the most part, the book just isn’t very interesting.

Thanks, Shamus!

February 20, 2019

So, Shamus Young made two posts talking about Alpha Star’s attempts to create an AI that can play Starcraft II, and how it managed to beat human players and then where a human player exploited a tendency in it to beat it. There was a lot of discussions about that in the comments, and that made me want to do AI again after it being a … few years since my last attempt. And, of course, I clearly have lots of time to spare and no other projects that I want to look at that I could be doing instead of that. Thanks, Shamus!

Anyway, I went out and bought some books on the subject, two of which are detailed books about how to do AI in general and how to do Deep Learning in Python (the last is a technical book on Deep Learning that I would have already started reading except that it starts with Linear Algebra, which is not something I want to review while watching curling …). So I have that to get to, but in pondering it and reading the comments another idea percolated in me.

The AI there focuses a lot on neural nets, as far as I can tell. Now, neural nets have been around for ages, and have waxed and waned in their popularity for AI due to their rather well-known weaknesses (I’ll talk more about that in general in a later post). But one thing that kept coming up, especially when the exploit was revealed was “Can’t you just explain to it or make a rule in it to deal with that exploit?” And the answer is that you can’t really do that with neural nets, because they don’t explicitly encode rules and don’t really have an “Explain this to me” interface. What you can do is train them on various training sets until they get the right answers, and what often makes them appealing is that they can come to right answers that you can’t figure out the reasoning behind, which makes them look smarter even though they can’t figure out the reasoning behind them either. So, perhaps, they can be very intuitive but they cannot learn by someone carefully explaining the situation to them.

But inference engines, in theory, can.

There’s also a potential issue with using a game like Starcraft II for this, because as people have pointed out the intelligent parts of it — the strategy — can get swamped by simple speed of movement or, in the vernacular, “clicking”. As is the case in curling, the best strategy in the world doesn’t matter if you can’t make the shots, and in this case while you’re working out that grand strategy someone who builds units faster and maneuvers them better will wipe you out. A Zerg rush isn’t a particularly good strategy, but if you build them fast enough and can adjust their attack faster than your opponent can you might win, even if your opponent is a better strategist than you are. In short, Starcraft II privileges tactical reasoning over broad strategic reasoning, and while tactical reasoning is important — and arguably even more so in an actual battlefield situation — broad strategic reasoning seems more intelligent … especially when some of those tactical considerations are just how quickly you can get orders to your units.

So what we’d want, if we really wanted intelligence, is a game where you have lots of time to think about it and reason out situations. There’s a reason that chess is or at least was the paradigm for artificial intelligence (with Go recently making waves). But that game can be solved by look-ahead algorithms, and look-ahead algorithms are a form of reasoning that humans can really use because we just can’t remember that much (although it has been said that chess grandmasters do, in fact, employ a greater look-ahead strategy than most people are capable of. And now I want to start playing chess again and learning how to play it better, in my obviously copious spare time). There’s also an issue that it and Go are fairly static games (as far as I can tell because I’m not a Go expert) and so things proceed pretty orderly from move to move, and so aren’t very chaotic or diverse.

Which got me thinking about the board games I have that have chaotic or random elements to them, like Battlestar Galactica or Arkham Horror. These games let you develop grand strategies, but are generally random enough that those grand strategies won’t necessarily work and you have to adjust on the fly to new situations. They’re also games that have set rules and strategies that you can explain to someone … or to an AI. So my general musings led me to a desire to build an inference engine type system that could play one of those sorts of games but that I could explain what the system did wrong to it, and see how things go. Ideally, I could have multiple agents running and explain more or less to them and see how they work out. But the main components are games where you have set overall strategies that the agents can start with, and yet the agent also has to react to situations that call for deviations, and most importantly will try to predict the actions of other players so that it can hopefully learn to adjust that when they don’t do what is expected.

Now, other than picking a game to try to implement this way — Battlestar Galactica’s traitor mechanism is a bit much to start with, while Arkham Horror being co-operative means that you don’t have to predict other players much — the problem for me is that, well, I’m pretty sure that this sort of stuff has been done before. I’m not doing anything that unique other than with the games I’m choosing. So, if I did some research, I’d find all of these and get a leg up on doing it, at least. But a quick search on books didn’t give me anything for that specifically, a search of Google will make it difficult to sort the dreck from the good stuff, and the more up-front research I try to do the less actual work I’ll be doing, and I want to do some work. Simple research is just plain boring to me when I’m doing it as a hobby. So my choices are to reinvent the wheel or else spend lots of time looking for things that might not be there or might not be what I want.

So, I’ll have to see.

Anyway, thanks Shamus for adding more things to my already overflowing list of things I want to do!

Thoughts on “Agents of SHIELD”

February 19, 2019

So, I did it. I made it through all five seasons of “Agents of SHIELD”. I had originally made it part-way through Season 3 before dropping it, likely because of the hiatus. I’ve noticed in the past — most notably with a season of “Survivor” that took a break for March Madness — that if I am trying to watch something on a regular basis and it stops for a while I find other things to do and so am not likely to return. Aside from “Survivor”, I also did that for “Heroes” and probably a couple of other things.

The other thing is that I own the DVDs for Season 1 of “Agents of SHIELD”, and noted that it was much better to watch after having already watched it because I wasn’t speculating on the storylines and so could just watch and enjoy it for what it was. That seemed to hold for this one as well, although I do think that the later season did have more flaws or at least exaggerated the flaws that the series already had.

As I explained to a friend who was commenting on why he stopped watching the show and wasn’t going to buy the DVDs of the first season after borrowing them from someone and enjoying watching them to some degree, the reason I am interested in the show despite not really watching it anymore — which is what drove my choosing to watch it when I got Crave and the show was on there — was because of the characters. I like Coulson and May, I like FitzSimmons, and I can tolerate Skye/Daisy/Quake when the focus isn’t too much on her and her relationships, especially with Ward. Of the later characters, Hunter was generally annoying but got more tolerable later, Bobbi was interesting, and Mack is okay. I disliked Ward and Yo-Yo, however, and felt that both were too prominent for their somewhat annoying personalities, although when Yo-Yo faded a bit due to her uncertainties over the prophecies that she had given herself she was more tolerable. I mostly just found her too arrogant and aggressive for a character that was a latecomer to the team.

This leads me, though, to one of the areas where I think AoS stumbled: too much focus on Skye/Daisy and Ward and their relationship. I think of Ward in the same way as Corran Horn thought of Gara Petothel/Lara Notsil/Kirney Slane in Michael Stackpole’s Wraith Squadron books: a situational conformist with a few screws loose. This could, of course, have been used as an interesting idea, as I did believe that Ward, when he was with SHIELD was committed to them and was equally committed to Hydra when he was with them, and this could have been played up more. And it was handwaved at at times, but too often simply pushed aside so we could have the drama of his interest in Skye/Daisy and her having been interested in the past and now seemingly incredibly angry with him and seeking revenge.

The problem is that both my impression and my impression from reading some forum reactions on the show is that these plotlines were somewhat divisive, and the show didn’t properly handle those divisions. Don’t get me wrong; Skye and Ward were no Neelix, where the audience loathed them but the writers seemed, at least, to love them. There were certainly people who loved them and their relationship and wanted to see more of it. But there was also a significant portion of the audience that disliked them and liked other characters more, and so the show had to advance their plot while ensuring that they didn’t take too much time away from the characters that others liked more. For me, I always felt that Skye/Daisy worked a lot better when she was in the background, as she was the one character that everyone could relate to: the parental-type relationship with Coulson and May, the technical side with Fitz and Simmons and even the attraction with Ward. But the show kept putting the two of them into the limelight, and it got kinda annoying. Ward has to be Coulson’s biggest target, which makes sense but puts him front and centre again. He gets the entity inside him which makes him, again, the big villain in season 3, despite being a big villain in the other seasons (despite there being far more interesting antagonists out there most of the time). And he gets a “good death” at the end of season 3, at least as the mysterious entity, with him going out as someone potentially partially reformed and going out with a literal bang, when the best death for a character like Ward would be to show that while he desperately wanted to be important he really, really wasn’t, and so going out killed by a random mook, preferably completely by accident. In my opinion, Ward really needed to get the “Lindsey” treatment and go out like that character went out in “Angel”: not killed by Coulson out of revenge, nor by Daisy, but instead saying “You don’t get to kill me! Coulson, Daisy, May, they get to kill me! Or even Fitz and Simmons! Not a nobody like you!”

Bringing Ward back only half a season later as an actual hero in the Framework didn’t help either. They really could have let him be dead longer before making him front and centre again.

Another flaw in the show related to this is that while Ward overstayed his welcome, other interesting antagonists were treated as disposable. Victoria Hand was a potentially interesting character and could have easily worked as a “good-aligned” antagonist due to the clashes between her philosophy and Coulson’s, and she’s killed off simply to further the less interesting character Ward’s storyline. Gonzalez also worked as that, and he’s killed just to make Daisy’s mother evil and so increase the drama in her storyline. Whitehall had some interesting premises, and he’s disposed of rather quickly with Ward, again, a key part of that. Rosalind Price worked well either as an antagonist or as a relationship interest for Coulson, and she’s killed off by Ward to drive the revenge plot. Too many good antagonists are lost because the main antagonist seemed to be Ward, and they didn’t seem able to recover from Disposable Antagonist Syndrome even after Ward was killed, losing Aida and even General Talbot as Graviton — even down to having the same beard as the comics version — far too quickly and before all their potential was explored.

Which gets into another flaw: AoS continually fails to realize its potential. Very often, more interesting plots are sacrificed for less interesting but more “dramatic” or convoluted ones, to the show’s detriment. Which is one reason why the show is better the second time around, as you don’t have to speculate about where the plots are going and so be disappointed when their answer is worse than yours. In the first season, given their ages and Chloe Bennett being half-Chinese I posited that her mother might well have been May, which would explain a lot and drive home the maternal instinct that May seemed to have for her. This was less dramatic but potentially more interesting than her mother being a genocidal Inhuman. When Ward killed Hand, the potential was laid for that to be him playing Garrett, which would have preserved an interesting character and led to an interesting payoff, but instead he really was just a traitor. Aida was a particular disappointment, as they teased the more interesting idea that she had been given sentience by the Darkhold, but, no, she was just following her creator’s orders. An AI being given sentience by an evil book is more interesting than her just being a technological innovation, and it would have worked so much better to explain her more aggressive and evil actions later instead of falling back on the “overinterpreting her creator’s commands” trope, and would have filled in some plot holes. If she was just following her creator’s orders to make a world where the people inside it are cured of their traumas, why didn’t she realize that it wasn’t working when for most of them their trauma increased? This wasn’t even handwaved with the idea that she’d been trying to do so over and over again and this world, the one where Hydra ran everything, was the best one she’d built so far (which would have had a callback to constantly resetting May to make her try to escape over and over again). But as a Darkhold entity, she might have an underlying corruption that makes her partial to more evil worlds. Also, it would have help explain her going insane later, rather than having to rely on Fitz’s rejection — and a rather pathetic ploy where she seems to accept it and then it is revealed that she thought he was choosing her and not Simmons — and the standard broken heart trope to pull that off. Over and over and over again, AoS misses new and more interesting takes to fall back on more standard and less interesting ones, and this got worse in the later seasons.

Another way in which the later seasons were worse was that the show became very, very dark. The early seasons had a lot of light humour, particularly on Coulson’s part, but this seemed to fall by the wayside as things got more and more serious and more and more dramatic. The light banter disappeared, for the most part. They tried to bring it back at the end of season 5, but since that was dealing with the end of the world, potentially at Daisy’s hands, it came across far more as “Dude, not funny” than the light banter of the previous seasons.

And I didn’t like pairing Coulson and May romantically. They worked far better as platonic life partner’s and it forces a reexamination of a lot of things, like her relationship with Andrew.

So, after all of that, what’s my overall impression of Agents of SHIELD. First, I think that the end of season 5 was a perfect way to end the series, and that it will carry on may hurt it. Yes, there’s lots more stories that you can tell, but the actual end sequence with the goodbye and with Coulson’s potential death struck the perfect tone for ending a series. Second, there were too many times where I was crying that the show and plots were stupid. However, I still like Coulson and May, and FitzSimmons, and can tolerate Daisy and Mack. So I’m pretty likely to watch it again at some point. The characters are just interesting enough to carry things through the lackluster at best plots, and even the plots are interesting at times to help with that.

Right now I’m watching Agent Carter, and then it’s on to Voyager.