text:
Richard Harrison - A Biography
by Mike Haberfelner
Films starring Richard Harrison on (re)Search my Trash
just there!!!
Find Richard Harrison
Find Richard Harrison here ...
find Richard Harrison at adultvideouniverse.com
If one had to sum up Richard Harrison's career in a few words, those words would probably be almost made it.
Starting his acting career in America in the late 1950's, he never got beyond supporting actor-status, when he later came to Italy to do peplums, his popularity never rivalled that of Steve Reeves, who came to Italy (and peplums) a few yearsearlier and hit gold with Le Fatiche di Ercole/Hercules, and then he turned down the lead role for Sergio Leone's Per un Pugno di Dollari/A Fistful of Dollars but (reportedly) suggested Clint Eastwood for it - and the rest is history. However, even though he turned down that role, he soon enough found himself acting in numerous derivative Spaghetti Westerns, none of them too special.
Ultimately he even found himself co-directing a Western where he and co-star Donald O'Brien try to duplicate the comedy of (then immensely popular) Bud Spencer and Terence Hill.
In the 1970's, he started to travel to Asia for some work assignements, and he ultimately made two films with action maestro Chang Cheh (as well as some lesser stuff), but that ultimately only led to him being hired for some grade-Z Filipino-actioners and the series of infamous Ninja-series for Joseph Lai's IFD Films & Arts, an attempt to cash in on the Ninja-boom, created by the Franco Nero-starrer Enter the Ninja [Franco Nero bio - click here]. But however bad Enter the Ninja was, it was ultimately Richard Harrison's Ninja-series that became the laughing stock of the genre.
In later life, Richard Harrison retired from acting but tried to run for mayor of Palm Springs twice ... he only almost made it.
That said however, Richard Harrison did make way over a hundred films in a career that spanned 5 decades and took him around the world, and several of his films have since become classics withthe cult crowd (if sometimes for all the wrong reasons) while others are gems just waiting to be dug up.
But let's start at the beginning:
Richard Harrison was born in 1936 in Salt Lake City, Utah. At age 17, he left for Los Angeles and worked (and worked out) in gyms while at the same time studying acting. Due to his good, muscular looks, he soon got modelling jobs for fitness- and health-magazines, and by the mid-1950's, he won the title of Mr Apollo in a nationwide physique contest. From here on, Richard Harrison hit the stage, being one of the stable of hunks supporting legendary Mae West in her nightclub act [Mae West bio - click here].
The rest of his early career followed the typical Hollywood route: More theatre, then roles on television, and finally graduating to small parts in movies, his more memorable films probably being Kronos, Destroyer of the Universe (1957, directed by Kurt Neumann), typical drive-in fare about aliens wanting to invade the world, this time round using a robot, Jeanne Eagles (1957, by George Sidney), a biopic about a beauty queen starring Kim Novak and Jeff Chandler, and Master of the World (1961, by William Witney [William Witney bio - click here]), an AIP-production of a Jules Verne-adaptation starring Vincent Price [Vincent Price bio - click here] and Charles Bronson. But however interesting these films may sound, Harrison's parts in them were comparatively small, and even the fact that he married AIP's James H.Nicholson's daughter Loretta in 1961 did not much improve his film career.
So, in 1961 or '62, Richard Harrison decided to do what many actors not content with their fiolm careers in the late 1950's/early 60's did - move to Italy for career recovery (among the other actors were Steve Reeves, Lex Barker [Lex Barker bio - click here], Gordon Scott [Gordon Scott bio - click here], Lee Van Cleef and even Clint Eastwood).
Italy by that time had a booming film industry, producing peplums (the Italian version of sword and sandal-epics), pirate movies and other kinds of historical dramas in rapid succession. True, by American standards, all these films would have been classified as B-movies, they were cost-effective films in period costumes, often using the same sets and scenery over and over again, the scripts were often childish and relying more on the leads physical presence and ability to do action than on plausibility or character development, but all throughout Europe, for a time, these films were extremely popular for a while, as they seemed to give the audience exactly what they wanted ...
Thanks to his good physique, Richard Harrison found it easy to get leads in peplums, which usually centered around a muscle-bound hero by definition at this time. So Harrison could soon be seen in Il Gladiatore Invincibile/The Invincible Gladiator (1962, Alberto De Martino, Antonio Momplet), I Sette Gladiatori/Gladiators 7 (1962, Pedro Lazaga), Perseo l'Invincibile/Medusa Against the Son of Hercules/Perseus Against the Monsters (1963, Alberto De Martino), I Due Gladiatori/Two Gladiators (1964, Mario Caiano), L'Ultimo Gladiatore/Messalina Vs. the Son of Hercules (1964, Umberto Lenzi), La Rivolta dei Pretoriani/Revolt of the Praetorians (1964, Alfonso Brescia) and I Giganti di Roma/Giants of Rome (1964, Anthony M.Dawson = Antonio Margheriti [Antonio Margheriti bio - click here]), all unremarkable films, surely, but also often fun.
Other than most other peplum actors like Ed Fury or Mark Forest, Richard Harrison had enough acting experience to also play roles that would less rely on his bare top. That's not to say that he was a great thespian (he wasn't), but even early in his Italian career, he handled genres like the pirate movie - Il Giustiziere dei Mari/Avenger of the Seven Seas (1961, Domenico Paolella) and Il Pirata del Diavolo/Flag of Death (1963, Roberto Mauri) - and the Western - El Sabor de la venganza/Gunfight at High Noon/Sons of Vengeance/Three Ruthless Ones (1963, Joaqu�n Luis Romero Marchent) and Duello nel Texas/Gunfight at Red Sands (1963, Ricardo Blasco) ... please note that these Westerns were made a year before Sergio Leone's Per un Pugno di Dollari/A Fistful of Dollars, widely considered the first generic Spaghetti Western. To call Harrison's early Italian Westerns trailblazing though would be a vast exaggeration, they were rather peplums in different outfits (though some film historians have called peplums Westerns transposed to acient times), quite possibly made to cash in on the then immensely popular Winnetou-series from Germany, starring Lex Barker and Pierre Brice.
... in 1964 came the film that would change the Italian film-industry - or rather their output - for good, above mentioned Per un Pugno di Dollari/A Fistful of Dollars by Sergio Leone, a film Richard Harrison even was considered for, but legend has it that he turned the role down but suggested Clint Eastwood instead (and much later he would joke about that this might ahve been his biggest contribution to film history ... and he might even be true). Suddenly, the Western was the craze of the day and the peplum was a thing of the past, and many peplum actors were put out to pasture (which is a shame, cause I would have loved to see Mark Forest star in a Western ... oh well, one can't have everything).
Flix.com
With the peplum vanishing in a puff of smoke around 1964, it seems Richard Harrison was one of the lucky ones, as he had already proved he could handle Westerns, and would now continue to do so, with sufficient success to keep him working. There is a bitter irony in here though, as after turning down the lead in the trailblazing A Fistful of Dollars, Harrison would find himself in quite a number of inferior rip-offs in the mid- to late 1960's, none of them even coming close (in quality or success) to that movie, or let's say, Sergio Corbucci's also trailblazing Django.
Richard Harrison-Westerns from that era included Centomila Dollari per Ringo/$100,000 for Ringo (1965, Alberto De Martino), El Rojo (1967 Leopoldo Savona), Joko invoca Dio... e Muori/Vengeance (1968, Anthony M.Dawson = Antonio Margheriti) and Anche nel West c'era una Volta Dio/Between God, the Devil and a Winchester (1968, Marino Girolamo), none of them real classics, though I love the (English language-)title of the last one.
Besides Spaghetti Westerns there was one other genre that hit it big in the mid-1960's and was the subject of exploitation producers on end: The espionage flick.
Espionage flicks of the 1960's were quite obviously inspired by the then immensely popular British James Bond-series, but usually the rip-offs - a great deal of them produced in Italy - lacked the budget as well as the talent of the British originals.
Richard Harrison would find himself starring in the (two part) Bob Fleming-series, that even went so far as to label its hero 077 (as opposed to 007),in the movies Le Spie Uccidono a Beirut/077: Challenge to Killers/Secret Agent Fireball/The Spy Killers (1965, Luciano Martino) and A 077, sfida ai Killers/Bob Fleming ... Mission Casablanca/Killers Are Challenged (1966, Anthony M.Dawson = Antonio Margheriti), once again rather unremarkable thrillers if it wasn't for some cheap, camp and nostalgic charme.
Other Richard Harrison-spy films from that era included Duello nel Mondo/Ring Around the World (1966, Georges Combret, Luigi Scattini) and Colpo Maestro al Servizio di Sua Maest� Britannica/Master Stroke (1967, Michele Lupo), none of them were really remarkable, nor was his pari of Malaysia-set adventure films directed by Umberto Lenzi, I Tre Sergenti del Bengala/Adventures of the Bengal Lancers/Three Sergeants of Bengal (1964) and La Montagna di Luce/Jungle Adventurer/Temple of a Thousand Lights (1965).
... and then there were also this by now regrettably largely forgotten superhero piece, La Donna, il Sesso e il Superuomo/Fantabulous (1967, Sergio Spina), and teh war film 36 Ore all'Inferno/36 Hours to Hell/Last Combat (1969, Roberto Bianchi Montero), which wasn't even half bad.
The early 1970's saw Richard Harrison doing more of the same, mainly Westerns like La Diligencia de los Condenados/I'll Forgive You, Before I Kill You/Stagecoach of the Condemned (1970, Juan Bosch), Lo Sceriffo di Rockspring/Sheriff of Rock Springs (1971, Mario Sabatini), Acquasanta Joe/Holy Water Joe (1971, Mario Gariazzo) - in which Harrison is the villain for a change -, Reverendo Colt/Reverend's Colt (1971, Le�n Klimovsky) or Abre tu Fosa, Amigo, llega S�bata .../Dig Your Grave Friend ... Sabata's Coming (1971, Juan Bosch)
Besides these Westerns he made at least 2 films that are at least worth mentioning: One was a war movie, I Leopardi di Churchill/Churchill's Leopards/Commando Attack/The Dirty Dam Busters (1970, Maurizio Pradeaux), but even though Harrison was first billed, the underbudgeted film obviously belonged to Klaus Kinski, playing a supporting role as SS-officer. The other film was Pussycat, Pussycat, I Love You (1970, Rodney Amateau), the unnecessary (and uncalled for) sequel to What's New, Pussycat (1965, Clive Donner) that reportedly absolutely deserves the obscurity it has vanished into. Harrison has only a small supporting role in that one though.
1972 saw Richard Harrison's debut as a (co-)director. But that might sound much more interesting than it was: The outcome of his first directorial effort, Due Fratelli in un Posto Chiamato Trinit�/Two Brothers in Trinity (co-directed by Renzo Genta), was a rather obvious attempt to cash in on Enzo Barboni's popular Trinity Westerns starring Terence Hill and Bud Spencer. Here Harrison has the hyperactive, Terence Hill-like part complimenting Donald O'Brien's lethargic version of Bud Spencer.
(Truth to be told, other Italian Western comedies like Fernando Baldi's Carambola films starring Paul Smith and Michael Coby were even more blunt in trying to duplicate the Terence Hill-Bud Spencer-comedy team.)
However, ultimately the Spaghetti Western craze came to an end and even comedy Westerns weren't selling anymore, and since Richard Harrison was not as versatile an actor as let's say Franco Nero, who made the step from Spaghetti Westerns to more serious roles (and occasionally back again) with ease, interesting roles in Italy became scarce.
This sent Richard Harrison travelling: In 1972, he starred in the Turkish-Italian co-production Babanin Arkadasi/L'Amico del Padrino/The Godfather's Friend/The Revenge of the Godfather, directed by Farouk Agrama, in 1974, he was in Argentinia to do Un Viaje de Locos (Rafael Cohen) and in 1975 he travelled off to Hong Kong where he made 2 movies with Chang Cheh, Marco Polo/The Four Assassins (1975) and Boxer Rebellion/Bloody Avengers (1976), in which he was cast as a villain.
For Richard Harrison, these 2 Chang Cheh-features were pretty much as good as it got, they were solid roles in first class movies directed by a renowned genre-specialist - but somehow, Richard Harrison failed to reap the fruits of his labour and try to cash in on his new-found fame in Asia (at least for the time being) and instead returned to Italy - which is where his career really got messy: With all the genres for a classic movie hunk (like the peplum, the swashbuckler or the Western) gone, Harrison just took what was thrown at him - Kaput Lager - Gli Ultimi Giorni delle SS/Achtung Desert Tigers (1977) is a Nazi atrocity film (then a short-lived new craze) directed by Luigi Batzella as Ivan Kathansky and also starring Gordon Mitchell and Mike Monty, that, as these films go, combines newly filmed torture and degradation scenes with a deliberate helping of stock footage from other war movies.
Strategia per una Missione di Morte/Black Gold Dossier (1979), again directed by Luigi Batzella and again co-starring Gordon Mitchell was somewhat similar inasmuch as this mercenary movie was also spiced up by tons of stock footage ...
1979 also saw Harrison starring in a Yugoslavian war movie, Pakleni Otok, directed by Vladimir Tadej.
Of more interest among Richard Harrison's late-1970's films might be La Belva Col Mitra/Mad Dog/The Mad Dog Killer/Beast with a Gun (1977, Sergio Grieco), in which Harrison plays a cop, with psychopath Helmut Berger out to kill him. Marisa Mell also stars.
1980 must have marked a new low in Richard Harrison's career, when he starred in Orgasmo Nero/Black Orgasm, also starring Susan Scott and directed by Joe D'Amato [Joe D'Amato-bio - click here]. As often with Joe D'Amato films from that era, the plot of this film is just a feeble linking device for the many, many sex-scenes, and some of them even border hardcore porn. In all fairness, Harrison did feature in none of the hardcore scenes, but he is actively performing in quite some softcore scenes with Susan Scott and Lucia Ramirez in this film.
Reportedly, Harrison was less than pleased about this new direction his career was taking.
Around that time, it must have been a call from heaven when globetrotting producer Dick Randall hired him to act in another Hong Kong flick, Challenge of the Tiger/Dragon Bruce Lee/The Gymtaka Killer (1980, Bruce Le, Luigi Batzella [uncredited]). But while Harrison's earlier Hong Kong-efforts were sombre, serious and even prestigious martial arts films, Challenge of the Tiger was more of the exploitation variety - which Harrison's stable of co-stars would readily prove: Bruce Lee clone Bruce Le, former Hercules Brad Harris [Brad Harris bio - click here], sex starlet Nadiuska, kickboxing champ Hwang Jang Lee and Bolo Yeung, otherwise known as that guy from Enter the Dragon ... so no, the outcome is not a good film set to re-invigorate the Asian career of Richard Harrison - but at the same time, one can have the time of his life watching it, it's a movie so crazily concocted that it's nothing short of exhilarating: There's Bruce Le fighting a bull, there's Brad Harris (always a fun to watch) trying his hands on Kung Fu, and then there's the topless tennis match, a scene allegedly directed by Richard Harrison himself that has nothing whatsoever to do with the plot of the movie, but it shows Harrison playing tennis against some topless ladies in slow motion - a scene that is even whackier than it sounds.
The funniest thing about the whole movie though is probably Harrison himself, who turns in a totally careless performance and who hardly ever takes part in the film's action scenes - mostly he is put out of action (often by a kick in the groin) before the action starts, or he just watches from afar altogether. As the whole movie, Harrison's performance is far from good or even solid, but it's fun to watch nevertheless.
Of interest, and on a much higher level than his usual output, might be Amok (1982, Souheil Ben Barka), a powerful drama set in Apartheid South Africa, and one of the most decent films Harrison made in the early to mid-1980's. But once again, a good role paid little in dividends for Harrison.
Instead, Harrison's career took him to the Philippines, to star in a bunch of movies for K.Y. Lim's production company Silver Star, Intrusion Cambodia (1982, Jun Gallardo), Hunter's Crossing (Teddy Page, 1983) and Blood Debts (Teddy Page, 1984) among them, films for which he was occasionally even involved in scriptwriting. These films were probably all shot back-to-back, as several of them starred, besides Harrison, American B-movie veterans Mike Monty, Bruce Baron and Romano Kristoff. The result was nothing more than a handful of bottom-of-the-barrel action films, but of course, if you don't expect million Dollar special effects and carefully lit overpayed Hollywood actors, you might even find yourself enjoying them, despite or rather for their shortcomings.
However, after throwing in with Silver Star, Harrison's next career decision seems even worse: In 1985, he signed a contract with Joseph Lai's IFD Films & Arts to star in a handful of Ninja movies, dubbed on this site as Richard Harrison's Ninja movies.
Ninjas were then the latest craze in the West, since Franco Nero starred in Menahem Golan's Enter the Ninja (1981), so Hong Kong producer Lai decided to quickly produce a series of Ninja-movies exclusively for the Western market. All he needed now was a Western star, maybe someone who had - like Franco Nero - starred in Spaghetti Westerns and who had - also like Franco Nero - a mustache. And Richard Harrison fitted the bill perfectly. So Lai had some directors, most often Godfrey Ho [Godfrey Ho bio - click here] or even himself, shoot a series of scenes with Richard Harrison, then had a bunch of stuntmen in ludicruous Ninja outfits (in all colours of the rainbow and sometime with the word Ninja imprinted on their Ninja masks - just in case who the Ninjas were in these films) stage some rather lame fights - and then came the ingenious part of the whole affair: Instead of shooting a whole movie around Harrison's and the Ninjas' scenes, Lai simply took old and unfinished films - which had nothing to do with Ninjas - from his library and furnish Harrison and his Ninjas around them.
The result is pretty much as bad as one would expect, but at the same time exhilarating - but somehow the idea must have paid off, because during the course of the next 3 years, 2 dozen or so Richard Harrison-Ninja flicks were produced - thanks, it seems, mainly to the then booming home video market, when video rentals would offer anything with the word Ninja in it.
Richard Harrison later claimed that he was left under the impression of shooting only one single Ninja film and was quite surprised in how many films his material showed up in the end. This is quite probably not true though, because Harrison's appearance varies considerably in these films, especially his hairstyle and the fact that in later films he had his mustache shaved off. It is on the other hand more than possible that he was left a bit in the uncertain as to in how many Ninja films he would actually star. The boldest attempt to give him near-to-top-billing is probably in Golden Ninja Warrior (1986, Joseph Lai), where one can see Harrison don a Ninja mask at the beginning of the film, then his stuntman does a short fight (both scenes were lifted from the earlier Ninja Terminator [1985, Godfrey Ho]), and that's it, he doesn't appear ever again during the rest of the film, and the connection of his scene with the rest is feeble at best - yet Golden Ninja Warrior is perhaps the funniest of Richard Harrison's Ninja movies.
The films of Richard Harrison's Ninja-series had such sensationalist titles as Ninja Holocaust (1985, Shen Liu Li), Ninja Commandments (1987, Joseph Lai), Ninja Thunderbolt (aka To Catch a Ninja, 1985, Godfrey Ho), Diamond Ninja Force (1986, Godfrey Ho), Ninja Avengers (1987, Godfrey Ho), Ninja the Protector (1986, Godfrey Ho), Ninja Squad (1987, Godfrey Ho), Ninja Strike Force (1988, Joseph Lai), Ninja Powerforce (1988, Joseph Lai), Ninja Operation: Licensed to Terminate (1987, Joseph Lai) and Cobra vs Ninja (1987, Joseph Lai), to name a few.
Of course, the outcome of combining old films (not all of them action films by the way) with newly shot Ninja material, is pretty much as bad as it sounds, but if you keep an open mind and don't take the whole affair too seriously, they can be quite exhilarating.
(By the way, the idea to recycle old Asian movies as new Ninja flicks wasn't exclusive to Joseph Lai and IFD Films & Arts, around the same time Tomas Tang from Filmark did the exact thing, albeit without Richard Harrison).
In later years, Richard Harrison would occasionally complain about how much his Ninja movies hurt his career, which seems slightly unfair to me, as for once, these films, as bad as they were, kept his name in the news - well, on the shelves of video rentals -, and secondly in all fairness his acting in these films is lazy to the hilt, in some scenes one gets the feeling he doesn't even try ...
Besides the Ninja movies, Harrison's career seemed to be on the decline from the mid-1980's onwards, but at least a few of his films are worth mentioning:
In Tre Uomini di Fuoco/Three Men on Fire (1986) Harrison did not only play the lead, he also directed it and co-wrote it with Romano Kristoff, who plays the lead villain in this one and whom Harrison knew from his days in Filipino action-flicks. In this film, which also stars Gordon Mitchell and Harrison's three sons, CIA-agent Harrison and Camaroonese police officer Alphonse Beni save the Pope from a terrorist plot to kill him.
For the Western Scalps (1987, Bruno Mattei [Bruno Mattei bio - click here], Claudio Fragasso), Harrison merely wrote the script. Interestingly, Harrison's son Sebastian, who had a short acting career of his own in Italy, starred in Mattei's Bianco Apache/White Apache/Apache Kid (1986), which Mattei and Fragasso shot back-to-back with Scalps.
Evil Spawn (1987) and Terminal Force (1989) are two films by B-movie veteran director Fred Olen Ray, who always had a bit of a predilection for casting seasoned B-movie actors - thus Evil Spawn also features Gordon Mitchell and John Carradine [John Carradine-bio - click here] and Terminal Force co-stars 1960's heartthrob Troy Donahue.
Dark Mission (Operaci�n Coca�na)/Dark Mission: Flowers of Evil (1988) is a film by Spanish cult director Jess Franco, but while the cast of this film was unusually stellar for a Jess Franco film from that era - besides Harrison Chritopher Lee, Antonio Mayans, Brigitte Lahaie and Christopher Mitchum were in it as well -, the film, an underbudgeted actioner, was one of the lesser efforts of Franco, since action was never his forte in the first place.
The made-for-video Rescue Force (1989, Charles Nizet) is another cheap-as-dirt action film that also features a trio of gun-wielding girls and Bo Gritz. Bo Gritz was a real life ex Green Beret who in the 1980's conducted a series of missions to free POWs in Vietnam on his own, just like Rambo in the movies - but unlike Rambo, he never saved a single POW. Later he became a darling of conspiracy theorists of both the left and right. Rescue Force remained his only film to date, and somehow his life-story sounds much more interesting and bizarre than the film he was in.
Empire of the Dark (1990, Steve Barkett) is a by now largely forgotten sci-fi-film.
In the TV-thriller Lies of the Twins (1991, Tim Hunter) Harrison only has a small supporting role, but with Aidan Quinn, Isabella Rossellini and model Iman receiving top-billing, at least the cast of that film sounds interesting.
With the Fred Olen Ray-produced erotic thriller Angel Eyes (1993, Gary Graver), starring Monique Gabrielle, Erik Estrada and John Philiop Law, Richard Harrison put an end to his active acting career, with more than 100 films to his credit, some good, many bad and quite a number of them having become cult classics for one reason or another.
In 2000, for the little-known movie Jerks (Ted Grouya), Harrison would do one last acting assignment, but by and large, he has retired since the mid-1990's. Always one good with money and having saved quite a bunch of it during his career, he needn'twork any more, instead he settled down in Palm Springs (he had moved back to the USA in the late 1980's), where he over the course of the years ran for mayor twice - without success.
So no, Richard Harrison never really made it, and it's doubtful that, if he had taken the role in A Fistful of Dollars that it would have become the same success it has with Clint Eastwood starring. Harrison totally lacked Eastwood's charisma, and it's fair to say that he wasn't even too great an actor, but without him and his 100+ films output, the history of unusual, trashy and insane movies would be a whole lot poorer.
� by Mike Haberfelner
Legal note: (re)Search my Trash cannot
and shall not be held responsible for
content of sites from a third party.


With all of the time we spend talking about teaching and learning, the emphasis is too often on the teaching rather than the learning. What does it really mean to learn? And how does learning happen in the brain?
In this training session we will dig underneath the surface of teaching and explore the most important things educators need to know about learning in the brain and how to create the most effective learning experiences.
Spoiler alert: A teacher or trainer does not take their knowledge and transfer it to the learner. In this training session, we will discuss what really happens based on sound neuroscience.
§ What conditions support or impede learning?
§ What is involved in remembering?
§ What are the different types of memory?
§ Why all this matters for teachers and students.
§ Explain how learning happens in the brain.
§ Compare procedural and declarative memory and articulate the importance of distinguishing them.
§ Determine the most appropriate strategies depending on the type of memory involved.
§ Formulate further questions for exploration regarding the application of neuroscience to learning and teaching.
Presenter: Betsy Hill is a neuro-educator and President of BrainWare Learning Company. She has studied the application of neuroscience to teaching and learning with Dr. Patricia Wolfe and other experts and works with educators, clinicians and corporate trainers on using neuroscience research to address some of the most perplexing problems in education, including closing the gap for historically underperforming students. She addressed issues of college and career preparedness as a trustee and board chair at Chicago State University. She holds a Master of Arts degree in Teaching and an MBA from Northwestern University, and teaches strategy at Lake Forest Graduate School of Management and the University of Illinois in Chicago.


The iconic French polish, as its name suggest, has been one of the classics in nail aesthetic since its first debut in the mid-70s. Subtle and does not stand out save for its iconic white tipped, French polish has always been the perfect match for ladies who believe in being natural is the best form of beauty.
Although it may sound simple, French polish is in fact quite tricky to perform singlehandedly (literally) because even a single wonky tip will stand out more than a sore thumb would.
Step 1: Ready your nails by first removing any previous nail polish.
Step 2: Next, use an antibacterial hand wash to clean your hands and fingernails thoroughly.
Step 3: Trim and shape your nails using a nail file, then take a nail buffer and gently remove any shine on the surface to help with adhesion and dust removal.
Step 4: Soak your nails in warm water around 3 minutes then trim cuticles. Your nails are now prepared.
Step 5: The base coat is now applied onto your nails, the color is usually pale cream, light pink or clear.


text:
Q: In a Minimax algorithm, what happens if an AI doesn't reach a terminal state before hitting depth 0? I have been coding a simple Minimax algorithm and stumbled upon a problem I'm not able to solve. The algorithm first determines if the game is over (either via a draw or win of either player) OR if the depth hits == 0 (depth decreases by 1 in each recursive call).
The problem I'm having is the algorithm usually hits depth 0 really quickly (as the initial depths are low). However, as pointed out by the pseudocode I have been given, if that happens, the algorithm should return a static evaluation of the current board. In my case, that board is in a state of CONTINUE (meaning there are no game over conditions met).
I have my evaluation algorithm set so it returns -1 if circle wins, 0 for a draw and 1 for cross win. What should I return if the game isn't over yet at depth==0 to not mess up the maximizing/minimizing of the algorithm?
The evaluation code:
int getGameResult() {
    //check for possible win
    //check vertical lines
    for (int i = 0; i <= BOARD_SIZE - 4; i++) {
        for (int j = 0; j < BOARD_SIZE; j++) {
            //if circle has 4 verticals
            if (board[i][j] == FieldStatus::CIRCLE
                && board[i + 1][j] == FieldStatus::CIRCLE
                && board[i + 2][j] == FieldStatus::CIRCLE
                && board[i + 3][j] == FieldStatus::CIRCLE) {
                return -1;
            }
            //if cross has 4 verticals
            else if (board[i][j] == FieldStatus::CROSS
                && board[i + 1][j] == FieldStatus::CROSS
                && board[i + 2][j] == FieldStatus::CROSS
                && board[i + 3][j] == FieldStatus::CROSS) {
                return 1;
            }
        }
    }

    //check horizontal lines
    for (int i = 0; i < BOARD_SIZE; i++) {
        for (int j = 0; j <= BOARD_SIZE - 4; j++) {
            //if circle has 4 horizontals
            if (board[i][j] == FieldStatus::CIRCLE
                && board[i][j + 1] == FieldStatus::CIRCLE
                && board[i][j + 2] == FieldStatus::CIRCLE
                && board[i][j + 3] == FieldStatus::CIRCLE) {
                return -1;
            }
            //if cross has 4 horizontals
            else if (board[i][j] == FieldStatus::CROSS
                && board[i][j + 1] == FieldStatus::CROSS
                && board[i][j + 2] == FieldStatus::CROSS
                && board[i][j + 3] == FieldStatus::CROSS) {
                return 1;
            }
        }
    }

    //check diagonals
    //right diagonals
    for (int i = 0; i < BOARD_SIZE - 3; i++) {
        for (int j = 0; j < BOARD_SIZE - 3; j++) {
            if (board[i][j] == FieldStatus::CIRCLE
                && board[i + 1][j + 1] == FieldStatus::CIRCLE
                && board[i + 2][j + 2] == FieldStatus::CIRCLE
                && board[i + 3][j + 3] == FieldStatus::CIRCLE) {
                return -1;
            }

            if (board[i][j] == FieldStatus::CROSS
                && board[i + 1][j + 1] == FieldStatus::CROSS
                && board[i + 2][j + 2] == FieldStatus::CROSS
                && board[i + 3][j + 3] == FieldStatus::CROSS) {
                return 1;
            }
        }
    }

    //left diagonals
    for (int i = BOARD_SIZE - 1; i > BOARD_SIZE - 2; i--) {
        for (int j = 0; j < BOARD_SIZE - 3; j++) {
            if (board[i][j] == FieldStatus::CIRCLE
                && board[i - 1][j + 1] == FieldStatus::CIRCLE
                && board[i - 2][j + 2] == FieldStatus::CIRCLE
                && board[i - 3][j + 3] == FieldStatus::CIRCLE) {
                return -1;
            }

            if (board[i][j] == FieldStatus::CROSS
                && board[i - 1][j + 1] == FieldStatus::CROSS
                && board[i - 2][j + 2] == FieldStatus::CROSS
                && board[i - 3][j + 3] == FieldStatus::CROSS) {
                return 1;
            }
        }
    }

    //check for draw
    for (int i = 0; i < BOARD_SIZE; i++) {

        for (int j = 0; j < BOARD_SIZE; j++) {
            if (board[i][j] != FieldStatus::EMPTY) {
                return -5; //!! This is the part that confuses me
            }
        }
    }

    return 0;
}

The minimax code (isCross basically means isMaximizer):
int minimax(int depth, bool isCross) {
    //cross maximizes, circle minimizes
    //check if game is done
    if (depth == 0 && isGameOver()) {
        int result = getGameResult();

        if (result == -5 && isCross) {
            return 1;
        }
        else if (result == -5) {
            result = -1;
        }

        return result;
    }

    //if maximizing
    if (isCross) {
        int bestMoveScore = INT_MIN;
        for (int i = 0; i < BOARD_SIZE; i++) {
            for (int j = 0; j < BOARD_SIZE; j++) {
                if (board[i][j] == FieldStatus::EMPTY) {
                    board[i][j] = FieldStatus::CROSS;

                    int fieldScore = minimax(depth - 1, false);

                    board[i][j] = FieldStatus::EMPTY;
                    if (fieldScore > bestMoveScore) {
                        bestMoveScore = fieldScore;
                    }
                }
            }
        }
        return bestMoveScore;
    }
    else { //minimize
        int bestMoveScore = INT_MAX;
        for (int i = 0; i < BOARD_SIZE; i++) {
            for (int j = 0; j < BOARD_SIZE; j++) {
                if (board[i][j] == FieldStatus::EMPTY) {
                    board[i][j] = FieldStatus::CIRCLE;

                    int fieldScore = minimax(depth - 1, true);

                    board[i][j] = FieldStatus::EMPTY;

                    if (fieldScore < bestMoveScore) {
                        bestMoveScore = fieldScore;
                    }
                }
            }
        }
        return bestMoveScore;
    }
}

A: First there are some issues in your code:

*

*You write (correctly) that a draw is evaluated as 0, but the code doesn't do that. The relevant code is:
//check for draw
for (int i = 0; i < BOARD_SIZE; i++) {
    for (int j = 0; j < BOARD_SIZE; j++) {
        if (board[i][j] != FieldStatus::EMPTY) {
            return -5; //!! This is the part that confuses me
        }
    }
}
return 0;

The final return 0 can only be executed when the if condition is never true, which -- if we look closely -- would mean all cells are empty! This is obviously wrong. The if condition should be:
    if (board[i][j] == FieldStatus::EMPTY) {

and now -5 will be the return value whenever getGameResult is called in a state where the game is not over yet. It signifies something like "I have no idea what the value is".

*As you have a getGameResult function, which will correctly identify whether the game is over or not, you don't really need gameOver as a separate function. If getGameResult returns -5, then the game is not over, and in all other cases (-1, 0, or 1) it is over.

*Your code does not always check whether the game is over
int minimax(int depth, bool isCross) {
    //cross maximizes, circle minimizes
    //check if game is done
    if (depth == 0 && isGameOver()) {
        int result = getGameResult();

This code will only detect whether the game is over when depth is 0, but it could well be that the game ends earlier. So the condition depth == 0 should not be placed here, but be put as a separate case after having dealt with the game-over situation:
int result = getGameResult();
if (result != -5) { // Game is over!
    return result;
}
// Game is not over yet... check if we should search deeper
if (depth == 0) { // We should stop searching.
    return evaluate(); // Use some heuristic to give an estimated value
}

So now we get to your core question: how to implement evaluate (used in above code block)
For the game at hand, you could use the following characteristics to get an estimated value for the game:

*

*Count the number of 4-in-a-row that are potentially still possible for a player. For a line of 4 cells to count in that sum, it should not contain any moves of the opponent. So they should either be empty or have the player's own symbol(s). If that is true for a line of 4 cells, it should contribute as 1 to a total sum that is calculated for all lines of 4 cells. Calculate this sum from the viewpoint of each player separately.

*To improve, if among those potential 4-in-a-rows there are some that have 3 occupied by the player, then give them more weight (like count them as 3 instead of just as 1 in the sum). Similarly apply a coefficient for those that have 2 cells occupied.

*Given the two sums that are calculated like that, calculate the difference. If positive, that means it is good for the X-player, else it is good for the O-player.

*Finally convert this number (e.g. by dividing by 1000) so it is guaranteed to be between (-1, 1) and distinct from the values for a win/loss. It may be better to work with integers, so then use the values 1000 and -1000 for win and loss, instead of 1 and -1.

A: If you cannot evaluate the tree far enough to get to the end of the game, then you need to have some function which can produce an approximate score for an incomplete gamestate. So if 1 means cross wins, then numbers between 0 and 1 would indicate they're increasingly likely to win, and numbers between 0 and -1 indicate they're likely to lose. The details of this evaluation function entirely depends on the game you're playing, and it may not be obvious what the "right" function to do this is.
In chess for example, here's some functions you could write to try to approximate who's winning:

*

*Add up the number of pieces player A has, and subtract the number of pieces player B has

*Same as #1, but weight the pieces relative to how good they generally are (queens worth more than pawns, for example)

*Same as #2, but write some complicated logic which looks at the arrangement of the pieces to try to guess whether that arrangement is good or not. Maybe it would give a bonus to pieces that have many moves available to them as opposed to being trapped behind other pieces, or would add a bonus when pawns are arranged diagonally to support eachother.

*Same as #3, but use a neural network and billions of training games to generate the complicated logic for you.

What's a good evaluation function for your game? I'm afraid I don't really have a good answer for you. Figuring that out requires some expertise in the game, and very likely some experimentation. To start, maybe you could do something which figures out which pieces are "dead" (ie, they're surrounded such that they can not contribute to making a line of 4), and then sums up the remaining pieces.

redpajama_set_name: RedPajamaStackExchange


text:
Global Health Education
According to Office of Disease Prevention and Health Promotion (ODPHP), Global health plays an increasingly crucial role in both global security and the security of the U.S. population. As the world and its economies become increasingly globalized, including extensive international travel and commerce, it is necessary to think about health in a global context.
We offer services that would improve public health and strengthen the national security through educating people on global disease detection, response, prevention, and control strategies. Through the rapid spread of awareness on global health issues, we can promote health abroad, prevent spread of diseases and protect health of the population nationwide.
Let us help you succeed.

redpajama_set_name: RedPajamaCommonCrawl


text:
package tech.blacksource.blacknectar.service.images;

import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import com.google.inject.BindingAnnotation;

import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * @author SirWellington
 */
@BindingAnnotation
@Target({FIELD, PARAMETER, METHOD})
@Retention(RUNTIME)
public @interface Google
{

}

redpajama_set_name: RedPajamaGithub