These are the slides for my keynote lecture "AI Techniques for Smart Grids" at the 2014 IEEE Innovative Smart Grid Technologies - Asia conference where I discussed the role and potential of self-organization in the smart grid.
These are the slides for my keynote lecture "AI Techniques for Smart Grids" at the 2014 IEEE Innovative Smart Grid Technologies - Asia conference where I discussed the role and potential of self-organization in the smart grid.
As a film director, I have always been awestruck by the magic of animation. Animation, a medium once considered solely for the amusement of children, has undergone a significant transformation over the years. Its evolution from a rudimentary form of entertainment to a sophisticated form of storytelling has stirred my creativity and expanded my vision, offering limitless possibilities in the realm of cinematic storytelling.
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdfXtreame HDTV
In today’s digital age, streaming services have become an integral part of our entertainment lives. Among the myriad of options available, XCIPTV stands out as a premier choice for those seeking seamless, high-quality streaming. This comprehensive guide will delve into the features, benefits, and user experience of XCIPTV, illustrating why it is a top contender in the IPTV industry.
As a film director, I have always been awestruck by the magic of animation. Animation, a medium once considered solely for the amusement of children, has undergone a significant transformation over the years. Its evolution from a rudimentary form of entertainment to a sophisticated form of storytelling has stirred my creativity and expanded my vision, offering limitless possibilities in the realm of cinematic storytelling.
Maximizing Your Streaming Experience with XCIPTV- Tips for 2024.pdfXtreame HDTV
In today’s digital age, streaming services have become an integral part of our entertainment lives. Among the myriad of options available, XCIPTV stands out as a premier choice for those seeking seamless, high-quality streaming. This comprehensive guide will delve into the features, benefits, and user experience of XCIPTV, illustrating why it is a top contender in the IPTV industry.
Meet Crazyjamjam - A TikTok Sensation | Blog EternalBlog Eternal
Crazyjamjam, the TikTok star everyone's talking about! Uncover her secrets to success, viral trends, and more in this exclusive feature on Blog Eternal.
Source: https://blogeternal.com/celebrity/crazyjamjam-leaks/
In the vast landscape of cinema, stories have been told, retold, and reimagined in countless ways. At the heart of this narrative evolution lies the concept of a "remake". A successful remake allows us to revisit cherished tales through a fresh lens, often reflecting a different era's perspective or harnessing the power of advanced technology. Yet, the question remains, what makes a remake successful? Today, we will delve deeper into this subject, identifying the key ingredients that contribute to the success of a remake.
Experience the thrill of Progressive Puzzle Adventures, like Scavenger Hunt Games and Escape Room Activities combined Solve Treasure Hunt Puzzles online.
Panchayat Season 3 - Official Trailer.pdfSuleman Rana
The dearest series "Panchayat" is set to make a victorious return with its third season, and the fervor is discernible. The authority trailer, delivered on May 28, guarantees one more enamoring venture through the country heartland of India.
Jitendra Kumar keeps on sparkling as Abhishek Tripathi, the city-reared engineer who ends up functioning as the secretary of the Panchayat office in the curious town of Phulera. His nuanced depiction of a young fellow exploring the difficulties of country life while endeavoring to adjust to his new environmental factors has earned far and wide recognition.
Neena Gupta and Raghubir Yadav return as Manju Devi and Brij Bhushan Dubey, separately. Their dynamic science and immaculate acting rejuvenate the hardships of town administration. Gupta's depiction of the town Pradhan with an ever-evolving outlook, matched with Yadav's carefully prepared exhibition, adds profundity and credibility to the story.
New Difficulties and Experiences
The trailer indicates new difficulties anticipating the characters, as Abhishek keeps on wrestling with his part in the town and his yearnings for a superior future. The series has reliably offset humor with social editorial, and Season 3 looks ready to dig much more profound into the intricacies of rustic organization and self-awareness.
Watchers can hope to see a greater amount of the enchanting and particular residents who have become fan top picks. Their connections and the one of a kind cut of-life situations give a reviving and interesting portrayal of provincial India, featuring the two its appeal and its difficulties.
A Mix of Humor and Heart
One of the signs of "Panchayat" is its capacity to mix humor with sincere narrating. The trailer features minutes that guarantee to convey giggles, as well as scenes that pull at the heartstrings. This equilibrium has been a critical calculate the show's prosperity, resounding with crowds across different socioeconomics.
Creation Greatness
The creation quality remaining parts first rate, with the beautiful setting of Phulera town filling in as a scenery that upgrades the narrating. The meticulousness in portraying provincial life, joined with sharp composition and solid exhibitions, guarantees that "Panchayat" keeps on hanging out in the packed web series scene.
Expectation and Delivery
As the delivery date draws near, expectation for "Panchayat" Season 3 is at a record-breaking high. The authority trailer has previously created critical buzz, with fans enthusiastically anticipating the continuation of Abhishek Tripathi's excursion and the new undertakings that lie ahead in Phulera.
All in all, the authority trailer for "Panchayat" Season 3 recommends that watchers are in for another drawing in and engaging ride. Yet again with its charming characters, convincing story, and ideal mix of humor and show, the new season is set to enamor crowds. Write in your schedules and prepare to get back to the endearing universe of "Panchayat."
Skeem Saam in June 2024 available on ForumIsaac More
Monday, June 3, 2024 - Episode 241: Sergeant Rathebe nabs a top scammer in Turfloop. Meikie is furious at her uncle's reaction to the truth about Ntswaki.
Tuesday, June 4, 2024 - Episode 242: Babeile uncovers the truth behind Rathebe’s latest actions. Leeto's announcement shocks his employees, and Ntswaki’s ordeal haunts her family.
Wednesday, June 5, 2024 - Episode 243: Rathebe blocks Babeile from investigating further. Melita warns Eunice to stay clear of Mr. Kgomo.
Thursday, June 6, 2024 - Episode 244: Tbose surrenders to the police while an intruder meddles in his affairs. Rathebe's secret mission faces a setback.
Friday, June 7, 2024 - Episode 245: Rathebe’s antics reach Kganyago. Tbose dodges a bullet, but a nightmare looms. Mr. Kgomo accuses Melita of witchcraft.
Monday, June 10, 2024 - Episode 246: Ntswaki struggles on her first day back at school. Babeile is stunned by Rathebe’s romance with Bullet Mabuza.
Tuesday, June 11, 2024 - Episode 247: An unexpected turn halts Rathebe’s investigation. The press discovers Mr. Kgomo’s affair with a young employee.
Wednesday, June 12, 2024 - Episode 248: Rathebe chases a criminal, resorting to gunfire. Turf High is rife with tension and transfer threats.
Thursday, June 13, 2024 - Episode 249: Rathebe traps Kganyago. John warns Toby to stop harassing Ntswaki.
Friday, June 14, 2024 - Episode 250: Babeile is cleared to investigate Rathebe. Melita gains Mr. Kgomo’s trust, and Jacobeth devises a financial solution.
Monday, June 17, 2024 - Episode 251: Rathebe feels the pressure as Babeile closes in. Mr. Kgomo and Eunice clash. Jacobeth risks her safety in pursuit of Kganyago.
Tuesday, June 18, 2024 - Episode 252: Bullet Mabuza retaliates against Jacobeth. Pitsi inadvertently reveals his parents’ plans. Nkosi is shocked by Khwezi’s decision on LJ’s future.
Wednesday, June 19, 2024 - Episode 253: Jacobeth is ensnared in deceit. Evelyn is stressed over Toby’s case, and Letetswe reveals shocking academic results.
Thursday, June 20, 2024 - Episode 254: Elizabeth learns Jacobeth is in Mpumalanga. Kganyago's past is exposed, and Lehasa discovers his son is in KZN.
Friday, June 21, 2024 - Episode 255: Elizabeth confirms Jacobeth’s dubious activities in Mpumalanga. Rathebe lies about her relationship with Bullet, and Jacobeth faces theft accusations.
Monday, June 24, 2024 - Episode 256: Rathebe spies on Kganyago. Lehasa plans to retrieve his son from KZN, fearing what awaits.
Tuesday, June 25, 2024 - Episode 257: MaNtuli fears for Kwaito’s safety in Mpumalanga. Mr. Kgomo and Melita reconcile.
Wednesday, June 26, 2024 - Episode 258: Kganyago makes a bold escape. Elizabeth receives a shocking message from Kwaito. Mrs. Khoza defends her husband against scam accusations.
Thursday, June 27, 2024 - Episode 259: Babeile's skillful arrest changes the game. Tbose and Kwaito face a hostage crisis.
Friday, June 28, 2024 - Episode 260: Two women face the reality of being scammed. Turf is rocked by breaking
240529_Teleprotection Global Market Report 2024.pdfMadhura TBRC
The teleprotection market size has grown
exponentially in recent years. It will grow from
$21.92 billion in 2023 to $28.11 billion in 2024 at a
compound annual growth rate (CAGR) of 28.2%. The
teleprotection market size is expected to see
exponential growth in the next few years. It will grow
to $70.77 billion in 2028 at a compound annual
growth rate (CAGR) of 26.0%.
Young Tom Selleck: A Journey Through His Early Years and Rise to Stardomgreendigital
Introduction
When one thinks of Hollywood legends, Tom Selleck is a name that comes to mind. Known for his charming smile, rugged good looks. and the iconic mustache that has become synonymous with his persona. Tom Selleck has had a prolific career spanning decades. But, the journey of young Tom Selleck, from his early years to becoming a household name. is a story filled with determination, talent, and a touch of luck. This article delves into young Tom Selleck's life, background, early struggles. and pivotal moments that led to his rise in Hollywood.
Follow us on: Pinterest
Early Life and Background
Family Roots and Childhood
Thomas William Selleck was born in Detroit, Michigan, on January 29, 1945. He was the second of four children in a close-knit family. His father, Robert Dean Selleck, was a real estate investor and executive. while his mother, Martha Selleck, was a homemaker. The Selleck family relocated to Sherman Oaks, California. when Tom was a child, setting the stage for his future in the entertainment industry.
Education and Early Interests
Growing up, young Tom Selleck was an active and athletic child. He attended Grant High School in Van Nuys, California. where he excelled in sports, particularly basketball. His tall and athletic build made him a standout player, and he earned a basketball scholarship to the University of Southern California (U.S.C.). While at U.S.C., Selleck studied business administration. but his interests shifted toward acting.
Discovery of Acting Passion
Tom Selleck's journey into acting was serendipitous. During his time at U.S.C., a drama coach encouraged him to try acting. This nudge led him to join the Hills Playhouse, where he began honing his craft. Transitioning from an aspiring athlete to an actor took time. but young Tom Selleck became drawn to the performance world.
Early Career Struggles
Breaking Into the Industry
The path to stardom was a challenging one for young Tom Selleck. Like many aspiring actors, he faced many rejections and struggled to find steady work. A series of minor roles and guest appearances on television shows marked his early career. In 1965, he debuted on the syndicated show "The Dating Game." which gave him some exposure but did not lead to immediate success.
The Commercial Breakthrough
During the late 1960s and early 1970s, Selleck began appearing in television commercials. His rugged good looks and charismatic presence made him a popular brand choice. He starred in advertisements for Pepsi-Cola, Revlon, and Close-Up toothpaste. These commercials provided financial stability and helped him gain visibility in the industry.
Struggling Actor in Hollywood
Despite his success in commercials. breaking into large acting roles remained a challenge for young Tom Selleck. He auditioned and took on small parts in T.V. shows and movies. Some of his early television appearances included roles in popular series like Lancer, The F.B.I., and Bracken's World. But, it would take a
From Slave to Scourge: The Existential Choice of Django Unchained. The Philos...Rodney Thomas Jr
#SSAPhilosophy #DjangoUnchained #DjangoFreeman #ExistentialPhilosophy #Freedom #Identity #Justice #Courage #Rebellion #Transformation
Welcome to SSA Philosophy, your ultimate destination for diving deep into the profound philosophies of iconic characters from video games, movies, and TV shows. In this episode, we explore the powerful journey and existential philosophy of Django Freeman from Quentin Tarantino’s masterful film, "Django Unchained," in our video titled, "From Slave to Scourge: The Existential Choice of Django Unchained. The Philosophy of Django Freeman!"
From Slave to Scourge: The Existential Choice of Django Unchained – The Philosophy of Django Freeman!
Join me as we delve into the existential philosophy of Django Freeman, uncovering the profound lessons and timeless wisdom his character offers. Through his story, we find inspiration in the power of choice, the quest for justice, and the courage to defy oppression. Django Freeman’s philosophy is a testament to the human spirit’s unyielding drive for freedom and justice.
Don’t forget to like, comment, and subscribe to SSA Philosophy for more in-depth explorations of the philosophies behind your favorite characters. Hit the notification bell to stay updated on our latest videos. Let’s discover the principles that shape these icons and the profound lessons they offer.
Django Freeman’s story is one of the most compelling narratives of transformation and empowerment in cinema. A former slave turned relentless bounty hunter, Django’s journey is not just a physical liberation but an existential quest for identity, justice, and retribution. This video delves into the core philosophical elements that define Django’s character and the profound choices he makes throughout his journey.
Link to video: https://youtu.be/GszqrXk38qk
Scandal! Teasers June 2024 on etv Forum.co.zaIsaac More
Monday, 3 June 2024
Episode 47
A friend is compelled to expose a manipulative scheme to prevent another from making a grave mistake. In a frantic bid to save Jojo, Phakamile agrees to a meeting that unbeknownst to her, will seal her fate.
Tuesday, 4 June 2024
Episode 48
A mother, with her son's best interests at heart, finds him unready to heed her advice. Motshabi finds herself in an unmanageable situation, sinking fast like in quicksand.
Wednesday, 5 June 2024
Episode 49
A woman fabricates a diabolical lie to cover up an indiscretion. Overwhelmed by guilt, she makes a spontaneous confession that could be devastating to another heart.
Thursday, 6 June 2024
Episode 50
Linda unwittingly discloses damning information. Nhlamulo and Vuvu try to guide their friend towards the right decision.
Friday, 7 June 2024
Episode 51
Jojo's life continues to spiral out of control. Dintle weaves a web of lies to conceal that she is not as successful as everyone believes.
Monday, 10 June 2024
Episode 52
A heated confrontation between lovers leads to a devastating admission of guilt. Dintle's desperation takes a new turn, leaving her with dwindling options.
Tuesday, 11 June 2024
Episode 53
Unable to resort to violence, Taps issues a verbal threat, leaving Mdala unsettled. A sister must explain her life choices to regain her brother's trust.
Wednesday, 12 June 2024
Episode 54
Winnie makes a very troubling discovery. Taps follows through on his threat, leaving a woman reeling. Layla, oblivious to the truth, offers an incentive.
Thursday, 13 June 2024
Episode 55
A nosy relative arrives just in time to thwart a man's fatal decision. Dintle manipulates Khanyi to tug at Mo's heartstrings and get what she wants.
Friday, 14 June 2024
Episode 56
Tlhogi is shocked by Mdala's reaction following the revelation of their indiscretion. Jojo is in disbelief when the punishment for his crime is revealed.
Monday, 17 June 2024
Episode 57
A woman reprimands another to stay in her lane, leading to a damning revelation. A man decides to leave his broken life behind.
Tuesday, 18 June 2024
Episode 58
Nhlamulo learns that due to his actions, his worst fears have come true. Caiphus' extravagant promises to suppliers get him into trouble with Ndu.
Wednesday, 19 June 2024
Episode 59
A woman manages to kill two birds with one stone. Business doom looms over Chillax. A sobering incident makes a woman realize how far she's fallen.
Thursday, 20 June 2024
Episode 60
Taps' offer to help Nhlamulo comes with hidden motives. Caiphus' new ideas for Chillax have MaHilda excited. A blast from the past recognizes Dintle, not for her newfound fame.
Friday, 21 June 2024
Episode 61
Taps is hungry for revenge and finds a rope to hang Mdala with. Chillax's new job opportunity elicits mixed reactions from the public. Roommates' initial meeting starts off on the wrong foot.
Monday, 24 June 2024
Episode 62
Taps seizes new information and recruits someone on the inside. Mary's new job
Meet Dinah Mattingly – Larry Bird’s Partner in Life and Loveget joys
Get an intimate look at Dinah Mattingly’s life alongside NBA icon Larry Bird. From their humble beginnings to their life today, discover the love and partnership that have defined their relationship.
From the Editor's Desk: 115th Father's day Celebration - When we see Father's day in Hindu context, Nanda Baba is the most vivid figure which comes to the mind. Nanda Baba who was the foster father of Lord Krishna is known to provide love, care and affection to Lord Krishna and Balarama along with his wife Yashoda; Letter’s to the Editor: Mother's Day - Mother is a precious life for their children. Mother is life breath for her children. Mother's lap is the world happiness whose debt can never be paid.
Create a Seamless Viewing Experience with Your Own Custom OTT Player.pdfGenny Knight
As the popularity of online streaming continues to rise, the significance of providing outstanding viewing experiences cannot be emphasized enough. Tailored OTT players present a robust solution for service providers aiming to enhance their offerings and engage audiences in a competitive market. Through embracing customization, companies can craft immersive, individualized experiences that effectively hold viewers' attention, entertain them, and encourage repeat usage.
Hollywood Actress - The 250 hottest galleryZsolt Nemeth
Hollywood Actress amazon album eminent worldwide media, female-singer, actresses, alhletina-woman, 250 collection.
Highest and photoreal-print exclusive testament PC collage.
Focused television virtuality crime, novel.
The sheer afterlife of the work is activism-like hollywood-actresses point com.
173 Illustrate, 250 gallery, 154 blog, 120 TV serie logo, 17 TV president logo, 183 active hyperlink.
HD AI face enhancement 384 page plus Bowker ISBN, Congress LLCL or US Copyright.
Tom Selleck Net Worth: A Comprehensive Analysisgreendigital
Over several decades, Tom Selleck, a name synonymous with charisma. From his iconic role as Thomas Magnum in the television series "Magnum, P.I." to his enduring presence in "Blue Bloods," Selleck has captivated audiences with his versatility and charm. As a result, "Tom Selleck net worth" has become a topic of great interest among fans. and financial enthusiasts alike. This article delves deep into Tom Selleck's wealth, exploring his career, assets, endorsements. and business ventures that contribute to his impressive economic standing.
Follow us on: Pinterest
Early Life and Career Beginnings
The Foundation of Tom Selleck's Wealth
Born on January 29, 1945, in Detroit, Michigan, Tom Selleck grew up in Sherman Oaks, California. His journey towards building a large net worth began with humble origins. , Selleck pursued a business administration degree at the University of Southern California (USC) on a basketball scholarship. But, his interest shifted towards acting. leading him to study at the Hills Playhouse under Milton Katselas.
Minor roles in television and films marked Selleck's early career. He appeared in commercials and took on small parts in T.V. series such as "The Dating Game" and "Lancer." These initial steps, although modest. laid the groundwork for his future success and the growth of Tom Selleck net worth. Breakthrough with "Magnum, P.I."
The Role that Defined Tom Selleck's Career
Tom Selleck's breakthrough came with the role of Thomas Magnum in the CBS television series "Magnum, P.I." (1980-1988). This role made him a household name and boosted his net worth. The series' popularity resulted in Selleck earning large salaries. leading to financial stability and increased recognition in Hollywood.
"Magnum P.I." garnered high ratings and critical acclaim during its run. Selleck's portrayal of the charming and resourceful private investigator resonated with audiences. making him one of the most beloved television actors of the 1980s. The success of "Magnum P.I." played a pivotal role in shaping Tom Selleck net worth, establishing him as a major star.
Film Career and Diversification
Expanding Tom Selleck's Financial Portfolio
While "Magnum, P.I." was a cornerstone of Selleck's career, he did not limit himself to television. He ventured into films, further enhancing Tom Selleck net worth. His filmography includes notable movies such as "Three Men and a Baby" (1987). which became the highest-grossing film of the year, and its sequel, "Three Men and a Little Lady" (1990). These box office successes contributed to his wealth.
Selleck's versatility allowed him to transition between genres. from comedies like "Mr. Baseball" (1992) to westerns such as "Quigley Down Under" (1990). This diversification showcased his acting range. and provided many income streams, reinforcing Tom Selleck net worth.
Television Resurgence with "Blue Bloods"
Sustaining Wealth through Consistent Success
In 2010, Tom Selleck began starring as Frank Reagan i
2. Introduction to Artificial Intelligence
(AI)
• Many applications for AI
– Computer vision, natural language processing, speech
recognition, search …
• But games are some of the more interesting
• Opponents that are challenging, or allies that are
helpful
– Unit that is credited with acting on own
• Human-level intelligence too hard
– But under narrow circumstances can do pretty well
(ex: chess and Deep Blue)
– For many games, often constrained (by game rules)
• Artificial Intelligence (around in CS for some
time)
3. AI for CS different than AI for Games
• Must be smart, but purposely flawed
– Loose in a fun, challenging way
• No unintended weaknesses
– No “golden path” to defeat
– Must not look dumb
• Must perform in real time (CPU)
• Configurable by designers
– Not hard coded by programmer
• “Amount” and type of AI for game can vary
– RTS needs global strategy, FPS needs modeling of
individual units at “footstep” level
– RTS most demanding: 3 full-time AI programmers
– Puzzle, street fighting: 1 part-time AI programmer
– All of project 2.
4. Outline
• Introduction (done)
• MinMax (next)
• Agents
• Finite State Machines
• Common AI Techniques
• Promising AI Techniques
5. MinMax - Links
• Minimax Game Trees
• Minimax Explained
• Min-Max Search
• Wiki
• (See Project 2 Web page)
6. MinMax - Overview
• MinMax the heart of almost every computer board
game
• Applies to games where:
– Players take turns
– Have perfect information
• Chess, Checkers, Tactics
• But can work for games without perfect
information or chance
– Poker, Monopoly, Dice
• Can work in real-time (ie- not turn based) with
timer (iterative deepening, later)
7. MinMax - Overview
• Search tree
– Squares represent decision states (ie- after a move)
– Branches are decisions (ie- the move)
– Start at root
– Nodes at end are leaf nodes
– Ex: Tic-Tac-Toe (symmetrical positions removed)
• Unlike binary trees can have any number of children
– Depends on the game situation
• Levels usually called plies (a ply is one level)
– Each ply is where "turn" switches to other player
• Players called Min and Max (next)
8. MaxMin - Algorithm
• Named MinMax because of algorithm behind data
structure
• Assign points to the outcome of a game
– Ex: Tic-Tac-Toe: X wins, value of 1. O wins, value -1.
• Max (X) tries to maximize point value, while Min
(O) tries to minimize point value
• Assume both players play to best of their ability
– Always make a move to minimize or maximize points
• So, in choosing, Max will choose best move to get
highest points, assuming Min will choose best move
to get lowest points
9. MinMax – First Example
• Max’s turn
• Would like the “9” points (the
maximum)
• But if choose left branch, Min
will choose move to get 3
left branch has a value
of 3
• If choose right, Min can
choose any one of 5, 6 or 7
(will choose 5, the minimum)
right branch has a
value of 5
• Right branch is largest (the
maximum) so choose that
move
5
3 4 5
3 9 4 6 75
Max
Min
Max
10. MinMax – Second Example
• Max’s turn
• Circles represent Max, Squares represent Min
• Values inside represent the value the MinMax algorithm
• Red arrows represent the chosen move
• Numbers on left represent tree depth
• Blue arrow is the chosen move
Min
Min
Max
Max
11. MinMax and Chess
• With full tree, can determine best possible move
• However, full tree impossible for some games! Ex: Chess
– At a given time, chess has ~ 35 legal moves. Exponential
growth:
• 35 at one ply, 352
= 1225 at two plies … 356
= 2 billion and 3510
=
2 quadrillion
– Games can last 40 moves (or more), so 3540
… Stars in
universe: ~ 228
• For large games (Chess) can’t see end of the game. Must
estimate winning or losing from top portion
– Evaluate() function to guess end given board
– A numeric value, much smaller than victory (ie- Checkmate
for Max will be one million, for Min minus one million)
• So, computer’s strength at chess comes from:
– How deep can search
– How well can evaluate a board position
– (In some sense, like a human – a chess grand master can
evaluate board better and can look further ahead)
12. MinMax – Pseudo Code (1 of 3)
int MinMax(int depth) {
// White is Max, Black is Min
if (turn == WHITE)
return Max(depth);
else
return Min(depth);
}
• Then, call with:
value = MinMax(5); // search 5 plies
13. MinMax – Pseudo Code (2 of 3)
int Max(int depth) {
int best = -INFINITY; // first move is best
if (depth == 0)
return Evaluate();
GenerateLegalMoves();
while (MovesLeft()) {
MakeNextMove();
val = Min(depth – 1); // Min’s turn next
UnMakeMove();
if (val > best)
best = val;
}
return best;
}
14. MinMax – Pseudo Code (3 of 3)
int Min(int depth) {
int best = INFINITY; // different than MAX
if (depth == 0)
return Evaluate();
GenerateLegalMoves();
while (MovesLeft()) {
MakeNextMove();
val = Max(depth – 1); // Max’s turn next
UnMakeMove();
if (val < best) // different than MAX
best = val;
}
return best;
}
15. MinMax - Notes on Pseudo Code
• Dual-recursive call each other until bottom out
(depth of zero is reached)
• Try tracing with depth = 1
– Essentially, try each move out, choose best
• Need to modify to return best move. Implement:
– When store “best”, also store “move”
– Use global variable
– Pass in move via reference
– Use object/structure with “best” + “move”
• Since Max() and Min() are basically opposites
(zero-sum game), can make code shorter with
simple flip
– Called NegaMax
16. MinMax – NegaMax Pseudo Code
int NegaMax(int depth) {
int best = -INFINITY;
if (depth == 0)
return Evaluate();
GenerateLegalMoves();
while (MovesLeft()) {
MakeNextMove();
val = -1 * NegaMax(depth-1); // Note the -1
UnMakeMove();
if (val > best) // Still pick largest
best = val;
}
return best;
}
• Note, the -1 causes Min to pick smallest, Max biggest
• Ex: 4, 5, 6 Max will pick ‘6’, while Min will pick ‘-4’ so ‘4’
17. MinMax – AlphaBeta Pruning
• MinMax searches entire tree, even if in some cases the rest
can be ignored
• Example – Enemy lost bet. Owes you one thing from bag.
You choose bag, but he chooses thing. Go through bags one
item at a time.
– First bag: Sox tickets, sandwich, $20
• He’ll choose sandwich
– Second bag: Dead fish, …
• He’ll choose fish. Doesn’t matter if rest is car, $500,
Yankee’s tickets … Don’t need to look further. Can prune.
• In general, stop evaluating move when find worse than
previously examined move
Does not benefit the player to play that move, it need
not be evaluated any further.
Save processing time without affecting final result
18. MinMax – AlphaBeta Pruning Example
• From Max point of view, 1 is already lower
than 4 or 5, so no need to evaluate 2 and 3
(bottom right) Prune
19. MinMax – AlphaBeta Pruning Idea
• Two scores passed around in search
– Alpha – best score by some means
• Anything less than this is no use (can be pruned) since
we can already get alpha
• Minimum score Max will get
• Initially, negative infinity
– Beta – worst-case scenario for opponent
• Anything higher than this won’t be used by opponent
• Maximum score Min will get
• Initially, infinity
• Recursion progresses, the "window" of Alpha-Beta
becomes smaller
– Beta < Alpha current position not result of best
play and can be pruned
20. MinMax – AlphaBeta Pseudo Code
int AlphaBeta(int depth, int alpha, int beta) {
if (depth <= 0)
return Evaluate();
GenerateLegalMoves();
while (MovesLeft()) {
MakeNextMove();
val = -1 * AlphaBeta(depth-1, -beta, -alpha);
UnMakeMove();
if (val >= beta)
return val;
if (val > alpha)
alpha = val;
}
return alpha;
}
• Note, beta and alpha are reversed for subsequent calls
• Note, the -1 for beta and alpha, too
21. MinMax – AlphaBeta Notes
• Benefits heavily dependent upon order
searched
– If always start at worst, never prune
•Ex: consider previous with node 1 first
(worst)
– If always start at best, branch at
approximated sqrt(branch)
•Ex: consider previous with 5 first (best)
• For Chess:
– If ~35 choices per ply, at best can improve
from 35 to 6
Allows search twice as deep
22. MinMax – Notes
• Chess has many forced tactical situations (ie- taken knight,
better take other knight)
– MinMax can leave hanging (at tree depth)
– So, when done, check for captures only
• Time to search can vary (depending upon Evaluate() and
branches and pruning)
– Instead, search 1 ply. Check time. If enough, search 2
plies. Repeat. Called iterative deepening
depth = 1;
while (1) {
Val = AlphaBeta(depth, -INF, INF)
If (timeOut()) break;
}
– For enhancement, can pass in best set of moves (line) seen
last iteration (principle variation)
23. MinMax – Evaluate()
• Checkmate – worth more than rest combined
• Typical, use weighted function:
– c1*material + c2*mobility + c3*king
safety + c4*center control + ...
– Simplest is point value for material
• pawn 1, knight 3, bishop 3, castle 3, queen 9
• All other stuff worth 1.5 pawns (ie- can ignore most
everything else)
• What about a draw?
– Can be good (ie- if opponent is strong)
– Can be bad (ie- if opponent is weak)
– Adjust with contempt factor
• Makes a draw (0) slightly lower (play to win)
24. Outline
• Introduction (done)
• MinMax (done)
• Agents (next)
• Finite State Machines
• Common AI Techniques
• Promising AI Techniques
25. Game Agents
• Most AI focuses around game agent
– think of agent as NPC, enemy, ally or
neutral
• Loops through: sense-think-act cycle
– Acting is event specific, so talk about sense
and think first, then a bit on act
Sense Think Act
26. Game Agents – Sensing (1 of 2)
• Gather current world state: barriers, opponents,
objects, …
• Needs limitations: avoid “cheating” by looking at
game data
– Typically, same constraints as player (vision, hearing
range, etc.)
• Vision
– Can be quite complicated (CPU intensive) to test
visibility (ie- if only part of an object visible)
– Compute vector to each object
• Check magnitude (ie- is it too far away?)
• Check angle (dot product) (ie- within 120° viewing
angle?)
• Check if obscured. Most expensive, so do last.
27. Game Agents – Sensing (2 of 2)
• Hearing
– Ex- tip-toe past, enemy doesn’t hear, but if run past,
enemy hears (stealth games, like Thief)
– Implement as event-driven
• When player performs action, notify agents within range
– Rather than sound reflection (complicated) usually
distance within bounded area
• Can enhance with listen attributes by agent (if agent is
“keen eared” or paying attention)
• Communication
– Model sensing data from other agents
– Can be instant (ie- connected by radio)
– Or via hearing (ie- shout)
• Reaction times
– Sensing may take some time (ie- don’t have agent react
to alarm instantly, seems unrealistic)
– Build in delay. Implement with simple timer.
28. Game Agents – Thinking (1 of 3)
• Evaluate information and make decision
• As simple or elaborate as required
• Generally, two ways:
1. Pre-coded expert knowledge
• Typically hand-crafted “if-then” rules +
“randomness” to make unpredictable
2. Search algorithm for best (optimal)
solution
• Ex- MinMax
29. Game Agents – Thinking (2 of 3)
• Expert Knowledge
– Finite State Machines, decision trees, … (FSM most
popular, details next)
– Appealing since simple, natural, embodies common sense
and knowledge of domain
• Ex: See enemy weaker than you? Attack. See enemy
stronger? Go get help
– Trouble is, often does not scale
• Complex situations have many factors
• Add more rules, becomes brittle
– Still, often quite adequate for many AI tasks
• Many agents have quite narrow domain, so doesn’t matter
30. Game Agents – Thinking (3 of 3)
• Search
– Look ahead and see what move to do next
•Ex: piece on game board (MinMax), pathfinding
(A*)
– Works well with known information (ie- can
see obstacles, pieces on board)
• Machine learning
– Evaluate past actions, use for future action
– Techniques show promise, but typically too
slow
31. Game Agents – Acting (1 of 2)
• Learning and Remembering
– May not be important in many games where
agent short-lived (ie- enemy drone)
– But if alive for 30+ seconds, can be helpful
•ie- player attacks from right, so shield right
– Implementation - too avoid too much
information, can have fade from memory
(by time or by queue that becomes full)
32. Game Agents – Acting (2 of 2)
• Making agents stupid
– Many cases, easy to make agents dominate
• Ex: FPS bot always makes head-shot
– Dumb down by giving “human” conditions, longer
reaction times, make unnecessarily vulnerable, have
make mistakes
• Agent cheating
– Ideally, don’t have unfair advantage (such as more
attributes or more knowledge)
– But sometimes might “cheat” to make a challenge
• Remember, that’s the goal, AI lose in challenging way
– Best to let player know
33. AI for Games – Mini Outline
• Introduction (done)
• MinMax (done)
• Agents (done)
• Finite State Machines (next)
• Common AI Techniques
• Promising AI Techniques
34. Finite State Machines
• Many different rules for agents
– Ex: sensing, thinking and acting when fighting, running,
exploring…
– Can be difficult to keep rules consistent!
• Try Finite State Machine
– Probably most common game AI software pattern
– Natural correspondence between states and behaviors
– Easy: to diagram, program, debug
– General to any problem
– See AI Depot - FSM
• For each situation, choose appropriate state
– Number of rules for each state is small
35. Finite State Machines
• Abstract model of computation
• Formally:
– Set of states
– A starting state
– An input vocabulary
– A transition function that maps inputs and the
current state to a next state
W a n d e r A t t a c k
F le e
S e e E n e m y
Low
Health
No
Enem
y
N o E n e m y
(Do detailed
example next
slide)
36. Finite State Machines – Example (1 of 2)
• Game where raid Egyptian Tomb
• Mummies! Behavior
– Spend all of eternity
wandering in tomb
– When player is close, search
– When see player, chase
• Make separate states
– Define behavior in each state
• Wander – move slowly,
randomly
• Search – move faster, in
lines
• Chasing – direct to player
• Define transitions
– Close is 100 meters
(smell/sense)
– Visible is line of sight
Wandering
Searching
Chasing
ClosebyVisible
FarawayHidden
37. Finite State Machines – Example (2 of 2)
• Can be extended easily
• Ex: Add magical scarab
(amulet)
• When player gets scarab,
Mummy is afraid. Runs.
• Behavior
– Move away from
player fast
• Transition
– When player gets
scarab
– When timer expires
• Can have sub-states
– Same transitions, but
different actions
• ie- range attack
versus melee attack
Wandering
Searching
ChasingClosebyVisible
FarawayHidden
Afraid
Scarab
Scarab
Scarab
Timer
Expires
40. Finite-State Machine:
Problems with switch FSM
1. Code is ad hoc
– Language doesn’t enforce structure
2. Transitions result from polling (checking
each time)
– Inefficient – event-driven sometimes
better
•ie- when damage, call “pain” event for
monster and it may change states
3. Can’t determine 1st
time state is entered
4. Can’t be edited or specified by game
designers or players
41. Finite State Machine
Alternative Implementation
• Make objects
• Transitions are events (passed by objects
creating events)
– Ex: player runs. All objects within hearing
range get “run sound” event
• Each object can have step event
– Gets mapped to right action in state by call
back
43. Finite-State Machine:
Scripting Advantages
1. Structure enforced
2. Events can be handed as well as polling
3. OnEnter and OnExit concept exists
(If objects, when created or destroyed)
4. Can be authored by game designers
– Easier learning curve than straight C/C++
44. Finite-State Machine:
Scripting Disadvantages
• Not trivial to implement
• Several months of development of language
– Custom compiler
• With good compile-time error feedback
– Bytecode interpreter
• With good debugging hooks and support
• Scripting languages often disliked by users
– Can never approach polish and robustness of
commercial compilers/debuggers
45. Finite-State Machine:
Hybrid Approach
• Use a class and C-style macros to approximate a scripting
language
• Allows FSM to be written completely in C++ leveraging
existing compiler/debugger
• Capture important features/extensions
– OnEnter, OnExit
– Timers
– Handle events
– Consistent regulated structure
– Ability to log history
– Modular, flexible, stack-based
– Multiple FSMs, Concurrent FSMs
• Can’t be edited by designers or players
46. Finite-State Machine:
Extensions
• Many possible extensions to basic FSM
– Event driven: OnEnter, OnExit
– Timers: transition after certain time
– Global state with sub-states (same transitions,
different actions)
– Stack-Based (states or entire FSMs)
• Easy to revert to previous states
• Good for resuming earlier action
– Multiple concurrent FSMs
• Lower layers for, say, obstacle avoidance – high
priority
• Higher layers for, say, strategy
47. AI for Games – Mini Outline
• Introduction (done)
• MinMax (done)
• Agents (done)
• Finite State Machines (done)
• Common AI Techniques (next)
• Promising AI Techniques
48. Common Game AI Techniques (1 of 4)
• Whirlwind tour of common techniques
– For each, provide idea and example (where appropriate)
– Subset and grouped based on text
• Movement
– Flocking
• Move groups of creatures in natural manner
• Each creature follows three simple rules
– Separation – steer to avoid crowding flock mates
– Alignment – steer to average flock heading
– Cohesion – steer to average position
• Example – use for background creatures such as birds or
fish. Modification can use for swarming enemy
– Formations
• Like flocking, but units keep position relative to others
• Example – military formation (archers in the back)
49. Common Game AI Techniques (2 of 4)
• Movement (continued)
– A* pathfinding
• Cheapest path through environment
• Directed search exploit knowledge about destination
to intelligently guide search
• Fastest, widely used
• Can provide information (ie- virtual breadcrumbs) so
can follow without recompute
• See: http://www.antimodal.com/astar/
– Obstacle avoidance
• A* good for static terrain, but dynamic such as other
players, choke points, etc.
• Example – same path for 4 units, but can predict
collisions so furthest back slow down, avoid narrow
bridget, etc.
50. Common Game AI Techniques (3 of 4)
• Behavior organization
– Emergent behavior
• Create simple rules result in complex interactions
• Example: game of life, flocking
– Command hierarchy
• Deal with AI decisions at different levels
• Modeled after military hierarchy (ie- General does strategy
to Foot Soldier does fighting)
• Example: Real-time or turn based strategy games -- overall
strategy, squad tactics, individual fighters
– Manager task assignment
• When individual units act individually, can perform poorly
• Instead, have manager make tasks, prioritize, assign to
units
• Example: baseball – 1st
priority to field ball, 2nd
cover first
base, 3rd
to backup fielder, 4th
cover second base. All players
try, then disaster. Manager determines best person for
each. If hit towards 1st
and 2nd
, first baseman field ball,
pitcher cover first base, second basemen cover first
51. Common Game AI Techniques (4 of 4)
• Influence map
– 2d representation of power in game
– Break into cells, where units in each cell are summed up
– Units have influence on neighbor cells (typically, decrease
with range)
– Insight into location and influence of forces
– Example – can be used to plan attacks to see where
enemy is weak or to fortify defenses. SimCity used to
show fire coverage, etc.
• Level of Detail AI
– In graphics, polygonal detail less if object far away
– Same idea in AI – computation less if won’t be seen
– Example – vary update frequency of NPC based on
position from player
52. AI for Games – Mini Outline
• Introduction (done)
• MinMax (done)
• Agents (done)
• Finite State Machines (done)
• Common AI Techniques (done)
• Promising AI Techniques (next)
– Used in AI, but not (yet) in games
– Subset of what is in book
53. Promising AI Techniques (1 of 3)
• Bayesian network
– A probabilistic graphical model with variables and
probable influences
– Example - calculate probability of patient having a
specific disease given symptoms
– Example – AI can infer if player has warplanes, etc.
based on what it sees in production so far
– Can be good to give “human-like” intelligence without
cheating or being too dumb
• Decision tree learning
– Series of inputs (usually game state) mapped to output
(usually thing want to predict)
– Example – health and ammo predict bot survival
– Modify probabilities based on past behavior
– Example – Black and White could stroke or slap creature.
Learned what was good and bad.
54. Promising AI Techniques (2 of 3)
• Filtered randomness
– Want randomness to provide unpredictability to AI
– But even random can look odd (ie- if 4 heads in a
row, player think something wrong. And, if flip coin
100 times, will be streak of 8)
• Example – spawn at same point 5 times in a row, then
bad
– Compare random result to past history and avoid
• Fuzzy logic
– Traditional set, object belongs or not.
– In fuzzy, can have relative membership (ie- hungry,
not hungry. Or “in-kitchen” or “in-hall” but what if
on edge?)
– Cannot be resolved by coin-flip
– Can be used in games – ie- assess relative threat
55. Promising AI Techniques (3 of 3)
• Genetic algorithms
– Search and optimize based on evolutionary principles
– Good when “right” answer not well-understood
– Example – may not know best combination of AI settings.
Use GA to try out
– Often expensive, so do offline
• N-Gram statistical prediction
– Predict next value in sequence (ie- 1818180181 … next will
probably be 8)
– Search backward n values (usually 2 or 3)
– Example
• Street fighting (punch, kick, low punch…)
• Player does low kick and then low punch. What is next?
• Uppercut 10 times (50%), low punch (7 times, 35%),
sideswipe (3 times, 15%)
• Can predict uppercut or, proportionally pick next (ie- roll
dice)
56. Summary
• AI for games different than other fields
– Intelligent opponents, allies and neutral’s
but fun (lose in challenging way)
– Still, can draw upon broader AI techniques
• Agents – sense, think, act
– Advanced agents might learn
• Finite state machines allow complex
expertise to be expressed, yet easy to
understand and debug
• Dozens of other techniques to choose from