Living AI - Navmesh, pathfinding, behavior trees, chaos

Not sure entirely how to start asking this, as I think I’m asking for is just a general overview or a “this is where you should start researching” type of question. So, let’s give a basic design:

  • We’re in a town
  • Town has 10 npc’s… 6 male, 4 female
  • In the morning, each npc wakes up, eats breakfast, and then goes to work
  • In the afternoon, they get eat lunch
  • In the evening, they stop working and go to a tavern, if they “feel” like it
  • People meet/greet… maybe a couple will go home together. If they do, then there is a chance they will get married, have children NPC’s
  • Etc…

Basically, how would we go about creating set of humanistic behaviors that are seemingly chaotic in nature? Or any other behavior type of traits for that matter, such as herd behaviors, swarm behaviors, or “ant colony” style behaviors… but still keep a chaotic trait in these? The idea is to place the npc’s in the world and build the world, without the need to micro-manage each npc behavior, that way it doesn’t seem like a robotic pathfinding A → B → C → A.