Tic Tac Toe
Tic Tac Toe
[[[ Nik’s version: (with alternation built in) ]]]
This version is incorrect:
In[]:=
TicTacFunction[k_Integer]:=Function[list,With[{a=First[Mod[Commonest[DeleteCases[Flatten@list,0]],k]+1,1]},ReplacePart[list,#a]&/@Position[list,0]]]
In[]:=
TicTacFunction[k_Integer,t_Integer]:=Function[list,With[{a=Mod[t,k,1]},ReplacePart[list,#a]&/@Position[list,0]]]
SW’s version:
In[]:=
CheckWin[list_]:=Catch[Module[{n=First[Dimensions[list]],u},Do[u=Part[list,i,All];If[!AllTrue[u,#0&]&&SameQ@@u,Throw[First[u]]],{i,n}];Do[u=Part[list,All,i];If[!AllTrue[u,#0&]&&SameQ@@u,Throw[First[u]]],{i,n}];u=Table[list[[i,i]],{i,n}];If[!AllTrue[u,#0&]&&SameQ@@u,Throw[First[u]]];u=Table[list[[-i,i]],{i,n}];If[!AllTrue[u,#0&]&&SameQ@@u,Throw[First[u]]];False]]
In[]:=
Clear[CheckWin]
Nik’s version:
In[]:=
CheckWin[board_]:=With[{dims=Dimensions@board},First[Keys@Select[KeySelect[Merge[Map[Counts,Join[board,Transpose@board,{Diagonal@board,ResourceFunction["Antidiagonal"]@board}]],AnyTrue[EqualTo[First@dims]]],GreaterThan[0]],Identity],False]/;Length[dims]===2&&SameQ@@dims]
In[]:=
PlotBoard[list_String,sz_:40]:=PlotBoard[ToExpression[list],sz]
In[]:=
PlotBoard[list:{{_Integer..}..},sz_:40]:=ArrayPlot[list,ImageSizesz,ColorRules{0White,1Orange,2Purple},MeshTrue]
In[]:=
PlotBoard[i_Integer,sz_:40]:=Framed[Framed[PlotBoard[{{i}},sz]]]
In[]:=
TicTacWinAssociation[k_:2]:=<|"StateEvolutionFunction"(With[{t=First[#],s=Last[#]},Thread[t+1->If[IntegerQ[s],{s},With[{w=CheckWin[s]},If[w=!=False,{w},TicTacFunction[k,t+1][s]]]]]]&),"StateEquivalenceFunction"SameQ,"StateEventFunction"Identity,"EventDecompositionFunction"Identity,"EventApplicationFunction"Identity,"SystemType""None","EventSelectionFunction"Identity|>;
In[]:=
TicTacWinBeforeAssociation[k_:2]:=<|"StateEvolutionFunction"(With[{t=First[#],s=Last[#]},Thread[t+1->If[IntegerQ[s],{s},With[{w=CheckWin[s]},If[w=!=False,{w},With[{c=CheckWin[#]},If[c=!=False,c,#]]&/@TicTacFunction[k,t+1][s]]]]]]&),"StateEquivalenceFunction"SameQ,"StateEventFunction"Identity,"EventDecompositionFunction"Identity,"EventApplicationFunction"Identity,"SystemType""None","EventSelectionFunction"Identity|>;
In[]:=
TicTacAssociation[k_:2]:=<|"StateEvolutionFunction"(With[{t=First[#],s=Last[#]},Thread[t+1TicTacFunction[k,t+1][s]]]&),"StateEquivalenceFunction"SameQ,"StateEventFunction"Identity,"EventDecompositionFunction"Identity,"EventApplicationFunction"Identity,"SystemType""None","EventSelectionFunction"Identity|>;
In[]:=
ResourceFunction["MultiwaySystem"][TicTacAssociation[2],{Table[0,2,2]},1,"StatesGraph","StateRenderingFunction"(Inset[PlotBoard[Last[#2],30],#1]&),"IncludeStepNumber"True,GraphLayout"SpringElectricalEmbedding"]
In[]:=
ResourceFunction["MultiwaySystem"][TicTacAssociation[2],{Table[0,2,2]},2,"StatesGraph","StateRenderingFunction"(Inset[PlotBoard[Last[#2],30],#1]&),"IncludeStepNumber"True,GraphLayout"SpringElectricalEmbedding"]
Out[]=
In[]:=
ResourceFunction["MultiwaySystem"][TicTacAssociation[2],{Table[0,2,2]},3,"StatesGraph","StateRenderingFunction"(Inset[PlotBoard[Last[#2],30],#1]&),"IncludeStepNumber"True,GraphLayout"SpringElectricalEmbedding"]
Out[]=
In[]:=
ResourceFunction["MultiwaySystem"][TicTacAssociation[2],{Table[0,2,2]},4,"StatesGraph","StateRenderingFunction"(Inset[PlotBoard[Last[#2],30],#1]&),"IncludeStepNumber"True,GraphLayout"SpringElectricalEmbedding"]
Out[]=
One unit in branchial space = one move was made differently
All specific games are paths (which are geodesic paths) in this graph....
In ordinary QTTT, one is doing operations (including measurement) separately on every square.
We can color this picture by orange and purple wins, and ties.
A failure to entangle in the branchial graph (AKA an event horizon) is a boring game whose outcome is very predetermined...
NOTE: 2 in a row diagonally is not considered a win here
The win states are generational states because “something has happened” at every element.
There are no branchlike separated configurations because every square is spatially distinct.
A “complete completion” would give only one possible outcome for the game
A “complete completion” would give only one possible outcome for the game
Each outcome in the “real game” is equivalence class of states.
Definition of a quantum experiment: divide the states of the universe into equivalence classes labeled by the results of the measurement
Definition of a quantum experiment: divide the states of the universe into equivalence classes labeled by the results of the measurement
[ Somewhat weird that in the game there is not time invariance, because of back-and-forth moves ]
[ Somewhat weird that in the game there is not time invariance, because of back-and-forth moves ]
[Could avoid by simultaneous doing O and X moves]
Double-move case
Double-move case
Can have a double win in this case....
Non-physicality of reference frames ↔ general covariance
Non-physicality of reference frames ↔ general covariance
There is no observational difference between a different coordinatization and a different spacetime geometry / gravitational field
Geometry of branchial/multispace determines the particular “coordinatized measurement”
E.g. Wheeler-de Witt should be able to be written as a tensor eqn
E.g. Wheeler-de Witt should be able to be written as a tensor eqn
Path integral “as a tensor equation”
Path integral “as a tensor equation”
The standard Lagrangian action principle is an extremization of an action
R Sqrt[g] relativistic case
(R + T) Sqrt[g]
R Sqrt[g] relativistic case
(R + T) Sqrt[g]
Einstein equations relate R and T; therefore for extremization you can extremize
In QM case, there is a R somewhere in the Fubini-Study of Hilbert space .... but you can apply the equation of motion to get rid of it, and
Add in completions ... get Born rule
Add in completions ... get Born rule
Will the quantum and classical cases behave the same? [What about biased case?]
Will the quantum and classical cases behave the same? [What about biased case?]
Score difference ~ phase difference
Score difference ~ phase difference
Analog of double slit: where did the win happen on the board?
Analog of double slit: where did the win happen on the board?
Given a board position, if I am going to place another mark, how are my possible moves “rated” in score/phase...