There are many ways to address this challenge for dynamic changes to the environment, for example multi session graph based SLAM. It also depends on what is changing in the environment, is it pedestrians walking by? Or is it furniture moving around?
Take a look at the following paper
Summary of the approach used:
the underlying structure of the map is
a graph with nodes and links. The
nodes save odometry poses for each
location in the map. The nodes also
contain visualization information like
laser scans, RGB images, depth images
and visual words [17] used for loop
closure detection. The links store
rigid geometrical transformations
between nodes. There are two types of
links: neighbor and loop closure.
Neighbor links are added between the
current and the previous nodes with
their odometry transformation. Loop
closure links are added when a loop
closure detection is found between the
current node and one from the same or
previous maps. Our contribution in
this paper involves combining two
algorithms, loop closure detection
[16] and graph optimization [14],
through a memory management process
[16] that limits the number of nodes
available from the graph for loop
closure detection and graph
optimization, so that they always
satisfy online requirements.
But there are other examples of using machine learning for object detection and remove those objects while updating SLAM, take a look at this paper